C语言题库10.docx

上传人:b****5 文档编号:12087431 上传时间:2023-04-17 格式:DOCX 页数:24 大小:20.78KB
下载 相关 举报
C语言题库10.docx_第1页
第1页 / 共24页
C语言题库10.docx_第2页
第2页 / 共24页
C语言题库10.docx_第3页
第3页 / 共24页
C语言题库10.docx_第4页
第4页 / 共24页
C语言题库10.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言题库10.docx

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

C语言题库10.docx

C语言题库10

试卷编号:

9680

所属语言:

C语言

试卷方案:

期中

试卷总分:

100分

共有题型:

5种

 

一、填空共15题(共计15分)

第1题(1.0分)题号:

78

已知i=5;写出语句i+=012;执行后整型变量i的十进制值是【1】.

答案:

=======(答案1)=======

15

 

第2题(1.0分)题号:

84

写出语句b=(a=6,a*3);执行后整型变量b的值是【1】.

答案:

=======(答案1)=======

18

 

第3题(1.0分)题号:

80

已知i=5,写出语句i*=i+1;执行后整型变量i的值是【1】.

答案:

=======(答案1)=======

30

 

第4题(1.0分)题号:

431

执行下面两个语句,输出的结果是【1】,charc1=97,c2=98;printf("%d%c",c1,c2);

答案:

=======(答案1)=======

97b

 

第5题(1.0分)题号:

436

下列程序的输出是【1】,

main(){inta=011;printf("%d\n",++a);}

答案:

=======(答案1)=======

10

 

第6题(1.0分)题号:

437

以下程序的输出结果为【1】,

#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}

答案:

=======(答案1)=======

9,10

 

第7题(1.0分)题号:

85

已知a=12,写出表达式(0

答案:

=======(答案1)=======

0

 

第8题(1.0分)题号:

95

已知a=13,b=6,a&&b的十进制数值为【1】.

答案:

=======(答案1)=======

1

 

第9题(1.0分)题号:

303

为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.

答案:

=======(答案1)=======

if

 

第10题(1.0分)题号:

533

设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.

for(x=0,y=0;y!

=123&&x<3;x++)

scanf("%d",&y);

答案:

=======(答案1)=======

3

 

第11题(1.0分)题号:

398

程序段intk=10;while(k=0)k=k-1循环体语句执行【1】次.

答案:

=======(答案1)=======

0

 

第12题(1.0分)题号:

311

若所用变量均已正确定义,则执行下面程序段后的值是【1】.

 

for(i=0;i<2;i++)printf("YES");printf("\n");

答案:

=======(答案1)=======

YESYES

 

第13题(1.0分)题号:

334

若有以下数组a,数组元素:

a[0]~a[9],其值为

941282107513

该数组中下标最大的元素的值是【1】.

答案:

=======(答案1)=======

3

 

第14题(1.0分)题号:

382

若有定义:

chars[]="china";

则TurboC系统为数组s开辟【1】个字节的内存单元.

答案:

=======(答案1)=======

6

 

第15题(1.0分)题号:

328

C语言中,数组元素的下标下限为【1】.

答案:

=======(答案1)=======

0

 

二、判断共15题(共计15分)

第1题(1.0分)题号:

928

C程序中的关键字必须小写.

答案:

Y

第2题(1.0分)题号:

933

在C语言中,变量必需先定义后使用

答案:

Y

第3题(1.0分)题号:

878

若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28.

答案:

N

第4题(1.0分)题号:

194

若有定义和语句:

inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);

若通过键盘输入:

10,A,12.5,则a=10,c='A',f=12.5.

答案:

Y

第5题(1.0分)题号:

948

用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&.

答案:

Y

第6题(1.0分)题号:

947

printf函数中,%c和%s都可以输出字符串.

答案:

N

第7题(1.0分)题号:

956

在switch-case语句中,必须使用default语句.

答案:

N

第8题(1.0分)题号:

959

在switch-case语句中,不是每个case后都要使用break语句.

答案:

Y

第9题(1.0分)题号:

949

关系运算符的优先级高于算术运算符并且低于赋值运算符.

答案:

N

第10题(1.0分)题号:

953

C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.

答案:

N

第11题(1.0分)题号:

952

do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.

答案:

N

第12题(1.0分)题号:

742

若有说明intc;则while(c=getchar());是正确的C语句.

答案:

Y

第13题(1.0分)题号:

931

C语言编译系统为所定义的数组变量在内存中是分配一片连续的存储单元

答案:

Y

第14题(1.0分)题号:

909

数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数.

答案:

N

第15题(1.0分)题号:

941

在定义二维数组时,可以将该数组的两个维数全部省略

答案:

N

三、单项选择共20题(共计40分)

第1题(2.0分)题号:

2236

下面四个选项中,均是不合法的浮点数的选项是().

A:

160.0.12e3

B:

1232e4.2.e5

C:

-.18123e40.0

D:

-e3.2341e3

 

答案:

B

第2题(2.0分)题号:

2241

已定义ch为字符型变量,以下赋值语句中错误的是().

A:

ch='\';

B:

ch=62+3;

C:

ch=NULL;

D:

ch='\xaa';

 

答案:

A

第3题(2.0分)题号:

2223

若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是().

A:

1

B:

2

C:

2.0

D:

2.5

 

答案:

C

第4题(2.0分)题号:

2043

已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为().

chara='a';a--;

printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

A:

b,c

B:

a--运算不合法,故有语法错

C:

98,c

D:

格式描述和输出项不匹配,输出无定值

 

答案:

C

第5题(2.0分)题号:

2189

从键盘上输入某字符串时,不可使用的函数是().

A:

getchar()

B:

gets()

C:

scanf()

D:

fread()

 

答案:

A

第6题(2.0分)题号:

2049

以下程序的输出结果为().

main()

{inti=010,j=10;

printf("%d,%d\n",++i,j--);

}

A:

11,10

B:

9,10

C:

010,9

D:

10,9

 

答案:

B

第7题(2.0分)题号:

2027

下列运算符中,不属于关系运算符的是().

A:

<

B:

>

C:

>=

D:

!

 

答案:

D

第8题(2.0分)题号:

2002

在C语言中,能代表逻辑值"真"的是().

A:

True

B:

大于0的数

C:

非0整数

D:

非0的数

 

答案:

D

第9题(2.0分)题号:

2261

若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达

式的值为"假",则以下不能满足要求的表达式是().

A:

A%2==1

B:

!

(A%2==0)

C:

!

(A%2)

D:

A%2

 

答案:

C

第10题(2.0分)题号:

2047

a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是().

A:

a*b/a*b==1

B:

a/b*b/a==1

C:

a/b*b+a%b==a

D:

a/b*b==a

 

答案:

C

第11题(2.0分)题号:

2011

以下运算符中,优先级最高的运算符是().

A:

*=

B:

>=

C:

(类型)

D:

+

 

答案:

C

第12题(2.0分)题号:

2251

以下不是无限循环的语句为().

A:

for(y=0,x=1;x>++y;x=i++)i=x;

B:

for(;;x++=i);

C:

while

(1){x++;}

D:

for(i=10;;i--)sum+=i;

 

答案:

A

第13题(2.0分)题号:

2061

在以下给出的表达式中,与do--while(E)语句中的(E)不等价的

表达式是().

A:

(!

E==0)

B:

(E>0||E<0)

C:

(E==0)

D:

(E!

=0)

 

答案:

C

第14题(2.0分)题号:

2069

设j和k都是int类型,则for循环语句

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);().

A:

最多执行10次

B:

最多执行9次

C:

是无限循环

D:

循环体一次也不执行

 

答案:

A

第15题(2.0分)题号:

2258

以下描述中正确的是().

A:

由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B:

do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C:

在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D:

do-while循环中,根据情况可以省略while

 

答案:

C

第16题(2.0分)题号:

2254

对for(表达式1;;表达式3)可理解为().

A:

for(表达式1;0;表达式3)

B:

for(表达式1;1;表达式3)

C:

for(表达式1;表达式1;表达式3)

D:

for(表达式1;表达式3;表达式3)

 

答案:

B

第17题(2.0分)题号:

2280

若有说明inta[3][4];则对a数组元素的正确引用是().

A:

a[2][4]

B:

a[1,3]

C:

a[1+1][0]

D:

a

(2)

(1)

 

答案:

C

第18题(2.0分)题号:

2268

对以下说明语句inta[10]={6,7,8,9,10};的正确理解是().

A:

将5个初值依次赋给a[1]至a[5]

B:

将5个初值依次赋给a[0]至a[4]

C:

将5个初值依次赋给a[6]至a[10]

D:

因为数组长度与初值的个数不相同,所以此语句不正确

 

答案:

B

第19题(2.0分)题号:

2292

以下不能正确进行字符串赋初值的语句是().

A:

charstr[5]="good!

";

B:

charstr[]="good!

";

C:

char*str="good!

";

D:

charstr[5]={'g','o','o','d'};

 

答案:

A

第20题(2.0分)题号:

2256

printf函数中用到格式符%5s,其中数字5表示输出的字符串占用

5列,如果字符串长度大于5,则输出按方式().

A:

从左起输出该字符串,右补空格

B:

按原字符长从左向右全部输出

C:

右对齐输出该字串,左补空格

D:

输出错误信息

 

答案:

B

四、程序填空共4题(共计24分)

第1题(6.0分)题号:

427

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

百鸡问题:

100元买100只鸡,公鸡一只5元钱,母鸡一只3

元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡

各多少只?

-------------------------------------------------------*/

#include

main()

{intcocks,hens,chicks;

cocks=0;

while(cocks<=19)

/***********SPACE***********/

{【?

】=0;

/***********SPACE***********/

while(hens<=【?

】)

{chicks=100.0-cocks-hens;

if(5.0*cocks+3.0*hens+chicks/3.0==100.0)

printf("%d,%d,%d\n",cocks,hens,chicks);

/***********SPACE***********/

【?

】;

}

/***********SPACE***********/

【?

】;

};

}

答案:

=======(答案1)=======

hens

=======(答案2)=======

33

=======(答案3)=======

hens++

=========或=========

++hens

=========或=========

hens=hens+1

=======(答案4)=======

cocks++

=========或=========

++cocks

=========或=========

cocks=cocks+1

=========或=========

cocks=cocks+1

 

第2题(6.0分)题号:

459

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为

1~100分。

选手最后得分为:

去掉一个最高分和一个最低分

后其余8个分数的平均值。

请编写一个程序实现。

-------------------------------------------------------*/

#include

voidmain()

{

intscore,i,max,min,sum;

max=-32768;

min=32767;

sum=0;

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

{

printf("Inputnumber%d=",i);

/***********SPACE***********/

scanf("%d",【?

】);

sum+=score;

/***********SPACE***********/

if(【?

】)max=score;

/***********SPACE***********/

if(【?

】)min=score;

}

printf("Canceledmaxscore:

%d\nCanceledminscore:

%d\n",max,min);

/***********SPACE***********/

printf("Averagescore:

%d\n",【?

】);

}

 

答案:

=======(答案1)=======

&score

=======(答案2)=======

score>max

=========或=========

max

=======(答案3)=======

score

=========或=========

min>score

=======(答案4)=======

(sum-max-min)/8

=========或=========

(sum-max-min)/8

 

第3题(6.0分)题号:

31

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

以下程序的功能是用冒泡法对数组a进行由小到大的

排序。

-------------------------------------------------------*/

voidfun(inta[],intn)

{

inti,j,t;

/***********SPACE***********/

for(j=0;【?

】;j++)

/***********SPACE***********/

for(i=0;【?

】;i++)

/***********SPACE***********/

if(【?

】)

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

}

main()

{

inti,a[10]={3,7,5,1,2,8,6,4,10,9};

/***********SPACE***********/

【?

】;

for(i=0;i<10;i++)

printf("%3d",a[i]);

}

 

答案:

=======(答案1)=======

j<=n-1

=========或=========

n-1>=j

=========或=========

j<=-1+n

=========或=========

-1+n>=j

=========或=========

j

=========或=========

n>j

=========或=========

j

=======(答案2)=======

i

=========或=========

n-j-1>i

=========或=========

i

=========或=========

n-1-j>i

=========或=========

i<=n-j-2

=========或=========

i<=n-2-j

=======(答案3)=======

a[i]>a[i+1]

=========或=========

a[i+1]

=======(答案4)=======

fun(a,10)

 

第4题(6.0分)题号:

477

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

编写程序,输出1000以内的所有完数及其因子。

所谓完数是指一个

整数的值等于它的因子之和。

例如6的因子是1、2、3,而6=1+2+3,故6是一个完数。

-------------------------------------------------------*/

#include

main()

{inti,j,m,s,k,a[100];

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

{m=i;s=0;k=0;

for(j=1;j

/***********SPACE***********/

if(【?

】)

{s=s+j;

/***********SPACE***********/

【?

】=j;

}

if(s!

=0&&s==m)

/***********SPACE***********/

{for(j=0;【?

】;j++)

printf("%4d",a[j]);

printf("=%4d\n",i);

}

}

}

答案:

=======(答案1)=======

m%j==0

=======(答案2)=======

a[k++]

=======(答案3)=======

j

=========或=========

k>j

 

五、程序设计共1题(共计6分)

第1题(6.0分)题号:

334

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:

编写函数fun,函数的功能是:

计算并输出

给定整数的所有因子之积(包括自身)。

定这个整数的值不大于50。

--------------------------------------------------

注意:

部分源程序给出如下。

请勿改动主函数main

和其它函数中的任何内容,仅在函数fun的花

括号中填入所编写的若干语句。

------------------------------------------------*/

#include"stdio.h"

#include"conio.h"

 

longintfun(intn)

{

/**********Program**********/

 

/**********End**********/

}

main()

{intm;

printf("Enterm:

");

scanf("%d",&m);

printf("\nTheresultis%ld\n",fun(m));

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

ints;

intt;

longinto;

IN=fopen("in.dat","r");

if(IN==NULL)

{printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{printf("WriteFileError");

}for(s=1;s<=5;s++)

{fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%ld\n"

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

当前位置:首页 > 工程科技 > 兵器核科学

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

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