C模拟试题及参考答案.docx

上传人:b****6 文档编号:4558486 上传时间:2022-12-06 格式:DOCX 页数:10 大小:19.01KB
下载 相关 举报
C模拟试题及参考答案.docx_第1页
第1页 / 共10页
C模拟试题及参考答案.docx_第2页
第2页 / 共10页
C模拟试题及参考答案.docx_第3页
第3页 / 共10页
C模拟试题及参考答案.docx_第4页
第4页 / 共10页
C模拟试题及参考答案.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C模拟试题及参考答案.docx

《C模拟试题及参考答案.docx》由会员分享,可在线阅读,更多相关《C模拟试题及参考答案.docx(10页珍藏版)》请在冰豆网上搜索。

C模拟试题及参考答案.docx

C模拟试题及参考答案

C语言程序设计模拟试题

一、单项选择题(每小题2分,共50分)

1、一个C程序的执行是从__A_____。

A、本程序的main函数开始,到main函数结束

B、本程序的main函数开始,到本程序文件的最后一个函数结束

C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

2、C语言程序的基本单位是____C____。

A、程序行B、语句

C、函数D、字符

3、请选出可用作C语言用户标识符的一组标识符__B______。

A、voidB、a3_b3C、ForD、2a

define_123-abcDO

WORDIFasesizeof

4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是___C___。

A、4.500000B、4

C、4.000000D、2.000000

5、下列可以正确表示字符型常量的是___D___。

A、297B、"a"

C、"\n"D、'\t'

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

A、/B、++

C、*=D、%

7、C语言中,复合语句的构成是将一系列语句置于_____C_。

A、begin与end之间

B、方框号“[]”之间

C、花括号“{}”之间

D、圆括号“()”之间

8、有如下程序段,对应正确的数据输入是____A___。

floatx,y;

scanf(”%f%f”,&x,&y);

printf(”a=%f,b=%f”,x,y);

A、2.04<回车>B、2.04,5.67<回车>

5.67<回车>

C、A=2.04,B=5.67<回车>D、2.045.67<回车>

9、以下程序段的输出结果是___D___。

inta=5678;

printf(”%2d\n”,a);

A、提示出错、无结果B、56

C、78D、5678

10、已知:

charch='A';则下列表达式的值是__B____。

ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch;

A、AB、aC、ZD、z

11、下列描述,正确的是____B__。

A、表达式3.91%5是合法的

B、用b=89作为while循环的条件是合法的

C、逗号表达式是没有值和类型的

D、字符型变量和int型变量的操作完全不同

12、阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘上输人5,则输出结果是_B_____。

A、3B、4C、5D、6

13、下列程序的运行结果是_____C_。

#include”stdio.h”

main()

{intk;

k=3;

switch(k)

{case1:

printf(”%d\n”,k++);

case2:

printf(”%d\n”,k++);

case3:

printf(”%d\n”,k++);

case4:

printf(”%d\n”,k++);

break;

default:

printf(”Full!

\n”);

}

}

A、3B、4C、3D、4

44

14、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、

m=2、n=1,则逻辑表达式(m==a

A、0B、1C、2D、3

15、设x、y和temp均为longint型变量,则以下语句:

{temp=x;x=y;y=temp;}的功能是____D__。

A、把x和y按从大到小排列

B、把x和y按从小到大排列

C、无确定结果

D、交换变量x和变量y的值

16、以下程序的输出结果是____A__。

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

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

}

A、4B、6C、5D、101

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

main()

{inty=10;

do{y--;}

while(--y);

printf("%d\n",y--);}

A、-1  B、1 C、8  D、0

18、执行以下程序后输出的结果是__B_____。

main()

{inti,j,w=0;

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

for(j=1;j<=2;j++)

w=w+i*j;w=i*j;

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

}

A、4B、0C、1D、30

19、以下程序运行后,输出结果是__C____。

main()

{

intn[5]={3,3,3},i,k=2;

for(i=0;i

printf("%d\n",n[k]);

}

A、4B、9C、3D、不确定的值

20、以下程序的输出结果是____A__。

f(inta)

{intb=0;

staticintc=3;

b++;c++;

return(a+b+c);

}

main()

{inta=2,i;

for(i=0;i<3;i++)printf("%d\n",f(a));

}

A、7B、7C、7D、7

89107

911137

21、设C程序如下:

#defineABC(x)x*x

#include"stdio.h"

main()

{inta=3,b;

b=ABC(a+1);

printf("b=%d",b);}

上述程序运行输出的结果是______。

A、b=4B、b=a+1

C、b=16D、b=7

22、以下程序的输出结果是______。

main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[1],a[6],a[9]);

}

A、169B、941

C、961D、357

23、若定义:

floatx=3.14159,*p=&x;

则printf("%f\n",*p++);的输出结果为______。

A、无确定值B、x的地址

C、3.14159D、4.14159

24、以下程序的输出结果是_______

main()

{charb[]="Language";

char*p=b;

printf("%c",*(b+2));

p=p+7;

printf("%c\n",*p++);

}

A、27B、neC、agD、nu

25、下列程序的输出结果是_______。

#include"stdio.h"

main()

{

inta[]={1,2,3,4,5,6,7,8,9,0},i,s,*p;

p=a;s=0;

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

s+=*p++;

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

}

A、45B、44C、0D、9

二、判断题(每小题1分,共10分)

1.语句int*point;中的point是指针变量名。

()

2.主函数和其它函数之间可以相互调用。

()

3.puts()和gets()函数只能输入或输出一个字符。

()

4.可以对字符型数组元素进行整体输入、输出。

()

5.do-while语句构成的循环不能用其他语句构成的循环来代替。

()

6.在一个函数内的复合语句中定义的变量可以在本函数范围内有效。

()

7.函数必须有返回值,否则不能使用函数。

()

8.for(;;);语句相当于while

(1);语句。

()

9.C程序的执行总是从第一个定义的函数开始。

()

10.C语言中的关键字专门用作语言的特定成分,而不能作为一般标识符使用。

()

三、程序填空题(每空2分,共10分)

1、下面程序完成判断某一个数m是否为素数,如果是则输出"misaprime!

",否则就输出"misnotaprime!

",请选择填空。

main()

{inti,m;

scanf("m=%d",&m);

for(i=2;i

{if(m%i==0)

{printf("%disnotaprime!

\n",m);

(1)}

else

(2)

}

if(i==m)printf("%disaprime!

\n",m);

}

(1)、A、breakB、continue

C、break;D、continue;

(2)、A、breakB、break;

C、continueD、continue;

2、以下程序的功能是:

求出用数字0至9组成没有重复数字且是13倍数的三位数的个数,请选择填空。

#include

voidmain()

{inti,j,k,w,count=0;

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

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if((4))

{w=i*100+j*10+k;

if((5))

count++;

}

printf("\ncount=%d\n",count);

}

(3)、A、i=0B、i=1

C、i=9D、i=-1

(4)、A、i!

=jB、i!

=j||j!

=k

C、i!

=j&&j!

=kD、i!

=j&&j!

=k&&k!

=i

(5)、A、w%13=0B、w/13=0

C、w%13==0D、w/13==0

四、编程题(第1小题12分,第2小题18分,共30分)

1、从键盘输入一个4位数的正整数n,将该数反序输出。

例如,若输入的是

1357,则输出的是7531。

  要求:

1)利用VC++编译系统进行调试、运行

2)对输入的正整数n的合法性进行检查

3)将源程序以“编程题1.c”为文件名保存在网络盘(K:

盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分

2、已知一组字符串a[27]="jjyyzzabcdefgJJYYZZABCDEFG";请编一程序,将其中的小写字母换成其前一个字母,即z换成y,y换成x,...,b换成a,若是a则换成z。

然后对数组a[27]从小到大排序,并输出排序后的字符串。

要求:

1)利用VC++编译系统进行调试、运行

     2)先输出原字符串(即未做任何改变的字符串),最后输出排序后

的字符串

3)将源程序以“编程题2.c”为文件名保存在网络盘(K:

盘)的考生文件夹上,用其它文件名保存或保存在其他地方均不能得分

C语言程序设计模拟试题

参考答案

一、单项选择题(每小题2分,共50分)

第1~5题:

ACBCD

第6~10题:

DCADB

第11~15题:

BBCAD

第16~20题:

ADBCA

第21~25题:

DBCBA

二、判断题(每小题1分,共10分)

第1~5题:

第6~10题:

三、程序填空题(每空2分,共10分)

第1~5空:

CDBDC

四、编程题(第1小题12分,第2小题18分,共30分)

1、源程序:

#include”stdio.h”

main()

{intn,a,b,c,d;

printf("Pleaseinputaintegernumber(>=1000and<10000):

\n");

lab:

scanf(“%d”,&n);

if(n<999||n>=10000)

{printf("Youinputtheintegeriserror!

Pleaseinputagain:

\n");gotolab;}

a=n/1000;

b=n%1000/100;

c=n%100/10;

d=n%10;

printf("\nTheresultis:

%d%d%d%d\n",d,c,b,a);

}

 

2、源程序:

#include”stdio.h”

main()

{inti,j;

charch,a[27]="jjyyzzabcdefgJJYYZZABCDEFG";

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

if(a[i]>'a'&&a[i]<='z')

a[i]=a[i]-1;

elseif(a[i]=='a')a[i]='z';

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

for(j=i+1;j<26;j++)

if(a[i]>a[j])

{ch=a[i];a[i]=a[j];a[j]=ch;}

printf(“\nThesortednewarrayis:

\n”);

printf("\n%s",a);

}

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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