重庆市计算机等级考试0708C语言二级考试试题及答案_精品文档Word文件下载.doc
《重庆市计算机等级考试0708C语言二级考试试题及答案_精品文档Word文件下载.doc》由会员分享,可在线阅读,更多相关《重庆市计算机等级考试0708C语言二级考试试题及答案_精品文档Word文件下载.doc(34页珍藏版)》请在冰豆网上搜索。
=45)||(a<
5);
a++);
的循环次数是()
(A)4 (B)3 (C)5 (D)无数多次
4.设有字符数组a,则正确的输入语句是()。
(A)gets('
a'
);
(B)scanf("
%c"
a);
(C)scanf("
%s"
(D)gets("
a"
5.enumcolor{red,green,yellow=5,white,black};
定义了一枚举类型。
编译程序为值表中各标识符分配的枚举值依次为()。
(A)1、2、3、4、5 (B)0、1、5、2、3
(C)0、1、5、6、7 (D)3、4、5、6、7
6.运行完下列程序后,在屏幕上的内容是()。
voidmain()
{ inta=0;
a+=(a=12);
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.下面程序的输出结果是()。
std