当前位置:文档之家› C语言期末复习题

C语言期末复习题

作业-11.单选题:下列字符串属于标识符的是。

A. INTB. 5_studentC. !DFD. 2ong2.单选题:C语言中能用来表示整常数的进制是。

A. 十进制、八进制、十六进制B. 二进制、十进制C. 六进制、八进制D. 十二进制、十进制3.单选题:在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码。

A. 小32B. 大32C. 大64D. 小644.单选题:设d为字符变量,下列表达式不正确的是。

A. d="a"B. d=97C. d='a'D. d='g'5.单选题:10+‟a‟+1.5-567.345/‟b‟的结果是型数据。

A. intB. longC. doubleD. unsigned6.单选题:已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。

main() {char x,y; x=‟0‟;y=‟9‟; printf(“%d,%d\n”,x,y); }A. 48,58B. 48,57C. 0,9D. 因输出格式不合法,输出错误信息7.单选题:已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。

main() {char c=‟A‟;int i=10; c=c+10; i=c%i; printf(“%c,%d\n”,c,i); }A. 75,7B. K,5C. 因存在非图形字符,无法直接显示出来D. 75,58.单选题:C语言中,运算对象必须是整型数的运算符是。

A. *B. /C. %D. % 和/:9.单选题:下列常数中,合法的C 常量是。

A. 7ffB. '105'C. "x-y"D. 'Be':10.单选题:下面程序的输出结果是。

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 1B. 12 –3 2 1C. 11 1 2 1D. 11 –3 2 1:11.单选题:下面程序的输出结果是。

main() {int x=2,y=0,z; x*=3+2; printf(“%d”,x); x*=y=z=4; printf(“%d”,x); }A. 10 4B. 10 40C. 8 4D. 8 40:12.单选题:下面程序的输出结果是。

main() {int x=4,y=0,z; x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x); }A. 20 4B. 14 4C. 20 0D. 14 4013.单选题:若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为。

A. 2B. 2.5C. 1D. 2.014.单选题:表达式(double)(20/3)的值为A. 6.0B. 6.6C. 3D. 6.7:15.单选题:若有以下定义, 则正确的赋值语句为。

int a, b ; float x;A. a=b=5B. b= int (x) ;C. a=1, b=2,D. b++;:16.单选题:C语言规定标识符由等字符组成A. 字母下划线中划线B. 字母数字逗号C. 中划线字母数字D. 字母数字下划线:17.单选题:若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是A. 4.5B. 2.5C. 5.0D. 3.5:18.单选题:若有:int a,b=2;则a=(b*100+1.5,100)则a的值是A. 100.5B. 200.5C. 100D. 201.519.单选题:若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:。

printf(“%f”,(x,y));A. 3.600000,5.800000B. 输出符号不够,输出不正确值C. 5.800000D. 3.600000:20.单选题:设有以下定义,则能使值为3的表达式是:int k=7, x=12;A. x%=(k-k%5)B. (x%=k)-(k%=5)C. x%=kD. x%=(k%=5):21.单选题:若有说明语句:char c= …\64‟ ; 则变量C包含:A. 说明不合法,C值不确定B. 1个字符C. 3个字符D. 2个字符作业-2一、选择题1.下列运算符中优先级最高的是。

A)> B)+ C)&& D)!=2.以下关于运算符优先级的描述中,正确的是。

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)3.逻辑运算符的运算对象的数据类型。

A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)5.以下程序的运行结果是。

main( ){ int c,x,y;x=1; y=1; c=0; c=x++||y++;printf(“\n%d%d%d\n”,x,y,c);}A)110 B)211 C)011 D)0016.以下程序的运行结果是。

(参考教材P53 i++)main( ){ int c,x,y;x=0; y=0; c=0; c=x++&&y++;printf(“\n%d%d%d\n”,x,y,c);}A)100 B)211 C)011 D)0017.判断字符型变量ch为大写字母的表达式是。

A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)8.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。

main( ){ int x;scanf(“%d”,&x);if(x++>5) printf(“%d”,x); else printf(“%d\n”,x--);}A)7和5 B)6和3 C)7和4 D)6和49.写出下面程序的执行结果。

main( ){int x,y=1;if(y!=0) x=5; printf(“%d\t”,x);if(y= =0) x=3;else x=5;printf(“%d\t\n”,x);}A)1 3 B)1 5 C)5 3 D)5 5 10.假定所有变量均已正确说明,下列程序段运行后x的值是。

a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)311.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。

if (x>y||x<z&&y>z)z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5012.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。

if (x>y||x<z&&y>z){ z=x; x=y; y=z; }A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5013.以下程序的输出结果是。

main( ){int x=2,y=-1,z=2;if (x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z); }A)3 B)2 C)1 D)014.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。

A)‘a’+ ‘b’B)a<=b C)a||b+c&&b-c D)!( (a<b) &&!c || 1 ) 15.下面程序的输出结果是。

main(){int x=40,y=4,z=4;x=y= =z;printf(“%d”,x);x=x= =(y-z);printf(“%d”,x);}A)4 0 B)4 1 C)1 1 D)1 016.若x=3,y=z=4,则下列表达式的值分别为。

(1)(z>=y>=x)?1:0 (2)z>=y&& y>=xA)0 1 B)1 1 C)0 0 D)1 017. 以下程序的输出结果是。

main(){int a=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d %d %d",k,a,b);}A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 3二、填空题1.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。

#include <math.h>main( ){float a,b,c,_abs,_derta,_doublea,part1,part2;printf("enter a,b,c:");scanf("%f%f%f",&a,&b,&c);if( (1))if( (2)) printf("no answer due to input error\n");else printf("the single root is %f\n",-c/b);else{_derta=b*b-4*a*c;_doublea=2*a;part1=-b/(2*a);_abs=abs(_derta);part2=sqrt(_abs)/_doublea;if( (3))printf("complex root \nreal part=%f image part=%f\n",part1,part2); 复数根elseprintf("real roots\n root1=%f root2=%f\n",part1+part2,part1-part2); 实根}}2.设有程序片段如下:switch(class){case 'A':printf("GREAT!\n");case 'B':printf("GOOD!\n");case 'C':printf("OK! \n");case 'D':printf("NO!\n");default:printf("ERROR!\n");}若class的值为'C',则输出结果是。

相关主题