03填空题(运算符与表达式)
- 格式:doc
- 大小:15.00 KB
- 文档页数:2
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的值是()。
作业一C语言概述一、选择题1-个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C.本程序的main函数开始,到本程序文件的最后-个函数结束D.本程序文件的第-个函数开始,到本程序main函数结束2以下叙述正确的是:A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写-条语句C.C语言本身没有输入输出语句D.在对-个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是A.-个C源程序可由-个或多个函数组成B.-个C源程序必须包含-个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于-条语句的后面4C语言规定:在-个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5-个C语言程序是由A.-个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成二、编程题编写一个C程序,输出以下信息:****************************************Hello,world!****************************************作业二程序的灵魂——算法一.填空题1.算法的五个特性是指:有穷性、、、、。
2、三种基本的程序结构是:、、。
3、程序中的子模块在C语言中用来实现。
作业三数据类型、运算符与表达式一、选择题1以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i十f B.i*c C.c十f D.i十c十f2以下不正确的语句(设有int p,q)是( )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q;3以下使i的运算结果为4的表达式是( )。
A.int i=0,j=0;(i=3,(j十十)十i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1);(i=3);D.int i=1,j=1;i+=j十=2;4下列四组选项中,均不是C语言关键字的选项是( ).A)define B)getc C)include D)whilei f char sanf gotype printf case pow5下列四个选项中,均是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.可以同时删除字符串前导和尾部空白的函数是________。
数据类型、运算符和表达式复习题一.选择题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的值是_______。
.习题三一、选择题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 )。
带答案C语言2-10章作业C语言习题集专业班级学号姓名第2章运算符与表达式一、选择题1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。
(float)(a+b)/2+(int)x% (int)yA) B)35 C) D)2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。
(x+y)%2+(int)a/(int)bA) B)1 C) D)23.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。
x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。
A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。
#include <>main( ){ double d=; int x,y;x=; y=(x+/;printf("%d\n", d*y);}A)3 B)3.2 C)0 D)6.下列程序执行后的输出结果是(小数点后只写一位)( A )。
#include <>main( ){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f\n", i,l,f,d);}A)6 6 B)6 6C)6 6 D)6 67.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。
A)1 B)2 C) D)8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。
A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);9.若执行以下程序段后,c3的值为( A )。
int c1=1,c2=2,c3;c3=c2*c1;A)0 B)0.5 C)1 D)210.如下程序的运行结果是( D )。
习题三一、选择题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 )。
精品文档第三章运算符与表达式练习题一、单项选择题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. 以下不合法的用户标识符是:()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) 32768b) -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) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 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的值,能正确表示代数式c b 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)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的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= 1111c) 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) 1c) 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=-32768d) b=-1 39.有以下语句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的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。
第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。
A) define IF Type B) getc char printfC) include scanf case D) while go pow3.下列四个选项中,均是C语言关键字的选项是()。
A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是()。
A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int5.以下有4组用户标识符,其中合法的一组是()。
A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define7.下面四个选项中,均是合法整型常量的选项是()。
A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) –01986 012 0668 D) -0x48a 2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。
A) -10 0x8f -011 B) 0abc -017 0xcC) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF13.下面四个选项中,均是合法的浮点数的选项是()。
A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-015.以下选项中合法的字符常量是()。
第3章数据类型、运算符与表达式习题答案一、选择题1.以下表示正确常量的是()。
(A) E-5 (B) 1E5.1 (C) 'a12' (D) 32766L【答案】D2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式(x=a>b)&&(y=c>d) 的值为()。
(A)0 (B) 1 (C) 5 (D) 6【答案】A3.以下()是正确的字符常量。
(A)"c" (B) '\\'' (C) 'W' (D) "\32a"【答案】C4.以下()是不正确的字符串常量。
(A) 'abc' (B) "12'12" (C) "0" (D) " "【答案】A5.以下是正确的浮点数的是()。
(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6.若有定义:int a=2; 则正确的赋值表达式是()。
(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。
(A)111122233 (B)1111,222,33(C)1111 222 33 (D)1111+222+33【答案】D8.已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为11和22,正确的数据输入是哪一个?()(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9.已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是()。
第三章习题参考答案一、单项选择题1、C语言中字符型(char)在内存中的形式存储是()。
A)源码 B)补码 C)反码D)ASCII码2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。
A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于赋值运算符C)算术运算符高于逻辑运算符,关系运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符3、C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。
A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4、以下选项中属于C语言的数据类型是()。
A)复数型 B)逻辑型C)双精度型 D)集合型5、在C语言中,int、char和short三种类型数据所占的内存()。
A)均为2个字节 B)由用户自己定义C)由所用机器的字长决定 D)是任意的6、下列常数中不能作为C语言的数据类型是()。
A)0xa5 B)2.5e-2 C)3e2 D)05827、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。
A)0至255 B)0至65535 C)-256至255 D)-32768至327678、在C语言中,数字029是一个()。
A)八进制数 B)十六进制数 C)十进制D)非法数9、下列可以正确表示字符型常数的是()。
A)”a”B)'\t’ C)”\n” D)29710、以下错误的转义字符是()。
A)'\\’ B)'\'’ C)'\81’ D)'\0’11、C语言中整数-8在内存中的存储形式是()。
A)1111 1111 1111 1000 B)1000 0000 0000 0000C)0000 0000 0000 1000 D)1111 1111 1111 011112、已知 int i; float f; 正确的语句是()。
C语言运算符与表达式的练习题-答案C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D)。
A. 32LB. 510000C. -1.00D. 567(2)以下选项中,(D)是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"(3)字符串的结束标志是(C)。
A. 0B. '0'C. '\0'D. "0"(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D)。
A. && ! ||B. || && !C. && || !D. ! && ||(6)表达式!x||a==b 等效于(D)。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。
A. 0,0B. 0,1C. 1,0D. 1,1*(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。
A. 3B. 0C. 9D. -12(9)在以下一组运算符中,优先级最低的运算符是(D)。
A. *B. !=C. +D. =(10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。
A. 6B. 12C. 15D. 表达式出错(11)若已定义 x 和 y为double 类型,则表达式的值是(D)。
运算符与表达式练习一一、选择题1.C语言中运算对象必须是整型的运算符是A)% B)/ C)* D)+2.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b3.以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D) x=j>0;4.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A) 6.500000 B) 6 C) 5.500000 D) 6.0000005.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 16.以下叙述中正确的是A)a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。
B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D)已有a=3, b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3 7.若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是A)a=b=c=100; B)d++; C)c+b; D)d=(c=22)-(b++);8.以下选项中不是C语句的是A){int i; i++; printf(“%d\n”, i); }B); C)a=5,c=10 D){ ; }9.以下合法的C语言赋值语句是A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)--i;10.判断char型变量c是否为大写字母的最简单且正确的表达式是A)’A’<=c<=’Z’ B)(c>=’A’&(c<=’Z’)C) (‘A’<=c)AND(‘Z’>=c) D)(c>=’A’)&&(c<=’Z’)11.下列运算符中优先级最高的运算符是A)! B)% C)-= D)&&12.下列运算符中优先级最低的运算符是A)|| B)!= C)<= D)+13.为表示关系 x≥y≥z,应使用的C语言表达式是A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)14.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是A)a&&b B)a<=b C)a||b+c&&b-c D)!((a<b)&&!c||1)二、填空题1.若k为int型变量且赋值11,请写出运算k++后表达式的值和变量的值。
习题2(程序设计入门)一、选择题1.如果把一个人当作对象,那么血型相当于这个对象的:A(A) 属性(B) 方法(C) 事件(D) 特征2.下列哪一种方法不能改变窗体的大小:A(A) 设计时在窗体布局窗口中进行调整(B) 设计时在属性窗口中设置相应的属性(C) 运行时设置相应属性的值(D) 运行时调用窗体的Move方法3.一个对象可以执行的动作和可被对象识别的动作分别称为:B(A) 事件、方法(B) 方法、事件(C) 属性、方法(D) 过程、事件4.在窗体Form1的Click事件过程中有以下语句:Label1.Caption = "Visual Basic"若本语句执行之前,标签控件Label1的Caption属性为默认值,则标签控件的Name 属性和Caption属性在执行本语句之前的值分别为:A(A) "Label"、"Label" (B) "Label"、"Caption"(C) "Label1"、"Label1" (D) "Caption"、"Label"5.见上题。
该语句执行后,标签控件的Name属性和Caption属性的值分别为:B(A) "Label"、"VisualBasic" (B) "Label1"、"Visual Basic"(C) "Label1"、"Caption" (D) "Label"、"Label1"6.下面哪种对象没有Caption属性:B(A) Form (B) TextBox (C) CommandButton (D) Label7.文本框对象的默认属性是:B(A) Name (B) Text (C) Visible (D) Enabled8.Visual Basic源程序的续行符是:D(A) 单引号(B) 双引号(C) 冒号(D)空格与下划线9.下面的动作中,不能引发按钮Click事件的是:B(A) 在按钮上单击鼠标左键(B) 在按钮上单击鼠标右键(C) 把焦点移至按钮上,然后按回车键(D) 如果按钮有快捷字母,按“Alt+该字母”二、判断题1.标签控件是专门用来显示信息的,所以不能响应鼠标的单击事件。
2.2 填空题
(191)&运算符作为单目运算符时表示的是____运算;作为双目运算符时表示的是_____运算。
(192)请计算sizeof的值:
char str[] = "Hello" ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) = ____
sizeof ( p ) = _____
sizeof ( n ) = ______
(193)请计算sizeof的值:
void Func ( char str[100])
{
// 请计算
sizeof( str ) = _____
}
(194)请计算sizeof的值:
void *p = malloc( 100 );
// 请计算
sizeof ( p ) = ______
(195)下列程序段的输出是_______。
#define f(a, b, x) a*x+b
printf("%d, %d\n", f(3,2,1), f(6, 5, f(3, 2, 1)));
(196)下列程序段的输出是_____。
main()
{
int k;
for(k=1; k<5; k++)
{
if(k % 2) printf("*");
else continue;
printf("#");
}
}
(197)下列程序段的输出是_____。
int *p, *q, k=5, j=6;
q=&k;
p=q;
q=&j;
printf("%d", *p);
(198)设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是____。
(199)下面程序的输出是_________。
V oid main(void)
{
int a = 2;
printf("%d %d %d\n", a, ++a, a--);
}
(200)有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&k 的值为______。
(201)设y是int型变量,请写出判断y为非法的关系表达______。
(202)若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。
请填空。
fun(int a[ ])
{
int i;
for(i=1; i<=10; i++)
_____ = i;
for(i=0; i<5; i++)
______ = a[i];
}
(203)设ch是字符型变量,判断ch为英文字母的表达式是______。
(204)下列程序段的输出结果是______。
printf("%xn", (0x19 <<1) & 0x17);
(205)表示x≥y≥z的C表达式是_______。
(206)下列程序段的输出是______。
printf("%on", 010<<1^1);
(207)下列程序段的输出是______。
int k;
float s;
for (k=0, s=0; k<7; k++)
{
s += k/2;
}
printf("%d, %fn", k, s);
(208)设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____________。