《国二c语言笔试题库4.docx》由会员分享,可在线阅读,更多相关《国二c语言笔试题库4.docx(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 C语言概述一单项选择题1 .一个C程序的执行是从().A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序的main函数结束2 .以下叙述正确的是().A)在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句0 C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是().A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含,,个main函数
2、0 C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4. C语言规定,在一个源程序中,main函数的位置().A)必须在最开始B)必须在系统调用的库函数的后面0可以任意D)必须在最后5. 一个C语言源程序是由().A) 一个主程序和若干子程序组成B)函数组成0若干过程组成D)若干子程序组成二填空题1 . C源程序的基本单位是函数。2 . 一个C源程序中至少应包括一个main函数。3 .在一个C源程序中,注释部分两侧的分界符分别为/和*/。4 . 一个函数是由两部分组成的,它们分别是函数首部和函数体。5 .在C语言中,一个函数的函数体 般包括声明部分和执行部分 。6 .在
3、每个C语句和数据定义的最后必须有一个;。7 . C语言本身没有输入输出语句。其输入输出是由 函数来完成。8 .程序是指一组能使计算机识别和执行的指令,每一个指令都使计算机能够执行相应的操作。9 .源程序是指用高级语言编写的程序。C源程序文件的扩展名为 .c 。10 .目标程序是指计算机不能识别和执行高级语言程序,只能通过高编译系统将高级语言程序转化为二进制的目标程序。目标程 序文件的扩展名为.obi -11 .可执行程序是指将目标函数和系统的函数库以及其它目标函数链接起来行程可执行程序。可执行程序文件的扩展名 为.exe 。12 .上机运行一个C源程序的步骤一般为:输入和编辑源程序; 编译源程
4、序; 连接库函数; 生成 可执行程序.第三章数据类型、运算符与表达式一单项选择题1 .下面四个选项中,均不是c语言关键字的选项是().A) define IF TypeC) include scanf caseB) getc char printfD) while go pow2 . C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符().A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符3 .下列四个选项中,均是C语言关键字的选项是().A) autoenumincludeB) switch typedefcontinueC) sig
5、ned unionscanfD) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是().A) A P_0 doB) float laO_AC) b-a gotoint D) 123tempint5.以下有4组用户标识符,其中合法的一组是().A) For -subCaseB) 4d DO SizeC) f2 G3 IFabcD) WORD void define6 .下列选项中,合法的C语言关键字是().A) VAR B) cher C) integer D) default7 .下面四个选项中,均是合法整型常量的选项是()。A) 160 -OxffffOilB)
6、 -OxcdfOlaOxeC) -019860120668D) -0x48a 0x2e5 Oxe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是().A) -100x8f-OilB) Oabc-017 OxcC) 010-0x11 OxflD) 0al2-0x123 -Oxa9 .设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围 为(A) 0255 B) 0-32767 C) 0-65535 D) 0-214748364710 .在C语言中,不正确的int类型的常数是().A)32768B)0C)037D)OxAF(11101111=128+
7、64+32+8+4+2+1)11 .下面四个选项中,均是不合法的整型常量的选项是().A) -Ofl-Oxffff0011B) -Oxcdf01712456C) -018 9995e2D) -0x48eg-06803f12 .下面四个选项中,均是不合法的浮点数的选项是().A) 160.0. 12e3B) 1232e4.2. e5C) 18123e40.0D) -e3.234le313 .下面四个选项中,均是合法的浮点数的选项是().B) 6012e-4-8e5D) -e3.8e-45. e-0A) +le+l 5e-9.403e2C) 123e1.2e- 4 +2eT14 .下列变量定义中合
8、法的是(A) short _a=l-. le-1;C) long do=0xfdaL;B)D)double b=l+5e2. 5;float 2_and=l-e-3;15 .以下选项中合法的字符常量是(A)、B68D) D16 .以下选项中,非法的字符常量是(A) AtB)M7C) nD) xaa17 .以下所列的C语言常量中,错误的是(A) OxFFB) 1. 2e0. 5C) 2LD) 、72,18 .在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII 码19 .下面四个选项中,均是合法转义字符的选项是(A) f ,n,C) 018,f, xab,B) ,
9、017,D) 0, AIOP xlf,20 .下面四个选项中,均是不合法的转义字符的选项是(A)rxf,C) 01Pf,、,B)D)MOIP aabcz MOP xlfz21 .下面正确的字符常量是(A)、cB) 、一、w,D)22 .下面四个选项中,均是正确的数值常量或字符常量的选项是(A) 0.0Of8.9e &,C) 3,011 OxffOO 0aB) a3.9e-2.5 lei D) +001Oxabcd2e250.23 .下面不正确的字符串常量是(A) abcB) 1212C) “024 .在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为().A) cha
10、rintlong int=f1oatdoub1eB) char=intlong int=floatdoubleC) charintlong int=f1oat=doub1eD) char=int=long int=floatdouble25 .若有说明语句:char c=72;则变量c ().A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定26 .设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为(A) intB) floatC) doubleD)不确定27.表达式18/4*sqrt(4.0)/8值的数据类型为().A) intB) fl
11、oatC) doubleD)不确定28 .设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 ().A) float B) char C) int D) double29 .以下选项中属于C语言的数据类型是().A)复数型 B)逻辑型 C)双精度型D)集合型30 .以下程序的输出结果是main()(char c= z;printf( “c” ,c-25);)A) a B) Z C) z-25 D) y31 .若有定义:int a=7; float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是(A
12、) 2. 500000 B) 2. 750000 C) 3. 500000 D) 0. 00000032 .若有代数式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*333 .设有int x=ll;则表达式(x+ * 1/3)的值是().A) 3B)4 C)11 D)1234 .以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C 语言表达式是()oA) x/y*z B) x*(l/(y*z) C) x/y*l/z D) x/y/z35 . C语言中运算对象必须是整
13、型的运算符是().A) %=B)/C)=D)=36 .下列程序的输出结果是().main()double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(dn”, d*y);A) 3B)3.2C)0 D) 3.0737 .若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16, k=32)后,x的值为(A)4 B)16 C)32 D)5238 .假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是()。A)7B)8C)6D)239 .假定x和y为double型,则表达式x=2, y=x+3/2的值是()。A) 3.5000
14、00 B) 3 C) 2.000000 D) 3.00000040 .若以下变量均是整型,且num=sum=7;则计算表达式sum=num+, sum+,+num后 sum的值为()。A) 7B)8C)9 D) 1041 .若有定义intk=7,x=12;,则以下能使值为3的表达式是()。A) x%=(k%=5)B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k) - (k%=5)42 .设以下变量均为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
15、=6, y+1, x=y, x+1)43 .下列程序执行后的输出结果是()omain ()int x= f ;printf( w%cnw , A +(x-匕+1);A) G B) H C) I D) J44 .下列程序执行后的输出结果是()omain() char x=0xFFFF; printf(H%d nx-); A) -32767 B)FFFE C)-l D) -3276845 .以下程序的输出结果是()omain() int a=3;printf(,%dn,(a+=a-=a*a);)A) -6 B) 12C)0D)-1246 .若变量已正确定义并赋值,下面符合C语言语法的表达式是().
16、A) a:=b+lB) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b47 .若有以下程序段,int cl=l, c2=2, c3;c3=1.0/c2*cl;则执行后,c3中的值是()oA) 0 B) 0.5 C) 1D)248 .有如下程序main() int y=3, x=3, z=l;printf(t4%d %dn,(+x, y+), z+2);运行该程序的输出结果是().A) 3 4B)42C)4 3 D) 3 349.已知大写字母A的ASCII码为65,以下程序的运行结果为().#include main()char cl=Az,c2=Yz ;printf %d
17、n,cl, c2);A) 65, 89 B) A, Y C) 65,8850 .以下程序的输出结果是().#includemain()(int a=010, b=10;printf (%d, %dn”,a+,b);)A) 10, 10 B) 8, 10 C) 10,951 .以下程序的输出结果是().main()(int a,b;a=100;b=200;printf (、%dn”, (a, b);A) 100 B) 200 C) 2000052 .执行语句y=10;x=y+;的结果是()oD) 65, 90D) 8,9D) 100=200D) x=ll, y=10A) x=10, y=10 B
18、) x=ll,y=llC) x=lO, y=ll 53.在表示C语言的整型变量时,表示“无符号长整型”的符号是().A) unsigned intB) unsigned shortC) long intD) unsigned long54 .在下列形式的常数中,C程序不允许出现的是().A) .45 B) 123 C) 25.6e-2 D) 4e355 .以下程序的输出结果是().main() float x=3. 6;int i;i=(int)x;printf (x=%f, i=%dw, x, i);)A) x=3. 600000,i=4B) x=3, i=3C) x=3. 600000,
19、i=3D) x=3. 000000, i=3. 60000056 .在C语言中,要求运算数必须是整型数据的运算符是().A) / B) % C) ! D) k);)A) 17, 021, 0x11B)17, 17, 17B)17, 0x11, 021D)17, 21, 115 .下列程序的运行结果是().ftinclude mainO int a=2, c=5;printf(*a=%d, b=%dn”, a, c);)A) a=%2, b=%5B) a=2,b=5C) a=d, b=dD) a-2, c-56 .语句printf(abre%i,yboun);的输出结果是(说明:、b是退格符)A
20、) abrehiybouB) abrehiybouC) rehiyouD) abrehi*ybou7 . x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是().A) INPUT x, y、z;B) scanf(%d%d%d,&x,&y,&z);C) scanf(%d%d%d,x,y,z);D) read(%d%d%d,&x,&y,&z);8 .若变量已正确说明为float类型,要通过语句scanf(%f %f %f ,&a,&b,&c);给a赋于10.0, b赋予22.0, c赋予33.0,不正确的输入形式是():A) 10回车 22c回车 33c回车C) 10.
21、0 回车 22.0 33.0 回车9 .以下程序的输出结果是main()( int n;(n=6*4, n+6),n*2;printf (、n=%dn”, n);)A) 24B) 1210 .以下程序的输出结果是(main ()int x=2, y, z;x*=3+l;printf (v%d,x+);x+=y=z=5;printf , x);x=y=z;printfx);A) 8, 14, 1B) 8, 14,511 .下面程序的输出结果是(B) 10.0,22.0,33.0 回车D) 10 22c回车33回车(C) 26D) 20C) 8, 13,5D)9, 14,5)omain()(int
22、 x, y, z;x=0;y=z=-l;X+=-zy; (-Z-)-yprintf (、x=%dn”, x);A) x=4B) x=0C) x=2D) x=312 .设x为int型变量,贝!执行语句x=10; x+=x=xx;后,x的值为()。A) 10 B) 20 C) 40 D) 3013 .只能向终端输出一个字符的函数是()oA) printf 函数B) putchar 函数C) getchar 函数D) scanf 函数14.下列程序执行后的输出结果是(小数点后只写一位)()omain() double d; float f; long 1; int i;i=f=l=d=2O/3;pr
23、intf(M%d %ld %f %f n”,i,l,f,d);)A) 6 66.06.0B) 666.76.7C) 6 66.06.7D)666.76.015 .在下列叙述中,错误的一条是()oA) printf函数可以向终端输出若干个任意类型的数据B) putchar函数只能向终端输出字符,而且只能是一个字符C) getchar函数只能用来输入字符,但字符的个数不限D) scanf函数可以用来输入任何类型的多个数据16 .以下程序的输出结果为()omain()(charcl=a, c2=*b, c3=c;printf(44a%cb%ctc%cn,c I,c2,c3);)A) l)c abc
24、abcB) aibb ccC) a b cD) aaaa bb17 .若输入12345和abc,以下程序的输出结果是().main()(int a;char ch;scanf(3d%3c”,&a,&ch);printf(44%d, %cM ,a, ch);)A) 123, abcB) 123,4C) 123,aD) 12345,abc18 .以下程序的输出结果是().main() (unsigned x 1;int b= -1;xl=b;printf(t4%u,xl);)A) %uB)-lC) %u-lD) 6553519 .在printf函数中用来输出十六进制无符号整数的格式字符是()oA)
25、 d格式符B) x格式符C) u格式符D) o格式符20 .设 a=12、b=12345,执行语句 priIltf(“4d,%4(r,a,b)的输出结果为()。A) 12, E3B) 12, 12345C) 12, 1234D) 12, 12345621 .以下程序的输出结果是()。#include#includemain()(int a=l,b=4,c=2;float x=10.5, y=4.0, z;z=(a+b)/c+sqrt(double)y)* 1.2/c+x;printf(44%fn, z);)A) 14.000000B) 15.400000C) 13.700000D) 14.90
26、000022 .以下程序的输出结果是()omain()(int a=2, c=5;printf(44a=%d, b=%dn, a, c);)A) a=%2, b=%5B) a=%2, c=%5C) a=%d, b=%dD) a=%d, b=%d23.请读程序:main()(int a;float b, c;scanf(M%2d%3f%4f;&a,&b,&c);printf(4na=%d, b=%f, c=%fn, a, b, c);若运行时从键盘上输入9876543210 (vCR表示回车),则上面程序的输出结果是 ()oA) a=98, b=765, c=4321B)a=10, b=432,
27、 c=8765C) a=98, b=765.0000(X), c=4321.000000D) a=98, b=765.0, c=4321.024 .若有定义:int x,y;chara, b, c;并有以下输入数据(此处代表回车,U代表空格):1U2AUBUC 则能给X赋整数1,给、赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程 序段是().A) scanf(t4x=%d, y=%d, &x, &y); a=getchar(); b=getchar(); c=getchar();B) scanf(t4%d %d”, &x, &y); a=getchar(); b=getchar()
28、; c=getchar();C) scanfC%d%d%c%c%c, &x, &y, &a, &b, &c);D) scanf(4fc%d%d%c%c%c%c%c%c* &x, &y, &a, &a, &b, &b, &c, &c);25 .下列可作为C语言赋值语句的是()oA) x=3, y=5;B) a=b=6C) i;D) y=int(x);26 .设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(i=%d, f=%f&i, &f);为了把100和765.12分别赋给i和f,则正确的输入为()oA) 100空格765.12回车B) 100, 765.
29、12同车C) 100V回车 765.12C 回车D)x=100回车 y=765.12回车27 .以下叙述中正确的是().A)输入项可以是一个实型常量,例如:scanf(,3.5);B)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(a=%d,b=%d); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“4.2, &f);D)当输入数据时,必须指明变量地址,例如:scanf(F, &f);28 .设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()。A)把x和y按从小到大排序B)把x和y按从大到小排序C)无确定结
30、果D)交换x和y中的值二填空题1 . 下 面 程 序 的 运 行 结 果 是i:dec=-4,oct= 17774,hex=ffffc,unsigned=65532main() (short i;i= -4;printf(44ni: dec=%d, oct=%o, hex=%x, unsigned=%unM, i, i, i, i);2 .若想通过以下输入语句使a=5.0 , b=4 , c=3 ,则输入数据的形式应该是5.04c=3 oint b, c; float a;scanf(H%f, %d, c=%dn, &a, &b, &c);3 .下列程序的输出结果是16.00,请填空。 mai
31、n() int a=9, b=2;float x= 6.6, y=l.l,z;z=a/2+b*x/y+1/2;(1 Z2=0,a/2=4)printf(H%5.2fnn, z);4 .在printf格式字符中,只能输出个字符的格式字符是 c :用于输出字符串的 格式字符是 s :以小数形式输出实数的格式字符是 f :以标准指数形式 输出实数的格式字符是 e 。三编程题1 .若 a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n= 128765, cl=a, c2=b。想得到以下的输 出格式和结果,请写出完整的程序(包括定义变量类型和设计输出)。要求
32、输出的结果如下:a=空格3空格x空格b=空格4(空格x空格c=(空格5x= 1.200000, y=2.400000, z= -3.600000x+y=空格3.60(空格空格y+z = -1.20空格空格z+x= -2.4011=空格51274c空格 空格n=空格*空格 空格128756cl= a空格 or 空格 97( ASCII)c2= B(空格or空格98(ASCII)2 .输入一个华氏温度,要求输出摄氏温度。公式为 马伊一32)输出要有文字说明,取2位小数。3 .编程序,用getchar函数读入两个字符给cl、c2,然后分别用putchar函数和printf函数输 出这两个字符。三编程
33、题1 .解: main() (int a=3, b=4, c=5;long int u=51274, n= 128765;float x=1.2, y=2.4, z= -3.6;char cl=,a c2=,b,;prinlf(n”);printf(*4a=%2d b=%2d c=%2dna,b,c);printf(*x=%8.6f, y=%8.6f, c=%9.6fn,x,y,z);printf(ux+y=%5.2f y+z=%5.2f z+x=%5.2fn,x+y,y+z,z+x);printf(4tu=%61d n=%91dn,u,n);printfCcl=%c or %d(ASCII)
34、nM,cl,cl); printf(4tc2=%c or %d(ASCII)nM,c2,c2);)2 .解: main() float c, f; printf(“请输入一个华氏温度:nM);scanf(t4%f;&D;c=(5.0/9.0)*(f-32);printf(“摄氏温度为:%.2fn,c);3 .解:#includemain()(char c 1, c2;printf(“请输入两个字符给cl和c2: n); cl=getchar();c2=getchar();printf(“用putchar函数输出结果为:n);putchar(cl);putchar(c2);printff4n用p
35、rintf函数输出结果为:n);printf(t4%c, %cn,cl,c2);第五章选择结构程序设计一 单项选择题1 .逻辑运算符两侧运算对象的数据类型是()oA)只能是0或1B)只能是0或非0正数0只能是整型或字符型数据D)可以是任何类型的数据2 .已知 x=43, ch=W, y=0;则表达式(x=y&chy)z=x;x=y;y=z;A) x=10, y=20,z=30B) x=20, y=30, z=30C) x=20, y=30,z=10D) x=20, y=30, z-204 .执行下列语句后a的值为(),b的值为().int a, b, c;a=b=c=l;+a+b & +c;A)错误 1B) 2 2C) 2 1D) 1 15 .若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”, 则以下不能满足要求的表达式是().A) A%2=1B) !(A%2=0)C) !(A%2)D) A%26 .设有:int a=l,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后 n 的值是(A) 0B) 2C) 3D) 47 .判断cha
限制150内