04-11历年计算机二级C++笔试试题及答案 联系客服

发布时间 : 星期一 文章04-11历年计算机二级C++笔试试题及答案更新完毕开始阅读334af0e919e8b8f67c1cb9cb

A)a B)b C)c D)d

(46)程序中若有如下的说明和定义语句 char fun(char *); main() {

char *s=\ ?? }

以下选项中对函数fun的正确调用语句是 A A)(*f1)(a); B)*f1(*s); C)fun(&a); D)ch=*f1(s)

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

int data;

struct node *next; } *p,*q,*r;

现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是 D A)p->next=q->next;

B)p->next=p->next->next; C)p->next=r; D)p=q->next;

(48)以下对结构体类型变量td的定义中,错误的是 C A)typedef struct aa {

int n; float m; }AA;

AA td; B)struct aa {

int n; float m; } td;

struct aa td; C)struct {

int n; float m; }aa;

struct aa td; D)struct {

int n; float m; }td;

(49)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是 D A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind(fp) (50)有以下程序

#include \

void WriteStr(char *fn,char *str)

{

FILE *fp;

fp=fopen(fn,\ fputs(str,fp); fclose(fp); }

main() {

WriteStr(\ WriteStr(\}

程序运行后,文件t1.dat中的内容是 B A)start B)end

C)startend D)endrt

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

(1)某二*树中,度为2的结点有18个,则该二*树中有 19 个叶子结点。 (2)在面向对象的方法中,类的实例称为 对象 。 (3)诊断和改正程序中错误的工作通常称为 程序调试 。

(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 关系 。 (5)问题处理方案的正确而完整的描述称为 算法 .

(6)以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是 10 30 0 . #include main()

{ int i=0,j=0,k=0;

scanf(\ printf(\}

(7)以下程序运行后的输出结果是 81 . #define S(x) 4*x*x+1 main() {

int i=6,j=8;

printf(\}

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

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

if(b if(a printf(\}

(9)以下程序运行后的输出结果是 10 20 0 main() {

int a,b,c

a=10;b=20;c=(a%b<1)||(a/b>1); printf(\}

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

char c1,c2;

for(c1='0',c2='9';c1 printf(\ printf(\}

(11)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出结果是 1B #include \main()

{

char a,b;

a=getchar(); scanf(\ a=a-'A'+'0'; b=b*2;

printf(\

(12)以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值.请填空. br[i] void fun(int, int, int (*)[4],int *) main() {

int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++)

printf(\ printf(\}

void fun(int m,int n,int ar[][4],int *br) {

int i,j,x;

for(i=0;i { x=ar[i][0];

for(j=0;j if(x 【12】 =x; }

(13)以下程序运行后的输出结果是 4 3 3 4 void swap(int x,int y) { int t;

t=x;x=y;y=t;

printf(\}

main()

{ int a=3,b=4; swap(a,b);

printf(\}

(14)以下程序运行后的输出结果是 abcfg #include \

void fun(char *s,int p,int k) { int i;

for(i=p;i s[i]=s[i+2]; }

main()

{ char s[]=\ fun(s,3,strlen(s)); puts(s); }

(15)以下程序运行后的输出结果是 abcbcc #include \main() {

char ch[]=\ for(i=0;i<3;i++) strcpy(x[i],ch);

for(i=0;i<3;i++) printf(\ printf(\}

(16)以下程序运行后的输出结果是 0 10 1 11 2 12 fun(int a) {

int b=0;static int c=3; b++; c++;

return (a+b+c);

}

main() {

int i,a=5;

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

printf(\ printf(\

(17)以下程序运行后的输出结果是 13431 struct NODE { int k;

struct NODE *link; };

main() {

struct NODE m[5],*p=m,*q=m+4; int i=0; while(p!=q)

{ p->k=++i; p++; q->k=i++; q--; }

q->k=i;

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

printf(\ printf(\}

(18)以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes

yes!,否则函数返回字符串:no!,并在主函数中输出.所谓回文即正向与反向的拼写都一样,例如:adgda.请填空.

#include \

char *huiwen(char *str) {

char *p1,*p2; int i,t=0; p1=str; p2= ①

for(i=0;i<=strlen(str)/2;i++) if(*p1++!=*p2--) { t=1; break; }

if( ②) return (\ else return (\}

main() {

char str[50];

printf(\ printf(\③ ); }

①str+strlen(str)-1 ②t==0或!t ③huiwen(str)

2005年9月全国计算机等级考试二级C++笔试试题及答案

(考试时间90分钟,满分100分) 一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)程序设计就是编制程序