c语言笔试题库.docx

上传人:君**** 文档编号:77874665 上传时间:2023-03-16 格式:DOCX 页数:78 大小:213.71KB
返回 下载 相关 举报
c语言笔试题库.docx_第1页
第1页 / 共78页
c语言笔试题库.docx_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《c语言笔试题库.docx》由会员分享,可在线阅读,更多相关《c语言笔试题库.docx(78页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言笔试题库第一章 C语言概述一 单项选择题1一个C程序的执行是从( A )。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序的main函数结束2以下叙述正确的是(C )。A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误3以下叙述不正确的是( D )。A) 一个C源程序可由一个或多个函数组成B) 一

2、个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面4C语言规定,在一个源程序中,main函数的位置( C )。A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后5一个C语言源程序是由( B )。A) 一个主程序和若干子程序组成 B) 函数组成C) 若干过程组成 D) 若干子程序组成二 填空题1C源程序的基本单位是 函数 。2一个C源程序中至少应包括一个 main函数 。3在一个C源程序中,注释部分两侧的分界符分别为 /* 和 */。4一个函数是由两部分组成的,它们分别是 函数首部 和 函数体 。

3、5在C语言中,一个函数的函数体一般包括 声明部分 和 执行部分 。6在每个C语句和数据定义的最后必须有一个 ; 。7C语言本身没有输入输出语句。其输入输出是由 函数 来完成。8程序是指 一组能使计算机识别和执行的指令,每一个指令都使计算机能够执行相应的操作。 。9源程序是指 用高级语言编写的程序 。C源程序文件的扩展名为 .c 。10目标程序是指 计算机不能识别和执行高级语言程序,只能通过高编译系统将高级语言程序转化为二进制的目标程序。目标程序文件的扩展名为 .obj 。11可执行程序是指 将目标函数和系统的函数库以及其它目标函数链接起来行程可执行程序 。可执行程序文件的扩展名为 .exe 。

4、12上机运行一个C源程序的步骤一般为: 输入和编辑源程序; 编译源程序 ; 连接库函数 ; 生成可执行程序。第三章 数据类型、运算符与表达式一 单项选择题1下面四个选项中,均不是c语言关键字的选项是( A )。A) defineIFType B) getccharprintfC) includescanfcaseD) whilegopow2C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( C )。A) 必须为字母B) 必须为下划线 C) 必须为字母或下划线D) 可以是字母、数字和下划线中任一种字符3下列四个选项中,均是C语言关键字的选项是( B )。A) auto enum

5、 includeB) switch typedef continueC) signed union scanf D) if struct type4下面四个选项中,均是不合法的用户标识符的选项是( C )。A) A P_0 doB) float la0 _AC) b-a goto intD) _123 temp int 5以下有4组用户标识符,其中合法的一组是( C )。A) For -sub CaseB) 4d DO Size C) f2_G3 IF abc D) WORD void define6下列选项中,合法的C语言关键字是( D )。A) VARB) cherC) integerD)

6、 default7下面四个选项中,均是合法整型常量的选项是( A )。A) 160 -0xffff 011B) -0xcdf 01a 0xeC) 01986 012 0668D) -0x48a 0x2e5 0xe8下面四个选项中,均是正确的八进制数或十六进制数的选项是( C )。A) -10 0x8f -011B) 0abc -017 0xcC) 010 -0x11 0xf1D) 0a12 -0x123 -0xa9设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( C)。A) 0255B) 032767C) 065535D) 021474836471

7、0在C语言中,不正确的int类型的常数是( A )。A)32768 B)0C)037D)0xAF (11101111=128+64+32+8+4+2+1)11下面四个选项中,均是不合法的整型常量的选项是( D )。A) -0f1 -0xffff 0011B) -0xcdf 017 12456C) -018 999 5e2 D) -0x48eg -068 03f12下面四个选项中,均是不合法的浮点数的选项是( B )。A) 160. 0.12 e3B) 123 2e4.2 .e5C) -.18 123e4 0.0D) -e3 .234 1e3 13下面四个选项中,均是合法的浮点数的选项是( B

8、)。A) 1e1 5e-9.4 03e2B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-014下列变量定义中合法的是( A )。A) short _a=1-.le-1;B) double b=1+5e2.5;C) long do=0xfdaL;D) float 2_and=1-e-3; 15 以下选项中合法的字符常量是( B )。A) “B”B) 010C) 68D) D16以下选项中,非法的字符常量是( C )。A) tB) 17C) nD) xaa17以下所列的C语言常量中,错误的是( B )。A) 0xFFB) 1.2e0

9、.5C) 2LD) 7218在C语言中,char型数据在内存中的存储形式是(D )。A) 补码B) 反码C) 原码D) ASCII码19下面四个选项中,均是合法转义字符的选项是( A )。A) n B) 017 ”C) 018 f xabD) 0 101 xlf20下面四个选项中,均是不合法的转义字符的选项是( B )。A) ” xfB) 1011 aC) 011 f D) abc 101 xlf21下面正确的字符常量是( C)。A) “c”B) C) WD) 22下面四个选项中,均是正确的数值常量或字符常量的选项是(D )。A) 0.0 0f 8.9e &B) a 3.9e-2.5 1e1

10、C) 3 011 0xff00 0aD) +001 0xabcd 2e2 50.23下面不正确的字符串常量是( A )A) abcB) ”1212”C) ”0”D) ” ”24在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( A )。A) charintlong int=floatdoubleB) char=intlong int=floatdoubleC) charintlong int=float=doubleD) char=int=long int=floatdouble25若有说明语句:char c=72;则变量c( A )。A) 包含1个字符B) 包含2

11、个字符C) 包含3个字符D) 说明不合法,c的值不确定26设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( C )。A) intB) floatC) doubleD) 不确定27表达式18/4*sqrt(4.0)/8值的数据类型为( C )。A) intB) floatC) doubleD) 不确定28设有说明:charw; intx; floaty; doublez; 则表达式w*x+z-y值的数据类型为( D )。A) floatB) charC) intD) double29以下选项中属于C语言的数据类型是( C )。A) 复数型B) 逻辑型 双精度型D)

12、 集合型30以下程序的输出结果是(A)main() char c=z; printf(“%c”,c-25);A) aB) ZC) z-25D) y31若有定义:inta=7; floatx=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。A) 2.500000B) 2.750000C) 3.500000D) 0.00000032若有代数式3ae/bc,则不正确的c语言表达式是( C )。A) a/b/c*e*3B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*333设有 intx=11; 则表达式 (x+ * 1/3) 的值是( A

13、 )。A) 3B) 4C) 11D) 1234以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是( A )。A) x/y*zB) x*(1/(y*z)C) x/y*1/zD) x/y/z35C语言中运算对象必须是整型的运算符是( A )。A) %=B) /C) =D) =36下列程序的输出结果是( C)。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) 0D) 3.0737若x,i,j和k都是int型变量,则计算下面表达式x=(i=4

14、, j=16, k=32) 后,x的值为( C )。A) 4B) 16C) 32D) 5238假设所有变量均为整型,则表达式(a=2, b=5, b+, a+b)的值是( B )。A) 7B) 8C) 6D) 239假定x和y为double型,则表达式x=2, y=x+3/2的值是( D)。A) 3.500000B) 3C) 2.000000D) 3.00000040若以下变量均是整型,且num=sum=7;则计算表达式sum=num+, sum+, +num后sum的值为( B )。A) 7B) 8C) 9D) 1041若有定义int k=7,x=12; ,则以下能使值为3的表达式是( D)

15、。A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5D) (x%=k)-(k%=5)42设以下变量均为int类型,则值不等于7的表达式是( C )。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)43下列程序执行后的输出结果是( A)。main() int x=f; printf(“%cn”,A+(x-a+1);A) GB) HC) ID) J44下列程序执行后的输出结果是( C )。main() char x=0xFFFF; printf(%d n,x-);

16、A) 32767B) FFFEC) -1D) 3276845以下程序的输出结果是( D )。main() int a=3; printf(%dn,(a+=a-=a*a);A) -6B) 12C) 0D) 1246若变量已正确定义并赋值,下面符合C语言语法的表达式是( B )。A) a:=b+1B) a=b=c+2C) int 18.5%3D) a=a+7=c+b47若有以下程序段, int c1=1, c2=2, c3; c3=1.0/c2*c1;则执行后,c3中的值是( A )。A) 0B) 0.5C) 1D) 2 48有如下程序 main( ) int y=3, x=3, z=1; pri

17、ntf(“%d %dn”, (+x, y+), z+2); 运行该程序的输出结果是( D )。 A) 3 4B) 4 2C) 4 3D) 3 3 49已知大写字母A的ASCII码为65,以下程序的运行结果为( A )。#includemain( ) char c1=A,c2=Y; printf(“%d,%dn”,c1,c2);A) 65,89B) A,YC) 65,88D) 65,9050以下程序的输出结果是( D )。#includemain() int a=010,b=10; printf(“%d,%dn”,a+,-b);A) 10,10B) 8,10C) 10,9D) 8,951以下程序

18、的输出结果是( B )。main() int a,b; a=100;b=200; printf(“%dn”,(a,b);A) 100B) 200C) 20000D) 100=20052执行语句 y=10;x=y+; 的结果是( C )。A) x=10,y=10B) x=11,y=11C) x=10,y=11 D) x=11,y=1053在表示C语言的整型变量时,表示“无符号长整型”的符号是( D )。A) unsigned intB) unsigned shortC) long intD) unsigned long54在下列形式的常数中,C程序不允许出现的是( B )。A) .45B) 12

19、3C) 25.6e-2D) 4e355以下程序的输出结果是(C )。main() float x=3.6; int i; i=(int)x; printf(“x=%f,i=%d”,x,i);A) x=3.600000,i=4B) x=3,i=3C) x=3.600000,i=3D) x=3.000000,i=3.60000056在C语言中,要求运算数必须是整型数据的运算符是(B )。A) /B) %C) !D) 57执行下列语句的结果是( D )。i=3;printf(“%d,”,+i);printf(“%d”,i+);A) 3,3B) 3,4C) 4,3D) 4,458已知x=3, y=2,

20、则表达式x*=y+8的值为( C )。A) 3B) 2C) 30D) 1459执行语句int i=65536; printf(“%dn”,i); 的结果是( B )。A) 65536B) 0C) 有语法错误,无输出结果D) 160在C语言中,不正确的int类型的常数是(A )。A) 32768B) 0C) 037D) 0xAF61C语言提供的合法关键字是( D )。A) swicthB) chanC) CaseD) default62表示“在使用x之前,先使x的值加1”的正确方式是( A )。A) +xB) x+C) +xD) +x+63设x的值为5,则表达式(+x)+(+x)+(+x)的值是

21、( D )。A) 24B) 20C) 15D) 2164在C语言中,合法的字符常量是( B )。A) 084B) x43(十六进制)C) ab D) “0”65若已定义x和y为double类型,则表达式:x=1, y=x+3/2的值是( C )。A) 1B) 2C) 2.0D) 2.666若t为double类型,表达式t=1, t+5, t+的值是( D )。A) 1B) 6.0C) 2.0D) 1.067若有以下定义和语句,则输出结果是( B )。char c1=b,c2=e;printf(“%d,%cn”,c2-c1,c2-a+A);A) 2,MB) 3,E C) 2,ED) 输出项与对应

22、的格式控制不一致,输出结果不确定68设有如下的变量定义:int i=8,a,b;double x=1.42,y=5.2;则以下符合C语言语法的表达式是(A )。A) a+=a-=(b=4)*(a=3)B) x%(-3)C) a=a*3=2D) y=float(i)69若有以下定义和语句:int u=010,v=0x10,w=10;printf(“%d,%d,%dn”,u,v,w);()则输出结果是(A)。A) 8,16,10B) 10,10,10C) 8,8,10D) 8,10,10二 填空题1若x和a均是int型变量,则计算表达式(1)后的x值为 12 ,计算表达式(2)后的x值为 4 。(

23、1) x=(a=4, 6*2)(2) x=a=4, 6*22若a是int型变量,则表达式(a=4*5, a*2), a+6的值为 26 。3若b是int型变量,则表达式b=25/3%3的值为 2 。4若s是int型变量,且s=6 则下面表达式s%2+(s+1)%2的值为 1 。5若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b值为 4 ,c值为 2 。6若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n+后x的值为 10 ,n的值为 6 。7若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(

24、int)(a+c)/2)%4的值为 5.5 。8若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 3.5 。9若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为 1 。10若x和n均是整型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。11以下程序的输出结果是 0 。main() unsigned short a=65536; int b; printf(“%dn”,b=a);12请写出数学

25、式a/bc的C语言表达式 a/(b*c) 。13设a、b、c为整型数,且a=2、b=3、c=4,则执行完语句 a*=16+(b+)-(+c)后,a的值是 28 。第四章 最简单的C程序设计顺序程序设计一 单项选择题1printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式( B )。A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格D) 输出错误信息2已有定义int a= -2; 和输出语句 printf(“%8x”,a); 以下正确的叙述是( D )。A) 整型变量的输出形式只有%d一种B) %

26、x是格式符的一种,它可以适用于任何一种类型的数据C) %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的D) %8x不是错误的格式符,其中数字8规定了输出字段的宽度3若x, y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是( D )。A) scanf(“%d %x, %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);(双精度型用%le,或者%lf)4以下程序的输出

27、结果是( D )。main( ) int k=17; printf(%d,%o,%xn,k,k,k);A)17,021,0x11B)17,17,17B)17,0x11,021D)17,21,115下列程序的运行结果是( B )。#include main() 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(abrehiyboun); 的输出结果是(C )。(说明:b是退格符)A) abrehiybouB) abrehiybouC) rehiyou D) abrehiy

28、bou7x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B)。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,不正确的输入形式是( B ):A) 10B) 10.0,22.0,33.0 22 33C) 10.0D) 10 22 22.0 33.0 339以下程序的输出结果是(A )

29、。main() int n; (n=6*4,n+6),n*2; printf(“n=%dn”,n);A) 24B) 12C) 26D) 2010以下程序的输出结果是( B )。main() int x=2,y,z; x*=3+1; printf(“%d,”,x+); x+=y=z=5; printf(“%d,”,x); x=y=z; printf(“%dn”,x);A) 8,14,1B) 8,14,5C) 8,13,5D)9,14,511下面程序的输出结果是( C )。main() int x, y, z; x=0;y=z=-1; x+=-z-y;(-z-)-y printf(“x=%dn”,

30、x);A) x=4B) x=0C) x=2D) x=312设x为int型变量,则执行语句x=10; x+=x-=x-x; 后,x的值为( B )。A) 10B) 20C) 40D) 3013只能向终端输出一个字符的函数是(B )。A) printf函数 B) putchar函数C) getchar函数D) scanf函数14下列程序执行后的输出结果是(小数点后只写一位)( A )。main() double d; float f; long l; int i; i=f=1=d=20/3; printf(%d %ld %f %f n, i,l,f,d);A) 6 6 6.0 6.0B) 6 6

31、6.7 6.7C) 6 6 6.0 6.7D) 6 6 6.7 6.015在下列叙述中,错误的一条是( C )。A) printf函数可以向终端输出若干个任意类型的数据B) putchar函数只能向终端输出字符,而且只能是一个字符C) getchar函数只能用来输入字符,但字符的个数不限D) scanf函数可以用来输入任何类型的多个数据16以下程序的输出结果为(B )。main() char c1=a,c2=b,c3=c; printf(“a%cb%ctc%cn”,c1,c2,c3);A) abc abc abcB) aabb ccC) a b cD) aaaa bb17若输入12345和ab

32、c,以下程序的输出结果是( B )。main() int a; char ch; scanf(“%3d%3c”,&a,&ch); printf(“%d, %c” ,a, ch);A) 123, abcB) 123,4C) 123,aD) 12345,abc18以下程序的输出结果是( D )。main() unsigned x1; int b= -1; x1=b; printf(“%u”,x1);A) %uB) -1C) %u-1D) 6553519在printf函数中用来输出十六进制无符号整数的格式字符是( B )。A) d格式符B) x格式符C) u格式符D) o格式符20设a=12、b=1

33、2345,执行语句printf(“%4d,%4d”,a,b)的输出结果为( B )。A) 12, 123B) 12,12345C) 12, 1234D) 12, 12345621以下程序的输出结果是( C )。#include#includemain() int a=1,b=4,c=2; float x=10.5, y=4.0, z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf(“%fn”, z);A) 14.000000B) 15.400000C) 13.700000D) 14.90000022以下程序的输出结果是( D )。main() int a=2

34、, c=5; printf(“a=%d, b=%dn”, a, c);A) a=%2, b=%5 B) a=%2, c=%5C) a=%d, b=%dD) a=%d, b=%d23请读程序:main() int a; float b, c; scanf(“%2d%3f%4f”,&a,&b,&c); printf(“na=%d, b=%f, c=%fn”, a, b, c);若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是( C )。A) a=98, b=765, c=4321 B) a=10, b=432, c=8765 C) a=98, b=765.000000,

35、 c=4321.000000D) a=98, b=765.0, c=4321.024若有定义:int x, y; char a, b, c; 并有以下输入数据(此处代表回车,代表空格):12ABC则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( D )。A) scanf(“x=%d, y=%d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( );B) scanf(“%d %d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( );C) scanf(“%d

36、%d%c%c%c”, &x, &y, &a, &b, &c);D) scanf(“%d%d%c%c%c%c%c%c”, &x, &y, &a, &a, &b, &b, &c, &c);25下列可作为C语言赋值语句的是(C )。A) 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,则正确的输入为( B )。A) 100765.12B) 100, 765.12 C) 100765.12D) x=10

37、0y=765.1227以下叙述中正确的是( D )。A) 输入项可以是一个实型常量,例如:scanf(“%f”, 3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d, b=%d”);C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”, &f);D) 当输入数据时,必须指明变量地址,例如:scanf(“%f”, &f);28设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是( D )。A) 把x和y按从小到大排序B) 把x和y按从大到小排序 C) 无确定结果D) 交换x和y

38、中的值二 填空题1下面程序的运行结果是i:dec=-4,oct=17774,hex=ffffc,unsigned=65532。main() short i; i= -4; printf(“ni: dec=%d, oct=%o, hex=%x, unsigned=%un”, i, i, i, i);2若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 5.0,4,c=3 。int b,c; float a;scanf(%f,%d,c=%d,&a,&b,&c);3下列程序的输出结果是16.00,请填空。main() int a=9, b=2;float x= 6.6 , y=

39、1.1,z;z=a/2+b*x/y+1/2;(1/2=0,a/2=4)printf(%5.2fn, 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, c1=a, c2=b。想得到以下的输出格式和结果,请写出完整的程序(包括定义变量类型和设计输出)。要求输出的结果如下:a= 3 b= 4 c= 5 x=1.200000, y=2.400000, z= -3.600000x+y=3.60 y+z = -1.20z+x= -2.40u=51274n=128756c1= a or97(ASCII)c2= B or98(ASCII)2. 输

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

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com