《C语言课后习题》word版

上传人:nu****n 文档编号:100081270 上传时间:2022-06-02 格式:DOC 页数:147 大小:548.50KB
收藏 版权申诉 举报 下载
《C语言课后习题》word版_第1页
第1页 / 共147页
《C语言课后习题》word版_第2页
第2页 / 共147页
《C语言课后习题》word版_第3页
第3页 / 共147页
资源描述:

《《C语言课后习题》word版》由会员分享,可在线阅读,更多相关《《C语言课后习题》word版(147页珍藏版)》请在装配图网上搜索。

1、第一章 C语言概述 1.1 选择题 【题1.1】一个C程序的执行是从    。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 【题1.2】以下叙述正确的是    。 A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 【题1.3】以下叙

2、述不正确的是    。 A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 【题1.4】C语言规定:在一个源程序中,main函数的位置    。 A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 【题1.5】一个C语言程序是由    。 A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 1.2 填空题 【题1.6】C源程序的基本单位是【 】。

3、 【题1.7】一个C源程序至少应包括一个【 】。 【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【1】和【2】。 【题1.9】在C语言中,输入操作是由库函数【1】完成的,输出操作是由库函数【2】完成的。 【题1.10】C程序的三种基本结构是【 】。 第三章 C语言的基本数据类型与表达式 3.1 选择题 【题3.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为    。 A) char

4、ar

5、intf C) include scanf case D) while go pow 【题3.5】下列四个选项中,均是C语言关键字的选项是    。 A) auto enum include B) switch typedef continue C) signed union scanf D) if struct type 【题3.6】下面四个选项中,均不合法的用户标识符的选项是    。 A) A P_0 do B) float la0 _A C) b-a goto int D) _123 temp INT 【题3.7】C语言中的标

6、识符只能由字母、数字和下划线三种字符组成,且第一个字符    。 A) 必须为字母 B) 必须为下划线 C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符 【题3.8】下面四个选项中,均是合法整型常量的选项是    。 A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x 【题3.9】下面四个选项中,均是不合法的整型常量的选项是    。 A) --0f1 -0xffff 0011 B) -0Xcdf 017 12,456 C)

7、 -018 999 5e2 D) -0x48eg -068 03f 【题3.10】下面四个选项中,均是不合法的浮点数的选项是    。 A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3 【题3.11】下面四个选项中,均是合法浮点数的选项是    。 A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 +2e-1 D) -e3 .234 5.e-0 【题3.12】下面四个选项中,均是

8、合法转义字符的选项是    。 A) ‘\’’ ‘\\’ ‘\n’ B) ‘\’ ‘\017’ ‘\”’ C) ‘\018’ ‘\f’ ‘xab’ D) ‘\\0’ ‘\101’ ‘x1f’ 【题3.13】下面四个选项中,均是不合法的转义字符的选项是    。 A) ‘\”’ ‘\\’ ‘\xf’ B) ‘\1011’ ‘\’ ‘\a’ C) ‘\011’ ‘\f’ ‘\}’ D) ‘\abc’ ‘\101’ ‘xlf’ 【题3.14】下面正确的字符常量是    。 A)“c” B) ‘\\’’ C) ‘W’ D) ‘’ 【题3.

9、15】下面四个选项中,均是不正确的八进制数或十六进制数的选项是    。 A) 016 0x8f 018 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0a12 7ff -123 【题3.16】下面四个选项中,均是正确的八进制数或十六进制数的选项是    。 A) -10 0x8f -011 B) 0abc -017 0xc C) 0010 -0x11 0xf1 D) 0a12 -0x123 -0xa 【题3.17】下面四个选项中,均是正确的数值常量或字符常量的选项是    。 A) 0.0 0f 8.9e ‘

10、&’ B) “a” 3.9E-2.5 1e1 ‘\”’ C) ‘3’ 011 0xFF00 0a D) +011 0xabcd 2e2 50. 【题3.18】下面不正确的字符串常量是    。 A)‘abc’ B)“12’12” C)“0” D)“ ” 【题3.19】对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是    。 代数式 C语言表达式 A) exp(x*x/2)/sqrt(2*3.14159) B) 1.0/2.0*(a*x+(a+x)/(4*a) C) sqrt((

11、pow(sin(x*3.14159/180),2.5)) D) x*x-exp(5.0) 【题3.20】若有代数式,则不正确的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 【题3.21】已知各变量的类型说明如下: 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)

12、 【题3.22】已知各变量的类型说明如下: 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) 【题3.23】以下不正确的叙述是    。 A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,APH和aph是两个不同的变量 C) 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中而b中的值不变 D) 当从键盘输入数据时,对于整

13、型变量只能输入整型数值,对于实型变量只能输入实型数值 【题3.24】以下正确的叙述是    。 A) 在C程序中,每行中只能写一条语句 B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C) 在C程序中,无论是整数还是实数,都能被准确无误地表示 D) 在C程序中,%是只能用于整数运算的运算符 【题3.25】以下符合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 【题3.26】已知字母A的ASCII码为十进制数65,且c2为字符型,则执行

14、语句c2=‘A’+‘6’-‘3’;后,c2中的值为    。 A)D B)68 C)不确定的值 D)C 【题3.27】在C语言中,要求运算数必须是整型的运算符是    。 A)/ B)++ C)!= D)% 【题3.28】若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num 后sum的值为    。 A)7 B)8 C)9 D)10 【题3.29】在C语言中,int、char和short三种类型数据在内存中所占用的字节数    。 A)由用户自己定义 B)均为2个字节 C

15、)是任意的 D)由所用机器的机器字长决定 【题3.30】若有说明语句:char c=‘\72’;则变量c    。 A)包含1个字节 B)包含2个字节 C)包含3个字节 D)说明不合法,c的值不确定 【题3.31】若有定义: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 【题3.32】sizeof(float)是    。 A)一个双精度型表达式 B)一个整型表达式

16、 C)一种函数调用 D)一个不合法的表达式 【题3.33】设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为    。 A)int B)float C)double D)不确定 【题3.34】下面四个选项中,均是非法常量的选项是    。 A) ‘as’ -0fff ‘\0xa’ B) ‘\\’ ‘\01’ 12,456 C) -0x18 01177 0xf D) 0xabc ‘\0’ “a” 【题3.35】若有代数式,则正确的C语言表达式是    。 A) sqrt(fabs(pow(y

17、,x)+log(y))) B) sqrt(abs(pow(y,x)+log(y))) C) sqrt(fabs(pow(x,y)+log(y))) D) sqrt(abs(pow(x,y)+log(y))) 【题3.36】若有代数式,则正确的C语言表达式是    。 A) fabs(x*3+log(x)) B) abs(pow(x,3)+log(x)) C) abs(pow(x,3.0)+log(x)) D) fabs(pow(x,3.0)+log(x)) 【题3.37】在C语言中,char型数据在内存中的存储形式是    。 A)补码 B)反码 C)原码

18、 D)ASCII码 【题3.38】设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是    。 A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0 【题3.39】表达式18/4*sqrt(4.0)/8值的数据类型为    。 A)int B)float C)double D)不确定 【题3.40】设C语言中,一个int型数据在内存中占2个字节,则uns

19、igned int型数据的取值范围为    。 A)0~255 B)0~32767 C)0~65535 D)0~2147483647 【题3.41】设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为    。 A)float B)char C)int D)double 【题3.42】若有以下定义,则能使值为3的表达式是    。 int k=7,x=12; A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 【题3.4

20、3】设以下变量均为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) 3.2填空题 【题3.44】在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为【1】;一个int型数据在内存中所占的字节数为【2】。 【题3.45】在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【1】;一个double型数据在内存中所占的字节数为【2】。 【题3.46】若有以下定

21、义,则执行表达式y+=y-=m*=y后的y值是【 】。 int m=5,y=2; 【题3.47】设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【 】。 【题3.48】在C语言中的实型变量分为两种类型,它们是【1】和【2】。 【题3.49】C语言所提供的基本数据类型包括:单精度型、双精度型、【1】、【2】和【3】。 【题3.50】若s是int型变量,且s=6,则下面表达式的值为【 】。 s%2+(s+1)%2 【题3.51】若a是int型变量,则下面表达式的值为【 】。 (a=4*5,a*2),a+6 【题3.52】若x

22、和a均是int型变量,则执行表达式(1)后的x值为【1】,执行表达式(2)后的x值为【2】。 (1)x=(a=4,6*2) (2)x=a=4,6*2 【题3.53】若a、b和c均是int型变量,则执行下面表达式后,a值为【1】,b值为【2】,c值为【3】。 a=(b=4)+(c=2) 【题3.54】若a是int型变量,且a的初值为6,则执行下面表达式后a的值为【 】。 a+=a-=a*a 【题3.55】若a是int型变量,则执行下面表达式后a的值为【 】。 a=25/3%3 【题3.56】若x和n均是int型变量,且x和n的初值均为5,则执行下面表达

23、式后x的值为【1】,n的值为【2】。 x+=n++ 【题3.57】若有定义:int b=7; float a=2.5,c=4.7;则下面表达式的值为【 】。 a+(int)(b/3*(int)(a+c)/2)%4 【题3.58】若有定义:int a=2,b=3; float x=3.5,y=2.5;则下面表达式的值为【 】。 (float)(a+b)/2+(int)x%(int)y 【题3.59】若有定义:char c=‘\010’;则变量c中包含的字符个数为【 】。 【题3.60】若有定义:int x=3,y=2; float a=2.5,b=3.5;则下

24、面表达式的值为【 】。 (x+y)%2+(int)a/(int)b 【题3.61】若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为【 】。 x%=(n%=2) 【题3.62】假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为【 】。 【题3.63】C语言中的标识符只能由三种字符组成,它们是【1】、【2】和【3】。 【题3.64】已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【 】。 【题3.65】把以下多项式写成只含七次乘法运算,其余皆

25、为减运算的表达式为【 】。 5X^7+3X^6-4X^5+2X^4+X^3-6X^2+X+10 【题3.66】若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【 】。 【题3.67】若有定义:int e=1,f=4,g=2; float m=10.5,n=4.0,k;则执行赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是【 】。 【题3.68】表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为【 】。 【题3.69】表达式pow

26、(2.8,sqrt(double)(x)))值的数据类型为【 】。 【题3.70】假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是【 】。 第4章 顺序程序设计 4.1 选择题 【题4.1】putchar函数可以向终端输出一个    。 A) 整型变量表达式值 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 【题4.2】以下程序的输出结果是    。 main() { printf(“\n*s1=%15s*”, “chinabeijing”); printf(“

27、\n*s2=%-5s*”, “chi”); } A)*s1=chinabeijing * B)*s1=chinabeijing * *s2=**chi* *s2=chi * C)*s1=*chinabeijing* D)*s1= chinabeijing* *s2=chi* *s2=chi * 【题4.3】printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式【1】;如果字符串长度小于5,则输出按方式【2】。 A) 从左起输出该字

28、串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息 【题4.4】已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是    。 A) 整型变量的输出格式符只有%d一种 B) %x是格式符的一种,它可以适用于任何一种类型的数据 C) %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D) %8lx不是错误的格式符,其中数字8规定了输出字段的宽度 【题4.5】以下C程序正确的运行结果是    。 main() { long y=-43456; prin

29、tf(“y=%-8ld\n”,y); printf(“y=%-08ld\n”,y); printf(“y=%08ld\n”,y); printf(“y=%+8ld\n”,y); } A)y= -43456 B)y=-43456 y=- 43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+-43456 C)y=-43456 D)y= -43456 y=-43456 y=-0043456

30、 y=-0043456 y=00043456 y= -43456 y=+43456 【题4.6】以下C程序正确的运行结果是    。 main() { int y=2456; printf(“y=%3o\n”,y); printf(“y=%8o\n”,y); printf(“y=%#8o\n”,y); } A)y= 2456 B)y= 4630 y= 2456 y= 4630 y=########2456 y=####

31、####4630 C)y=2456 D)y=4630 y= 2456 y= 4630 y= 02456 y= 04630 【题4.7】以下C程序正确的运行结果是    。 main() { long y=23456; printf(“y=%3x\n”,y); printf(“y=%8x\n”,y); printf(“y=%#8x\n”,y); } A)y=5ba0 B)y= 5ba0 C)y=5ba0 D)y=5ba0 y= 5b

32、a0 y= 5ba0 y=5ba0 y= 5ba0 y= 0x5ba0 y= 0x5ba0 y=0x5ba0 y=####5ba0 【题4.8】若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); 【题4.9】已有如

33、下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是    。 int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); A)10A 20B B)10 A 20 B C)10A20B D)10A20 B 【题4.10】已有定义int x; float y;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345 678<回车>,则x的值为【1】,y的值为【2】。

34、 【1】A)12345 B)123 C)45 D)345 【2】A)无定值 B)45.000000 C)678.000000 D)123.000000 【题4.11】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是    。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB B)10 20 AB C)10

35、 20 AB D)10 20AB 【题4.12】已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为    。 main() { int a; float f; printf(“\nInput number:”); 输入语句 printf(“\nf=%f,a=%d\n”,f,a); } Input number:4.5 2 A) scanf(“%d,%f”,&a,&f); B) scanf(“%f,%d”,&f,&a); C) scanf(“%d%f”,&a,&f); D) scanf(

36、“%f%d”,&f,&a); 【题4.13】根据定义和数据的输入方式,输入语句的正确形式为    。 已有定义:float f1,f2; 数据的输入方式:4.52         3.5 A) scanf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2); C) scanf(“%3.2f %2.1f”,&f1,&f2); D) scanf(“%3.2f%2.1f”,&f1,&f2); 【题4.14】阅读以下程序,当输入数据的形式为 25,13,10 正确的输出结果为    。 main() { in

37、t 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) 不确定值 【题4.15】阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是    。 main() { int x; float y; printf(“enter x,y:”); 输入语句 输出语句 } 输入形式 enter x,y:2 3.4 输出形式 x+y=5.40 A) s

38、canf(“%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); 【题4.16】以下说法正确的是    。 A) 输入项可以为一实型常量,如scanf(“%f”,3.5); B) 只有格式控制,没有输入项,也能进行正确输入,如scan

39、f(“a=%d,b=%d”); C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); D) 当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 【题4.17】根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式应该为    。 main() { char ch1,ch2,ch3; 输入语句 printf(“%c%c%c”,ch1,ch2,ch3); } 输入形式:A B C 输出形式:A B A) scanf(“%c%c%c”,&ch1,&ch2,&c

40、h3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3); 【题4.18】有输入语句: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<回车> 【题4.19】以下能正确地定义整型变量a,b和c并为其赋

41、初值5的语句是    。 A)int a=b=c=5; B)int a,b,c=5; C)a=5,b=5,c=5; D)a=b=c=5; 【题4.20】已知ch是字符型变量,下面不正确的赋值语句是    。 A)ch=‘a+b’; B)ch=‘\0’; C)ch=‘7’+‘9’; D)ch=5+9; 【题4.21】已知ch是字符型变量,下面正确的赋值语句是    。 A)ch=‘123’; B)ch=‘\xff’; C)ch=‘\08’; D)ch=“\”; 【题4.22】若有以下定义,则正确的赋值语句是    。 int a,

42、b; float x; A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x); 【题4.23】设x、y均为float型变量,则以下不合法的赋值语句是    。 A)++x; B)y=(x%2)/10; C)x*=y+8; D)x=y=0; 【题4.24】设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x、y和z的值是    。 A)x=10 B)x=10 C)x=10 D)x=10 y=15 y=10 y=10 y=5 z=10 z=10

43、 z=15 z=10 【题4.25】设有说明:double y=0.5,z=1.5; int x=10;则能够正确使用C语言库函数的赋值语句是    。 A) z=exp(y)+fabs(x); B) y=log10(y)+pow(y); C) z=sqrt(y-z); D) x=(int)(atan2((double)x,y)+exp(y-0.2)); 4.2 填空题 【题4.26】以下程序的输出结果为    。 main() { short i; i=-4; printf(“\ni:dec=%d,oct=%o,h

44、ex=%x,unsigned=%u\n”,i,i,i,i); } 【题4.27】以下程序的输出结果为    。 main() { printf(“*%f,%4.3f*\n”,3.14,3.1415); } 【题4.28】以下程序的输出结果为    。 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c); } 【题4.29】已有定义int d=-2;执行以下语句后的输出结果是    。 printf(“*d(1)=%d*d(2)=

45、%3d*d(3)=%-3d*\n”,d,d,d); printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d); 【题4.30】已有定义int d=-2;执行以下语句后的输出结果是    。 printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n”,d,d,d); printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d); 【题4.31】已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是    。 printf(“*d(1)=%e*d(2)=%.4e

46、*d(3)=%10.4e*\n”,d1,d1,d1); printf(“*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n”,d2,d2,d2); 【题4.32】以下程序的输出结果为    。 main() { int x=1,y=2; printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y); printf(“10 Squared is:%d\n”,10*10); } 【题4.33】以下程序的输出结果为    。 #include main() { int x=1

47、0; float pi=3.1416; printf(“(1) %d\n”,x); printf(“(2) %6d\n”,x); printf(“(3) %f\n”,56.1); printf(“(4) %14f\n”,pi); printf(“(5) %e\n”,568.1); printf(“(6) %14e\n”,pi); printf(“(7) %g\n”,pi); printf(“(8) %12g\n”,pi); } 【题4.34】以下程序的输出结果为    。 #include m

48、ain() { float a=123.456; double b=8765.4567; printf(“(1) %f\n”,a); printf(“(2) %14.3f\n”,a); printf(“(3) %6.4f\n”,a); printf(“(4) %lf\n”,b); printf(“(5) %14.3lf\n”,b); printf(“(6) %8.4lf\n”,b); printf(“(7) %.4f\n”,b); } 【题4.35】以下printf语句中*号的作用是【1】,输出结果是【2】。 #

49、include main() { int i; for(i=1;i<=5;i++) printf(“##%*d\n”,i,i); } 【题4.36】以下printf语句中-号的作用是【1】,该程序的输出结果是【2】。 #include main() { int x=12; double a=3.1415926; printf(“%6d##\n”,x); printf(“%-6d##\n”,x); printf(“%14.10lf##\n”,a); printf(“%-1

50、4.10lf##\n”,a); } 【题4.37】以下程序的输出结果为    。 #include main() { int a=325; double x=3.1415926; printf(“a=%+06d x=%+e\n”,a,x); } 【题4.38】以下程序的输出结果为    。 #include main() { int a=252; printf(“a=%o a=%#o\n”,a,a); printf(“a=%x a=%#x\n”,a,a); }

51、【题4.39】以下程序段的输出结果为    。 int x=7281; printf(“(1) x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x); printf(“(2) x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n”,x,x,x,x,x); printf(“(3) x=%+3d,x=%+6d,x=%+08d\n”,x,x,x); printf(“(4) x=%o,x=%#o\n”,x,x); printf(“(5) x=%x,x=%#x\n”,x,x); 【题4.40】假设变量a和b均为整

52、型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=【1】; b=a-【2】; a-=【3】; 【题4.41】假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即:把b中的值给a,把c中的值给b,把a中的值的给c。例如:交换前,a=10,b=20,c=30;交换后,a=20,b=30,c=10。请填空。 【1】; a=b; b=c; 【2】; 【题4.42】设x、y和z都是int型变量,m为long型变量,则在16位微型机上执行下面赋值语句后,y值为【1】,z值为【2】,m值为【3】。 y=(x=32767,x-1);

53、z=m=0xFFFF; 【题4.43】若x为int型变量,则执行以下语句后x的值是【 】。 x=7; x+=x-=x+x; 【题4.44】若a和b均为int型变量,则以下语句的功能是【 】。 a+=b; b=a-b; a-=b; 【题4.45】在scanf函数调用语句中,可以在格式字符和%号之间加一星号,它的作用是【1】;当输入以下数据:10 20 30 40<回车>(此处每个数据之间有两个空格),下面语句的执行结果是【2】。 int a1,a2,a3; scanf(“%d%*d%d%d”,&a1,&a2,&a3); 【题4.46】有一输入函数

54、scanf(“%d”,k);其不能使float类型变量k得到正确数值的原因是【1】和【2】。 【题4.47】已有定义int a; float b,x; char c1,c2;为使a=3,b=6.5,x=12.6,c1=‘a’,c2=‘A’,正确的scanf函数调用语句是【1】,输入数据的方式为【2】。 【题4.48】若有以下定义和语句,为使变量c1得到字符‘A’,变量c2得到字符‘B’,正确的格式输入形式是    。 char c1,c2; scanf(“%4c%4c”,&c1,&c2); 【题4.49】执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,

55、x=8.5,y=71.82,c1=‘A’,c2=‘a’,正确的数据输入形式是    。 main() { int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“x=%f y=%f”,&x,&y); scanf(“c1=%c c2=%c”,&c1,&c2); printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2); } 【题4.50】已有定义int i,j; float x;为将-10赋给i,12赋给j,41

56、0.34赋给x;则对应以下scanf函数调用语句的数据输入形式是    。 scanf(“%o%x%e”,&i,&j,&x); 【题4.51】 以下程序,不借助任何变量把a,b 中的值进行交换。 #include 〈stdio.h〉 main() {int a,b; printf(″Input a,b:″); scanf(″%d%d″,) ; a+=    ; b=-    ; a - =    ; printf(″a=%d b=%d\\n″,a,b); } 第5章 选

57、择结构程序设计 5.1 选择题 【题5.1】逻辑运算符两侧运算对象的数据类型    。 A) 只能是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据 【题5.2】以下关于运算符优先顺序的描述中正确的是    。 A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B) 逻辑与运算符<关系运算符<算术运算符<赋值运算符 C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符 D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符 【题5.3】下列运算符中优先级最高的是    。 A)< B)+ C)&&

58、 D)!= 【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是    。 A) (x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B) (x>=1)||(x<=10)||(x>=200)||(x<=210) C) (x>=1)&&(x<=10)||(x>=200)&&(x<=210) D) (x>=1)||(x<=10)&&(x>=200)||(x<=210) 【题5.5】表示图中坐标轴上阴影部分的正确表达式是    。 //// //// //// ////    

59、                         X a b c A) (x<=a)&&(x>=b)&&(x<=c) B) (x<=a)||(b<=x<=c) C) (x<=a)||(x>=b)&&(x<=c) D) (x<=a)&&(b<=x<=c) 【题5.6】判断char型变量ch是否为大写字母的正确表达式是    。 A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch) 【题5.7】设x、y和z是int

60、型变量,且x=3,y=4,z=5,则下面表达式中值为0的是    。 A) ‘x’&&‘y’ B) x<=y C) x||y+z&&y-z D) !((x=y&&ch<‘B’&&!y)的值是    。 A)0 B)语法错 C)1 D)“假” 【题5.9】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是    。 A)A%2==1 B)!(A%2==0) C)!(A%2) D)A%2 【题5.10】设有:i

61、nt a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值为    。 A)1 B)2 C)3 D)4 【题5.11】判断char型变量c1是否为小写字母的正确表达式是    。 A)‘a’<=c1<=‘z’ B)(c1>=a)&&(c1<=z) C)(‘a’>=c1)||(‘z’<=c1) D)(c1>=‘a’)&&(c1<=‘z’) 【题5.12】以下程序的运行结果是    。 #include “stdio.h” main() { int a,b,d=241; a=

62、d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A)6,1 B)2,1 C)6,0 D)2,0 【题5.13】执行以下语句后a的值为【1】,b的值为【2】。 int a,b,c; a=b=c=1; ++a||++b&&++c; 【1】 A)错误 B)0 C)2 D)1 【2】 A)1 B)2 C)错误 D)0 【题5.14】执行以下语句后a的值为【1】,b的值为【2】。 int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);

63、 ++a||++b&&++c; 【1】 A)5 B)0 C)2 D)1 【2】 A)6 B)0 C)1 D)4 【题5.15】以下不正确的if语句形式是    。 A) if(x>y&&x!=y); B) if(x==y) x+=y; C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D) if(x

64、行后x,y,z的值是    。 if(x>y) z=x; x=y; y=z; A)x=10,y=20,z=30 B)x=20,y=30,z=30 C)x=20,y=30,z=10 D)x=20,y=30,z=20 【题5.18】以下if语句语法正确的是    。 A) if(x>0) printf(“%f”,x) else printf(“%f”,-x); B) if(x>0) { x=x+y; printf(“%f”,x); } else printf(“%f”,-x); C) if(x>0) { x=x+y; printf(“%

65、f”,x); }; else printf(“%f”,-x); D) if(x>0) { x=x+y; printf(“%f”,x) } else printf(“%f”,-x); 【题5.19】请阅读以下程序: main() { int a=5,b=0,c=0; if(a=b+c) printf(“***\n”); else printf(“$$$\n”); } 以下程序    。 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ 【题5.20】以下程序的运行结果是

66、    。 main() { int m=5; if(m++>5) printf(“%d\n”,m); else printf(“%d\n”,m--); } A)4 B)5 C)6 D)7 【题5.21】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是    。 if(a0 x+1 下面程序段中能正确表示上面关系的是    。 A)y=x+1; B)y=x-1; if(x>=0) if(x!=0) if(x==0) y=x; if(x>0) y=x+1; else y=x-1;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!