c语言习题集(编程有答案)(共156页).doc

上传人:飞****2 文档编号:13852443 上传时间:2022-05-01 格式:DOC 页数:156 大小:395KB
返回 下载 相关 举报
c语言习题集(编程有答案)(共156页).doc_第1页
第1页 / 共156页
c语言习题集(编程有答案)(共156页).doc_第2页
第2页 / 共156页
点击查看更多>>
资源描述

《c语言习题集(编程有答案)(共156页).doc》由会员分享,可在线阅读,更多相关《c语言习题集(编程有答案)(共156页).doc(156页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上第一章 C语言概述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以下叙述不正确的是 。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一

2、个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面1.4 C语言规定:在一个源程序中,main函数的位置 。A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后1.5 一个C语言程序是由 。A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成1.2 填空题1.6C源程序的基本单位是【 】。1.7一个C源程序中至少应包括一个【 】。1.8在一个C源程序中,注释部分两侧的分界符分别为【 】和【 】。1.9在C语言中,输入操作是由库函数【 】完成的,输出操作是由库函数【 】完成的。第二章 数据类型、运

3、算符与表达式2.1 选择题*2.1C语言中(以16位PC机为例),各数据类型的存储空间长度的排列顺序为 。A)charintlong=floatdouble B)char=intlong=floatdoubleC)charintlong=float=double D)char=int=long=floatdouble*2.2若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 。x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52*2.3假设所有变量均为整型,则表达式(a=2,b=5,a+b+,a+b)的值是 。A)7 B)8 C)5 D)22.4下列四组选项中,

4、均不是C语言关键字的选项是 。A)define B)getc C)include D)while IF char scanf go type printf case pow2.5下列四组选项中,均是C语言关键字的选项是 。A)auto B)switch C)signed D)if enum typedef union struct include continue scanf type*2.6下面四个选项中,均是不合法的用户标识符的选项是 。A)A B)float C)b-a D)_123 P_0 la0 goto temp do _A int INT*2.8 下面四个选项中,均是合法整型常量

5、的选项是 。A)160 B)-0xcdf C)-01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x*2.9下面四个选项中,均是不合法的整型常量的选项是 。A)-0f1 B)-0Xcdf C)-018 D)-0x48eg -0xffff 017 999 -068 0011 12,456 5e2 03f*2.10下面四个选项中,均是不合法的浮点数的选项是 。A)160. B)123 C)-.18 D)-e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e3*2.11下面四个选项中,均是合法的浮点数的选项是 。A)+1e+1

6、 B)-.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0*2.12下面四个选项中,均是合法转义符的l选项是 。A) B) C)018 D)0 017 f 101 n xab x1f*2.13下面四个选项中,均是不合法的转义符的选项是 。A) B)1011 C)011 D)abc f 101 xf a x1f*2.14下面正确的字符常量是 。A)c B) C)W D)*2.15下面四个选项中,均是不正确的八进制或十六进制数的选项是 。A)016 B)0abc C)010 D)0a12 0x8f 017 -0x11

7、7ff 018 0xa 0x16 -1232.16下面四个选项中,均是正确的八进制或十六进制数的选项是 。A)-10 B)0abc C)0010 D)0a12 0x8f -017 -0x11 -0x123 -011 0xc 0xf1 -0xa2.17下面四个选项中,均是正确的数值常量或字符常量的选项是 。A)0.0 B)a C)3 D)+001 0f 3.9e-2.5 011 0xabcd 8.9e 1e1 0xFF00 2e2 & 0a 50.2.18下面不正确的字符串常量是 。A)abc B)1212 C)0 D) 2.19 对应以下各代数式中,若变量a和x均为double类型,则不正确的

8、c语言表达式是 。A) ex2/2 exp(x*x/2)/sqr(2*3.14159) 2B)(ax+a+x/4a) 1.0/2.0*(a*x+(a+x)/(4*a)C)sinx2.5 sqrt(pow(sin(x*3.14159/180),2.5)D)x2-e5 x*x-exp(5.0)2.20若有代数式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*32.21已知各变量的类型说明如下,则不符合C语言语法规定的表达式是 。int k,a,b;unsigned long w=5;double x=1.42;A

9、)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)2.22已知各变量说明如下,则符合C语言语法规定的表达式是 。int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)*2.23以下不正确的叙述是 。A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算表达式a=b后,b的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变

10、量只能输入整型数值,对于实型变量只能输入实型数值2.24以下正确的叙述是 。A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符*2.25以下符合C语言语法的有赋值能力的表达式是 。A)d=9+e+f=d+9 B)d=9+e,f=d+9C)d=9+e,e+,d+9 D)d=9+e+=d+7*2.26已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-3;后,c2的值为 。A)D B)68 C)不确定的值 D)C*

11、2.27在C语言中,要求运算数必须是整型(数)的运算符是 。A)/ B)+ C)!= D)%*2.28若以下变量均是整型,且num=sum=7;则计算表达式sUM=num+, sUM+,+num后sum的值为 。A)7 B)8 C)0 D)10*2.29在C语言中,int、char和short三种类型数据在内存中所占用的字节数 。A)由用户自己定义 B)均为两个字节C)是任意的 D)由所用机器的字长决定2.30若有说明语句:char c=72;则变量c 。A)包含1个字符。 B)包含2个字符。C)包含3个字符。 D)说明不合法,c的值不确定。2.31若有定义:int a=7; float x=

12、2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。A)2. B)2. C)3. D)0.*2.32 sizeof(float)是 。A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式*2.33设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 。A)int B)float C)double D)不确定2.34下面四个选项中,均是非法常量的选项是 。A)as B) C)-0x18 D)0xabc -0fff 01 01177 0 0xa 12,456 0xf a*2.35若有代数式则正确的C语言表达式是 。A

13、) sqrt(fabs(pow(y,x)+log10(y)B) sqrt(abs(pow(y,x)+log10(Y)C) sqrt(fabs(pow(x,y)+log10(y)D) sqrt(abs(pow(x,y)+log10(y)2.36 若有代数式,则正确的C语言表达式是 。A)fabs(x*3+log10(x)B)abs(pow(x,3)+log10(x)C)abs(pow(x,3.0)+log10(x)D)fabs(pow(x,3.0)+log10(x)*2.37在C语言中,char型数据在内存中的存储形式是 。A)补码 B)反码 C)原码 D)ASCII码*2.38设变量n为flo

14、at,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是 。A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.02.39表达式18/4*sqrt(4.0)/8值的数据类型为 。A)int B)float C)double D)不确定2.40设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为 。A)0-255 B)0-32767 C)0-65535 D)0-2.41设有说明:char w;int x;

15、float y;double z;则表达式w*x+z-y值的数据类型为 。A)float B)char C)int D)double2.42若有以下定义,则能使值为3的表达式是 。int k=7,x=12;A)x%=k%=5 B)x%=k-k%5C)x%=(k-k%5) D)(x%=k)-(k%=5)2.43设以下变量均为int类型,则值不等于7的表达式是 。A)x=y=6,x+y,x+1 B)x=y=6,x+y,y+1C)x=6,x+1,y=6,x+y D)y=6,y+1,x=y,x+12.2 填空题2.44 在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为【 】;

16、一个int型数据在内存中所占的字节数为【 】。2.45 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【 】;一个double型数据在内存中所占的字节数为【 】。2.46 若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是【 】。2.47 设C语言中,一个int型数据在内存中占2各字节,则int型数据的取值范围为【 】。2.48 在C语言中的实型变量分为两种类型,它们是【 】和【 】。*2.49 C语言所提供的基本数据类型包括:实型、【 】、【 】和【 】。*2.50 若s是int型变量,则表达式s%2+(s+1)%2的值为【 】。*

17、2.51 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为【 】。*2.52 若x和a均是整型变量,则计算表达式(1)后的x值为【 】,计算表达式(2)后x的值为【 】。(1)x=(a=4,6*2)(2)x=a=4,6*22.53 若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a的值为【 】,b的值为【 】,c的值为【 】。2.54 若a是int 型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为【 】。2.55 若a是int型变量,则计算表达式a=25/3%3后a的值为【 】。2.56 若x和n均是int型变量,且x和n的初值均为5,则

18、计算表达式x+=n+后x的值为【1】,n的值为【 】。2.57 若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为【 】。2.58 若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为【 】。2.59 若有定义:char c=010;则变量c中包含的字符个数为【 】。2.60 若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为【 】。2.61 若有定义:

19、int x=12,n=5;则计算表达式x%=(n%=2)后x的值为【 】。2.62 若有定义:int a,b;表达式a=2,b=5,a+,b+,a+b的值为【 】。2.63 C语言中的标识符只能由三种字符组成,它们是【 】、【 】和【 】。*2.64 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为【 】。2.65假设m是一个三位数,从左到右用a、b、c表示各位的数字,则从左到右各个数字是bac的三位数表达式是【 】。2.66 若double x=3.0,y=2.0;则表达式pow(y,fabs(x)的值为【 】。2.67 若有定义:int e=1,

20、f=4,g=2;float m=10.5,n=4.0,k;则计算表达式k=(e+f)/g+ sqrt(double)n)*1.2/g+m后k的值是【 】。2.68 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3)值的数据类型为【 】。*2.69 表达式pow(2.8,sqrt(double(x)值的数据类型为【 】。第三章 最简单的C程序设计3.1 选择题3.1 putchar函数可以向终端输出一个 。A)整型变量表达式 B)实型变量值C)字符串 D)字符或字符型变量值*3.2以下程序的输出结果是 。printf(n*s1=%15s*,chinabeijing); pr

21、intf(n*s2=%-5s*,chi); A)*s1=chinabeijing* B)*s1=chinabeijing*s2=*chi* *s2=chi* C) *s1=chinabeijing* D) * s1=chinabeijing*s2=chi* *s2=chi*3.3 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 ;如果字符串长度小于5,则输出按方式 。A)从左起输出该字符串,右补空格 B)按原字符串长从左向右全部输出C)右对齐输出该字符串,左补空格 D)输出错误信息*3.4已有定义int a=-2;和输出语句:prin

22、tf(%8lx,a);以下正确的叙述是 。A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度*3.5以下C程序正确的运行结果是 。main() long y=-43456;printf (y=%-8ldn,y);printf (y=%-08ldn,y);printf (y=%08ldn,y);printf (y=%+8ldn,y);A)y=-43456 B)y=-43456y=-43456 y=-43456y=- y=-y=-4

23、3456 y=+-43456C)y=-43456 D) y=-43456y=-43456 y=-y=- y=y=-43456 y=+43456*3.6以下C程序正确运行的结果是 。main() int y=2456;printf(y=%3on,y);printf(y=%8on,y);printf(y=%#8on,y);A)y=2456 B)y=4630y=2456 y=4630y=#2456 y=#4630C)y=2456 D)y=4630y=2456 y=4630y=02456 y=046303.7以下C程序正确的运行结果是 。main()long y=23456;printf(y=%3lx

24、n,y);printf(y=%8lxn,y);printf(y=%#8lxn,y);A)y=5ba0 B)y=5ba0y=5ba0 y=5ba0y=0x5ba0 y=0x5ba0C)y=5ba0 D)y=5ba0y=5ba0 y=5ba0y=0x5ba0 y=#5ba0*3.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);*3.9 已有如

25、下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 。int a1,a2;char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A)10A20B B)10A20BC)10A20B D)10A20B*3.10 已有定义int x;float y;且执行scanf(%3d%f,&x,&y);语句时,从第一列开始输入数据12345678,则x的值为 ,y的值为 。 A)12345 B)123 C)45 D)345 A)无定值 B)45.0 C)678.0 D)123.0*3.11 已有如下定义和输

26、入语句,若要求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)1020ABC)1020AB D)1020AB3.12 已有程序段和输入数据的形式,程序中输入语句的正确形式应当为 。main() int a;float f;printf(Input number:);(输入语句)printf(nf=%f,a=%dn,f,a);Input number:4.52A)scanf(%d,%f,&a,&f);

27、 B)scanf(%f,%d,&f,&a);C)scnaf(%d%f,&a,&f); D)scanf(%f%d,&f,&a);3.13 根据定义和数据的输入方式,输入语句的正确形式为 。已有定义:float f1,f2;数据的输入方式:4.52 3.5A)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);*3.14 阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为 。main()int x,y,z;scanf(%d%d%d

28、,&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)不确定的值3.15 根据题目中已给出的数据输入和输出形式,程序中输入输出语句的正确内容是 。main()int x;float y;printf(enter x,y:);输入语句输出语句输入形式:enter x,y:2 3.4输出形式:x+y=5.40A)scanf(%d,%f,&x,&y); B)scanf(%d%f,&x,&y); printf(nx+y=%4.2f,x+y); printf(nx+y=%4.2f,x+y);C)scanf(%d%f,&x,

29、&y); D)scanf(%d%3.1f,&x,&y); printf(nx+y=%6.1f,x+y); printf(nx+y=%4.2f,x+y);3.16 以下说法正确的是 。A)输入项可以为一个实型常量,如scanf(%f,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d , b=%d);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);*3.17 根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为 。main()char ch1

30、,ch2,ch3;输入语句printf(%c%c%c,ch1,ch2,ch3);输入形式:ABC输出形式:ABA)scanf(%c%c%c,&ch1,&ch2,&ch3);B)scanf(%c,%c,%c,&ch1,&ch2,&ch3);C)scanf(%c %c %c,&ch1,&ch2,&ch3);D)scanf(%c%c,&ch1,&ch2,&ch3);3.18 有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 。A)132 B)1,3,2C)a=1b=3c=2 D)a=1,b=3,c=23.19

31、 以下能正确地定义整型变量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;*3.20已知ch是字符型变量,下面不正确的赋值语句是 。A)ch=a+b; B)ch=0; C)ch=7+9; D)ch=5+93.21 已知ch是字符型变量,下面正确的赋值语句是 。A)ch=123; B)ch=xff; C)ch=08; D)ch=;3.22 若有以下定义,则正确的赋值语句是 。int a,b;float x;A)a=1,b=2, B)b+; C)a=b=5 D)b=int(x);3.23设x、

32、y均为float型变量,则以下不合法的赋值语句为_。A) +x; B)y=(x%2)/10; C)x*=y+8 D)x=y=0*3.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 z=15 z=103.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=

33、(int)(atan2(double)x,y)+exp(y-0.2);3.2 填空题*3.26以下程序的输出结果为( )。main()short i;i=-4;printf(ni:dec=%d, oct=%o, hex=%x, unsigned=%un,i,i,i,i);*3.27 以下程序的输出结果为( )。main()printf(*%f,%4.3f*n,3.14,3.1415);3.28以下程序的输出结果为( )。main()char c=x;printf(c:dec=%d, oct=%o, hex=%x, ASCII=%cn,c,c,c,c);*3.29 已有定义int d=-2;执行

34、以下语句后的输出结果是( )。printf(*d(1)=%d*d(2)=%3d*d(3)=%-3d*n,d,d,d);printf(*d(4)=%o*d(5)=%7o*d(6)=%-7o*n,d,d,d);3.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);*3.31已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是( )。printf(*d(1)=%e*d(2)=%.4e*d(

35、3)=%10.4e*n,d1,d1,d1);printf(*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*n,d2,d2,d2);3.32 以下程序的输出结果是( )。main()int x=1,y=2;printf(x=%d y=%d *sum*=%dn,x,y,x+y);printf(10 Squared is :%dn,10*10);*3.33 以下程序的输出结果是( )。#include main()int x=10;float pi=3.1416;printf(1)%dn,x);printf(2)%6dn,x);printf(3)%fn,56.1);printf(4)

36、%14fn,pi);printf(5)%en,568.1);printf(6)%14en,pi);printf(7)%gn,pi);printf(8)%12gn,pi);3.34 以下程序的输出结果是( )。#include main()float a=123.456;double b=8765.4567;printf(1)%fn,a);printf(2)%14.3fn,a);printf(3)%6.4fn,a);printf(4)%lfn,b);printf(5)%14.3lfn,b);printf(6)%8.4lfn,b);printf(7)%.4lfn,b);*3.35 以下printf

37、语句中*的作用是( ),输出结果是( )。#include main()int i=1;printf(#%*dn,i,i);i+;printf(#%*dn,i,i);i+;printf(#%*dn,i,i);3.36 以下printf语句中的-的作用是( ),该程序的输出结果是( )。#include main()int x=12;double a=3.;printf(%6d#n,x);printf(%-6d#n,x);printf(%14.10lf#n,a);printf(%-14.10lf#n,a);*3.37 以下程序的输出结果是( )。#include main()int a=325;double x=3.;printf(a=%+06d x=%+en,a,x);*3.38以下程序的输出结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁