全国计算机等级考试C++笔试试题Word文档下载推荐.docx

上传人:b****3 文档编号:18184722 上传时间:2022-12-14 格式:DOCX 页数:24 大小:24.09KB
下载 相关 举报
全国计算机等级考试C++笔试试题Word文档下载推荐.docx_第1页
第1页 / 共24页
全国计算机等级考试C++笔试试题Word文档下载推荐.docx_第2页
第2页 / 共24页
全国计算机等级考试C++笔试试题Word文档下载推荐.docx_第3页
第3页 / 共24页
全国计算机等级考试C++笔试试题Word文档下载推荐.docx_第4页
第4页 / 共24页
全国计算机等级考试C++笔试试题Word文档下载推荐.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试C++笔试试题Word文档下载推荐.docx

《全国计算机等级考试C++笔试试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试C++笔试试题Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试C++笔试试题Word文档下载推荐.docx

 D)-80.0e

(13)以下叙述中正确的是

 A)用C程序实现的算法必须要有输入和输出操作

 B)用C程序实现的算法可以没有输出但必须要有输入

 C)用C程序实现的算法可以没有输入但必须要有输出

 D)用C程序实现的算法可以既没有输入也没有输出

(14)以下不能定义为用户标识符的是

 A)Main

 B)_0

 C)_int

 D)sizeof

(15)以下选项中,不能作为合法常量的是

 A)1.234e04

 B)1.234e0.4

 C)1.234e+4

 D)1.234e0

(16)数字字符0的ASCII值为48,若有以下程序

main()

char 

a='

1'

b='

2'

;

printf("

%c,"

b++);

%d\n"

b-a);

}

程序运行后的输出结果是 

 A)3,2

 B)50,2

 C)2,2

 D)2,50

(17)有以下程序

intm=12,n=34;

%d%d"

m++,++n);

%d%d\n"

n++,++m);

 A)12353514

 B)12353513

 C)12343514

 D)12343513

(18)有定义语句:

int 

b;

char 

c[10];

则正确的输入语句是

 A)scanf("

%d%s"

&

b,&

c);

 B)scanf("

b,c);

 C)scanf("

b,c);

 D)scanf("

b,&

(19)有以下程序

int 

m,n,p;

scanf("

m=%dn=%dp=%d"

m,&

n,&

p);

%d%d%d\n"

m,n,p);

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 

 A)m=123n=456p=789

 B)m=123 

n=456 

p=789

 C)m=123,n=456,p=789

 D)123 

456 

789

(20)有以下程序

{

a,b,d=25;

a=d/10%9;

b=a&

&

(-1);

%d,%d\n"

a,b);

程序运行后的输出结果是

 A)6,1

 B)2,1

 C)6,0

 D)2,0

(21)有以下程序 

main() 

i=1,j=2,k=3;

if(i++==1&

(++j==3||k++==3)) 

printf("

%d 

i,j,k);

 A)1 

 B)2 

 C)2 

 D)2 

3

(22)若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a<

b?

a:

c<

d?

c:

d的

A)1 

 C)3 

 D)4

(23)有以下程序 

p[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<

7) 

if(p[i]%2) 

j+=p[i];

j);

 A)42 

 B)45 

 C)56 

 D)60

(24)有以下程序 

a[7]="

a0\0a0\0"

i,j;

i=sizeof(a);

j=strlen(a);

i,j);

 A)2 

 B)7 

 C)7 

 D)6 

2

(25)以下能正确定义一维数组的选项是

 A)int 

a[5]={0,1,2,3,4,5};

 B)char 

a[]={0,1,2,3,4,5};

 C)char 

a={’A’,’B’,’C’};

 D)int 

a[5]="

0123"

(26)有以下程序 

f1(int 

x,int 

y){return 

x>

y?

x:

y;

f2(int 

y:

x;

a=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

%d,%d%d\n"

e,f,g);

 A)4,3,7 

 B)3,4,7 

 C)5,2,7 

 D)2,5,7

(27)已有定义:

a[]="

xyz"

b[]={’x’,’y’,’z’};

以下叙述中正确的是 

 A)数组a和b的长度相同 

 B)a数组长度小于b数组长度 

 C)a数组长度大于b数组长度 

 D)上述说法都不对

(28)有以下程序 

void 

f(int 

*x,int 

*y) 

t;

t=*x;

*x=*y;

*y=t;

a[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;

q=&

a[7];

while(p

f(p,q);

p++;

q--;

for(i=0;

i<

8;

i++) 

%d,"

a[i]);

 A)8,2,3,4,5,6,7,1, 

 B)5,6,7,8,1,2,3,4, 

 C)1,2,3,4,5,6,7,8, 

 D)8,7,6,5,4,3,2,1,

(29)有以下程序 

a[3][3],*p,i;

p=&

a[0][0];

9;

p[i]=i;

3;

"

a[1][i]);

 A)0 

 B)1 

 D)3 

5

(30)以下叙述中错误的是 

 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 

 B)数组名代表的是数组所占存储区的首地址,其值不可改变 

 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 

 D)可以通过赋初值的方式确定数组元素的个数

(31)有以下程序

#define 

20

fun(int 

a[],int 

n,intm)

inti,j;

for(i=m;

i>

=n;

i--)

a[i+1]=a[i];

inti,a[N]={1,2,3,4,5,6,7,8,9,10};

fun(a,2,9);

for(i=0;

5;

i++)

%d"

 A)10234

 B)12344

 C)12334

 D)12234

(32)有以下程序

a[3][2]={0},(*ptr)[2],i,j;

2;

ptr=a+i;

ptr);

ptr++;

}

{

for(j=0;

j<

j++)

-"

a[i][j]);

\n"

);

若运行时输入:

3<

回车>

则输出结果为 

 A)产生错误信息

 B)10

  20

  00

 C)12

  30

 D)10

(33)有以下程序

prt(int 

*m,int 

n)

inti;

n;

m[i]++;

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

prt(a,5);

程序运行后的输出结果是:

 A)1,2,3,4,5,

 B)2,3,4,5,6,

 C)3,4,5,6,7,

 D)2,3,4,5,1,

(34)有以下程序

a[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;

p<

a+10;

p++)

*p);

 A)1,2,3,4,5,6,7,8,9,0,

 B)2,3,4,5,6,7,8,9,10,1,

 C)0,1,2,3,4,5,6,7,8,9,

 D)1,1,1,1,1,1,1,1,1,,1,

(35)有以下程序

3

F(int 

x) 

return 

(P*x*x);

F(3+5));

 A)192

 B)29

 C)25

 D)编译出错

(36)有以下程序

main()

{

intc=35;

c&

}

程序运行后的输出结果是

 A)0

 B)70

 C)35

 D)1

(37)以下叙述中正确的是

 A)预处理命令行必须位于源文件的开头

 B)在源文件的一行上可以有多条预处理命令

 C)宏名必须用大写字母表示

 D)宏替换不占用程序的运行时间

(38)若有以下说明和定义

uniondt

inta;

charb;

doublec;

}data;

以下叙述中错误的是

 A)data的每个成员起始地址都相同

 B)变量data所占内存字节数与成员c所占字节数相等

 C)程序段:

data.a=5;

%f\n"

data.c);

输出结果为5.000000

 D)data可以作为函数的实参

(39)以下语句或语句组中,能正确进行字符串赋值的是

 A)char*sp;

*sp="

right!

 B)chars[10];

s="

 C)chars[10];

*s="

 D)char*sp="

(40)设有如下说明

typedefstructST

longa;

intb;

charc[2];

}NEW;

则下面叙述中正确的是

 A)以上的说明形式非法

 B)ST是一个结构体类型

 C)NEW是一个结构体类型

 D)NEW是一个结构体变量

(41)有以下程序

inta=1,b;

for(b=1;

b<

=10;

b++)

{

if(a>

=8)break;

if(a%2==1){a+=5;

continue;

a-=3;

}

b);

 A)3

 B)4

 C)5

 D)6

(42)有以下程序

chars[]="

159"

*p;

p=s;

%c"

*p++);

 A)15

 B)16

 C)12

 D)59

(43)有以下函数

fun(char*a,char*b)

while((*a!

=’\0’)&

(*b!

(*a==*b))

{a++;

b++;

return(*a-*b);

该函数的功能是

 A)计算a和b所指字符串的长度之差

 B)将b所指字符串复制到a所指字符串中

 C)将b所指字符串连接到a所指字符串后面

 D)比较a和b所指字符串的大小

(44)有以下程序

intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;

4;

i++)

for(j=1;

=i;

j++)printf("

’’);

for(j=j<

M"

num[i][j]);

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是

 A)i-1

 B)i

 C)i+1

 D)4-i

45)有以下程序 

point(char 

*p) 

p+=3;

b[4]={’a’,’b’,’c’,’d’},*p=b;

point(p);

%c\n"

 A)a 

 B)b 

 C)c 

 D)d 

(46)程序中若有如下的说明和定义语句 

fun(char 

*);

*s="

one"

a[5]={0},(*f1)()=fun,ch;

…… 

以下选项中对函数fun的正确调用语句是 

 A)(*f1)(a);

 B)*f1(*s);

 C)fun(&

a);

 D)ch=*f1(s)

(47)有以下结构体说明和变量定义,如图所示,指针pqr分别指向此链表中三个连续结点。

struct 

node 

data;

*next;

*p,*q,*r;

现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是 

 A)p->

next=q->

next;

 B)p->

next=p->

next->

 C)p->

next=r;

 D)p=q->

(48)以下对结构体类型变量td的定义中,错误的是 

 A)typedef 

aa 

  { 

   

float 

m;

  }AA;

    

AA 

td;

 B)struct 

  float 

    struct 

 C)struct 

  }aa;

     

 D)struct 

 { 

 int 

 float 

}td;

(49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是 

 A)feof(fp) 

 B)ftell(fp) 

 C)fgetc(fp) 

 D)rewind(fp)

(50)有以下程序 

#include 

stdio.h"

WriteStr(char 

*fn,char 

*str) 

FILE 

*fp;

fp=fopen(fn,"

W"

fputs(str,fp);

fclose(fp);

WriteStr("

t1.dat"

"

start"

end"

程序运行后,文件t1.dat中的内容是 

 A)start 

 B)end 

 C)startend 

 D)endrt

填空题(每空2分,共40分)

(1)某二*树中,度为2的结点有18个,则该二*树中有 

  

个叶子结点。

(2)在面向对象的方法中,类的实例称为 

  

(3)诊断和改正程序中错误的工作通常称为 

(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 

(5)问题处理方案的正确而完整的描述称为 

 

.

(6)以下程序运行时若从键盘输入:

10 

20 

30<

输出结果是 

.

i=0,j=0,k=0;

%d%*d%d"

i,&

j,&

k);

(7)以下程序运行后的输出结果是 

.

S(x) 

4*x*x+1

i=6,j=8;

S(i+j));

(8)以下程序运行后的输出结果是 

a=3,b=4,c=5,t=99;

if(b<

a&

a<

c) 

t="

a;

a=c;

c=t;

<

BR"

>

if(a<

c&

b;

b=a;

a=t;

a,b,c);

(9)以下程序运行后的输出结果是 

a,b,c

a=10;

b=20;

c=(a%b<

1)||(a/b>

1);

%d%d%d\n"

(10)以下程序运行后的输出结果是

charc1,c2;

for(c1='

0'

c2='

9'

c1<

c2;

c1++,c2--)

%c%c"

c1,c2);

(11)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<

.输出结果是   

#include"

chara,b;

a=getchar();

b);

a=a-'

A'

+'

b=b*2;

%c 

%c\n"

(12)以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值.请填空. 

fun(int,int,int(*)[4],int*)

a[3][4]={{12,41,36,28},{

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

当前位置:首页 > 外语学习 > 日语学习

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

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