重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc

上传人:wj 文档编号:1239453 上传时间:2023-04-30 格式:DOC 页数:34 大小:136.50KB
下载 相关 举报
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第1页
第1页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第2页
第2页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第3页
第3页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第4页
第4页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第5页
第5页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第6页
第6页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第7页
第7页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第8页
第8页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第9页
第9页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第10页
第10页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第11页
第11页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第12页
第12页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第13页
第13页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第14页
第14页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第15页
第15页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第16页
第16页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第17页
第17页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第18页
第18页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第19页
第19页 / 共34页
重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc

《重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc》由会员分享,可在线阅读,更多相关《重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc(34页珍藏版)》请在冰点文库上搜索。

重庆市计算机等级考试0708C语言二级考试试题及答案Word格式.doc

printf("

%d\n"

}

(A)0 (B)6 (C)12 (D)24

7.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式()。

(A)x==y (B)x-y==0

(C)fabs(x-y)<

1e-8 (D)labs(x-y)<

1e-8

8.若有以下的定义、说明和语句,则值为101的表达式是()。

structCW

{ inta;

int*b;

}*p;

intx0[]={11,12},x1[]={31,32};

structCWx[2]={100,x0,300,x1};

p=x;

(A)*p->

b(B)p->

a(C)++(p->

a)(D)(p++)->

a

9.以下程序的输出结果是()。

intx=3,y=4;

voidmain()

{ intx,y=5;

x=y++;

printf("

%d"

x);

(A)3 (B)4 (C)5 (D)6

10.在C语言中,函数默认的存储类型为()。

(A)auto (B)register (C)static (D)extern

11.有定义:

floaty,*p=&

y;

,假定变量y在内存中所占地址为100~103。

那么p的值为()。

(A)100 (B)101 (C)102 (D)103

12.有定义:

inta[10],n,*p1=a,*p2=&

a[9];

,则正确的赋值语句为()。

(A)n=p2-p1;

(B)n=p2*p1;

(C)n=p2+p1;

(D)n=p1/p2;

13.调用strlen("

abcd\0ef\ng\0"

)的结果为()。

(A)4 (B)5 (C)8 (D)10

14.执行下面程序中输出语句后,a的值是()。

#include<

stdio.h>

main()

printf("

(a=3*5,a*4,a));

}

(A)65 (B)20 (C)15 (D)10

15.若有定义inta,b,x;

且变量都已正确赋值,下面选项中合法的if语句是()。

(A)if(a==b)x++;

(B)if(a=<

b)x++;

(C)if(a<

>

(D)if(a=>

16.执行下面的程序后,变量a的值是()。

#defineSQR(X)X*X

voidmain()

{ inta=10,k=2,m=3;

a/=SQR(m)/SQR(k);

%d\n"

(A)10 (B)1 (C)5 (D)0

17.若变量t为double类型,表达式(t=1,t+5,t)的值是()。

(A)1 (B)6.0 (C)1.0 (D)6

18.在C语言中,下面关于数组的描述中正确的是()。

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

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

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

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

19.下述程序的输出结果是()。

#include<

voidmain()

{ inta,b,c=241;

a=c/100%9;

b=-1&

&

-1;

%d,%d\n"

a,b);

(A)2,0 (B)2,1 (C)6,1 (D)0,-1

20.若有以下说明和语句,则下列引用方式中不正确的是()。

structworker

{ intno;

char*name;

}work,*p=&

work;

(A)work.no(B)(*p).no(C)p->

no (D)work->

no

二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。

每空2分,共10分)

1.在C语言中,函数一般由两个部分组成,它们是函数首部和①。

2.任何程序都可调用标准函数exit(),当它被调用时就②程序的执行。

3.一个C语言程序在可以被执行之前,需要经过的4个处理程序是:

编辑程序、预处理程序、编译程序和③。

4.在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由④提供。

5.C标准库函数rewind的作用是⑤。

备选项:

(A)主函数

(B)函数体

(C)函数首部

(D)用户自定义函数

(E)终止

(F)使读写指针指向文件的开头

(G)标准I/O库/系统

(H)连接程序

(J)判断文件指针是否指向文件末尾

三、程序填空题。

(每空2分,共20分)。

1.下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。

请填空完善程序。

{ charc;

while((c=①)!

='

\n'

if(c>

c<

z'

printf("

c-32);

2.下面程序的功能是从当前目录下的文本文件“f1.txt”中读取前10个字符,依次显示在屏幕上;

如果文本文件中不足10个字符,则读完为止;

{ FILE*fp;

inti;

charc;

if(②==NULL)

{ printf("

Can'

topenthisfile!

\n"

return;

}

for(i=0;

i<

10;

i++)

{ if(feof(fp))

break;

c=fgetc(fp);

putchar(c);

fclose(fp);

3.下面程序的功能是输出数组中的各字符串,请填空完成程序。

#include<

voidmain()

{ char*a[]={"

abcd"

"

12345"

efghijk"

67890"

};

char③;

intj=0;

p=a;

for(;

j<

4;

j++)

④;

}

4.下面函数mfc用于求取两个正整数的最大公因子,请填空完善函数。

intmcf(inta,intb)

{ inttemp;

while(b)

{ temp=⑤;

a=b;

b=temp;

returna;

5.下面程序的功能是将字符串str的内容颠倒过来并输出,请填空完善程序。

{ charstr[]={"

abcdefg"

},*p1,*p2,ch;

p1=p2=str;

while(*p2!

\0'

p2++;

⑥;

while(p1<

p2)

{ ch=*p1,*p1=*p2,*p2=ch;

⑦;

p2--;

puts(str);

6.下面函数yh的功能是构成一个杨辉三角形,请填空完成该函数。

#defineN11

voidyh(inta[][N])

{ intj,k;

for(j=1;

N;

{ a[j][1]=1;

a[j][j]=⑧;

for(⑨;

for(k=2;

k<

j;

k++)

a[j][k]=⑩+a[j-1][k];

四、阅读程序题(每小题5分,共30分

1.下面程序的输出结果是()。

{ voidfun(int*k);

intw=5;

fun(&

w);

voidfun(int*k)

{(*k)++;

*k++);

2.下面程序的输出结果是()。

{ charch[2][5]={"

1234"

5678"

},*p[2];

intj,k,s=0;

for(k=0;

2;

p[k]=ch[k];

for(j=0;

p[k][j]>

'

0'

p[k][j]<

9'

;

j+=2)

s=10*s+p[k][j]-'

s=%d\n"

s);

3.下面程序的输出结果是()。

intfunc(int,int);

{ intk=4,m=1,p;

p=func(k,m);

%d,"

p);

intfunc(inta,intb)

{ staticintm=1,n=2;

n+=m+1;

m=n+a+b;

returnm;

4.下面程序的输出结果是()。

{ inta[10]={1,2,3,4,5,6,7,8,9,10},k,s,i;

doubleave;

for(k=s=i=0;

{ if(a[i]%2)

continue;

s+=a[i];

k++;

if(k!

=0)

{ ave=s/k;

printf("

%d,%f\n"

k,ave);

5.在下列程序中,若输入为:

todayisMonday!

<

CR>

,则输出结果是()。

{ chars[40],c,*str=s;

intnum=0,word=0;

gets(str);

while((c=*str++)!

{ if(c=='

'

word=0;

elseif(word==0)

{ word=1;

num++;

}

%dwords\n"

num);

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

unsignedf(unsignednum)

{ unsignedk=1;

do

{ k*=num%10;

num/=10;

}while(num);

returnk;

{ intx=35,y=550;

f(x),f(y));

五、编程序。

(每小题10分,共20分)

1.函数delspace的功能是删除一个字符串中所有的空格。

例如,输入字符串为"

Thisisastring"

则输出结果为"

Thisisastring"

测试用主函数如下所示,请编制函数delspace。

string.h>

{ char*delspace(char*str);

chars[81],*ds;

gets(s);

ds=delspace(s);

\nResult:

%s\n"

ds);

2.已知两个3位数abc和cba之和为1333(即abc+cba=1333),编程序求出3个数字a、b和c。

二级C语言笔试试卷(A)参考答案

(2007年4月)

BBDCC DCCCD AAACA BCCBD

二、基本概念选择填空题(每空2分,共10分)

①B②E ③H④G⑤F

①getchar() ②(fp=fopen("

f1.txt"

r"

))

③**p ④puts(p[j])或puts(*(p+j))

⑤a%b ⑥p2-- ⑦p1++

⑧1 ⑨j=3 ⑩a[j-1][k-1]

四、阅读程序题(每小题5分,共30分)

1. 6 2. s=1357 3.9,19

4.5,6.000000 5.3words 6.15,0

1.参考程序及评分标准

char*delspace(char*str)

{ char*p=str;

//2分

while(*p)

{ if(*p=='

strcpy(p,p+1);

else

p++;

} //6分

returnstr;

//2分

2.参考程序及评分标准

//参考程序一

{ intn,a,b,c;

//2分

for(n=100;

n<

1000;

n++)

{ a=n/100;

b=n/10%10;

c=n%10;

if(a*100+b*10+c+c*100+b*10+a==1333)

abcis:

%d%d%d\n"

a,b,c);

} //8分

//参考程序二

{ intn,m,a,b,c;

for(a=1;

a<

a++)

for(b=0;

b<

b++)

for(c=0;

c++)

{ n=a*100+b*10+c;

m=c*100+b*10+a;

if(n+m==1333)

printf("

}

2007年11月

注意事项:

1.一题为客观题,请将答案涂在机读答题卡上

2.请将二、三、四、五题的答案做在答题纸上

一.单项选择题。

(每小题1分,共20分)

1.一个C程序的执行是从()。

(A)本程序的main函数开始

(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

(C)本程序的main函数开始,到本程序文件的最后一个函数结束

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

2.设有C语句:

intx=3,y=4,z=5;

则下面表达式中值为0的是()。

(A)x&

y(B)x<

=y

(C)x||y+z&

y-z(D)!

((x<

y)&

!

z||1))

3.以下有关宏替换的叙述不正确的是()。

(A)宏替换不占用运行时间(B)宏名无类型

(C)宏替换只是字符串替换;

(D)宏替换是在运行时进行的

4.在标准库函数的调用形式“fread(buffer,size,count,fp);

”中,参数buffer代表的是()。

(A)一个整型变量,代表要读入的数据总数

(B)一个文件指针,指向要读的文件

(C)一个指针,指向读入数据存放的首地址

(D)一个存储区,存放要读的数据项

5.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于()。

(A)操作数乘以2(B)操作数除以2

(C)操作数除以4(D)操作数乘以4

6.下面程序运行后,变量m的值为()。

#include<

voidmain()

{intm,n,k;

m=(n=4)+(k=10-7);

printf(〞m=%d\n”,m);

(A)4(B)3(C)7(D)14

7.下面程序运行结果(或出现的情况)是()。

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

if(x=y+z)

printf(〞****〞);

else

printf(〞####\n〞);

(A)有语法错误不能通过编译

(B)输出:

****

(C)可以通过编译,但不能通过连接,因而不能运行

(D)输出:

####

8.已有定义intk=2;

int*ptrl,*ptr2,且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。

(A)k=*ptr1+*ptr2;

(B)ptr2=k;

(C)ptr1=ptr2;

(D)k=*ptr1*(*ptr2);

9.若有已经建好的链表结构如下,指针平p、q分别指向图示节点(b节点为插入c节点前的链表末尾);

ab∧c

pq

不能实现将q所指节点插入到链表末尾的一组语句是()。

(A)q->

next=NULL;

p=p->

next;

p->

next=q;

(B)p=p->

q->

next=p->

(C)p=p->

next=p;

(D)p=(*p).next;

(*q).next=(*p).next;

(*p).next=q;

10.有定义inta=3,b=4,c=5;

执行完表达式a++>

--b&

b++>

c--&

++c后,a,b,c的值分别为()

(A)345(B)435(C)444(D)445

11.下列程序的执行结果是()。

unionss

{shortinti;

charc[2];

};

voidmain()

{unionssx;

x.c[0]=10;

x.c[1]=1;

printf(〞%d〞,x.i);

(A)11(B)266(C)265(D)138

12.若有C语言inti=10;

,则执行下面程序段后变量i的值是(

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

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2