下列哪一个是c语言中不合法的变量,C语言第3章习题.doc

本文解析了C语言中的常量、标识符、变量声明、字符串及表达式的概念与使用方法,并通过具体例题帮助理解。

C语言第3章习题

C语言 第3章

【例3.2】下列选项中,哪一个是C语言中合法的常量 。

(A)1.52e(B)1/4(C)’X’ (D)”x”’y’

解答:实数的指数形式中,e后面必须有一个整数;1/4是表达式,不是常量;单弓号括起来的一个字符为字符常量,而字符串常量是用双引号括起来的字符序列。因此,本题正确答案为(C)。

【例3.3】下列形式的常数中,C程序不允许出现的是 。

(A).45(B)±123(C)25.6e-2(D)4e3

解答:C程序允许出现的常数为有一确定值的整数、实数(可用小数形式或指数形式)等。±123不允许出现。因此,本题正确答案为(B)。

【例3.4】下列各组字符序列中,可用作C语言程序标识符的一组字符序列是 。

(A)S.b,sum,average,_above(B)class,day,lotusj,2day

(C)#md,&12x,month,student_nl(D)D56,r_l_2,name,_st_1

解答:C语言规定标识符只能由字母、数字和下划线3种字符组成,而且第一个字符必须是字母或下划线。因此,本题正确答案为(D)。

【例3-5】下列变量说明中,正确的是 。

(A)char:abc;(B)char a;b;c;

(C)im x;z;(D)int x,z;

解答:同时说明多个变量为同一类型时,变量之间应用逗号分隔,以分号结束。因此,本题正确答案为(D)。

【例3—6】下列字符序列中,不可用作C语言标识符的是 。

(A)b70(B)no.1(C)_symbol(D)a_1

解答:C语言中,除字母、数字和下划线外,其他字符不得用于标识符。因此,本题正确答案为(B)。

【例3.7】下列数据中,为字符串常量的是 。

(A) ’A’(B)”house”(C)Howdoyoudo.(D) ’Sabc’

解答:字符串常量是用一对双引号括起来的字符序列。因此,本题正确答案为(B)。

【例3—8】下列字符序列中,不合法的用户标识符为 。

(A)name(B)_old(C)char(D)turbo_c

解答:在C语言中,规定标识符只能由字母、数字和下划线3种字符组成,而且第一个字符必须是字母或下划线。char是C语言关键字,不能用作用户标识符。因此,本题正确答案为(C)。

【例3-9】执行以下语句的结果为 。

Y=10;x=y++;

(A)x=10,y=10(B)x=11,y=11

(C)x=10,y=11 (D)x=11,y=10

解答:执行语句x=y++,先将Y的值10赋给X,然后y自增。因此,本题正确答案为(C)。

【例3—10】先用下列语句定义字符型变量:char c;然后要将字符a赋给变量c,则下列语句中正确的是 。

(A)c=’a’;(B)c=”a”(C)c=”97”(D)c=’97’

解答:c被定义为字符型变量,则不能将一个字符串赋给变量c,因而选项(B)、(C)不正确。要将字符a赋给c,可以将字符…a直接赋给c,即选项(A)。也可以将字符…a对应的ASCII码97赋给c,此时97为整型,不能用引号括起。因此,本题正确答案为(A)。

【例3—11】执行下列语句的结果为 。

i=3:

printf(”%d,”,++i);

printf(”%d”,i++);

(A)3,3(B)3,4(C)4,4(D)4,5

解答:++i是在使用i之前,先使i的值加1,i++是在使用i之后,使i的值加1。当执行语句i=3后,在执行语句printf(”%d,”,++i)时以及之后,i的值均为4,接着执行printf(”%d’’,i++)语句,i的值仍然为4。因此,本题正确答案为(C)。

【例3—121已知x=3,y=2,则表达式x*=y+8的值为 。

(A)2(B)3(C)10(D)30

解答:表达式x*=y+8等同于x=x*(y十8),所以其值为3*(8+2)=30。

因此,本题正确答案为(D)。

【例3-13】设x=2.5,y=4.7,a=7,算术表达式x+a%3*(int)(x+y)%2/4的值为 。

(A)2.5(B)7(C)4.7(D)2.75

解答:取模运算只能在整型数据之间进行,a为整型变量。因为%、*、/这3个运算符的优先级别相同,而类型转换符优先于*、/运算符,a的值为7,7%3=1,又因为(int)(2.5+4.7)=7,1*7=7,7%2=1,1/4=0,所以表达式x+a%3*(int)(x+y)%2/4=x+0=2.5。因此,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值