C语言题库2.docx

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

C语言题库2.docx

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

C语言题库2.docx

C语言题库2

试卷编号:

9049所属语言:

TurboC试卷方案:

09

(2)模拟试卷总分:

100分共有题型:

5种

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

第1题(1.0分)

C语言表达式!

(3<6)||(4<9)的值是【1】.

答案:

1).1

第2题(1.0分)

inta=1,b=2,c=3;执行语句a=b=c;后a的值是【1】.

答案:

1).3

第3题(1.0分)

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

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

答案:

1).9,10

第4题(1.0分)

执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d",a++);

答案:

1).4,4

第5题(1.0分)

当a=1,b=2,c=3时,执行以下程序段后b=【1】.

if(a>c)b=a;

a=c;

c=b;

答案:

1).2

第6题(1.0分)

假设有条件intx=1,y=2,z=3;则表达式z+=x>y?

++x:

++y的值是【1】.

答案:

1).6

第7题(1.0分)

执行下列语句后,b的十进制值是【1】.

intx=240,y=15,b;

charz='A';

b=((x&&y)&&(z<'a'));

答案:

1).1

第8题(1.0分)

当a=3,b=2,c=1;时,执行以下程序段后a=【1】.

if(a>b)a=b;

if(b>c)b=c;

elsec=b;

c=a;

答案:

1).2

第9题(1.0分)

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

#include"stdio.h"main(){inta;for(a=0;a<10;a++);printf("%d",a);}

答案:

1).10

第10题(1.0分)

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

答案:

1).0

第11题(1.0分)

以下程序段要求从键盘输入字符,当输入字母为'Y'时,执行循环体,则括号内应填写【1】.

ch=getchar();

while(ch____'Y')/*在括号中填写*/

ch=getchar();

答案:

1).==

第12题(1.0分)

以下do-while语句中循环体的执行次数是【1】.

a=10;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

答案:

1).3

第13题(1.0分)

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

答案:

1).0

第14题(1.0分)

如果函数不要求带回值,可用【1】来定义函数返回值为空.

答案:

1).void

第15题(1.0分)

C语言源程序的基本单位是【1】.

答案:

1).函数

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

第1题(1.0分)

a=(b=4)+(c=6)是一个合法的赋值表达式.答案:

Y

第2题(1.0分)

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

Y

第3题(1.0分)

语句printf("%f%%",1.0/3);输出为0.333333.答案:

N

第4题(1.0分)

语句scanf("%7.2f",&a);是一个合法的scanf函数.答案:

N

第5题(1.0分)

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

N

第6题(1.0分)

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

N

第7题(1.0分)

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

答案:

N

第8题(1.0分)

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

N

第9题(1.0分)

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

N

第10题(1.0分)

任何数组的下标都是从0开始;答案:

Y

第11题(1.0分)

C语言中只能逐个引用数组元素而不能一次引用整个数组.答案:

Y

第12题(1.0分)

数组中的元素类型不能不同答案:

Y

第13题(1.0分)

通过return语句,函数可以带回一个或一个以上的返回值.答案:

N

第14题(1.0分)

如果函数值的类型和return语句中表达式的值不一致,则以

函数类型为准.答案:

Y

第15题(1.0分)

C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:

N

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

第1题(2.0分)

下列程序的输出结果是().

main()

{

printf("%d\n",null);

}

A:

0

B:

变量无定义

C:

-1

D:

1

答案:

B

第2题(2.0分)

用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().

longa=0xffffff;

intb;charc;

A:

0ffffff和0x61

B:

-1和98

C:

-1和97

D:

指向同一地址

答案:

C

第3题(2.0分)

已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用

八进制表示的字符常量'\101'是().

A:

字符A

B:

字符a

C:

字符e

D:

非法的常量

答案:

A

第4题(2.0分)

若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),

则以下程序段的执行结果是().

ch='a';k=12;printf("%x,%o,",ch,ch);printf("k=%%%d\n",k);

A:

因变量类型与格式描述符的类型不匹配,输出无定值

B:

输出项与格式描述符个数不符,输出为零值或不定值

C:

61,141,k=%12

D:

61,141,k=%d答案:

C

第5题(2.0分)

若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().

A:

scanf("%6.2f%d",&a,&b);

B:

scanf("%f%n",&a,&b);

C:

scanf("%f%3o",&a,&b);

D:

scanf("%f%f",&a,&b);

答案:

C

第6题(2.0分)

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

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分)

inta=1,b=2,c=3;

if(a>c)b=a;a=c;c=b;则c的值为().

A:

1

B:

2

C:

3

D:

不一定

答案:

B

第8题(2.0分)

下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是().

A:

8

B:

23

C:

17

D:

6

答案:

B

第9题(2.0分)

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

A:

?

:

B:

++

C:

&&

D:

答案:

B

第10题(2.0分)

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

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

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

A:

最多执行10次

B:

最多执行9次

C:

是无限循环

D:

循环体一次也不执行

答案:

A

第11题(2.0分)

下面有关for循环的正确描述是().

A:

for循环只能用于循环次数已经确定的情况

B:

for循环是先执行循环循环体语句,后判断表达式

C:

在for循环中,不能用break语句跳出循环体

D:

for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:

D

第12题(2.0分)

以下程序的运行结果是().

main()

{intn;

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

{

if(n%3==0)continue;

printf("%d",n);

}

}

A:

12457810

B:

369

C:

12

D:

1234567890

答案:

A

第13题(2.0分)

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

for(i=4;i>1;i--)

for(j=1;j

putchar('#');

A:

B:

######

C:

#

D:

###

答案:

B

第14题(2.0分)

设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分)

在C语言中,为了结束由while语句构成的循环,while后一对圆括号

中表达式的值应该为().

A:

0

B:

1

C:

True

D:

非0

答案:

A

第16题(2.0分)

以下对一维整型数组a的正确说明是().

A:

inta(10);

B:

intn=10,a[n];

C:

intn;scanf("%d",&n);inta[n];

D:

#defineSIZE10(换行)inta[SIZE];

答案:

D

第17题(2.0分)

在C语言中,引用数组元素时,其数组下标的数据类型允许是().

A:

整型常量

B:

整型表达式

C:

整型常量或整型表达式

D:

任何类型的表达式

答案:

C

第18题(2.0分)

以下不能正确定义二维数组的选项是().

A:

inta[2][2]={{1},{2}};

B:

inta[][2]={1,2,3,4};

C:

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

D:

inta[2][]={{1,2},{3,4}};

答案:

D

第19题(2.0分)

若有说明:

inta[3][4]={0};则下面正确的叙述是().

A:

只有元素a[0][0]可得到初值0

B:

此说明语句不正确

C:

数组a中各元素都可得到初值,但其值不一定为0

D:

数组a中每个元素均可得到初值0

答案:

D

第20题(2.0分)

以下数组定义中不正确的是().

A:

inta[2][3];

B:

intb[][3]={0,1,2,3};

C:

intc[100][100]={0};

D:

intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:

D

四、程序填空共2题(共计12分)

第1题(6.0分)

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

【程序填空】

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

题目:

从读入的整数数据中,统计大于零的整数个数和小于零的

整数个数。

用输入零来结束输入,程序中用变量i统计大于

零的整数个数,用变量j统计小于零的整数个数。

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

#include

main()

{intk,n,i,j;

printf("EnterINTnumber,with0toend\n");

i=j=0;

scanf("%d",&n);

while(n!

=0)

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

{if(n>0)i=【?

】;

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

if(n<0)j=【?

】;

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

scanf("%d",【?

】);

}

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

}

答案:

1).i+1

2).j+1

3).&n

第2题(6.0分)

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

【程序填空】

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

题目:

以下程序是用选择法对10个整数按升序排序,程序中有4个空,

填空使程序完整。

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

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

【?

main()

{

inti,j,k,t,a[N];

for(i=0;i<=N-1;i++)

scanf("%d",&a[i]);

for(i=0;i

{

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

【?

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

for(j=i+1;【?

】;j++)

if(a[j]

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

if(【?

】){t=a[i];a[i]=a[k];a[k]=t;}

}

printf("outputthesortedarray:

\n");

for(i=0;i<=N-1;i++)

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

printf("\n");

}

答案:

1).#defineN10

2).k=i;

3).jj或j<=N-1或N-1>=j

4).k!

=i

 

五、程序设计共3题(共计18分)

第1题(6.0分)

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

【程序设计】

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

题目:

编写函数fun求1!

+2!

+3!

+……+n!

的和,在

main函数中由键盘输入n值,并输出运算结果。

编写fun函数。

例如:

若n值为20,则结果为268040729。

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

注意:

部分源程序给出如下。

请勿改动主函数main和其

它函数中的任何内容,仅在函数fun的花括号中填

入所编写的若干语句。

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

#include

floatfun(intn)

{

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

 

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

}

main()

{

inti,n;

longintresult;

scanf("%d",&n);

result=fun(n);

printf("%ld\n",result);

yzj();

}

yzj()

{

FILE*IN,*OUT;

inti;

intiIN;

longintiOUT;

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

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

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

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

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

iOUT=fun(iIN);

fprintf(OUT,"%ld\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

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

inti;

floatf=1,s=0;

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

{f=f*i;

s=s+f;}

returns;

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

第2题(6.0分)

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

【程序设计】

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

题目:

编写函数fun其功能是:

根据整型形参m,

计算如下公式的值:

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:

若m=9,则应输出:

1.168229

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

注意:

部分源程序给出如下。

请勿改动主函数main

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

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

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

#include"stdio.h"

 

doublefun(intm)

{

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

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

}

main()

{intn;

clrscr();

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

ints,i;

intt;

floato;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

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

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

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

答案:

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

doubley=0;

inti;

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

{y+=1.0/(i+5);}

return(y);

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

第3题(6.0分)

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

【程序设计】

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

题目:

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

求给定正整数m以

内的素数之和。

例如:

当m=20时,函数值为77。

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

注意:

部分源程序给出如下。

请勿改动主函数main和其

它函数中的任何内容,仅在函数fun的花括号中填

入所编写的若干语句。

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

#include"stdio.h"

intfun(intm)

{

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

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

}

main()

{

inty;

y=fun(20);

printf("y=%d\n",y);

yzj();

}

yzj()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

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

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

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

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

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

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

答案:

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

inti,k,s=0;

for(i=2;i<=m;i++)

{for(k=2;k

if(i%k==0)break;

if(k==i)s=s+i;

}

returns;

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

 

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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