C语言试题修正版.docx

上传人:b****6 文档编号:4725513 上传时间:2022-12-08 格式:DOCX 页数:23 大小:29.12KB
下载 相关 举报
C语言试题修正版.docx_第1页
第1页 / 共23页
C语言试题修正版.docx_第2页
第2页 / 共23页
C语言试题修正版.docx_第3页
第3页 / 共23页
C语言试题修正版.docx_第4页
第4页 / 共23页
C语言试题修正版.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

C语言试题修正版.docx

《C语言试题修正版.docx》由会员分享,可在线阅读,更多相关《C语言试题修正版.docx(23页珍藏版)》请在冰豆网上搜索。

C语言试题修正版.docx

C语言试题修正版

C语言习题

一、填空题

1、一个C程序有且只有一个main函数

2、表达式10%3的结果为1

3、表达式10/3的结果为3

4、表达式15%7的结果为1

5、设intm=1,n=2,则++m==n的结果是1

6、在16位PC环境下,字符常量‘a’在内存中应占1个字节,字符串常量“a”应占2个字节。

7、一个C语言的语句至少应包含一个分号。

8、若有以下定义,则执行表达式y+=y-=m*=y后的y值是-16

intm=5,y=2;

9、程序设计的三大结构是顺序结构、选择结构、循环结构。

10、执行下列语句后,a=12,a+=a-=a*a,a的值是-264

11、C程序注释是由/*和 */ 所界定的文字信息组成的。

12、C源程序的基本单位是函数。

13、函数是具有相对独立功能的程序段。

14、C语言中的标识符可以由3种字符组成,它们是:

英文字母、下划线、数字,并且第一个字符必须是字母或下划线。

15、以下程序执行后的输出结果是-4。

voidmain()

{

intn=0,m=1,x=2;

if(!

n)x=x-1;

if(m)x=x-2;

if(x)x=x-3;

printf(“%d”,x);

}

16、以下程序执行后的输出结果是5,0,3。

voidmain()

{

inta=4,b=3,c=5,t=0;

if(a

if(a

printf(“%d,%d,%d”,a,b,c);

}

17、以下程序执行后的输出结果是20,0。

voidmain()

{

intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf(“%d,%d”,x,y);

}

18、若运行程序时输入数据为:

60,则以下程序执行后的输出结果是606060。

voidmain()

{

inta;

scanf(“%d”,&a);

if(a>50)printf(“%d\t”,a);

if(a>40)printf(“%d\t”,a);

if(a>30)printf(“%d\t”,a);

}

19、以下程序执行后的输出结果是0。

voidmain()

{inta=5,b=4,c=3,d;d=(a>b>c);printf(“%d”,d);}

20、以下程序执行后的输出结果是0。

voidmain()

{intt=1,i=5;for(;i>=0;i--)t*=i;printf(“%d”,t);}

21、以下程序执行后的输出结果是1,3,2。

voidmain()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:

m++;n++;break;

case10:

n++;break;

default:

k++;n++;

}

printf(“%d,%d,%d”,m,n,k);}

22、执行以下程序后,输出’#’号的个数是6个。

voidmain()

{inti,j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++)printf(“#”);

}

23、以下程序执行后的输出结果是17。

voidmain()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;

}

printf(“%d”,x);

}

24、以下程序执行后的输出结果是5。

voidmain()

{ints,i;for(s=0,i=1;i<3;i++,s+=i);

printf(“%d”,s);

}

二、选择题(50分)

1、一个C语言程序是由C组成。

A.主程序B.子程序C.函数D.过程

2、一个C语言程序总是从C开始执行。

A.主程序B.子程序C.主函数D.函数

3、以下叙述正确的是D。

A.在C程序中,main函数必须位于子程序的最前面

B.C程序的每一行中只能写一条语句

C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

D.C语言本身没有输入输出语句

4、一个C语言程序是由B

A.一个主程序和若干子程序组成B.若干函数组成

C.若干过程组成D.若干子程序组成

5、以下叙述不正确的是:

D

A.一个C源程序可以由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

6、C语言中,最简单的数据类型是B。

A.整形、实型、逻辑型B.整型、实型、字符型

C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型

7、下列关于c语言用户标识符的叙述中正确的是B。

A.用户标识符中可以出现下划线和中划线(减号)

B.用户标识符中不可以出现中划线,但可以出现下划线

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

8、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符C

A.必须为字母B.必须为下划线

C.必须为字母或下划线D.可以是字母,数字和下划线中任-种字符

9、已知各变量的类型说明如下:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下不符合C语言语法的表达式是:

B

A.a+=a-=(b=4)*(a=3)B.a=a*3=2

C.x%(-3)D.y=f1oat(i)

10、以下正确的叙述是:

D

A.在C程序中,每行中只能写一条语句

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数据

C.在C程序中,无论是整数还是实数,都能被准确无误地表示

D.在C程序中,%是只能用于整数运算的运算符

11、若有说明语句:

charc='\72'则变量cA

A.包含1个字符B.包含2个字符

C.包含3个字符D.说明不合法,c的值不确定

12、sizeof(float)是:

C

A.一个双精度型表达式B.一个整型表达式

C.一种函数调用D.一个不合法的表达式

(说明:

sizeof是一个求字节数的运算符,不是函数名,它同时也是一个关键字。

13、有以下程序段:

intm=0,n=0;charc=’a’;

scanf(“%d%d%d”,&m,&c,&n);

printf(“%d,%c,%d”,m,c,n);

若从键盘上输入:

10A10表示回车),则输出结果是A。

A.10,A,10B.10,a,10C.10,a,0D.10,A,0

14、下面标识符中,不合法的用户标识符为D。

A.PadB.a_10C._124D.a#b

15、B是C语言提供的合法的数据类型关键字。

A.FloatB.signedC.integerD.Char

17、不正确的字符串常量是A。

A.‘abc’B.“12’12”C.“0”D.“”

18、若定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是B。

A.70C.3.500000D.0.00000

19、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-’3’;后,c2中存放的字母为A。

B.68C.CD.不确定的值

20、对于int型变量k1,k2,k3,k4,若用以下语句:

scanf(“%d%d”,&k1,&k2);

scanf(“%d%d”,&k3,&k4);

将10赋给k1,k3,将20赋给k2,k4,则应按B格式输入数据。

A.10201020B.10201020

C.10,2010,20D.102010,20

21、有定义语句:

intx,y;,若要通过scanf(“%d%d”,&x,&y)语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中,正确的是C。

A.1112B.12,11

C.1112D.11,12

22、设有以下定义:

#defined2

inta=0;doubleb=1.25;charc=’A’;

则下面语句中错误的是D。

A.a++;B.b++;C.c++;D.d++;

23、若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为:

B

A.7B.8C

(解析:

这是一个逗号表达式,第一个表达式为sum=num++,执行后sum的值为7,第二个表达式为sum++,执行后sum的值为8)

24、能正确表示“当X的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是B。

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)

25、执行下列程序段后,变量m的值是D。

intw=1,x=2,y=3,z=4,m;

m=(w

w:

x;

m=(m

m:

y;

m=(m

m:

z;

A.4B.3C.2

26、判断char型变量ch是否为大写字母的正确表达式是C。

A.‘A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)

C.(ch>=’A’)&&(ch<=’Z’)D.(ch>=’A’)and(ch<=’Z’)

27、设x、y、z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是D。

A.’x’&&’y’B.x<=yC.x||y+z&&y-zD.!

((x

z||1)

28、为表示关系x≥y≥z,应使用C语言表达式A。

A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)

C.x>=y>=zD.(x>=y)||(y>=z)

29、有定义语句:

inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是B。

A.if(c

B.if(a>3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=1;elseif(a<2)x=2;if(a,1)x=3;

D.if(a

30、已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是D。

A.6B.0C.2

解析:

算术运算高于逻辑运算,所以原式相当于!

(x+y)+(z-1)&&(y+z/2)

31、以下运算符中优先级最低的运算符。

A.&&B.&C.!

=D.||

32、下列表达式中,B不满足“当x的值为偶数时值为真,为奇数时值为假“的要求。

A.x%2==0B.!

x%2!

=0C.(x/2*2-x)==0D.!

(x%2)

解析:

运算高于算术运算和关系运算,所以!

x%2!

=0相当于(!

x)%2!

=0,与要求不符。

33、在C语言中,要求运算数必须是整型的运算符是D。

A./B.++C.!

=D.%

34、设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D

A.floatB.charC.intD.double

35下面正确的字符常量是C。

A.“c”B.‘\\’’C.‘’D.‘KK’

36、C语言中while和do—while循环的主要区别是A

A、do—while的循环体至少无条件执行一次

B、While的循环控制条件比do—while的循环控制条件严格

C、do—while允许从外部转到循环体内

D、do—while循环体不能是复合语句

37、若i为整型变量,则以下循环执行次数是B

for(i=2;i==0;)printf(“%d”,i--)

A、无限次B、0次C、1次D、2次

38、执行下面程序后的输出为D

#include

main()

{inty=10;

while(y--);

printf(“y=%d\n”,y) ;

}

A、y=0B、while构成无限循环C、y=1D、y=-1

39、下列程序中,判断i>j共执行了D次。

voidmain()

{inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j){printf(“%d”,s);break;}

s+=i;

}

}

A.4B.7C.5

40、C语言规定,在一个源程序中,main函数的位置_C__.

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

41、以下程序执行后的输出结果是B。

voidmain()

{inti=0,a=0;

while(i<20)

{for(;;){if((i%10)==0)break;elsei--;}

i+=11;a+=i;

}

Printf(“%d”,a);

}

A.21B.32C

42、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为B。

A、0~255B、0~32767C、0~65535D、-32768~32767

43、逻辑运算的结果_A。

A、只能是0和1B、只能是0或非0正数

C、只能是整型或字符型数据D、可以是任何类型的数据

44、以下关于C语言中数组的描述正确的是C。

A.数组的大小是固定的,但可以有不同的类型的数组元素。

B.数组的大小是可变的,但所有数组元素的类型必须相同。

C.数组的大小是固定的,所有数组元素的类型必须相同。

D.数组的大小是可变的,可以有不同的类型的数组元素。

45、以下一维数组a的正确定义是D。

A.inta(10);

B.intn=10,a[n];

C.intn;scanf(“%d”,&n);inta[n];

D.#defineSIZE10

inta[SIZE];

46、在定义inta[10];之后,对a的引用正确的是D。

A.a[10]B.a[6.3]C.a(6)D.a[10-10]

47、以下对二维数组a进行不正确初始化的是D。

A.inta[2][3]={0};

B.inta[][3]={{3,2,1},{1,2,3}};

C.inta[2][3]={{3,2,1},{1,2,3}};

D.inta[][]={{3,2,1},{1,2,3}};

48、在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][1]的值是D。

A.4B.1C.2D.5

49、为了判断两个字符串s1和s2是否相等,应当使用D。

A.if(s1==s2)

B.if(s1=s2)

C.if(strcpy(s1,s2))

D.if(strcmp(s1,s2)==0)

50、在C语言中,引用数组元素时,其数组下标的数据类型允许是B。

A、整型常量B、整型表达式

C、整型变量D、任何类型的表达式

三、判断题(正确的填T,错误的填F)

1.在C语言中,逗号运算符的优先级最低。

(T)

2.在C语言可执行程序的开始执行点是程序中第一个函数。

(F)

3.“5ch”是合法的变量名。

(F)

4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。

(T)

5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)(T)

6.表达式i++与++i在任何场合功能完全相同。

(F)

7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

(T)

8.C语言程序中,语句以逗号结尾。

(F)

9.在C程序中,APH和aph代表不同的变量。

(T)

10.a-=7等价于a=a-7。

(T)

11.printf函数中用到格式符“%5s”,其中数字5表示输出的字符串占5列。

如果字符串长度大于5,则输出按原字符串长度从左向右全部输出。

(T)

12.如果x>y为真或ay)&&(a

(F)

13.C语言程序的变量必须先定义再使用。

(T)

a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。

(F)

main函数开始,在程序的最后一个函数中结束。

(F)

16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。

(T)

17.运算符优先顺序:

赋值运算符<逻辑运算符<关系运算符<算术运算符(F)

18.对应float类型的变量,也可以用等号“==”进行数值的判断。

(F)

19.表达式:

1&&3.14和1&3的值一样大。

(F)

20.为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。

(T)

21、任何C程序都是从main函数开始和结束;(T)

22.在C程序中,使用分号“;”表示语句的结束。

(T)

23.C程序至少要有一个main函数,并且同一个程序中可以有多个main函数。

(F)

24.在C程序中,无论是整数还是实数,都能准确无误的表示。

(F)

25.在C程序中,赋值运算符的优先级最低。

(F)

26.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。

(F)

27.在C程序中,变量可以一边定义一边使用。

(F)

28.C程序中的注释部分可有可无,可以省略。

(T)

29.字符型变量可以存放多个字符。

(F)

30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(F)

31.一个C程序的执行是从本程序的main函数开始,到main函数结束。

(T)

 

二级C语言程序设计模拟试题

(一)

一、单项选择题。

(每小题1分,共20分)

1、一个C语言程序是由(B)组成。

A)一个函数B)一个或若干个函数

C)一个过程D)一个过程或若干个过程

知识点:

C语言程序的结构

2、C语言用(D)表示逻辑真值。

A)trueB)TC)整型值0D)非0整型值

知识点:

数据类型

3、如果程序中有#include"文件名"则意味着(A)。

A)将"文件名"所指的那个文件的全部内容,在此命令行出现的这一点上,插入源程序

B)指定标准输入输出

C)宏定义一个函数

D)条件编译说明

知识点:

编译预处理

4、为一个结构体变量分配存储空间时,其所占容量为(B)。

A)结构体中第一个成员所占容量B)结构体中所有成员所占容量

C)结构体中所有成员中所占容量最大者D)结构体中最后一个成员所占容量

知识点:

结构体

5、如果int*px,*py;则可用{temp=*px;*px=*py;*py=temp}实现*px和*py的交换。

其中temp应该说明为(A)。

A)inttempB)int&tempC)int**tempD)int*temp

知识点:

指针

6、于合法的c语言长整型常量是(A)。

A)12LB)6887273C)5E12D)(long)6887273

知识点:

数据类型

7、下列程序输出正确的是(A)。

main()

{inta=-1,b=1,c;

c=(a++<=0)&&!

((b--<=0));

printf(“%d,%d,%d”,a,b,c);

}

A)0,0,1B)-1,1,1C)0,0,0D)0,1,0

知识点:

逻辑运算符

8、已知E的ASCII码是69,则执行printf(“%c”,’D’-‘8’+’5’);的结果是(B)。

A)66B)AC)BD)E

知识点:

数据类型与自动转换

9、段名访问的方式是(A)

A)结构名.位段名B)位段名C)结构名D)*&位段名

知识点:

位段

10、有字符数组a,则正确的输入语句是(C)。

A)gets('a');B)scanf("%c",a);C)scanf("%s",a);D)gets("a");

知识点:

字符数组

11、如果程序中有staticcharc;则编译时会对其自动设置初始值为(C)

A)'\n'B)"\n"C)0D)'\0'

知识点:

存储类型与静态变量

12、如果程序中有语句FILEfp;fp=fopen("abc.txt","w");则程序准备做(C)。

A)对文件读写操作B)对文件读操作C)对文件写操作D)对文件不操作

13、如果有#definef(x,y)x+y及inta=2,b=3;则执行printf("%d",f(a,b)*f(a,b))后的值为(C)。

A)36B)25C)11D)13

14、在下面的说明中,(D)是指向函数的指针。

A)int*p[];B)int(*p)[];C)*p();D)(*p)();

15、如果在C程序中有main(intargc,char*argv[]),那么(D)是指命令行中的参数个数。

A)argvB)argv[]C)argc,argv[]D)argc

16、下列程序运行的结果是(B)。

#include

main()

{unsigneda,b,x;

a=0x255;

b=a<<4

x=(~b)&0xff

}

A)0x55B)0xafC)0x50D)0xda

17、下面程序中选择正确答案(C)

main()

{intk=0;

while(printf(“

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1