C期终模拟题NITWord格式.docx

上传人:b****6 文档编号:16386492 上传时间:2022-11-23 格式:DOCX 页数:12 大小:22.89KB
下载 相关 举报
C期终模拟题NITWord格式.docx_第1页
第1页 / 共12页
C期终模拟题NITWord格式.docx_第2页
第2页 / 共12页
C期终模拟题NITWord格式.docx_第3页
第3页 / 共12页
C期终模拟题NITWord格式.docx_第4页
第4页 / 共12页
C期终模拟题NITWord格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C期终模拟题NITWord格式.docx

《C期终模拟题NITWord格式.docx》由会员分享,可在线阅读,更多相关《C期终模拟题NITWord格式.docx(12页珍藏版)》请在冰豆网上搜索。

C期终模拟题NITWord格式.docx

(7).下列数据中,为字符串常量的是_____.

(A)‘A’(B)”house”

(C)Howdoyoudo.(D)‘$abc’

(8).下列while循环,将执行______

i=4;

while(--i)printf(“%d”,i);

A)3次B)4次C)0次D)无限次

(9).对于以下程序段,运行后i值为_______

inti=0,a=1;

switch(a){

case1:

i+=1;

case2:

i+=2;

default:

i+=3;

}

A)1B)3C)6D)上述程序有语法错误

(10).数组定义为inta[3][2]={1,2,3,4,5,6},数组元素的值为6.

A.a[3][2]B.a[2][2]C.a[1][2]D.a[2][1]

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

#include<

stdio.h>

main()

{intx=3,y=1,z=0;

if(x=y+z)

printf(“****\n”);

else

printf(“####\n”);

(A).有语法错误不能通过编译.(B).输出:

****

(C).可能通过编译,但不通过连接,因而不能运行(D).输出:

####

(12).设有字符串:

”s=%d\n”;

字符串的长度为

A.4B.5C.6D.7

(13).写出下列程序的输出结果。

fun(intk)

{staticinta;

printf(”%d”,a);

a+=k;

}

main()

{intk;

for(k=1;

k<

=3;

k++)

fun(k);

(A)011(B)013

(C)033(D)031

 

(14).设有以下说明语句:

structex

{intx;

floaty;

charz;

}example;

则以下叙述中不正确的是______

(A)struct是结构体类型的关键字(B)example是结构体类型名

(C)x,y,z都是结构体成员名(D)structex是结构体类型名

(15).定义FILE*fp;

其中fp代表的意思是

A.文件在磁盘上的读写位置B.文件类型结构体变量

C.整个磁盘文件D.文件类型结构体指针变量

二.判断题(/)(每题1分,共10分)

1.在C程序中,用整数0表示逻辑值“假”。

2.表达式(3.6%2)符合C语言语法。

3.08是正确的整型常数。

4.设有语句:

scanf(“Entera:

%d”,&

a);

现给变量a输入25,其输入形式为:

25(回车).

5.表达式m=n++的求解顺序是先计算m=n,再计算n=n+1。

6.for循环语句中的三个表达式根据不同情况可以省去.

7.变量名fahr和Fahr代表两个不同的变量。

8.break语句只能用于循环结构中。

9.while语句先判断循环条件,所以循环体有可能一次也不执行。

10.可以定义多种不同的结构体类型.

三.程序改错:

(20分,共3题10处错,2分/每错)

注:

以下程序中,在标有/*errn*/的行上有一错误

.

(1).输入一个正整数n,输出y=2/1+3/2+5/3+8/5+…的前n项之和。

#include<

stdlib.h>

/*err1*/

voidmain()

{intn,i;

floatx1,sum=0,x=2,w=1;

printf("

请输入项数n的值:

"

);

scanf("

%d"

n);

/*err2*/

for(i=1;

i<

=n;

i++){

sum+=x/w;

x1=x;

x=x+w;

w=x1;

Sum=%0.2d\n"

sum);

/*err3*/

(2).程序功能:

运行时输入整数n=1308,输出12;

输入n=3204,输出9.

math.h>

{intn,s;

/*err4*/

scanf("

&

n);

n=fabs(n)

while(n>

1){/*err5*/

s=s+n%10;

n=n%10;

/*err6*/

%d\n"

s);

(3.)输入一个正整数n(1<

n<

=10),再输入这n个整数,用选择法将它们从小到大排序,并输出.

#defineN11

voidmian()/*err7*/

{inti,index,k,n,temp;

inta[N];

输入n:

scanf("

输入数组各元素:

n;

i++)/*err8*/

a[i]);

/*err9*/

for(k=0;

n-1;

k++)

{index=k;

for(i=k+1;

i++)

if(a[i]<

a[index])

index=i;

temp=a[index];

a[index]=a[i];

/*err10*/

a[k]=temp;

}}

四、程序选择填空题(每空1分,共10分)

说明:

阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。

程序1、

【程序说明】

输出1~1000之间所有满足各位数的立方和等于它本身的数.

【程序】

voidmain()

{intdigit,k,m,s;

for(k=1;

k<

=1000;

k++){

(1)

while(m!

=0){

digit=m%10;

s=s+digit*digit*digit;

(2)

if((3))printf(“%d“,(4));

(1)A.s=0;

m=k;

B.k=k;

s=0;

C.m=k;

Dk=m;

(2)A.m=m/10;

B.m=m%10;

C.m=m;

Dm=k/10;

(3)A.m!

=sB.m==sC.k!

=sDk==s

(4)A.sB.digitC.mDk

程序2

验证哥德巴赫猜想:

任何一个大于6的偶数均可表示为两个素数之和。

例如6=3+3,8=3+5,…,18=7+11。

将6~100之间的每个偶数都表示成两个素数之和。

函数prime(m)用于判断m是否为素数。

素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

#include"

stdio.h"

math.h"

voidmain()

{inti,k;

intprime(intm);

for(i=6;

i<

=100;

i=i+2)

for(k=3;

k<

=50;

if((5)){

%d=%d+%d\n"

i,k,i-k);

break;

intprime(intm)

{intk,n;

if(m==1)return0;

n=(int)sqrt(m);

for(k=2;

=n;

(6);

(7);

(5)A、prime(i)B、prime(i)&

prime(k)

C、prime(k)&

prime(i-k)D、prime(k)

(6)A、if(m%k!

=0)return0B、if(m%k==0)return0

C、if(m%k==0)return1D、if(m%k!

=0)return1

(7)A、return0;

B、return1;

C、elsereturn0;

D、elsereturn1;

程序3、

根据下式计算s的值,要求精确到最后一项的绝对值小于10–6。

{intflag=1,t=1;

(8);

while((9)){

item=flag*1.0/t;

s=s+item;

(10);

t=t+2;

printf("

s=%f\n"

s);

(8)A、doubleitem=0,s=0;

B、doubleitem=0;

s=0;

C、doubleitem=1,s=1;

D、doubleitem=3,s=1;

(9)A、item<

1E-6B、item>

=1E-6

C、fabs(item)<

1E-6D、fabs(item)>

(10)A、flag=-1B、s=-s

C、flag=-flag;

D、t=-t

五、程序阅读题(5小题每题4分,共20分)

阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。

1、程序1如输入”23cd78”,输出结果是什么.

#include<

string.h>

voidmain()

{

inti,s=0;

charstr[80];

i=0;

while((str[i]=getchar())!

='

\n'

i++;

str[i]='

\0'

;

for(i=0;

=10;

if(str[i]>

0'

str[i]<

9'

s=s*10+(str[i]-'

2.程序2

{intI,x=1,y=1;

for(I=1;

I<

=5;

I++){

x=x+y;

y++;

printf(“%d*”,x);

3.程序3

{intx=1,y=1;

voidf(intm,intn,int*px,int*py);

f(2004,70,&

x,&

y);

printf("

%d#%d#"

x,y);

f(2005,98,&

voidf(intm,intn,int*px,int*py)

{intk,flag;

inttab[2][13]={

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31},

};

flag=m%4==0&

m%100!

=0||m%400==0;

for(k=1;

n>

tab[flag][k];

n=n-tab[flag][k];

*px=k;

*py=n;

4.程序4

/*假设读写文件的操作能正常完成*/

{charch,*s="

ACEDB"

intx;

FILE*in;

if((in=fopen("

file.txt"

"

w"

))!

=NULL)

while(*s!

fputc(*s++,in);

fclose(in);

if((in=fopen("

r"

while((ch=fgetc(in))!

=EOF){

switch(ch){

case'

:

x=95;

B'

x=85;

C'

x=75;

D'

x=60;

default:

x=0;

printf("

%d_"

x);

5.程序5

{intx=10023;

do{

printf(“%d#”,x%10);

x=x/10;

}while(x!

=0);

六、程序设计题((共3题,分别为7、8、10分,共25分)

1.输入3个整数,输出其中的最大值

2.编写一程序,用函数调用方法,求一矩阵的主对角线(左上到右下角)上的元素之和。

(矩阵大小自行规定,数组内容自行输入),

3.利用数组,计算Fibonacii(斐波纳契)数列前20项的值,即1,1,2,3,5,8,…,并按每行打印5个的格式输出.

C_期终模拟题(2010年12月)

==答题纸==

一、单选题(每小题1分,共15分)

(1)

 

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

 (12)

(13)

(14)

(15)

二.判断题((/)每题1分,共10分)

(1)

(1).err1.__err2.__________err3.__________

(2).err4.________err5.________err6.__________

(3).err7.__________err8__________

err9.______-____err10._____

五、程序阅读题(5小题,每题4分,共20分)

1

2

3

4

1.

2.

3.

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

当前位置:首页 > 小学教育 > 语文

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

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