最新历届重庆市计算机二级考试试题及答案 精品.docx
- 文档编号:1662474
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:47
- 大小:47.71KB
最新历届重庆市计算机二级考试试题及答案 精品.docx
《最新历届重庆市计算机二级考试试题及答案 精品.docx》由会员分享,可在线阅读,更多相关《最新历届重庆市计算机二级考试试题及答案 精品.docx(47页珍藏版)》请在冰豆网上搜索。
最新历届重庆市计算机二级考试试题及答案精品
二级C语言笔试试卷(A)
2007年1注意事项:
1.一、二题为客观题,请将答案涂在机读答题卡上
2.三、四、五、六题为主观题,请将答案做在答题纸上
一、单项选择题。
(每小题1分,共20分)
1.在C程序的函数调用时,主调函数中的实参和被调函数中的形参()。
(A)个数、次序必须相同,但数据类型可以不考虑
(B)个数、次序和对应参数的数据类型都应该相同
(C)个数、次序和数据类型均可以不相同
(D)对应参数数据类型应相同,但个数和次序可以不考虑
2.如a为int型,则与表达式a等价的C语言关系表达式是()
(A)a>0(B)a!
=0(C)a==0(D)a<0
3.循环语句for(a=0,b=0;(b!
=45)||(a<5);a++);的循环次数是()
(A)4(B)3(C)5(D)无数多次
4.设有字符数组a,则正确的输入语句是()。
(A)gets('a');(B)scanf("%c",a);
(C)scanf("%s",a);(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);
}
(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
main()
{inta;
printf("%d\n",(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=
(C)if(a<>b)x++;(D)if(a=>b)x++;
16.执行下面的程序后,变量a的值是()。
#include
#defineSQR(X)X*X
voidmain()
{inta=10,k=2,m=3;
a/=SQR(m)/SQR(k);
printf("%d\n",a);
}
(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;
printf("%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.下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。
请填空完善程序。
#include
voidmain()
{charc;
while((c=①)!
='\n')
if(c>='a'&&c<='z')
printf("%c",c-32);
}
2.下面程序的功能是从当前目录下的文本文件“f1.txt”中读取前10个字符,依次显示在屏幕上;如果文本文件中不足10个字符,则读完为止;请填空完善程序。
#include
voidmain()
{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的内容颠倒过来并输出,请填空完善程序。
#include
voidmain()
{charstr[]={"abcdefg"},*p1,*p2,ch;
p1=p2=str;
while(*p2!
='\0')
p2++;
⑥;
while(p1 {ch=*p1,*p1=*p2,*p2=ch; ⑦; p2--; } puts(str); } 6.下面函数yh的功能是构成一个杨辉三角形,请填空完成该函数。 #include #defineN11 voidyh(inta[][N]) {intj,k; for(j=1;j {a[j][1]=1; a[j][j]=⑧; } for(⑨;j for(k=2;k a[j][k]=⑩+a[j-1][k]; } 四、阅读程序题(每小题5分,共30分 1.下面程序的输出结果是()。 #include voidmain() {voidfun(int*k); intw=5; fun(&w); } voidfun(int*k) {(*k)++; printf("%d\n",*k++); } 2.下面程序的输出结果是()。 #include voidmain() {charch[2][5]={"1234","5678"},*p[2]; intj,k,s=0; for(k=0;k<2;k++) p[k]=ch[k]; for(k=0;k<2;k++) for(j=0;p[k][j]>'0'&&p[k][j]<='9';j+=2) s=10*s+p[k][j]-'0'; printf("s=%d\n",s); } 3.下面程序的输出结果是()。 #include intfunc(int,int); voidmain() {intk=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p); } intfunc(inta,intb) {staticintm=1,n=2; n+=m+1; m=n+a+b; returnm; } 4.下面程序的输出结果是()。 #include voidmain() {inta[10]={1,2,3,4,5,6,7,8,9,10},k,s,i; doubleave; for(k=s=i=0;i<10;i++) {if(a[i]%2) continue; s+=a[i]; k++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新历届重庆市计算机二级考试试题及答案 精品 最新 历届 重庆市 计算机 二级 考试 试题 答案