C语言中x2a占几个字节,C语言程序设计第2章 数据类型与运算练习题及解答

解析: 该题考查逻辑与“&&”和逻辑或“||”以及逻辑非“!”符号的用法。选项A)即3&&4为真,选项B)即3<=4为真,选项C)是一个逻辑或与逻辑与的混合运算,只要执行了逻辑或左半部分,程序将直接停止执行逻辑或右半部分程序,因为x的值为真,此时选项C)变为1&&-1为真。选项D)不用计算,括号内逻辑或右边的值为1,因而括号内的值为1,再进行逻辑非运算得0。

10.有以下程序 main() {int i=1,j=1,k=2;

if((j++||k++)&&i++) printf(\\n\); }

执行后输出结果是

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 答案:C

解析: 该题目的关键是要搞清楚“&&”和“||”两个逻辑运算符的运算功能。运算符“&&”和“||”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真时,才需要判别后面的值。只要前面为假,就不必判别后面的值。而逻辑或则为只要前为真,就不必判别后面的值;只有前为假,才判别后。本题中j++值为真,不进行k++的运算,所以k的值保持不变。

11.设int x=1,y=1;表达式(!x||y--)的值是 A)0 B)1 C)2 D)-1 答案:B

解析:C语言规定的运算优先级由高到低分别是逻辑非、算术运算、逻辑或。所以先计算!x,值是0,然后再计算y--,由于是后缀运算符,所以y在本次运算中的值仍然是1,最后计算0||1,值为1。

12.若有说明语句:char c='\72';则变量c A)包含1个字符 B)包含2个字符

C)包含3个字符 D)说明不合法,c的值不确定 答案:A

解析: C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个“\\”开头的字符。其中“\ddd”表示用ASCII码(八进制数)表示一个字符,本题中的char c=′\72′即表示占一个字符的变量c的ASCII码值。

13.在C语言中,退格符是 A)\n B)\t C)\f D)\b 答案:D

解析: C语言的转义字符见下表所示。

转义字符 \n \t \v \b \r \f \\ \’ 转义字符的意义 回车换行 横向跳到下一制表位置 竖向跳格 退格 回车 换页 反斜线符“\” 单引号符 14.在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。

A)1 0 B)0 1 C)非0 非0 D)1 1 答案:A

解析: 在C程序中,判断逻辑值时,用非0表示真,用0表示假。逻辑表达式计算时,逻辑表达式值为真是用1表示的,若逻辑表达式的值为假,则用0表示。

15.字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为 A)和 01110111 B)01000101和01100011

C)00110101和00110111 D)01100101和01100111 答案:C

解析: 为便于表示各种数据类型,机器中采用了BCD码(表示十进制数)、ASCII码(字符型)、汉字机内码等等各种码。数据采用了补码、原码和反码为表示形式。实型数据表示方法有浮点法和定点法等,考生需熟练掌握各种码的含义,并用之来计算、比较。需要提出的是,在机器内部,所有码都是由二进制编码而成的,它都是以二进制存储在机器之中的。字符“5”和“7”的ASCII的值分别为53和55,其二进制形式分别为00110101和00110111。

16.若已定义:int a=25,b=14,c=19;以下三目运算符(:)所构成语句的执行后

a<=25&&b--<=2&&cprintf(\\n\):printf(\\n\,a,b,c);程序输出的结果是

A)***a=25,b=13,c=19 B)***a=26,b=14,c=19 C)### a=25,b=13,c=19 D)### a=26,b=14,c=19 答案:C

解析: 此题综合考查多种运算符的使用;首先计算表达式a<=25 &&b--<=2 &&c的值,很容易看出b--<=2的值为假,因此表达式为假;根据三目运算的特点,由于前面的表达式为假,应执行printf(“###a=%d,b=%d,c=%d\n”,a,b,c),应注意a的值依然为25,b的值经过b--运算后改变为13,而c的值仍为19。

17.若有定义:int a=7;float x=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是 A) B)2.750000 C) D) 答案:A

解析: x+y的值为实型,经强制类型转化成整型7。a%3的值为1,1*7的值为7,7%2值为1。1/4的值为0,而非,因而为两个整数相除的结果为整数,舍去小数部分。与实型x相加,最终得结果为。

18.有如下程序段 int a=14,b=15,x; char c=′A′;

x=(a&&b)&&(c

执行该程序段后,x的值为

A)ture B)false C)0 D)1 答案:D

解析: 在C语言中,逻辑运算符有4个,它们分别是:!(逻辑非)、||(逻辑或)、&&(逻辑与)、^(异或)。在位运算里面还有&(位与)、|(位或)的运算。本题考查逻辑与运算符的用法,在表达式x=(a&&b)&&(c

19.在以下一组运算符中,优先级最高的运算符是 A)<= B)= C)% D)&& 答案:C

解析:关系运算符、逻辑与和算术运算符总算术运算符的优先级最高,故选C)。 20.以下选项中,与k=n++完全等价的表达式是

A)k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1 答案:A

解析: k=n++的意思是先将n的值赋给k,然后n的值再加1,选项A)符合题意;选项C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+(n+1)。

21.以下选项错误的是

A)main() B)main() { int x,y,z; { int x,y,z; x=0;y=x-1; x=0,y=x+1; z=x+y;} z=x+y;}

C)main() D)main() { int x; { int x,y,z; int y; x=0;y=x+1; x=0,y=x+1; z=x+y,} z=x+y;} 答案:D

解析: 在选项A)中的语句没有一条是错误的。选项B)和C)中有一个逗号表达式,选项B)中是x=0,y=x+1;在选项C)中是y=x+1,z=x+y;所以B)和C)中也没有错误。选项D)中的最后一条语句是以逗号结束的,而C语言中不能用逗号作为一个语句的结束标志,每一条语句最后应该是分号,所以D)选项中的程序是错误的。

22.以下4个选项中,不能看做一条语句的是

A); B)a=5,b=,c=; C)if(a<5); D)if(b!=5)x=2;y=6; 答案:D

解析: 选项D)为两条语句。

23. 下列运算符中优先级最高的是________。

A) < B) + C) && D) ! = 答案:B

24.判断char型变量ch是否为大写字母的正确表达式是________。

A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 答案:C

25.设int a=12,则执行完语句a+=a-=a*a后,a的值是________。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值