2011年三月全国计算机二级c真题及答案

急用!!!!... 急用!!!! 展开
 我来答
我叫孤雁飞
2011-04-07
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
2011年3月计算机二级c真题

一、 选择题

(1)下列关于栈叙述正确的是

A)栈顶元素最先能被删除

B)栈顶元素最后才能被删除

C)栈底元素永远不能被删除

D)以上三种说法都不对

(2)下列叙述中正确的是

A)有一个以上根结点的数据结构不一定是非线性结构

B)只有一个根结点的数据结构不一定是线性结构

C)循环链表是非线性结构

D)双向链表是非线性结构

(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)

A)3 B)4 C)6 D)7

(4)在软件开发中,需求分析阶段产生的主要文档是

A)软件集成测试计划 B)软件详细设计说明书

C)用户手册 D)软件需求规格说明书

(5)结构化程序所要求的基本结构不包括

A)顺序结构 B)GOTO跳转

C)选择(分支)结构 D)重复(循环)结构

(6)下面描述中错误的是

A)系统总体结构图支持软件系统的详细设计

B)软件设计是将软件需求转换为软件表示的过程

C)数据结构与数据库设计是软件设计的任务之一

D)PAD图是软件详细设计的表示工具

(7)负责数据库中查询操作的数据库语言是

A)数据定义语言

B)数据管理语言

C)数据操纵语言

D)数据控制语言

(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是

A)1:1联系 B)1:m联系

C)m:1联系 D)m:n联系

(9)有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是

A)自然连接 B)交 C)除 D)并

(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是

A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}

(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是

A)C语言程序仅可以编译执行

B)C语言程序仅可以解释执行

C)C语言程序既可以编译执行又可以解释执行

D)以上说法都不对

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

A)C语言的可执行程序是由一系列机器指令构成的

B)用C语言编写的源程序不能直接在计算机上运行

C)通过编译得到的二进制目标程序需要连接才可以运行

D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

> (13)以下选项中不能用作C程序合法常量的是

A)1,234 B)'123'

C)123 D)"\x7G"

(14)以下选项中可用作C程序合法实数的是

A).1e0 B)3.0e0.2

C)E9 D)9.12E

(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

A)a=(b=4)=3; B)a=b=c+1;

C)a=(b=4)+c; D)a=1+(b=c=4);

(16)有以下程序段

char name[20];

int num;

scanf("name=%s num=%d",name;&num);

当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为

A)Lili

B)name=Lili

C)Lili num=

D)name=Lili num=1001

(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是

A)必须是逻辑值 B)必须是整数值

C)必须是正数 D)可以是任意合法的数值

(18)有以下程序

#include

main()

{ int x=011;

printf("%d\n",++x);

}

程序运行后的输出结果是

A)12 B)11 C)10 D)9

(19)有以下程序

#include

main()

{ int s;

scanf("%d",&s);

while(s>0)

{ switch(s)

{ case1:printf("%d",s+5);

case2:printf("%d",s+4); break;

case3:printf("%d",s+3);

default:printf("%d",s+1);break;

}

scanf("%d",&s);

}

}

运行时,若输入1 2 3 4 5 0<回车>,则输出结果是

A)6566456 B)66656 C)66666 D)6666656

(20)有以下程序段

int i,n;

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

{ n=rand()%5;

switch (n)

{ case 1:

case 3:printf("%d\n",n); break;

case 2:

case 4:printf("%d\n",n); continue;

case 0:exit(0);

}

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

}

以下关于程序段执行情况的叙述,正确的是

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

(21)有以下程序

#include

main()

{ char s[]="012xy\08s34f4w2";

int i,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>='0'&&s[i]<='9') n++;

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

}

程序运行后的输出结果是

A)0 B)3 C)7 D)8

(22)若i和k都是int类型变量,有以下for语句

for(i=0,k=-1;k=1;k++) printf("*****\n");

下面关于语句执行情况的叙述中正确的是

A)循环体执行两次

B)循环体执行一次

C)循环体一次也不执行

D)构成无限循环

(23)有以下程序

#include

main()

{ char b,c; int i;

b='a'; c='A';

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

{ if(i%2) putchar(i+b);

else putchar(i+c);

} printf("\n");

}

程序运行后的输出结果是

A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef

(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));

C)scanf("%lf",p+6); D)scanf("%lf",p[6]);

(25)有以下程序(说明:字母A的ASCII码值是65)

#include

void fun(char *s)

{ while(*s)

{ if(*s%2) printf("%c",*s);

s++;

}

}

main()

{ char a[]="BYTE";

fun(a); printf("\n");

}

程序运行后的输出结果是

A)BY B)BT C)YT D) YE

(26)有以下程序段

#include

main()

{ …

while( getchar()
!='\n');



}

以下叙述中正确的是

A)此while语句将无限循环

B) getchar()不可以出现在while语句的条件表达式中

C)当执行此while语句时,只有按回车键程序才能继续执行

D)当执行此while语句时,按任意键程序就能继续执行

(27)有以下程序

#include

main()

{ int x=1,y=0;

if(!x) y++;

else if(x==0)

if (x) y+=2;

else y+=3;

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

}

程序运行后的输出结果是

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

(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是

A)p=s; B)p=k; C)p=s[0]; D)k=s;

(29)有以下程序

#include

void fun(char *c)

{ while(*c)

{ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');

c++;

}

}

main()

{ char s[81];

gets(s); fun(s); puts(s):

}

当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是

A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing

(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

#include

#define N 10

void fun(int x[N])

{ int i=0;

while(i

}

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

A)x+i B)&x[i+1]

C)x+(i++) D)&x[++i]

(31)有以下程序

#include

main()

{ char a[30],b[30];

scanf("%s",a);

gets(b);

printf("%s\n %s\n",a,b);

}

程序运行时若输入:

how are you? I am fine<回车>

则输出结果是

A)how are you? B)how

I am fine are you? I am fine

C)how are you? I am fine

D)row are you?

(32)设有如下函数定义

int fun(int k)

{ if (k<1) return 0;

else if(k==1) return 1;

else return fun(k-1)+1;

}

若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

A)2 B)3 C)4 D)5

(33)有以下程序

#include

int fun (int x,int y)

{ if (x!=y) return ((x+y);2);

else return (x);

}

main()

{ int a=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));

}

程序运行后的输出结果是

A)3 B)6 C)8 D)12

(34)有以下程序

#include

int fun()

{ static int x=1;

x*=2;

return x;

}

main()

{ int i,s=1;

for(i=1;i<=3;i++) s*=fun();

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

}

程序运行后的输出结果是

A)0 B)10 C)30 D)64

(35)有以下程序

#include

#define S(x) 4*(x)*x+1

main()

{ int k=5,j=2;

printf("%d\n",S(k+j));

}

程序运行后的输出结果是

A)197 B)143 C)33 D)28

(36)设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是

A)t1=t2; B)t2.num1=t1.num1;

C)t2.mark=t1.mark; D)t2.num2=t1.num2;

(37)有以下程序

#include

struct ord

{ int x,y;}dt[2]={1,2,3,4};

main()

{

struct ord *p=dt;

printf("%d,",++(p->x)); printf("%d\n",++(p->y));

}

程序运行后的输出结果是

A)1,2 B)4,1 C)3,4 D)2,3

(38)有以下程序

#i
nclude

struct S

{ int a,b;}data[2]={10,100,20,200};

main()

{ struct S p=data[1];

printf("%d\n",++(p.a));

}

程序运行后的输出结果是

A)10 B)11 C)20 D)21

(39)有以下程序

#include

main()

{ unsigned char a=8,c;

c=a>>3;

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

}

程序运行后的输出结果是

A)32 B)16 C)1 D)0

(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是

A)写操作结束后可以从头开始读 B)只能写不能读

C)可以在原有内容后追加写 D)可以随意读和写

二、填空题

(1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。

(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】 。

(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】测试。

(4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。

(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】是关系A的外码。

(6)以下程序运行后的输出结果是 【6】 。

#include

main()

{ int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

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

}

(7)有以下程序

#include

main()

{ int x;

scanf("%d",&x);

if(x>15) printf("%d",x-5);

if(x>10) printf("%d",x);

if(x>5) printf("%d\n",x+5);

}

若程序运行时从键盘输入12<回车>,则输出结果为 【7】 。

(8)有以下程序(说明:字符0的ASCII码值为48)

#include

main()

{ char c1,c2;

scanf("%d",&c1);

c2=c1+9;

printf("%c%c\n",c1,c2);

}

若程序运行时从键盘输入48<回车>,则输出结果为 【8】 。

(9)有以下函数

void prt(char ch,int n)

{ int i;

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

printf(i%6!=0?"%c":"%c\n",ch);

}

执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。

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

#include

main()

{ int x=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf("%d %d\n",x,y);

}

(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。

void fun(int a[N],int k)

{ int i;

for(i=k;i

}

(12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。

#include

【12】 ;

main()

{ double x,y,(*p)();

scanf("%lf%lf",&x,&y);

p=avg;

printf("%f\n",(*p)(x,y));

}

double avg(double a,double b)

{ return((a+b)/2);}

(13)以下程序运行后的输出结果是 【13】 。

#include

main()

{ int i,n[5]={0};

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

{ n[i]==n[i-1]*2+1; printf("%d",n[i]); }

printf("\n");

}

(14)以下程序运行后的输出结果是 【14】 。

#include

#include

#include

main()

{ char *p; int i;

p=(char *)malloc(sizeof(char)*20);

strcpy(p,"welcome");

for(i=6;i>=0;i--) putchar(*(p+i));

printf("\n-"); free(p);

}

(15)以下程序运行后的输出结果是 【15】 。

#include

main()

{ FILE *fp; int x[6]={1,2,3,4,5,6},i;

fp=fopen("test.dat","wb");

fwrite(x,sizeof(int),3,fp);

rewind(fp);

fread(x,sizeof(int),3,fp);

for(i=0;i<6;i++) printf("%d",x[i]);

printf("\n");

fclose(fp);

}

2011年3月计算机二级c答案:
一、选择题
01-10:ABDDB ACDCB
11-20:ADBAA ADCAD
21-30:BDBCD CDCCC
31-40:BBBDB CDDCB
二、填空题
1.有序 2.DEBFCA 3.单元 4.主 5.D 6.3 7.1217 8.09 9.4 10.20 0
11.i-1 12.double avg(double a, double b); 13.13715 14.emoclew 15.123456
蓝鲸智能科技
2024-11-21 广告
理论考试系统是我们河南蓝鲸智能科技有限公司研发的一款高效、便捷的在线考试平台。该系统集题库管理、在线组卷、自动评分等功能于一体,支持多种题型和考试模式。通过智能化的防作弊手段,确保考试的公平公正。用户可以随时随地进行在线练习和模拟考试,有效... 点击进入详情页
本回答由蓝鲸智能科技提供
百度网友a5dd14e
2011-03-26
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
sorry。。。。真题答案我真没有。
计算机二级分上机和笔试两部分,上机难一点,笔试简单一些,二级有很多种类,看你考哪一种,vb,vf,c语言。我在考vb,你可以借鉴一下。
学习程序设计要有一定的逻辑思维能力.逻辑思维需要长时间的锻炼,如果你觉得自己在逻辑思维能力上有不足,也没有关系,因为编写程序本身也是对逻辑思维的锻炼.初学程序设计应具备的逻辑基础可以从高中数学中学到.
如何学好VB程序设计
学习程序设计基本要求
熟悉Visual Basic操作环境与设计工具,能设计应用程序界面.
掌握,理解面向对象程序设计基本概念
掌握VB语言的基础知识,程序设计的方法,
能阅读一般难的程序;
能应用编写一些简单程序;
具有用Visual Basic开发Windows环境下应用程序的能力和阅读分析一般难度的VB程序的能力.
如何学好VB程序设计
VB程序设计的基本要求
Visual Basic 简介
Visual Basic 是Microsoft 公司开发的Windows 应用程序开发工具,Visual ——"可视化的",是一种开发图形户界面(GUI)的方法.使得非计算机专业的人也可以开发出专业的Windows软件.
Visual Basic继承了BASIC语言简单易学的优点,又增加了许多新的功能,它采用面向对象与事件驱动的程序设计思想,使编程变得更加方便,快捷.使用Visual Basic既可以开发个人或小组使用的小型工具,又可以开发多媒体软件,数据库应用程序,网络应用程序等大型软件.是国内外最流行的程序设计语言之一.
2,VB的功能及特点
英文Visual的意思是"视觉的","可视的Baisc"这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做"可视",你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤.
在VB中引入了控件的概念,在Windows中控件的身影无处不在,如按钮,文本框等,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法,能够响应用户操作(事件).
这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的.
何为可视
Visual Basic的特点
1. 具有面向对象的可视化设计工具
2. 事件驱动的编程机制
3. 结构化的程序设计语言
4. 提供了易学易用的应用程序集成开发环境
5.支持多种数据库系统的访问
6.高度可移植化的代码
7.VB6.0在开发环境上,网络功能等的大大增强
Visual Basic的特点
可视化设计: Visual Basic为用户提供大量的界面元素(在Visual Basic中称为控件对象),例如 "窗体","菜单","命令按钮","工具按钮","检查框"等等,用户只需要利用鼠标,键盘把这些控件对象拖动到适当的位置,设置它们的大小,形状,属性等,就可以设计出所需的应用程序界面.
Visual Basic的特点
事件驱动编程:Windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用Visual Basic设计应用程序时,必须首先确定应用程序如何同用户进行交互.(例如发生鼠标单击,键盘输入等事件时,用户必须编写代码控制这些事件的响应方法)这就是所谓的事件驱动编程.
程序设计方法概述
1.初期的程序设计
高运行效率,少占用内存为目标
2.结构化程序设计
程序的可读性,可维护性为目标
程序=算法+数据结构+计算机语言+面向过程的程序设计方法
3.面向对象的程序设计(OOP)
降低程序的复杂性,提高软件的开法效率和改善工作界面为目标
程序=对象+消息+面向对象的程序设计
面向对象的程序设计具有如下的优点:
1.符合人们习惯的思维方法,便于分解大型的复杂多变的问题.由于对象对应于现实世界中的实体,因而可以很自然地按照现实世界中处理实体的方法来处理对象,软件开发者可以很方便地与问题提出者进行沟通和交流.
2.易于软件的维护和功能的增减.对象的封装性及对象之间的松散组合,都给软件的修改和维护带来了方便.
3.可重用性好.重复使用一个类(类是对象的定义,对象是类的实例化),可以比较方便地构造出软件系统,加上继承的方式,极大地提高了软件开发的效率.
4.与可视化技术相结合,改善了工作界面.随着基于图形界面操作系统的流行,面向对象的程序设计方法也将深入人心.它与可视化技术相结合,使人机界面进入GUI时代.
(1)养成良好的学习习惯
VB程序设计的入门学习并不难,但却是一个十分重要的过程,因为程序设计思想就在这时形成的,良好的程序设计习惯也在这个阶段养成.
(2)学习程序设计要注重理解一些重要的概念.
VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句,循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在程序入门阶段还是应该重视概念的学习.
3,学习VB程序设计的方法
(3)自己动手编写程序
程序设计入门阶段要经常自己动手编写程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高开发程序的规模.
(4)阅读,借签别人设计的好程序
多看别人设计好的程序代码,包括教材上的例题程序.在读懂别人程序后,要想他为什么这么设计 能不能将程序修改完成更多的功能 则可以学到别人优秀的东西,帮助自己提高自身水平.
3,学习VB程序设计的方法
(5) VB程序设计学习的重点
重点放在思路,算法,编程构思和程序实现上.
语句只是表达工具,要求堂上积极思考,尽量当堂学懂,并做到灵活应用.
学会利用计算机编程手段分析问题和解决问题.
(6)养成良好的编程习惯
强调可读性;变量要加注释;
程序构思要有说明;
学会如何调试程序;
对运行结果要做正确与否的分析.
3,学习VB程序设计的方法
学好VB程序设计的具体要求:
(1)课前预习,认真听课并作适当做笔记,课后要认真复习消化所学内容,完成作业.
(2)多写程序,注重实践
程序设计课是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的.
只有自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,学起来才比较从容.只有当你在编写大量程序之后,才能获得真知灼见,感到运用自如.
动手能力的培养是这门课和以往课程最大的不同之处.
3,学习VB程序设计的方法
(3)上机调试程序应注意的几点:
上机前应认真把实验题在用纸上做一做(包括窗体界面设计,事件代码的编写等)
每次上机后应总结,把没有搞清楚的问题记录下来,请教老师或同学.
平时应多抽课余时间多上机调试程序.注意系统的提示信息,遇到问题多问几开为什么.
3,学习VB程序设计的方法
(4)保持良好的学习心态
要有自信,自强,积极主动学习.
克服畏难情绪,树立学好程序设计的信心.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianchuandaren
2011-03-26
知道答主
回答量:42
采纳率:0%
帮助的人:12万
展开全部
今天刚考完了。。。哎。。。不是会不会的问题,是你学没学的问题。。。答卷都被收上去了,不可能有。 上边的这哥们的回答就是放屁。上机简单,我问我今天上机的同学,九十分钟的时间,十分钟都做完了。笔试难,尤其是公共基础知识,不看书绝对不会。只要你看过书,一定要全面,差不多就能过,无偏题怪题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式