admin 管理员组文章数量: 1184232
2023年12月21日发(作者:revive是什么意思啊)
一、单选题:
1、已知ch是字符型变量,下面不正确的赋值语句是( B )。
A、ch=‘0’ B、ch=‘a+b’
C、ch=‘7’+‘9’ D、ch=7+9
2、以下4组用户定义标识符中,全部合法的一组是 (A ) 。
A、s_5 B、If C、txt D、int
about -max REAL
k_2
E2 turbo 3COM
_001
3、C语言中的简单数据类型包括( B )
A、整型、实型、逻辑型 B、整型、实型、字符型、枚举型
C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型
4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C )
A、1 B、2 C、-1 D、-2
5、已知:int i=5;执行语句i+=++i;后,i的值是( C )
A、10 B、11 C、12 D、A、B、C答案都不对
7、若x为int型变量, x=6;则执行以下语句后,x的值为( C )。
x+=x-=x*x;
A、 36 B、 60 C、- 60 D、-24
8、设d为字符变量,下列表达式不正确的是( D )。
A、d=’g’ B、d=’a’ C、d=97 D、d=”g”
9、若a=1,b=2,c=3,d=4;则条件表达式 a>b?a:c A、4 B、3 C、2 D、1 10、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。 如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度 小于8,则输出方式为( B )。 A、从左起输出该字符串,右补空格 B、 右对齐输出该字符,左补空格 C、按原字符长从左向右全部输出 D、输出错误信息 11、在嵌套的if-else语句中,else总是与( D )配对。 A、其之前最近的if B、第一个if C、缩进位置相同的if D、其之前最近的且不带else的if 12、一个C语言程序总是从( B )开始执行。 A、程序的第一个函数 B、主函数 C、子函数 D、主程序 13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是 ( A ) A、3.9 B、4 C、4.2 D、3.75 14、程序片段执行后输出结果是 ( A ) int x=5, y=8; printf ("% d", x A、5 B、8 C、5,8 D、编译出错 15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:( D A、a>=0||a<=8||a>4||a<10 B、a>=0&&a<=8&&a>4&&a<10 C、(a>=0||a<=8)&&(a>4||a<10) D、a>=0&&a<=8||a>4&&a<10 。 ) 16、设整型变量a值为9,则下列表达式中使b的值不为4的表达式:( C )。 A、 b=a/2 B、b=a>5?4:2 C、b=a%2 D、b=8-(3,a-5) 17、执行以下语句后b的值为( D )。 int a = 5 , b = 3 , w = 1 , x =2 , y = 3 , z = 4 ; ( a = w > x ) && ( b = y > z ) ; A、6 B、 0 C、 1 D、3 18、若有说明语句:char c='75';则变量c ( A )。 A、包含1个字符 B、包含2个字符 C、包含3个字符 D、说明不合法,c的值不确定 19、( D )不是C语言提供的合法关键字。 A、switch B、default C、case D、print 20、能表示整数x符合下面两个条件的语句是 ( A )。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A、(x%4= =0&&x%100!=0)||x%400= =0 B、(x%4= =0||x%100!=0)&&x%400= =0 C、(x%4= =0&&x%400!=0)||x%100= =0 D、(x%100= =0||x%4!=0)&&x%400= =0 21、在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。 ( A ) A、1 0 B、0 1 C、非0 非0 D、1 1 22、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。 A、必须为大写 B、必须为下划线 C、必须为字母或下划线 D、可以是字母、数字和下划线中的任一种字符 23、设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B ) 。 A、1 B、2 C、3 D、4 24、下列形式的常数中,C程序不允许出现的是( D )。 A、 0.98 B、 6e4 C、 77.6e-2 D、 E8 25、分析以下程序: void main( ) { int x=5,a=0,b=0; if(x=a+b) printf("** **n"); else printf("## ##n"); }以上程序( C )。 A、有语法错,不能通过编译 B、通过编译,但不能连接 C、 输出## ## D、输出** ** 26、若有代数式 ,则不正确的C语言表达式是( D ) A、a/b/f*e*5 B、5*a*e/b/f C、a*e/f/b*5 D、5*a*e/b*f 27、阅读以下程序,当输入数据的形式为:25,13,10 (“CR”表示回车) void main( ) { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); } A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值 28、与代数式(x*y)/(u*v) 不等价的C语言表达式是( A )。 A、x*y/u*v B、x*y/u/v C、x*y/(u*v) D、x/(u*v)*y 29、设有程序段 int a=8; while(a=0) a++; 则下面描述正确的是( C )。 A、while循环执行10次 B、循环是无限循环 C、循环体一次也不执行 D、循环体只执行一次 30、下列循环语句中,执行循环体的次数是( D )。 int i,j; while(5) printf(“ABC”); A、5次 B、0次 C、1次 次 31、下面有关for循环的正确描述是 ( B) A、for循环只能用于循环次数已经确定的情况 B、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 C、在for循环中,不能用break语句跳出循环体 D、for循环是先执行循环体语句,后判断表达式 32、下列说法正确的是 ( C ) A、在执行C程序时不是从main函数开始的 B、C程序书写格式严格限制,一行内必须写一个语句 C、C程序书写格式自由,一个语句可以分写在多行上 D、C程序书写格式严格限制,一行内必须写一个语句,并要有行号 33、设int n=4;则有表达式n++,n的结果是( D )。 A、2 B、3 C、4 D、5 34、下列说法中正确的是 ( C ) A、在switch语句中一定要使用break语句 B、break语句是switch语句的一部分 C、在switch语句中不一定要使用break语句 D、break只能用于switch语句中 35、在C语言程序中,可以用做变量名的是 ( B ) A、 1e5 B、a1 C、 int D、 *p 36、以下符合C语言语法的实型常量是 ( C ) 。 A、1.2E0.5 B、2.15x105 C、5E-3 D、E15 37、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是( D A、0,1 B、1,0 C、 2,0 D、1,1 38、有以下程序: void main( ) { int x=101,y=011; D、无限)。 printf("%2d,%2dn",x,y); } 执行后输出结果是 ( C ) 。 A、10, 9 B、101,11 C、101, 9 D、01,11 39、已知 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);则正确的输入形式是 (B ) A、32,24,36 B、 a=32,b=24,c=36 C、a=32 b=24 c=36 D、 32 24 36. 40、逻辑运算符的运算对象的数据类型( B )。 A、只能是0或1 B、任何类型的数据 C、只能是整型或字符型 D、只能是.T.或.F. 41、若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为( C )。 printf("%f",(x,y)); A、3.600000 B、3.600000,5.800000 C、5.800000 D、输出符号不够,输出不正确值 43、以下程序的输出结果是 ( B )。 void main() { int x=10,y=10; printf("%d %dn",x--,--y); } A、 10 10 B、 10 9 C、 9 10 D、 9 9 44、若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是( B )。 A、2.500000 B、3.500000 C、4.500000 D、5.000000 45、选择出i的正确运行结果: ( D )。 int i=10; switch(i) { case 9:i+=1; case 10:i+=1; case 11:i+=1; case 12:i+=1; } A、 10 B、 11 C、 12 D、 13 46、已知:int x=10,y=3,z=x%y;则下列语句的输出结果是( A ) A、1 B、0 C、2 D、3 47、下面程序的输出结果是 ( A ) void main() { int x; x=-3+4*5-6; printf(“%d”,x); x=3+4%5-6; printf(“%d”,x); x=-3*4%-6/5; printf(“%d”,x); x=(7+6)%5/2; printf(“%d”,x); } A、11 1 0 1 B、11 –3 2 1 C、12 –3 2 1 D、11 1 2 1 48、下列说法正确的是( B ) 。 A、 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可。 B、 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数。 C、 一个函数的函数体必须要有执行部分,可以没有变量定义。 D、 以上都不对。 49、判断char型变量ch是否为大写字母的正确表达式是( B )。 A、‘A’<=ch<=‘Z’ B、(ch>=‘A’)&&(ch<=‘Z’) C、(‘A’<=ch)AND(‘Z’>=ch) D、(ch>=‘A’)&(ch<=‘Z’) 50、在C语言中,多分支选择结构语句为: switch(a) { case 常量表达式1:语句1; …… case 常量表达式n-1:语句n-1; default 语句n; } 其中括号内表达式a的类型:( B )。 A、可以是任意类型 B、可以是整型或字符型 C、可以为整型或实型 D、只能为整型 51、设有以下定义,则能使值为3的表达式是:( C )。 int k=7, x=12; A、x%=(k%=5) B、x%=(k-k%5) C、(x%=k)-(k%=5) x%=k 52、有如下程序 void main() { float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是 ( D ) A、0.000000 B、0.250000 C、0.500000 D、1.000000 53、下列说法正确的是( B )。 A、输入项可以是一个实型常量,如scanf("%f",4.8)。 B、当输入数据时,必须指明变量的地址,如scanf("%f",&f)。 C、当输入一个实型数据时,格式控制部分应规定小数点后的位数, 如scanf("%5.3f",&f)。 D、只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d")。 54、下列运算符中,不属于关系运算符的是( C )。 A、 < B、> = C、 ! D、 ! = 55下列说法正确的是( C )。 A、main函数必须放在C程序的开头。 B、main函数必须放在C程序的最后。 C、main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的。、 D D、main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的。 56、一个C语言程序是由( D )。 A、一个主程序和若干个子程序组成。 B、若干过程组成。 C、若干子程序组成。 D、函数组成, 并且每一个C程序必须且只能有一个主函数。 57、以下选项中属于C语言数据类型( C )。 A、 复数型 B、逻辑型 C、双精度型 D、集合型 58、下列符号中,可以作为变量名的是( C )。 A、+a B、12345e C、a3B D、5e+0 59、下列对C语言特点的描述中,错误的是( A )。 A、C语言不是结构化程序设计语言 B、C语言编程简洁明了 C、C语言功能较强 D、C语言移植性好 60、能够完成如下函数计算的程序段是( B )。 - 1 (x < 0) y = 0 (x = 0) 1 (x > 0) A、y = - 1 ; B、if ( x > = 0 ) if ( x != 0 ) if ( x > 0 ) y = 1 ; if ( x > 0 ) y = 1 ; else y = 0 ; else y = 0 ; else y = -1 ; C、y = 0 ; D、y = - 1 ; if ( x > = 0 ) if ( x > 0 ) y = 1 ; if ( x > 0 ) y = 1 ; else y = 0 ; else y = -1 填空题 1. int x=10,n=10;计算表达式x+=n++后x的值为_20_,n的值为_11_。 2. C语言运算符中,优先级最低的是 ,或者(逗号运算符)。 3. 优先级仅高于逗号运算符的是 赋值 或者 (=) 运算符。 4.在16位C环境里,char型变量占__1___个字节,double型占__8___个字节, int 型变量占__2___个字节,float型占__4___个字节。 5、C语言提供的三种逻辑运算符是 && 、 || 和! 6、利用条件运算符将这两条语句“if (x>y) z=x; else z=y;”转换成与其等价的一条语句是: z=x>y?x:y ; 7、如果int i=1,则printf("%d",-i++)执行后输出是 -1 ,i的结果是 2 8、C语言的格式输出函数是printf( ) , 格式输入函数是__scanf( )__________。 字符数据输出函数是putchar( ) ,字符数据输入函数是getchar( )___ 。 getchar函数的作用是 从键盘上输入一个字符 putchar函数的作用是 向终端(显示器)输出一个字符。 9、_break_语句用在循环体中,可结束本层循环,__contiune__语句用在循环体中,可结束本次 循环。 C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。 10、C语言中的标识符只能由三种字符组成,它们是_字母_、 _数字、下划线_。 11、void main( ) { int a=1,b=2,c=3,d=4; if (a if (c else if (a if (b else x=3; else x=6; else x=7; printf ( “%dn”, x ) ; }运行后的结果是 _____1_____________________ 。 12、设n为int型变量, 请写出描述“n是奇数”的表达式是: n%2!=0 请写出描述“n是偶数”的表达式是: n%2= =0 13、逗号表达式的形式如下: 表达式1,表达式2 则逗号表达式的结果是 表达式2 的值. 14、表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是 赋值 表达式和 逗号 两个表达式执行完的结果是 18 和 18 .执行后x的值分别是 18 , 3 15、void main() { int i,j,m,n; i=8;j=10; m=++i;n=j++; printf("%d,%d,%d,%d",i,j,m,n); } 运行后i,j,m,n的值是 9,11,9,10 . 16、int a=8,b=7,w=2,x=5,y=4,z=3; (a=w>x)&&(b = y>z); a的值为__0__,b的值为__7__。 int a=-1,b=9; 则执行 ++a&&b--; a的值为 0,b的值为 9 。 int a=0, b=13; 则执行 ++a||b--; a的值为 1,b的值为 13 。 17、循环语句:for(i= - 1;i<7;i++)printf(“#######”);的循环次数是: 8 break语句只能用于 开关 语句和 循环 语句中。 18、在内存中,存储字符′m′要占用1个字节,存储字符串″m″要占用 2 个字节 存储字符′a′要占用1个字节,存储字符串″abcd″要占用 5 个字节 19、若有以下程序段: int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 0 20、编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。 jia=70.000000 jian=30.000000 cheng=1000.000000 表达式, chu=2.5000000 程序:#include void main(void) { (1) double x,y; x=50.0;y=20.0; printf("jia=%fn", (2) x+y ); printf("jian=%fn" (3) x-y ); printf("cheng=%fn", (4) x*y ); printf("chu=%fn", (5) x/y ); } 21、C语言规定,不同类型的数据可以在同一表达式中进行混合运算,运算时要进行类型转换。数据的转换方式有两种:一种是自动转换,一种是强制转换。 22、若 x 为int型变量,则逗号表达式(x=4*6,x*6),x+15的结果为 39 ____。 23、设x=5,y=2,则表达式x*=y+8的值为____50_________。 24、void main() { int i,j,m,n; i=1;j=2;m=0;n=0; m+=i++; n-= --j; printf(“%d,%d,%d,%d”,i,j,m,n); } 运行后i,j,m,n的值是 _2,1,1,-1_________________。 25、下面的程序运行结果为 x=4.800000,i=4 void main() { float x;int i; x=4.8; i=(int)x; printf("x=%f,i=%d",x,i); } 1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( √ ) 2.在 C 程序中 ,APH 和 aph 代表不同的变量。( √ ) 3.表达式 0195 是一个八进制整数。( × ) 4.Continue语句的作用是结束本次循环。( √ ) 5.C语言中字符串的结束符是’0’。 ( √ ) 6.C程序总是从main( ) 函数开始执行的。 (√ ) 7.getchar()函数的功能是从键盘上输入一个字符串。 ( × ) 8.Continue语句的作用是继续程序中的下一个循环。 ( × ) 9.选择结构(if语句)和循环结构都可以使用嵌套形式。( √ ) 10.赋值表达式和赋值语句的区别在于有无分号。( √ )
版权声明:本文标题:C语言期末复习题(填空选择判断题) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1703142533a439733.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论