C语言运算符与表达式练习题分享

                    C语言运算符与表达式练习题

姓名:__________                   分数(总分100):__________

选择题答题处(请答完题后把答案写到答题卡)(23*3=69):

1~10

11~20

21~23

    

 一.单项选择题 (23*3=69)

(1)   以下选项中,正确的 C 语言整型常量是______

A. 32L       B. 510000      C. -1.00       D. 567

(2)   以下选项中,_____是不正确的 C 语言字符型常量。

A. 'a'        B. '\x41'       C. '\101'       D. "a"

(3)   在 C 语言中,字符型数据在计算机内存中,以字符的_______形式存储。

A.  原码       B.  反码      C. ASCII 码    D. BCD码

(4)   算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为______

A.  算术运算、赋值运算、关系运算     B.  算术运算、关系运算、赋值运算

C.  关系运算、赋值运算、算术运算     D.  关系运算、算术运算、赋值运算

(5) 逻辑运算符中,运算优先级按从高到低依次为________

A. &&,!,||     B. ||,&&,!     C. &&,||,!    D. !,&&,||

(6)  表达式!x||a==b 等效于_______

A. !((x||a)==b)      B. !(x||y)==b     

C. !(x||(a==b))     D. (!x)||(a==b)

(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是________

A. 0,0     B. 0,1    C. 1,0    D. 1,1

(8)下列表达式中,正确的C赋值表达式是_______

A、a=7+b+c=a+7 B、a=7+b++=a+7

C、a =(7+b,b++,a+7) D、a=7+b,c=a+7

(9)以下程序语句运行结果为______

int a;

printf("a = %d\n", a);

A、编译出错 B、1024  C、NULL  D、不确定值

(10)   int b=0,x=1;执行语句 if(x++) b=x+1;  后,x,b 的值依次为______

A. 2,3     B. 2,0    C. 3,0    D. 3,2

(11) 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;  后,变量 a 的值是________

A. 3      B. 0     C. 9     D. -12

(12) 在以下一组运算符中,优先级最低的运算符是______

A. *      B. !=      C. +     D. = 

(13) 若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是________

A. 1      B. 2     C. 2.0     D. 2.5

(14) sizeof (double)的结果值是_________

A. 8      B. 4     C. 2     D.  出错

(15) 设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为_______

A. 4      B. 3     C. 2     D. 1

(16) 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是__________    。

A. 10<a<15        B. a= =11|| a= =12 || a= =13 || a= =14

C. a>10 && a<15    D. !(a<=10) && !(a>=15)

(17) 设 f是实型变量,下列表达式中不是逗号表达式的是_________    。

A. f= 3.2, 1.0      B. f>0, f<10      C. f=2.0, f>0      D. f=(3.2, 1.0)  

(18) 设ch是 char型变量,其值为 'A',则下面表达式的值是________      。  

ch=(ch>='A'&& ch<='Z')? (ch+32):ch 

A. A     B. a     C. z    D. Z

(19) 以下运算符中,结合性与其他运算符不同的是  _________     。

A. ++        B. %        C. /         D. +

(20) 以下用户标识符中,合法的是__________      。

A. int        B. nit        C. 123       D. a+b

(21) C 语言中,要求运算对象只能为整数的运算符是________      。

A. %        B. /         C. >         D. *

(22) PC 机中,'\n'在内存占用的字节数是 ________     。

A. 1     B. 2     C. 3     D. 4

(23) 要为字符型变量 a赋初值,下列语句中哪一个是正确的 _________     。

A. char a="3";   B. char a=’3’;  

C. char a=%;     D. char a=*;

二.填空题(每空一分 31*1=31)

(1) C 语言中的逻辑值“真”是用_____表示的,逻辑值“假”是用_________表示的。

  1.   符号常量的定义方法是_______________

(3)  C语言变量的定义语法:

______________________________________。

(4)  无符号基本整型的数据类型符为____________ ,双精度实型数据类型符为  __________       ,字符型数据类型符为 ____________

(5)C语言中有符号数据类型(signed)和无符号数据类型(unsigned)的本质区别为_________

6设 c='w',a=1,b=2,d=-5,  则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为___________________________  、 ________   。

7设a=3,b=2,c=l,则c>b的值为______.,a>b>c的值为______.

8 设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为_______       。

9  判断变量 a、b 的值均不为 0 的逻辑表达式为__________ 。

(10)C语言中-15在计算机内存中8位二进制存放形式为_____________.-15在计算机内存中存放方式一样的8位二进制数的十进制为_____________.

(11) 在C语言中,如下程序输出结果为

int a = -2<<5;

printf("a = %d\n", a); __________________________

printf("a = %u\n", a); __________________________

(12)在C语言中,如下程序输出结果为

char c = 250;

unsigned char d;

char f;

d = c + 249;

f = c + 249;

printf("d = %d\n", d); ______________________

printf("d = %u\n", d); ______________________

printf("f = %d\n", f); ______________________

printf("f = %u\n", f);______________________

  13求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为___________________ 。

(14)数学式a/(b*c)的 C 语言表答式

_________________________    

(15) 假设有一个寄存器a,要把a的第3bit变为0,其他bit位不变,该如何操作? _________________

(16)以下程序运行后的输出结果是 ____。

#include

int main()

{

int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

printf("%d\n",a);

}

(17)有以下程序(说明:字符0的ASCII码值为48)

#include <stdio.h>

 int main()

{

char c1,c2;

scanf("%d",&c1);

c2=c1+9;

printf("%c%c\n",c1,c2);

}

  若程序运行时从键盘输入48<回车>,则输出结果 为______ 。

答案:http://t.csdnimg.cn/BZm0B

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值