重庆市计算机C语言二级考试试题及答案Word下载.docx

上传人:b****2 文档编号:15182219 上传时间:2022-10-28 格式:DOCX 页数:53 大小:47.92KB
下载 相关 举报
重庆市计算机C语言二级考试试题及答案Word下载.docx_第1页
第1页 / 共53页
重庆市计算机C语言二级考试试题及答案Word下载.docx_第2页
第2页 / 共53页
重庆市计算机C语言二级考试试题及答案Word下载.docx_第3页
第3页 / 共53页
重庆市计算机C语言二级考试试题及答案Word下载.docx_第4页
第4页 / 共53页
重庆市计算机C语言二级考试试题及答案Word下载.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

重庆市计算机C语言二级考试试题及答案Word下载.docx

《重庆市计算机C语言二级考试试题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《重庆市计算机C语言二级考试试题及答案Word下载.docx(53页珍藏版)》请在冰豆网上搜索。

重庆市计算机C语言二级考试试题及答案Word下载.docx

(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()

(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);

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

当前位置:首页 > 职业教育 > 中职中专

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

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