收藏 分销(赏)

c语言第二章习题.doc

上传人:仙人****88 文档编号:11397994 上传时间:2025-07-21 格式:DOC 页数:11 大小:75.04KB 下载积分:10 金币
下载 相关
c语言第二章习题.doc_第1页
第1页 / 共11页
c语言第二章习题.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
第二章 练习题 一、填空题 1、在C语言中的实型变量分为两种类型,它们是float型和( )型。 2、若有定义:char c='\010';则变量c中包含的字符个数为( ) 3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为( ) 4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为( )个;一个int型数据在内存中所占的字节数为( )个。 5、在C语言中,表示逻辑“假”值用数字( )表示。 6、C语言中的标识符只能由字母、数字和( )三种字符组成。 7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为( ) 8、整型常量即整常数。可用三种形式表示:十进制整数、八进制整数以( )开头、十六进制整数以( )开关(注:请用小写字母) 9、请将75写成C语言八进制和十六进制表示( ),( )。 10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是( ) 11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为( )。 12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为( ),b值为( ),c值为( )。 13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为( ) 14、若a是int型变量,则计算表达式a=25/3%3 后a的值为() 15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为( ),n的值为( ) 16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为( ) a+(int)(b/3*(int)(a+c)/2)%4 17、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为() (float)(a+b)/2+(int)x%(int)y 18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为( ) (x+y)%2+(int)a/(int)b 19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为( ) 20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是() 21、若x为int型变量,则执行以下语句后x的值是() x=7; x+=x-=x+x; 22、当a=3,b=2,c=1时,表达式f=a>b>c的值是( ) 23、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是( ) 24、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b-c*2的值是( ) 25、若a=1,b=4,c=3,则表达式!(a<b)||!c-3&&!a+c-b的值是( ) 26、若a=6,b=4,c=3,则表达式a&&b-c-1||!(c-3)的值是( ) 27、设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( ) 28、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( ),m的值为( ) 29、有int x,y,z;且x=3,y=-4,z=5,则表达式x-3&&y==(!x-3||z-5)的值为() 30、以下程序的运行结果是() main() { if (2*2==5<2*2==4) printf("T"); else prinft("F"); } 31、若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值为() 32、以下程序的运行结果是() #inclue <stdio.h> main( ) { int x=1,y,z: x*=3+2; printf("%d,",x); x*=y=z=5; printf("%d,",x); x=y==z; printf("%d\n",x); } 33、若运行时输入:100<回车>时,则以下程序的运行结果是() main() { int a; scanf("%d",&a); printf("%s",(a%2!=0)?"no":"yes"); } 34、已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是( ) scanf("%d,%d,%f",&i,&j,&x); 35、在printf函数中,以八进制形式输出整数用%()格式,以十六形式输出整数用%()格式。(注:请用小写字母) 36、在printf函数中,输出长整型数据用%()格式,输出字符串用%()格式。(注:请用小写字母) 37、在printf函数中,以小数形式输出实型数据用%()格式,以指数形式输出实型数据用%()格式。(注:请用小写字母) 38、有以下语句: int i=79; printf("%o",i); 实际输出( )。 float x=333.1234567890; printf("%.2f",x); 实际输出( )。 39、有以下语句: int i=79; printf("%x",i); 实际输出( )。 double y=333.1234567890; printf("%2.5f",y); 实际输出( )。 40、有以下语句: int i=7900; printf("%2d",i); 实际输出域宽为( )。 float x=1.23456789; printf("%.5f",x); 实际输出为( )。 二、选择题 1、下面正确的字符常量是() A)“C” B) '12' C) 'W' D) '' 2、在C语言中,int、char、short三种类型数据在内存中所占用的字节数() A)由用户自己定义 B)均为2个字节 C)是任意的 D)由所用机器的机器字长决定 3、下面四个选项中,均是合法整型常量的选项是() A)160 -0xffff 011 B)-0xcdf 01a 0xe C)-01 986,012 0668 D)-0x48a 2e5 0x 4、下面四个选项中,均是不合法的整型常量的选项是() A)--0f1 -0xffff 0011 B)-0xcdf 017 12,456 C)-018 999 5e2 D)-0x48eg -068 1a 5、下面四个选项中,均不是合法的浮点数的选项是() A)160. 0.12 e3 B)123 2e4.2 e5 C)-.18 123e4 0.0 D)-e3 .234 1e3 6、下面四个选项中,均是合法的浮点数的选项是() A)+1e+1 5e-9.4 03e2 B)-.60 12e-4 -8e5 C)123e 1.2e-.4 +2e-1 D)-e3 .8e-4 5.e-0 7、下面四个选项中,均是正确的八进制或十六进制数的选项是() A)-10 0x8f -011 B)0abc -017 0xc C)0010 -0x11 0xf1 D)0a12 -0x123 -0xa 8、下面四个选项中,均是正确的数值常量或字符常量的选项是() A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 "\'" C)'3' 011 0xff00 0a D)+001 0xabcd 2e2 50. 9、已知字母'A'的ASCII码为十进制65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,在内存中c2中的值为() A) D B) 68 C)不确定 D)C 10、sizeof(float)是() A)一个双精度型表达式 B)一个整型表达式 C)一种函数调用 D)一个不合法的表达式 11、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为() A)int B)float C)double D)不确定 12、下面四个选项中,均是非法常量的选项是() A)‘as’ -0fff '\0xa' B) '\\' '\01' 12,456 C) -0x18 01177 0xf D)0xabc '\0' 'ab' 13、以下正确地定义整型变量a,b和c并为它们赋初值5的语句是() A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5; 14、若x,i,j和k都是int型变量,则计算下面表达式后,x的值为() x=(i=4,j=16,k=32) A) 4 B) 16 C)32 D)52 15、假设所有变量均为整型变量,则表达式(a=2,b=5,b++,a+b)的值是( ) A)7 B)8 C)6 D)2 16、若有代数式(3ae)/(bc),则不正确的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 17、已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法表达式是() A) x%(-3) B) w+=-2 C) k=(a=2,b=3,a+b) D) a==a-=(b=4)*(a=3) 18、已知各变量的类型说明如下: 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) 19、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是() A)2.500000 B) 2.750000 C) 3.500000 D) 0.000000 20、设以下就是均为int类型,则值不等于7的表达式是() 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) 21、已知ch是字符型变量,下面不正确的赋值语句是() A)ch='a+b' B)ch='\0' C)ch='7'+'9' D)ch=5+9 22、若有以下定义,则正确的语句是() int a,b; float x; A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x); 23、设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是() A)x=10 y=15 z=10 B)x=10 y=10 z=10 C)x=10 y=10 z=15 D)x=10 y=5 z=10 24、逻辑运算符两侧运算对象的数据类型() A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 25、以下关于运算符优先顺序的描述中正确的是() A)关系运算符<算术运算符<赋值运算符<逻辑运算符 B)逻辑运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑运算符 26、已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是() A)0 B)语法错误 C)1   D)“假” 27、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=d>c)后n的值为() A)1 B)2 C)3 D)0 28、判断char型变量c1是否为小写字母的正确表达式为() A)'a'<=c1<='z' B)(c1>=a)&&(c1<=z) C)('a'>=c1)||('z'<=c1) D)(c1>='a')&&(c1<='z') 29、执行以下语句后b的值为() int a,b,c; a=b=c=0; ++a||++b&&++c; A)1   B) 2  C)错误  D) 0 30、执行以下语句后b的值为() int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z) A) 6   B) 0 C) 1 D) 4 31、若w、x、y、z、m均为int型变量,则执行下面语句后的m值是() w=1;x=2;y=3;z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; A)1 B)2 C)3 D)4 32、以下不正确的叙述是() A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量 C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 33、以下符合C语言语法的表达式是() A)d=9=e+f=d+9 B)d=(9+e,f)=d+9 C)d=9+e,e++,d+9 D)d=9+e++=d+7 34、执行以下程序段后的输出结果是() int w=3,z=7,x=10; printf("%d,",x>10?x+100:x-10); printf("%d,",w++||z++); printf("%d,",!w>z); printf("%d\n",w&&z); } A)0,1,1,1 B)1,1,1,1 C)0,1,0,1 D)0,1,0,0 35、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是() A)scanf("%d%lx,%le",&x,&y,&z); B)scanf("%2d*%d%lf",&x,&y,&z); C)scanf("%x%*d%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z); 36、已有程序段和输出数据的形式,f为4.5,a 为2。程序中输入语句的正确形式应当为()(注:<CR>表示回车) main() { int a;float f; printf("\ninput number:"); 输入语句 printf("\nf=%f,a=%d\n",f,a); } input number:4.5,2<CR> A)scanf("%d,%f",&a,&f); B)scanf("%f,%d",&f,&a); C)scanf("%d%f",&a,&f); D)scanf("%f%d",&f,&a); 37、以下说法正确的是() A)输入项可以为一个实型常量,如scanf("%f",3.5); B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f); D)当输入数据时,必须指明变量的地址,如scanf("%f",&f); 38、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c); 为使变量a的值为1,b为3,c为2,从键盘输入数据正确形式应当是() A)132<回车> B)1,3,2<回车> C)a=1 b=3 c=2<回车> D)a=1,b=3,c=2<回车> 39、阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为() main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); } A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)其它情况 40、根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是() main() { int x;float y; printf("enter x,y:"); 输入语句 输出语句 } 输入形式 enter x,y:2 3.4 输出形式 x+y=5.40 A)scanf("%d,%f",&x,&y); printf("\nx+y=%4.2f",x+y) B)scanf("%d%f",&x,&y); printf("\nx+y=%4.2f",x+y) C)scanf("%d%f",&x,&y); printf("\nx+y=%6.1f",x+y); D)scanf("%d%3.1f",&x,&y); printf("\nx+y=%4.2f",x+y); 41、下面四个选项中,均是不合法的用户标识符的选项是____。 (A)A P_0 do (B)float la0 _a (C)b-a goto int (D)_123 temp INT 42、下列四个选项中,均是不合法的整型常量的选项是______。 (A)--0f1 -0xffff 0011 (B)-0xcdf 017 12,3456 (C)-018 999 5e2 (D)-0x48eg -068 03f 43、下面四个选项中,均是合法浮点数的选项是______。 (A)1e1 5e-9.4 03e2 (B)-.60 12e-4 -8e5 (C)123e 1.2e-.4 2e-1 (D)-e3 .8e-4 5.e-0 44、下面四个选项中,均是合法字符的选项是______。 (A)’\’’ ‘\\’ ‘\xf’ (B)’\’ ‘\017’ ‘\n’ (C)’\018’ ‘\f’ ‘xab’(D)’\0’ ‘\101’ ‘xlf’ 45、以下不正确的叙述是______。 (A)在C程序中,逗号运算符的优先级最低。 (B)在C程序中,APH和aph是两个不同的变量 (C)若a和b类型相同,在计算机了赋值表达式a=b后,b的值不变。 (D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数据。 三、判断对错 1、在C语言中,e_2和MAXNUMBER可以作变量名。( ) 2、2e-310和3e+2.3都是非法的C常量。( ) 3、在C语言程序设计中,Total与total是同一个变量。( ) 4、以下语句是正确的: ( ) char x='a'; printf("%5o",x); 5、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为float型。( ) 6、下列是正确的语句:( ) int i=2; i+=3+i*=2; 7、逻辑运算符两侧运算对象的数据类型只能是0或1。( ) 8、有以下语句,输出结果是:0 ( ) int x=40,y=4,z=4; x=x==(y=z); printf("%d\n",x); 9、执行以下语句输出结果为:3,2 ( ) int x,y; x=y=2; y=x++-1; printf("%d,%d",x,y); 10、下列是正确的语句: ( ) int i; (i+3)++; 11、执行以下语句后,输出结果是:1 ( ) int x=3; int y=z=4; printf("%d\n",(x>=y>=x)?1:0); 12、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出错误信息。 ( ) 13、下列是正确的语句: ( ) int i; scanf("%d",i); 14、printf函数中用到格式符%5s,其中数字5表示输出的字符串占5列,如果字符串长度小于5,则输出按右对齐输出该字串,左补空格。( ) 15、有以下语句: ( ) int a,b,c; scanf("%d,%d,%d",&a,&b,&c);为使a=3,b=4,c=5 正确的输入形式是:3 4 5<回车> 附寻:答案 一、填空题 1、double 2、 1 3、102 4、4 2 5、0 6、下划线 7、0 8、0 0x 9、0113 0x4B 10、-16 11、26 12、6 4 2 13、-60 14、2 15、10 6 16、5.5 17、3.5 18、1 19、9 20、5.7 21、-14 22、0 23、0 24、0 25、1 26、1 27、1 28、0 1 29、0 30、F 31、4 32、5,25,1 33、yes 34、-10,12,410.34 35、o x 36、ld s 37、f e 38、117 333.12 39、4F 333.12346 40、7900 1.234567 二、选择题 1--5 CDADB 6--10 BCDBB 11--15 CACCB 16--20 CAAAC 21--25 ABADC 26--30 CBDDA 31--35 ADCCD 36--40 BDDDB 41--45 CDBAD 三、判断对错题 1--5 对对错对错 6--10 错错对错错 11--15 错错错对错 11
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服