全国高校计算机等级考试二级C模拟一试题Word文档格式.docx

上传人:b****4 文档编号:16685304 上传时间:2022-11-25 格式:DOCX 页数:53 大小:45.51KB
下载 相关 举报
全国高校计算机等级考试二级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

10、语句fopen(“file.dat”,”r”);

的功能是(A)。

A、按照“读”方式打开文件B、按照“写”方式打开文件

C、按照“读写”方式打开文件D、按照“追加”方式打开文件

11、关闭文件的语句是(D)。

A、freadB、fwriteC、fprintfD、fclose

12、下面求余数的运算符是(C)。

A、/B、^C、%D、~

13、下面对字符数组的描述中错误的描述是(C)。

A、字符数组可以存放字符串B、字符数组的字符可以整体输入、输出

C、可以在赋值语句中通过赋值运算符"

="

对字符数组整体赋值

D、可以用关系运算符对字符数组中的字符进行比较

14、下面正确的字符常量是(C)。

A、300B、'

ab'

C、'

!

'

D、"

a"

15、下面关于main函数与其它子函数之间的位置关系的叙述中正确的是(C)。

A、main函数必须是程序中的第一个函数

B、main函数如果程序中有多个函数,则不能位于最前面

C、main函数可以在任何位置

D、main函数必须是程序中最后一个函数

16、设floatx=12.8,y=8.6;

则(int)(x+y)的结果为(B)。

A、20B、21C、21.4D、22

17、一个C程序的执行是从(A)。

A、本程序的main函数开始,到main函数结束

B、本程序的第一个函数开始,到本程序的最后一个函数结束

C、本程序的main函数开始,到本程序的最后一个函数结束

D、本程序的第一个函数开始,到本程序main函数结束

18、以下关于函数的实参与虚参(又称形参)的叙述中不正确的说法是(B)。

A、实参可以是常量、变量或表达式B、虚参可以是常量、变量或表达式

C、虚参应与其对应的实参类型应当尽量一致

D、虚参为指针时,与其对应的实参只能是表示地址的表达式

19、下面关于注释语句的叙述中正确的叙述是(C)。

A、注释语句必须单独占用一行B、注释语句必须在语句行的末尾

C、注释语句可以跨行使用D、注释语句不能单独占用一行

20、以下表达式不等价的一组是(A)。

A、a!

=b与a=a!

bB、a|=b与a=a|bC、a+=b与a=a+bD、a-=b与a=a-b

21、若有以下类型说明语句:

chara;

intb;

floatc;

doubled;

则表达式a*b+d-c的运算结果的类型为(D)。

A、floatB、charC、intD、double

22、设C语言中,unsignedint型数据的取值范围为(A)。

A、0~65535B、0~32767C、1~65535D、1~32767

23、在任何时候,都能正确计算两个数之差的宏定义是(D)。

A、#defineSUB(x,y)(x-y)B、#defineSUB(x,y)(x)-(y)

C、#defineSUB(x,y)x-yD、#defineSUB(x,y)((x)-(y))

24、以下不正确的说法为(C)。

A、在不同函数中可以使用相同名字的变量B、虚参视同函数的局部变量

C、在函数内的复合语句中定义的变量在本函数范围内有效

D、在函数内定义的变量只在本函数范围内有效

25、!

E等价于(B)。

A、E!

=0B、E==0C、E!

=1D、E==1

26、字符串比较大小的函数是(C)。

A、strcpyB、strlenC、strcmpD、strcat

27、若有说明语句:

inta[][4]={1,2,3,4,5,6};

则数组的行数为(C)行。

A、6B、4C、2D、1.5

28、C语言规定,函数返回值的类型由(B)。

A、return语句中的表达式类型所决定B、在定义该函数时函数头所指定的函数类型所决定

C、调用该函数时的主调函数类型所决定D、调用函数时由系统临时决定

29、非指针型变量做实参时,它和对应虚参之间的数据传递方式是(B)。

A、地址传递B、单向值传递C、双向值传递D、由用户指定传递方式

*30、建立子函数的主要目的之一是(B)。

A、提高程序的执行效B、提高程序的可读性

C、减少程序所占磁盘空间D、减少程序所占内存空间

二、填空题

31、下面程序段用来打印出正整数n以内能被3整除的所有正奇数。

scanf("

%d"

&

n);

if(n<

0)n=-n;

for(i=1;

i<

n;

i++)

if(i%2!

=0&

i%3(==0))printf("

%d"

(i));

32、下面程序的功能是输出数组中相邻两个数的和能被10整除的所有“数对”以及“数对”的个数。

如:

对于下面的数组:

d[]={1,3,7,23,3,6,14,8,10}

将输出:

(3,7)(7,23)(6,14)3对

voidmain(void)

intd[]={1,3,7,23,3,6,14,8,10,57,13,90};

inti,count,s

count=(0);

/*count为“数对”的个数计数器*/

for(i=0;

11;

s=d[i]+(d[i+1]);

/*计算相邻两个数的和*/

if(s%10==0)

printf(“(%d,%d)”,d[i],d[i+1]);

count=count+

(1);

printf(“%d对”,count);

33、下面程序的功能是将字符串s中所有的字符c删除。

chars[80];

inti,j;

gets((s));

/*输入字符串*/

j=(0);

/*计数器初始化*/

s[i]!

='

\0'

;

i++)

if(s[i]!

c'

s[j]=s[i]

j++;

s[j]=’\0’;

/*写入字符串结束标志*/

puts(s);

34、下面程序的功能是从键盘输入的最多10个整数中,找出第一个能被7整除的数。

若找到,打印此数后

退出循环;

若未找到,打印"

notexist"

inti,a;

for(i=1;

scanf("

(&

a));

/*输入一个整数*/

if(a%7==0)

printf("

a);

(break);

/*退出循环*/

if((i)==11)printf("

notexist\n"

);

35、以下程序的运行结果是:

(150)

{

inti,s,d[10]={21,33,45,7,3,113,67,75,83,26};

s=0;

10;

i+=2)

if(d[i]%3!

=0)s+=d[i];

s=%d"

s);

36、以下程序的运行结果是:

(5)

#definesub(x,y)x-y

intx,y,z;

x=4;

y=3;

z=12-sub(x,y)

z=%d"

z);

37、以下程序的运行结果是:

(100)

intx,*p;

p=&

x;

*p=100;

x=%d"

38、相同类型的数据之集合称为(数组)。

填写两个汉字。

39、字符串“abc\n”的长度是(4)。

填写一个阿拉伯数字。

40、若有定义:

inta[3][2]={2,4,6,8,10,12};

则*(a[1]+1)的值是(8)。

41、二进制运算表达式:

(10001101)的二进制值是(0)。

42、为了方便阅读程序,每行最好只书写(1)个语句。

43、与if语句配对构成双分支结构的关键字是(else)。

填写4个小写英文字母。

44、变量名的第一个字符必须是(字母)或下划线。

45、字符常量要用(单)引号括起来。

填写一个汉字。

46、若有inta=6,x=5;

则执行x+=a;

后x的值为(11)。

47、表示另一个同类型变量之地址的变量称为(指针)变量。

三、判断题(A、正确B、错误)

48、&

的优先级低于||的优先级。

B

49、若有定义intx,y;

则执行x=2/4*2和y=2/4.0*2后x和y的值相同。

B

50、指针变量也应当遵循“先赋值后使用”的原则。

A

51、运算符“*”有时是单目运算符,有时又可能是双目运算符。

A

52、文件打开方式中的加号(如:

“r+”)表示按照追加方式打开文件。

B

53、C语言中,变量名中的英文字母一般不区分大小写。

B

54、逻辑表达式的值是一个非负整数。

A

55、break语句也能够结束由if……goto构成的循环。

56、联合(又称共用体)中各个元素的类型可以不相同。

57、结构变量所占内存字节数等于其各个成员所占内存字节数的和。

四、编程题

58、编写代码:

计算1至50中能被7整除的所有自然数的和。

将代码以cfile.cpp为名保存在C:

\ata\Temp\420201\454220040690\dit\GAE\ziti目录中。

voidmain()

inti,s=0;

for(i=7;

i<

=50;

if(i%7==0)s=s+i;

printf(“%d\n”,s);

}

59、编写代码:

从键盘中输入三个整数a,b,x,判断x是否等于a,b之和。

{inta,b,x;

printf(“pleaseinputtwonumbera,b,x:

”);

scanf(“%d,%d,%d”,&

a,&

b,&

x);

if(x==a+b)

printf(“\n%d+%dis%d”,a,b,x);

else

printf(“\n%d+%disnot%d”,a,b,x);

全国高校计算机等级考试(二级C)模拟二试题

1、以下程序有语法性错误,有关错误原因的正确说法是( C )。

intS,k;

voidprt_char();

k=prt_char(G);

A、语句voidprt_char();

有错,它是函数调用语句,不能用void说明。

B、变量名不能使用大写字母。

C、函数原型说明和函数调用语句之间有矛盾。

D、函数名不能使用下划线。

2、函数值作单向传递时以下正确的说法是( A )。

A、实参和与其对应的形参各占用独立的存储单元。

B、实参和与其对应的形参共用一个存储单元。

C、只有当实参和与其对应的形参同名时才共用存储单元。

D、形参是虚拟的,不占用存储单元。

3、若有宏定义#defineZ(x,y)x*y,则执行以下程序段后,z的值为( B )。

intz;

z=Z(3+5,4);

A、32B、23C、17D、20

4、若有宏定义如下:

#defineX5

#defineYX+1

#defineZY*X/2

则执行以下printf语句后,输出的结果为( D )。

inta;

a=Y;

%d,"

Z);

%d\n"

--a);

A、7,6B、12,6C、12,5D、7,5

5、执行以下程序后,m的值是( D )。

#defineMIN(x,y)(x)<

(y)?

(x):

(y)

voidmain(void))

inti=12,j=8,m;

m=10*MIN(i,j);

m);

A、120B、80C、12D、8

6、下面判断正确的是( C )。

A、char*a="

china"

等价于char*a;

*a="

B、charstr[10]={"

};

等价于charstr[10];

str[]={"

C、char*s="

等价于char*s;

s="

D、charc[4]="

abc"

d[4]="

等价于charc[4]=d[4]="

7、以下对指针变量的操作中,不正确的是(C D )。

A、inta,*p,*q;

p=q=&

a;

B、inta=6,*p,*q=&

p=q;

C、inta,b=6,*p;

p=&

b=*p;

D、inta,*p,*q;

q=&

p=*q;

8、以下运算正确的程序段是( D )。

A、charstr1[]="

12345"

str2[]="

abcdef"

strcpy(str1,str2);

B、charstr[10],*st="

abcde"

strcat(str,st);

C、char*st1="

*st2="

"

strcat(st1,st2)

D、charstr[10]="

*st="

strcat(str,st);

9、以下程序的运行结果是( C )。

#include"

stdio.h"

structdate

inty,m,d;

}today;

sizeof(structdate));

     }

A、2B、3C、6D、出错

10、当说明一个共用体变量时系统分配给它的内存是( C )。

A、共用体中第一个成员所需内存量B、共用体中最后一个成员所需内存量

C、共用体成员中占内存量最大者所需的容量D、共用体中各成员所需内存量的总和

11、设有以下结构体类型数组的定义,且数组mini的10个元素都已赋值,若要将这些元素写到文件fp中,以下不正确的形式是( B )。

^structabc^{^inta;

charb;

floatc[4];

^}^mini[10];

(^表示换行)

A、fwrite(mini,10*sizeof(structabc),1,fp);

B、fwrite(mini,5*sizeof(structabc),5,fp);

C、for(i=0;

i++)^fwrite(mini,sizeof(structabc),1,fp);

D、fwrite(mini,sizeof(structabc),10,fp);

*12、函数fgets(string,m,fp)的作用是( D )。

A、从fp所指向的文件中读取长度不超过m的字符串,存入由指针string指向的内存区域

B、从fp所指向的文件中读取长度为m的字符串,存入由指针string指向的内存区域

C、从fp所指向的文件中读取m个字符串,存入由指针string指向的内存区域

D、从fp所指向的文件中读取长度不超过m-1的字符串,存入由指针string指向的内存区域

13、一个C语言程序是由( B )。

A、一个主程序和若干子程序组成B、若干函数组成C、若干过程组成D若干子程序组成

14、下面四个选项中,均是合法整型常量的选项是( A )。

A、160-0xff011B、-0xcdf01a0xeC、-01986,0120668D、-0x48a2e50x

15、已知各变量的类型说明如下:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是( A )。

A、a+=a-=(b=4)*(a=3);

B、a=a*3=2;

C、x%(-3);

D、y=float(i);

16、下面不正确的字符常量是( D )。

A、'

\X17'

B、'

\70'

\\'

\n"

17、以下能正确定义整型变量x,y和z并为其赋初值5的语句是( C )。

A、intx=y=z=5;

B、intx,y,z=5;

C、intx=5,y=5,z=5;

D、x=y=z=5;

18、以下C程序正确的运行结果是( C )。

(注:

_表示空格)

longy=-43456;

y=%-8ld\n"

y);

y=%-08ld\n"

y=%08ld\n"

y=%+8ld\n"

A、y=_-43456^y=-_43456^y=-0043456^y=-43456

B、y=-43456^y=-43456^y=-0043456^y=+_-43456

C、y=-43456^y=-43456^y=-0043456^y=__-43456

D、y=_-43456^y=-0043456^y=00043456^y=+43456

19、根据题目中给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( B )。

intx;

floaty;

enterx,y:

输入语句

输出语句

输入形式enterx,y:

23.4

输出形式x+y=5.40

A、scanf("

%d,%f"

x,&

y);

\nx+y=%4.2f"

x+y);

B、scanf("

%d%f"

C、scanf("

\nx+y=%6.1f"

D、scanf("

%d%3.1f"

20、若有以下变量说明和数据的输入方式,则正确的输入语句为( B )。

(注:

_'

代表空格)

变量说明:

floatx1,x2;

数据的输入方式:

4.25<

回车>

3.5<

%f,%f"

x1,&

x2);

B、scanf("

%f%f"

%3.2f%2.1f"

D、scanf("

%3.2f%2.1f"

21、以下程序的输出结果是( B )。

intx=2,y=-1,z=2;

if(x<

y)

if(y<

0)z=0;

elsez+=1;

z)

A、3B、2C、1D、0

22、设有说明语句intx,a,b,c;

则以下不合法的if语句是。

(C)

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

B、if(a<

=b)x++;

C、if(a<

>

b)x++;

D、if(a>

23、语句while(!

中的表达式!

y等价于( A )。

A、y==0B、y!

=1C、y!

=0D、y==1

24、下面程序段的运行结果是( A )。

inta=1,b=2,c=2,t;

while(a<

b<

c){t=a;

a=b;

b=t;

c--;

%d,%d,%d"

a,b,c);

A、1,2,0B、2,1,0C、1,2,1D、2,1,1

25、若有如下语句

intx=3;

do

x-=2);

while(!

(--x));

则上面程序段( B )。

A、输出的是1B、输出的是1和-2C、输出的是3和0D、是死循环

26、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;

若分成7个零件一组,则多3个零件;

若分成9个零件一组,则多5个零件。

下面程序是求这堆零件总数,请选择填空。

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

当前位置:首页 > 求职职场 > 简历

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

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