当前位置:首页 > c语言第3章练习题答案
第3章练习题
(一)标识符
1.下列可用于C语言用户标识符的一组是( )。C
A) void, define, WORD B) a33,123,Car C) For, -abc, IFCase D) 2a, DO, sizeof
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。B
A) 大写字母 B) 连接符 C) 数字字符 D) 下划线 3.下面各选项中,均是C语言合法标识符的选项组是( )。B
A) 33 we auto B) _23 me _3ew C) _43 3e else D) ER -DF 32 4.以下叙述中错误的是( )。A
A) 用户所定义的标识符允许使用关键字
B) 用户所定义的标识符应尽量做到\见名识意\
C) 用户所定义的标识符中,大、小写字母代表不同标识 D) 用户所定义的标识符必须以字母或下划线开头
5.下面四个选项中,均是不合法的用户标识符的选项是( )。C
A) c_b goto int B) A P0 do C) float la0A D) 123 temp goto 6.下列是用户自定义标识符的是( )。A
A) w1 B) 3xy C) int D) LINE-3 7.以下选项中合法的标识符是( )。B
A) 1_2 B) _12 C) 2-1 D) 12_ 8.以下可用作C语言用户标识符的是( )。C
A) void,define,WORD B) a3b3,123,IF C) FOR,_abc,Case D) 2a,Do,Sizeof 9.正确的标识符是( )。A
A) y2 B) x=8 C) z.2 D) !at 10.以下能作为C语言变量名的是( )。D
A) float B) char C) do D) Double 11.请选出可用做C语言用户标识符的一组标识符( )。B
A) int B) a3b3 C) For D) 2a
define _123 3a DO WORD IF switch sizeof
12.下列定义变量的语句中错误的是( )。B
A) int i; B) double int; C) char a; D) float cup;
(二)数据类型
1.以下符合C语言语法的实型常量是( )。A
A) 8E-2 B) 3.14.159E C) E14 D) 2.2E0.5 2.以下选项中不属于字符常量的是( )。A
A) \ B) 'E' C) '\\xCC' D) '\\072' 3.以下不合法的字符常量是( )。B
A) '\\\ B) '\\018' C) '\\xcc' D) '\\\\' 4.以下合法的十六进制数是 ( )。B
A) 0x B) 0x4de C) 0x1h D) oX77 5.若有说明语句:char c='\\72';则变量c( )。A
A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,c的值不确定 6.以下选项中值为1的表达式是( )。B
A) 1-'0' B) 1-'\\0' C) '1'-0 D) '\\0'-'0' 7.以下选项中,不能作为合法常量的是( )。C
A) 1.234e05 B) 1.234e+5 C) 1.234e0.5 D) 1.234e0 8.以下选项中不属于C语言的类型的是( )。B
A) unsigned long int B) long short C) unsigned int D) signed short int
9.有以下定义语句,编译时会出现编译错误的是( )。C
A) char a='a'; B) char a='\\n'; C) char a='aa'; D) char a='\\x2d'; 10.C语言中,合法的字符串常量是( )。A
A) \ B) '\\t' C) 100 D) MUST 11.在C语言中,合法的长整型常数是( )。C
A) 0.123456 B) 4962 C) 9L D) 5.321e2 12.以下选项中可以作为C语言中合法整数的是( )。D
A) 01988 B) 110110B C) afbc D) 0Xbbc 13.设有语句char A='\\65';,则变量a( )。B
A) 包含4个字符 B) 包含1个字符 C) 包含3个字符 D) a为不合法的定义形式 14.以下变量说明中,正确的是( )。B
A) char: x y z; B) int a,b; C) int a;b; D) char x;y;z; 15.以下数据中属于字符串常量的是( )。C
A) ASK B) 'ask' C) \ D) 'm' 16.以下符号中,不属于转义字符的是( )。A
A) '\\' B) '\\x12' C) '\\011' D) '\\07' 17.以下正确的字符串常量是( )。D
A) \ B) 'opqrst ' C) thank you D) \
18.设有语句char a= '\\010';,则变量a( )。A A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 该语句不正确 19.以下选项中不能作为合法常量的是( )。B
A) 3.14e05 B) 3.14e0.5 C) 3.14e+5 D) 3.14e0
20.设变量a是int型,f是float型,i是double型,则表达式10+'a'+i*f值的数据类型为( A) int B) float C) double D) 不确定 21.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为( )。B
A) int B) double C) float D) char
(三)运算符、表达式和变量赋初值
1.若函数中有定义语句:int a;,则( )。C
A) 系统将自动给a赋初值为0 B) 系统将自动给a赋初值-1 C) 这时a中的值无意义 D) 这时a中无任何值 2.以下不能正确表示代数式4cd/ab的C语言表达式是( )。D
A) 4*c*d/a/b B) c*d/a/b*4 C) c/a/b*d*4 D) 4*c*d/a*b 3.下列关于单目运算符++,--的叙述中正确的是( )。D
)。C
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D) 它们的运算对象可以是char型变量、int型变量和float型变量 *4.以下定义语句中正确的是( )。B
A) int a=b=0; B) char A=65+1,b=?b?; C) float a=1,*b=&a,*c=&b; D) double a=0.0;b=1.1;
5.设有定义:float x=123.4567;则执行以下语句后的输出结果是( )。A
Printf(“%f\\n”,(int)(x*100+0.5)/100.0);
A) 123.460000 B) 123.456700 C) 123.450000 D) 123 6.设有定义:int m=0;。以下选项的四个表达式中与其他三个表达式的值不相同的是( )。C
A) ++m B) m+=1 C) m++ D) m+1 7.以下选项中正确的定义语句是( )。C
A) double a;b; B) double a=b=7; C) double a=7,b=7; D) double,a,b;
8.已知大写字母A的ASCII码的值是65,小写字母a的ASCII码的值是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是( )。D
A) c=(c-?A?)&+?a? B) c=c+32 C) c=c-?A?+?a? D) c=(?A?+c)&-?a? 9.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )。B
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 10.已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42;
则以下不符合C语言语法的表达式是( )。A
A) x%(-3) B) w+=-2 C) k=(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)
11.设变量x为float型且已赋值,则以下语句能将x中的数值保留到小数点后两位,并将第3位四舍五入的是( )。B
A) x=(x*100+0.5)/100.0 B) x=(int)(x*100+0.5)/100.0 C) x=x*100+0.5/100.0 D) x=(x/100+0.5)*100.0 12.设有定义:int k=1,m=2;float f=7;,则以下选项中错误的表达式是( )。C
A) k=k>=k B) -k++ C) k%int(f) D) k>=f>=m
13.以下不能正确计算代数式1/3×sin1/2×sin1/2值的C语言表达式是( )。A
A) 1/3*sin(1/2)*sin(1/2) B) sin(0.5)*sin(0.5)/3 C) pow(sin(0.5),2)/3 D) 1/3.0*pow(sin(1.0/2), 2) 14.下面程序的运行结果是( )。C
main()
{ int y=5, x=14; y=((x=3*y,x+6),x-1); printf(“x=%d,y=%d”,x,y); }
A) x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27 15.设有定义:int x=3;,以下表达式中,值不为12的是( )。D
A) x*=x+1 B) x++,3*x C) x*=(1+x) D) 2*x,x+=6 16.请选出合法的C语言赋值语句( )。B
A) a=10 B) a++; C) a=5,b=10; D) k=float(a+b);
17.下列程序的输出结果是( )。C
main()
{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(“%d\\n”,d*y); }
A) 3 B) 3.2 C) 0 D) 3.07 18.执行语句x=(a=10,b=a--)后,x、a、b的值依次为( )。D
A) 10,10,9 B) 10,9,9 C) 9,10,9 D) 10,9,10 19.在以下选项中,不正确的赋值语句是( )。C
A) i++; B) n1=(n2=(n3=0)); C) m+n=1; D) i=k==j; 20.以下程序的输出结果是( )。A
main()
{ int a=052;
printf(“%d\\n”,--a); }
A) 41 B) 42 C) 51 D) 52 21.以下非法的赋值语句是( )。D
A) n=(i=9,++i); B) ++ j; C) x=a+b; D) ++(j+1); 22.设a为5,执行下列语句后,b的值不为2的是( )。C
A) b=a/2 B) b=6-(--a) C) b=a%2 D) b=a>3?2:2 23.以下语句中符合C语言语法的赋值语句是( )。A
A) m=n ; B) a=10+b,b+=a+10; C) m+n=10; D) a=7+b,c=a+7; 24.以下选项中与a=i++完全等价的表达式是( )。C
A) a=++i B) i=i+1,a=i C) a=i,i=i+1 D) a+=i+1 25.设int a=10,则执行完语句a+=a-=a*a后,a的值是( )。B
A) -90 B) -180 C) 100 D) -100 26.执行下面程序中的输出语句后,
main() { int a;
printf(“%d\\n”,(a=4*6,a*2),a+5); }
a的值是( )。B
A) 48 B) 24 C) 29 D) 53
27.设有条件表达式:(a)?i++:j--,则以下表达式中与(a)完全等价的是( )。A
A) (a!=0) B) (a==0) C) (a==1) D) (a!=1) 28.以下选项中非法的表达式是( )。A
A) a+1=a+1 B) a=b==0 C) (char)(100+100) D) 7<=x<60 29.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是( )。A
A) 1 B) 12 C) 0 D) 5 30.以下程序运行后的输出结果是( )。D
main()
{ int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf(“%d %d %d\\n”,i,j,k); }
共分享92篇相关文档