习题三(运算与表达式)
运算符与表达式练习题附答案

1. 以下运算符中优先级最高的是()。
A.&&B.+ C.!= D.?:2.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。
A.a>=10 or a<=0B.a>=10| a<=0C.a>=10 && a<=0D.a>=10||a<=03. C语言中运算对象必需是整型的运算符是()。
(A)+ (B)/ (C)% (D)*4. 已知int i;float f;正确的表达式是()。
A)(int f)%i B) int(f)%iC) int(f % i) D) (int)f % i5. 下列程序的输出结果是()。
void main( ){ int a=7,b=5;printf("%d\n",b=b%a);}(A)0 (B)1 (C)5 (D)不确定值6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()。
(A)1.4 (B)1 (C)2.0 (D)27. 已知x=4.5,y=2.5,求表达式(x+y)/2+(int)y%(int)x的值()。
A) 3 B) 5 C)3.5 D) 5.58. 已知各变量的类型如下int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是()。
(A)a+=a-=(b=4)*(a=3)(B)a=a*3+2(C)x%(-3)(D)y=float(i)9. 已知int a,b;执行语句a=(b=3*2,b*4),a+6;后变量a的值为()。
A) 6 B) 12 C)24 D)3010. 若有以下程序main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i); }执行后的输出结果是()。
(A)8,6 (B)8,3 (C)6,4 (D)7,411. 设 int i,j=5;执行语句i=(++j)+(++j);后i的值是()。
第6周C程序设计作业

第三章练习题之运算符和表达式一、选择题:1、以下运算符中,优先级最高的运算符是()A. =B. !=C. *(乘号)D. ()2、若有以下定义,则能使值为3的表达式是()int k=7, x=12;A. x%=(k%=5)B. x%=(k-k%5)C. x%=k-k%5D. (x%=k)-(k%=5)3、设在tc2.0中有整型变量x,y,z均为3,表达式(x++)+(y++)+(z++)的值是 ( )A. 6B. 7C. 8D. 94、有以下程序运行后的输出结果是:()main(){ char a='A',b;print("%c,",++a);printf("%c\n",b=a++);}A. B,BB. B,CC. A,BD. A,C5、有以下程序运行后的输出结果是:()main(){ char a='a';printf ("%c,",++a);printf("%c\n",a++);}A)b,b B)b,c C)a,b D)a,c6、设a=6,b=4,则表达式b*=a+3的值为:()A)3 B)18 C)27 D)367、有如下程序段,其输出结果是: ( )int a=3;float b=15.6,f=1.5;printf(“%d”,a+(int)b/2+(int)f%3);A)10 B)11 C)12 D)138、以下程序的输出结果是:()main( ){int a=3 ;printf ( "%d %d\n " , a , a++) ; }A. 4 3B. 4 4C. 5 3D. 5 49、以下程序的输出结果是()。
main( ){int a=10;printf ( "%d %d\n " , a , a++) ; }(A)11 10 (B)11 11 (C)12 20 (D)12 1110、若有定义:int a=8,b=5,c;执行语句c=a / b+0.4 ; 后c的值为()。
数据类型、运算符与表达式练习题一

学校_____________ 专业班级 学号 姓名装订线 密封线内不得答题 装订线 密封线内不得答题 装订线安居职业中学高2012年信息类专业试卷 第 1 页 共 2页页数据类型、运算符与表达式练习题一一、选择题1.设有如下变量声明:Dim TestDate As Date 为变量TestDate 正确赋值的表达方式是________。
A) TestDate = #1/1/2002#B) TestDate = #”1/1/2002”# C) TestDate = date(“1/1/2002”)D) TestDate = Format(“m/d/yy”,”1/1/2002”)2.下列符号中不能作为VB 中变量名的是________。
A) ABCD B) E0065700C) 123TWDFF D) zxy3.如果将布尔常量值True 赋值给一个整型变量,则整型变量的值为________。
A) 0 B) –1 C) True D) False4.下列符号常量的声明中,________是不合法的。
A) Const a As Single = 1.1B) Const a As Integer = “12”C) Const a As Double = sin(1)D) Const a = “OK”5.四个字符是”E”,”y”,”B”,”8”的ASCII 码值最大的是 ________。
A) ”E”B) ”y”C) ”B”D) ”8”6.下列________是字符型常量。
A) ”I am a student”B) ’江苏南京’C) #02/25/1999# D) 123# 7.下列________是日期型常量。
A) ”I am a student” B) ’江苏南京’ C) #02/25/1999# D) 123# 8.下列________是双精度型变量。
A) AAA% B) BBB$ C) CCC!D) DDD#9.可以同时删除字符串前导和尾部空白的函数是________。
C语言第三章数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0 d) 1.3E10. 以下合法的八进制数是()a) 0135 b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019 b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式cb a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式zy x ⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z 21. 不能正确表示代数式d c ba ⋅⋅的C 语言表达式是( )a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( )a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n ”,y);printf(“y=%+06d\n ”,y);}程序运行的结果是:( )a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n ”,y);printf(“*y=%-7o*\n ”,y);printf(“*y=%07o*\n ”,y);}程序运行的结果是:( )a) *y= 710* b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1 c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768 d) b=-139.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是______.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是______.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_____.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是_______.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为______.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是___,变量x的值是___,变量y的值是____.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是_____,变量y的值是_______。
语言程序设计习题答案

C 语言程序设计习题答案习题一 C 语言程序设计概述一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2(5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4(9)结构化的程序设计P9二、简述题1. 设计程序时应遵循哪些基本原则P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法的要素是什么算法具有哪些特点答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。
4. 有哪三种基本结构答:三种基本结构是:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S 流程图最大的区别是什么答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图、N-S 图分别表示求解以下问题的算法。
1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。
2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。
3. 求1+2+3+…+100的值。
4. 求1×2×3×…×10的值。
5. 求下列分段函数的值。
6. 求100~200之间的所有素数。
7. 求一元二次方程ax 2+bx+c=0的根。
分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。
四、注释下面C 程序的各个组成部分。
main() /*主函数 */{ /*程序开始 */int a,k,m; /*定义三个用来存放整数的变量 */a=10; /*将整数10赋值给变量a */k=2; /*将整数2赋值给变量k */m=1; /*将整数1赋值给变量1 */a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */printf("%d\n",a); /*在屏幕上打印出变量a 的值 */} /*程序结束 */习题二 数据类型、运算符与表达式一、选择题1~10:BCDCB DDBCA11~20: ADDAA DBADC21~28: DABAD CDDY= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5) 输入一个数给x X<=1 Yes no X<1 x<5 Yes no yes no Y=3x y=4x-1 y=5x+1 y=6-3x 输出s 的值 i =100 当i<=200时 n=2; flag=1; 当n< i 时i 能否被n 整除yes no flag=0 n = n+1 flag=1yes no输出i 的值i = i+1二、填空题1.字母L 或字母l2.字符或%c 、整数或%d3.在程序运行过程中,其值可以在一定的范围内变化的量。
习题三(运算与表达式)

.习题三一、选择题1.若有代数式bc ae 3,则不正确的C 语言表达式是( C )。
A. a/b/c*e*3B. 3*a*e/b/c D. a*e/c/b*32.在C D )。
A. /B. =C. ++ 3.若有定义语句:int a=7;float x=2.5,y=4.7; 的值( A )。
A.2.500000B. 2.750000C.3.500000D.0.0000004.若有定义int x=5,y=2,则表达式5/2的结果为( B )。
A. 2.5B. 2C. 2.0D. 35.判断char 型变量ch 是否为大写字母的正确表达式是( C )。
A. …A ‟<=ch<=‟Z ‟B. (ch>=‟A ‟)&(ch<=‟Z ‟)C. (ch>=‟A ‟)&&(ch<=‟Z ‟)D. (ch>=‟A ‟)and(ch<=‟Z ‟)6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。
A. a>=b>=cB. (a>=b)&(b>=c)C. (a>=b)&&(b>=c)D. (a>=b)||(b>=c)7.逻辑运算符两侧运算对象的数据类型( D )。
A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。
A. <B. +C. &&D. ==9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。
A. …x ‟&&‟y ‟B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1) 10.已知x=43,ch=‟A ‟,y=0;则表达式(x>=y&&ch<‟B ‟&&!y )的值为( B )。
习题三(运算与表达式)
习题三一、选择题1.若有代数式bcae3,则不正确的C 语言表达式是( C )。
A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 2.在C 语言中,要求运算数必须是整型的运算符是( D )。
A. /B. =C. ++D. %3.若有定义语句:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值( A )。
A.2.500000 B. 2.750000 C.3.500000 D.0.000000 4.若有定义int x=5,y=2,则表达式5/2的结果为(B )。
A. 2.5 B. 2 C. 2.0 D. 3 5.判断char 型变量ch 是否为大写字母的正确表达式是( C )。
A. …A ‟<=ch<=‟Z ‟ B. (ch>=‟A ‟)&(ch<=‟Z ‟) C. (ch>=‟A ‟)&&(ch<=‟Z ‟) D. (ch>=‟A ‟)and(ch<=‟Z ‟) 6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。
A. a>=b>=c B. (a>=b)&(b>=c) C. (a>=b)&&(b>=c) D. (a>=b)||(b>=c) 7.逻辑运算符两侧运算对象的数据类型(D )。
A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型 D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。
A. <B. +C. &&D. ==9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。
A. …x ‟&&‟y ‟ B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)10.已知x=43,ch=‟A ‟,y=0;则表达式(x>=y&&ch<‟B ‟&&!y )的值为( B )。
习题3
第三章数据类型、运算符与表达式3.1 选择题【题3.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A)char<int<long int<=float<doubleB)char=int<long int<=float<doubleC)char<int<long int=float=doubleD)char=int=long int<=float<double【题3.2】若x、i、j和k都是int型变量,则执行下面表达式后x的值为。
x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52【题3.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
A)7 B)8 C)6 D)2【题3.4】下列四组选项中,均不是C语言关键字的选项是。
A)define IF typeB)getc char printfC)include scanf caseD)while go pow【题3.5】下列四个选项中,均是C语言关键字的选项是。
A)auto enum includeB)switch typedef continueC)signed union scanfD)if struct type【题3.6】下面四个选项中,均不合法的用户标识符的选项是。
A) A P_0 doB)float la0 _AC)b-a goto intD)_123 temp INT【题3.7】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符【题3.8】下面四个选项中,均是合法整型常量的选项是。
A)160 -0xffff 011B)-0xcdf 01a 0xeC)-01 986,012 0668D)-0x48a 2e5 0x【题3.9】下面四个选项中,均是不合法的整型常量的选项是。
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
数据类型运算符与表达式练习题
精品文档第三章运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。
A.”a” B. {ABC} C. 'abc\0' D. 'a'2.下列数据中属于“字符串常量”的是()。
A.ABC B. “ABC” C. 'abc' D. 'a'3. 在PC机中,'\n'在内存占用的字节数是()。
A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占用的字节数是()。
A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是()。
A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是()。
A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是()。
A. OLB. 0821C. 40000D. 0x2a8.下列数据中不属于“字符常量”的是()。
A. ‘\a'B. ‘\160'C. ‘070'D. 0709.char型常量在内存中存放的是()。
A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。
A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是()。
A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。
A. 0B. 1C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。
A. 4,4B. 6,6C. 4,6D. 6,414.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题三一、选择题1.若有代数式bcae3,则不正确的C 语言表达式是( C )。
A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c D. a*e/c/b*3 2.在C 语言中,要求运算数必须是整型的运算符是( D )。
A. /B. =C. ++D. %3.若有定义语句:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值( A )。
A.2. B. 2. C.3. D.0. 4.若有定义int x=5,y=2,则表达式5/2的结果为(B )。
A. 2.5 B. 2 C. 2.0 D. 3 5.判断char 型变量ch 是否为大写字母的正确表达式是( C )。
A. ‘A ’<=ch<=’Z ’ B. (ch>=’A ’)&(ch<=’Z ’) C. (ch>=’A ’)&&(ch<=’Z ’) D. (ch>=’A ’)and(ch<=’Z ’) 6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。
A. a>=b>=c B. (a>=b)&(b>=c) C. (a>=b)&&(b>=c) D. (a>=b)||(b>=c) 7.逻辑运算符两侧运算对象的数据类型(D )。
A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型 D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。
A. <B. +C. &&D. ==9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。
A. ‘x ’&&’y ’ B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)10.已知x=43,ch=’A ’,y=0;则表达式(x>=y&&ch<’B ’&&!y )的值为( B )。
A. 0 B. 1 C. “假” D. true11.下列表达式中,不满足条件“当x 为奇数时值为真,当x 为偶数时值为假”的是( C )。
A. x%2==1 B. !(x%2==0) C. !(x%2) D. x%212.设有int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式(m=a>b )&&(n=c>d)后,n 的值为( C )。
A. 0 B. 1 C. 2 D. 3 13.判断char 型变量c 是否为0到9的数字的正确表达式为( C )。
A. ‘0’<=c<=’9’B. 0<=c<=9C. c>=’0’&&c<=’9’D.c>=0&&c<=9 14.设有int x=3,y=4,z=5,则执行表达式!(x+y )+z-1&&y+z/2的结果是( D )。
A. 6 B. 0 C. 2 D. 115.以下程序的运行结果是(B )。
#include <stdio.h>void main( ){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}A. 6,1B. 2,1C. 6,0D. 2,016.执行以下语句后x的值为,y的值为( C )。
int x=5,y=6,t=1,a=2,b=3,z=4;(x=t>a)&&(y=b>z)A. 5,6B. 5,0C. 0,6D. 0,017.以下表达式中,与表达式!a等价的是(D )。
A. a==0B. a==1C. !a==0D. !a==118.以下符合C语言语法的赋值表达式是( D )。
A. a=10+n+m=a+3B. a=10+m,b=a+5C. b=b*8=2D. a+=a-=(m=4)*(n=3)19.若有int a=7,b=12,则以下表达式中,值为3的是( D )。
A. b%=(a%=5)B. b%=(a-a%5)C. b%=a-a%5D. (b%=a)-(a%=5)20.已知各变量的类型说明如下。
int a=2,b;double x=2.56;则以下不符合C语言语法的表达式是( A )。
A. x%(-3)B. a+=2C. a+=a-=(b=4)D. x/=(b=3) 21.设以下变量均为int类型,则值不等于7的表达式是(C )。
A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)22.若x,i,j,k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x的值为(C )。
A. 4B. 16C. 32D. 5223.执行下面程序段后,输出结果为( C )。
int x=13,y=5;printf(“%d”,x%=(y/2));A. 3B. 2C. 1D. 024.设x,y均为float型变量,则以下不合法的赋值语句是( B )。
A. x=0.0B. y=(x%2)/10;C. x*=y+8;D. x=y=0; 25.设int a=10,则执行语句a+=a*=a/5+10;后,a的值是(A )。
A.240B.120C.30D.6026.设有定义语句int x=2;则以下表达式中,值不为6的是(D )。
A. x*=x+1B. x=2,3*xC. x*=(1+x)D. 2*x,x+=227.已知变量x、y、z都为int型,则执行z=2+(y=1,y+=1,x=y,x+8)后,x和z的值分别为(A )。
A.x=2,z=12B. x=2,z=10C. x=10,z=12D. x=10,z=1028.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是( D )。
A. 4B. 3C. 2D. 129.若w、x、y、z、m均为int型变量,则执行下面语句后,m的值为(A )。
w=1;x=2,y=3;z=4m=(w<x)?w:x;m=(m<y)?m:ym=(m<z)?m:z;A. 1B. 2C. 3D. 430.若运行时给变量x输入12,则以下程序的运行结果是( A )。
#include<stdio.h>void main( ){int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A. 0B. 22C. 12D. 1031.若已知num、sum均为int型变量,且num=sum=7;则计算表达式sum=num++,sum++后,sum的值为( B )。
A. 7B. 8C. 9D. 1032.若有int x=11,则表达式(x++*1/3)的结果为(B )。
A. 5B. 3C. 4D. 633.若有定义语句:int x=3;则以下表达式中,值为5的是(A )。
A. ++x,x+1B. x+=2,--xC. x+=2,x+1D. x++,x++ 34.若已知m,n,x,y为int型变量,则执行以下语句后,变量y的值为(D )。
m=10;n=5;x=(--m==n++)?--m:++n;y=n;A. 5B. 10C. 6D. 735.执行以下程序段后,变量a,b,c的值分别为(B )。
int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A. a=9,b=9,c=9B. a=8,b=8,c=10C. a=9,b=10,c=9D. a=1,b=11,c=10 36.以下程序的输出结果是(C )。
#include<stdio.h>void main( ){int w=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”, w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);}A. 0B. 1C. 0D. 01 1 1 11 1 0 01 1 1 037.以下关于运算符优先顺序的描述中正确的是( C )。
A. 关系运算符<算术运算符<赋值运算符<逻辑与运算符B. 逻辑与运算符<关系运算符<算术运算符<赋值运算符C. 赋值运算符<逻辑与运算符<关系运算符<算术运算符D. 算术运算符<关系运算符<赋值运算符<逻辑与运算符38.下列运算符中,优先级最高的是(D )。
A. <B. %C. &&D. ++39.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(C )。
A. ‘x’&&’y’B. x<=y<=zC. y+z&&y-z&&(x+1)%2D. !x||x<y&&140.以下不能将变量c中的大写字母转换为对应小写字母的语句是(D )。
A. c+=32B. c=c-‘A’+’a’C. c=c-65+97D. c=c-32二、填空题1.若s是int型变量,且有s=6,则表达式s%2+(s+1)%2的值为 1 。
2.若a是int型变量,则计算表达式a=25/3%3后,a的值为 2 。
3. 若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为5.5 。
4.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。
5.若有定义:int x=3,y=2; float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为1 。
6.当a=3,b=2,c=1时,表达式f=a>b>c的值为0 。
7.当a=5,b=4,c=2时,表达式a>b&&!c的值为0 。
8.C语言提供的三种逻辑运算符是&& 、‖、! 。
9.若a=2,b=4,则表达式!(x=a)||(y=b)&&0的值为0 。