1、C语言运算符与表达式的练习题答案C语言运算符与表达式的练习题单项选择题 (1)以下选项中,正确的 C 语言整型常量是( D )。 A. 32L B. 510000 C. -1.00 D. 567 (2)以下选项中,( D )是不正确的 C 语言字符型常量。 A. a B. x41 C. 101 D. a (3)字符串的结束标志是( C )。 A. 0 B. 0 C. 0 D. 0 (4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、
2、赋值运算 (5)逻辑运算符中,运算优先级按从高到低依次为( D )。 A. & ! | B. | & ! C. & | ! D. ! & | (6)表达式!x|a=b 等效于( D )。 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=ab)&(n=cd)后, m,n 的值是( A )。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 *(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是( B )。 A. 3 B. 0 C. 9
3、 D. -12 (9)在以下一组运算符中,优先级最低的运算符是( D )。 A. * B. != C. + D. = (10)设整型变量 i 值为2,表达式(+i)+(+i)+(+i)的结果是( B,上机13 )。 A. 6 B. 12 C. 15 D. 表达式出错 (11)若已定义 x 和 y为double 类型,则表达式 x=1;y=x+3/2 的值是( D )。 A. 1 B. 2 C. 2.0 D. 2.5 *(12)设a=1,b=2,c=3,d=4,则表达式:ab? a : cd? a : d的结果为( D )。 A. 4 B. 3 C. 2 D. 1 (13)设a 为整型变量,不能
4、正确表达数学关系:10a15的 C 语言表达式是( A )。 A. 10a10 & a15 D. !(a=15) *(14)设 f是实型变量,下列表达式中不是逗号表达式的是( B )。 A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0) *(15)设ch是 char型变量,其值为 A,则下面表达式的值是( B )。 ch=(ch=A& ch D. * (19) PC 机中,n在内存占用的字节数是( A )。 A. 1 B. 2 C. 3 D. 4 (20) 字符串ABC在内存占用的字节数是( B )。 A. 3 B. 4 C. 6 D. 8 (21) 要为字符型变
5、量 a赋初值,下列语句中哪一个是正确的( B )。 A. char a=3; B. char a=3; C. char a=%; D. char a=*; (22)下列不正确的转义字符是( C )。 A. B. C. 074 D. 0 填空题(1) C 语言中的逻辑值“真”是用1 表示的,逻辑值“假”是用0 表示的。 (2) 设 c=w,a=1,b=2,d=-5, 则表达式 x+1c, y!=c+2, -a-5*bB & CA) | (AB)的值是( A )。A)0 B)10 C)1 D)5 5、若有x=1,y=2,z=3,则表达式(xy?x:y)= =z的值是( D )。A)1 B)2 C)
6、3 D)06、 判断char型变量ch是否为大写字母的正确表达式是( C )。A) A=ch=A)&(ch=A)&(ch=Z) D) (A= ch)7、判断整型变量digit是否为数字的正确表达式是( C )。A) 0=ch=0)&(ch=0)&(ch=9) D) (0= ch)8、 一个C程序的执行是从( A )。A) 本程序的main函数开始,到main函数结柬B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束9、在以下标识符中,合法的是( C )A)if B)
7、0xy C)_xy D)case10、C语言中各种类型的数据其实决定了占用内存的字节数。float占( C )。A)一字节 B)二字节 C)四字节 D)八字节11、下列各选项中,( A )是有效的标识符。A)ab B)3day C)day3 D)#abc12、以下叙述正确的是( C )A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,没有什么区别13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为
8、2,则正确的数据输入方式是( B )。A)132 B)1,3,2C)a=1 b=3 c=2 D)a=1,b=3,c=214、设整型变量a为5,使b不为2的表达式是(C )。A) b = a/2 B) b = 6-(-a) C) b=a%2 D) b=a3?2:115、以下程序的输出结果是(D )。int x=10,y=10; printf(“%d %dn”,x-,-y);A) 10 10 B) 9 9 C) 9 10 D) 10 916、选出下列标识符中不是合法的标识符的是(D )。A) hot_do B) cat1 C) _pri D) 2ab17、设有如下定义: int x=10,y=3,
9、z;则语句printf(%dn,z = x%y); 的输出结果是(D )。A) 1 B) 0 C) 4 D) 318、各种基本数据类型的存贮空间正确的长度排列为(C )。A)int char floatdouble B)doublefloat intcharC)charint floatdouble D)floatint char=0|b=0)&(a0 |b=0 & b=0)&(a0 & b0) &(a+b023、C语言中,合法的字符型常数是(D )。A)A B)“A” C) 65 D) A24、下列程序段的输出结果是(C )。char c1,c2;c1=65;c2=65+32+1;print
10、f(“%c,%c”,c1,c2);A)a,B B)a,b C)A,b D)A,B25、下列语句不具有赋值功能的是(C)A)a*=b B)x=1 C)a+b D)a+26、在C语言中,存储一个整型、字符型、双精度实型变量所需的字节(A )。A)2、1、8 B)4、1、4C)4、1、4 D)2、2、827、下列程序段输出结果是(B )。int j=2 , i=1;j /= i*j;printf(“%d”,j);A)0 B)1 C)2 D)328、不是C语言提供的合法关键字是(D )。A)switch B)char C)case D)this29、在C语言中,要求参加运算的数必须时整数的运算符是(C
11、 )。A)/ B)* C)% D) =30、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是(C )。A)31、设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是(C )。A)10a10&a15 D)!(a=15)32、表达式“10!=9”的值是(D )。A)true B)非零值 C)0 D)133、设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为A,b为B,从键盘上的正确输入是(B )。A) A B B) A,B C)A=A,B=B D)a=A,b=B34、设有单精度变量f,其值为。执行语句“n=( (int)f )%3
12、;”后,n的值是(B )。35、普通整形int能够处理的数据范围是(D )A)-3276732767 B)-3276832768 C)-3276732768 D)-327683276736、若定义x为double型变量,则能正确输入x值的语句是。BA)scanf(“%f”,x); B)scanf(“%f”,&x);C)scanf(“%lf”,&x); D)scanf(“%5.1f”,&x)37、执行 x=(6*7%8+9)/5; 后,x的值为(B )A)1 B)2 C)3 D)438、若有代数式3ae/bc,则不正确的c语言表达式是(B )A)a/b/c*e*3 B)3*a*e/b/c C)3
13、*a*e/b*c D)a*e/b/c*3(D )A) B)x /= y+9 C)x *= y-6 D)x += y+240、以下能正确定义整型变量z、b、c并为其赋初值5的语句是(C )A)int a=b=c=5; B)int a,c, c=5; C)a=5,b=5,c=5; D)a=b=c=5;41、C语言中双精度浮点型变量double在内存中占(D )字节。A)1 B)2 C)4 D)842、以下哪个数学函数的作用是求某数的平方根( A )。A)sqrt() B)fabs() C)pow() D)exp()43、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(C )。int
14、x;scanf(%d,&x);if(+x5) printf(%d,x);else printf(%dn,x -);A) 7和5 B) 6和3 C) 7和4 D)6和444、执行语句x=(a=3,b=a-)后,x,a,b的值依次为(B )。A)3, 3, 2B)3,2,2C)3,2,3D)2,3,245、读出以下语句的输出结果是(D )。 int x=10,y=10;printf(%d %dn,x-,-y);A) 10 10 B)9 9 C)9 10 D) 10 9* 46、C语言中,合法的字符串型常数是(D )。A)A B)A C) abcd D) abcd47、为表示关系xyz,应使用C语言
15、表达式(A )。A)(x=y)&(y=z) B)(x=y) AND (y=z)C)(x=y=z) D) (x=z)&(y=z)48、C语言的输入与输出操作是由(C )完成的。A)输入语句 B)输出语句C)输入与输出函数D)输入与输出语句49、设有int x=11 ;则表达式(x+1/3)的值是(C )。A) B)11.333333 C)11 D)12 50、若已定义x和y为double类型,则表达式x = 1,y = x+3/2的值是(C )A)1 B)2 C)2.0 D)二、判断题()1、 “A”是一个字符常量。 X()2.、在程序运行过程中其值可以改变的量称为变量。 V()3、在C语言中,
16、变量可以先使用再定义。 X()4、在C语言中,所有算术运算符的优先级都相同。 X()5、程序中若要使用数学函数就必须包含头文件”。 V()6、程序中若要使用printf()函数就必须引用头文件”。 V()7、在标准C中,“=”是判断两个数是否相等。 X()8、在标准C中,使用所有输入输出函数必须包含“”文件。 X()9、在C语言中输出数据时可以指定数据的精度,即小数点后保留几位。 V ( )10、C语言中的基本数据类型有字符型、整型和浮点型。 V ( )11、所有的C语言程序都必须有一个名为main的主函数。 V ( )12、/ 运算符要求运算数必须是整数。 X ( )13、Int, #a15
17、 , char都是合法的标识符。 X ( )14、b和b是不同的两种常量。 V ( )15、C语言本身没有输入输出语句,要实现输入输出必须调用相应的输入输出函数。 V 第三单元 算法 一、判断题( )1、 算法简而言之就是基于某种计算机语言,利用数据结构来解决具体问题的思路和方法。 V( )2、 描述算法的图形化方法之一就是程序流程图。V( )3、 描述算法可以用自然语言、传统流程图、N-S流程图来描述。V( )4、 算法要有一定的逻辑性和健壮性。V( )5、 算法的特点之一是无穷性。X 第四单元 顺序结构一、选择题1、下列标识符中合法的标识符是( A )A) int2 B) if C) 2t
18、wo D) a#b2、选出下列标识符中不是合法的标识符的是( B )A) hot_do B) cat113 C) INT D) _2ab3.、以下选项中属于C语言的数据类型是( B )A) 字符串型 B) 双精度型 C) 逻辑型 D) 布尔型4、设有如下定义: int x=10,y=3, z; 则语句printf(%dn, z = x%y ); 的输出结果是( D )A) 3 B) 0 C) 4 D) 15、设整型变量n的值为2,执行语句n += n;后,n的值是( B )A) 0 B) 4 C) - 4 D) 2二、判断题( )1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。V(
19、 )2、可以用printf(%d ,123);语句输出一个十六进制整数。X( )3、可以用scanf(%x,&da);语句从键盘接收一个八进制整数给变量da。X( )4、语句scanf(%5.2f, &a); 是正确的。X( )5、 如果a是一维字符数组名,则语句scanf(%s, &a); 是正确的。X第五单元 选择结构一、选择题1、有以下程序段int a;if (3&2) a=1;else a = 2;执行后a=(A )。A)1 B)2 C)3 D)02、表达式:10!=9的值是(D )。A) true B) 非零值 C) 0 D) 13、设int x=1,y=1;表达式(!x+ | y-
20、)的值是_(B )。A)0 B) 1 C) 2 D)-14、设整型变量s, c1,c2的值均为2,则执行语句(s=(c1= =c2)后,s的值为:(B )。 A)0 B)1 C)2 D)35、设整型变量a,b的值分别为1,0,那么a & b的结果是(A )。 A)0 B)1 C)2 D)都不对6、设整型变量a,b的值分别为1,0,那么a | b的结果是(B )。 A)0 B)1 C)2 D)都不对7、设整型变量a,b的值分别为1,0,那么a != b的结果是(B )。 A)0 B)1 C)2 D)都不对8、设整型变量a,b的值分别为1,0,那么a | (b+)的结果是(B )。A)0 B)1
21、C)2 D)都不对9、设整型变量a,b的值分别为1,0,那么a & (+b)的结果是(B )。A)0 B)1 C)2 D)都不对10、设整型变量a,b的值分别为1,2,那么表达式 ab?a+b:a-b的结果是(D )。A)1 B)2 C)3 D)-111、下边程序段int a=2,b=3,c=4;if(c=a+b) printf(“OK!”)else printf(“NO!”);输出结果是(A )。A)OK! B)NO C)程序错误 D)以上都不对12、设整型变量a,b的值分别为1,0,那么a= =b 的结果是(A )。A)0 B)1 C)2 D)都不对13、设整型变量a,b的值分别为1,0,那么!(a = = b)的结果是(B )。A)0 B)1 C)2 D)都不对14、设整型变量a,b的值分别为1,2,那么!a & b的结果是(A )。A)0 B)1 C)2 D)都不对15、设x为非零,则下列描述错误的是(D )。A)!(x = = 0) B)x != 0 C)3*x != 0 D)x016、下列表达式的值中哪个表示为逻辑假(C )。A)1 B)3 C)0 D)-117、设整型变量a,b的值分别为6
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1