全国高校计算机等级考试二级C模拟一试题.docx

上传人:b****3 文档编号:4686163 上传时间:2023-05-07 格式:DOCX 页数:66 大小:44.83KB
下载 相关 举报
全国高校计算机等级考试二级C模拟一试题.docx_第1页
第1页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第2页
第2页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第3页
第3页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第4页
第4页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第5页
第5页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第6页
第6页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第7页
第7页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第8页
第8页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第9页
第9页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第10页
第10页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第11页
第11页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第12页
第12页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第13页
第13页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第14页
第14页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第15页
第15页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第16页
第16页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第17页
第17页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第18页
第18页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第19页
第19页 / 共66页
全国高校计算机等级考试二级C模拟一试题.docx_第20页
第20页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国高校计算机等级考试二级C模拟一试题.docx

《全国高校计算机等级考试二级C模拟一试题.docx》由会员分享,可在线阅读,更多相关《全国高校计算机等级考试二级C模拟一试题.docx(66页珍藏版)》请在冰点文库上搜索。

全国高校计算机等级考试二级C模拟一试题.docx

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

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

一、选择题

1、设有语句:

intk,*p;以下能正确执行的赋值语句是(D)。

A、k=pB、k=&pC、P=KD、p=&k

2、以下运算符中优先级最高的运算符是(A)。

A、!

B、&&C、||D、<

3、求字符串长度的函数是(D)。

A、strcatB、strcpyC、strcmpD、strlen

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

charx[5]=“ab\0c\0”;

printf("%s",x);

说明:

“\0”中的“0”是数字零。

A、abB、abcC、ab\0D、ab\0c\0

5、若有说明语句:

inta[2][4];则对数组a元素的正确引用是(D)。

A、a[2]B、a[4]C、a[2][4]D、a[1][3]

6、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(B)。

A、float型B、int型C、long型D、double型

7、用数组名作为函数调用的实参时,传递给虚参的是(A)。

A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数

8、以下程序的输出结果是(D)。

#include

#defineF(y)8-y

voidmain(void)

{

intx,y;

y=F

(2);

printf(“y=%d”,y);

}

A、2B、y=2C、6D、y=6

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

#include

struct

{

intx,y;

}a;

voidmain(void)

{

intx,y=50,z;

a.x=10;

a.y=20;

z=a.x+y;

printf(“%d”,z);

}

A、60B、10C、0D、20

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

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对

#include

voidmain(void)

{

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

inti,count,s

count=(0);/*count为“数对”的个数计数器*/

for(i=0;i<11;i++)

{

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删除。

#include

voidmain(void)

{

chars[80];

inti,j;

gets((s));/*输入字符串*/

j=(0);/*计数器初始化*/

for(i=0;s[i]!

='\0';i++)

if(s[i]!

='c')

{

s[j]=s[i]

j++;

}

s[j]=’\0’;/*写入字符串结束标志*/

puts(s);

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

若找到,打印此数后

退出循环;若未找到,打印"notexist"。

#include

voidmain(void)

{

inti,a;

for(i=1;i<11;i++)

{

scanf("%d",(&a));/*输入一个整数*/

if(a%7==0)

{

printf("%d",a);

(break);/*退出循环*/

}

}

if((i)==11)printf("notexist\n");

}

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

(150)

#include

voidmain(void)

{

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

s=0;

for(i=0;i<10;i+=2)

if(d[i]%3!

=0)s+=d[i];

printf("s=%d",s);

}

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

(5)

#include

#definesub(x,y)x-y

voidmain(void)

{

intx,y,z;

x=4;

y=3;

z=12-sub(x,y)

printf("z=%d",z);

}

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

(100)

#include

voidmain(void)

{

intx,*p;

p=&x;

*p=100;

printf("x=%d",x);

}

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构成的循环。

B

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

A

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

A

四、编程题

58、编写代码:

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

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

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

#include

voidmain()

{

inti,s=0;

for(i=7;i<=50;i++)

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

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

}

59、编写代码:

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

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

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

#include

voidmain()

{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 )。

voidmain(void)

{

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;

printf("%d,",Z);

printf("%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);

printf("%d\n",m);

}

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

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

A、char*a="china";等价于char*a;*a="china";

B、charstr[10]={"china"};等价于charstr[10];str[]={"china"};

C、char*s="china";等价于char*s;s="china";

D、charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

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

A、inta,*p,*q;p=q=&a;B、inta=6,*p,*q=&a;p=q;

C、inta,b=6,*p;p=&a;b=*p;D、inta,*p,*q;q=&a;p=*q;

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

A、charstr1[]="12345",str2[]="abcdef";strcpy(str1,str2);

B、charstr[10],*st="abcde";strcat(str,st);

C、char*st1="12345",*st2="abcde"";strcat(st1,st2)

D、charstr[10]="",*st="abcde";strcat(str,st);

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

#include"stdio.h"

voidmain(void)

{

structdate

{

inty,m,d;

}today;

printf("%d\n",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<10;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'C、'\\'D、"\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 )。

(注:

_表示空格)

voidmain(void)

{

longy=-43456;

printf("y=%-8ld\n",y);

printf("y=%-08ld\n",y);

printf("y=%08ld\n",y);

printf("y=%+8ld\n",y);

}

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

voidmain(void)

{

intx;floaty;

printf("enterx,y:

")

输入语句

输出语句

}

输入形式enterx,y:

23.4

输出形式x+y=5.40

A、scanf("%d,%f",&x,&y);printf("\nx+y=%4.2f",x+y);

B、scanf("%d%f",&x,&y);printf("\nx+y=%4.2f",x+y);

C、scanf("%d%f",&x,&y);printf("\nx+y=%6.1f",x+y);

D、scanf("%d%3.1f",&x,&y);printf("\nx+y=%4.2f",x+y);

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

(注:

'_'代表空格)

变量说明:

floatx1,x2;

数据的输入方式:

4.25<回车>

3.5<回车>

A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);

C、scanf("%3.2f%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);

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

voidmain(void)

{

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

if(x

if(y<0)z=0;

elsez+=1;

printf("%d\n",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>=b)x++;

23、语句while(!

y);中的表达式!

y等价于( A )。

A、y==0B、y!

=1C、y!

=0D、y==1

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

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

while(a

printf("%d,%d,%d",a,b,c);

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

25、若有如下语句

intx=3;

do

{

printf("%d\n",x-=2);

}

while(!

(--x));

则上面程序段( B )。

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

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

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

#include

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

当前位置:首页 > 工作范文 > 行政公文

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

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