计算机二级c语言题库及答案_第1页
计算机二级c语言题库及答案_第2页
计算机二级c语言题库及答案_第3页
计算机二级c语言题库及答案_第4页
计算机二级c语言题库及答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1. 设循环队列的存储空间为Q(1 : 35),初始状态为front=rear=35。现经过一系 列入队与退队运算后,fronts5, rear=15,则循环队列中的元素个数为()。 或35 2. 下列矢于栈的叙述中,正确的是()。 A. 栈底元素一定是最后入栈的元素 B. 栈操作遵循先进后出的原则 C. 栈顶元素一定是最先入栈的元素 D. 以上三种说法都不对 3. 下列链表中,其逻辑结构属于非线性结构的是()0、 A. 双向链表 B. 带链的栈 C. 二叉链表 D. 循环链表 4. 在矢系数据库中,用来表示

2、实体间联系的是()。 A. 网状结构 B. 树状结构 C. 属性 D. 二维表 5. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部 门和职员间的联系是()。 :m联系 :n联系 :1联系 I联系 6. 右两个矢系R和S如下: 则由矢系R得到矢系S的操作是()。 A. 自然连接 B并 C. 选择 D. 投影 7. 数据字典(DD)所定义的对象都包含于()。 A. 软件结构图 B. 方框图 C. 数据流图(DFD图) D. 程序流程图 8. 软件需求规格说明书的作用不包括()。 A. 软件设计的依据 B. 软件可行t生研究的依据 C. 软件验收的依据 D.

3、 用户与开发人员对软件要做什么的共同理解 9. 下面属于黑盒测试方法的是()。 A. 边界值分析 B. 路径覆盖 C. 语句覆盖 D. 逻辑覆盖 10. 下面不属于软件设计阶段任务的是()。 A. 制订软件确认测试计划 B. 数据库设计 C. 软件总体设计 D. 算法设计 11. 以下叙述中正确的是()。 A. 在C语言程序中,main函数必须放在其他函数的最前面 B. 每个后缀为C的C语言源程序都可以单独进行编译 C. 在C语言程序中,只有main函数才可单独进行编译 D. 每个后缀为.C的C语言源程序都应该包含一个main函数 语言中的标识符分为矢键字、预定义标识符和用户标识符,以下叙述正

4、确的是()。 A. 预定义标识符(如库函数中的函数名)可用做用户标识符,但失去原有含义 B. 用户标识符可以由字母和数字任意顺序组成 C. 在标识符中大写字母和小写字母被认为是相同的字符 D. 尖键字可用做用户标识符,但失去原有含义 13.以下选项中表示一个合法的常量是(说明:符号口表示空格)()。 口 9 口 9 语言主要是借助以下哪个功能来实现程序模块化?() A. 定义函数 B. 定义常量和外部变量 C. 三种基本结构语句 D. 丰富的数据类型 15. 以下叙述中错误的是()。 A. 非零的数值型常量有正值和负值的区分 B. 常量是在程序运行过程中值不能被改变的量 C. 定义符号常量必须

5、用类型名来设定常量的类型 D. 用符号名表示的常量叫符号常量 16. 若有定义和语句:inta,b;sca nf C*%d,%d”, 程序运行后的输岀结果是()。 24. 有以下程序: #i nelude in t f(i nt x); main () int a,b=0; for(a=0;a3;a+) b=b+f(a);putchar( 1 A +b); int f(int x) return x * xl; 程序运行后的输出结果是()。 25. 设有定义:int x23;,则以下矢于二维数组X的叙述错误的是0。 0可看做是由3个整型元素组成的一维数组 0和刈是数组名,分别代表不同的地址常量

6、 C. 数组X包含6个元素 D. 可以用语句xo=0;为数组所有元素赋初值0 26. 设变量P是指针变量,语句P=NULL;是给指针变量赋NULL值,它等价于() =; =0; 27. 有以下程序: #i nelude main () int a=10,20,30,40,*p=a ,j; for(i=0;i=3;i+)ai=*P;p+; printf(,oAdnH ,a); 程序运行后的输岀结果是()。 28. 有以下程序: #in elude #defi ne N 3 void fun(int aN, int b) int i , j; for(i=0;i for(j=i;j main ()

7、 intxNN=1, 2, 3, 4, 5 , 6, 7, 8 , 9 , yN , i; fun(x , y); for(i=0;i 程序运行后的输出结果是(,)。 ,4 , 8, ,6,9, ,5, 7 , 35 29. 有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数): #i nelude #i nelude main () char a10=nabcH,b10=H012n ,c10=,xyzM; strcpy(a+1,b+2); puts(strcat(a,c+1); 程序运行后的输出结果是()。 30. 以下选项中,合法的是()。 Str3= PJe”bPgP

8、; str4;str4=hello world; n ame10; name=chi nan; strl5=pass , str26;str2=strl; 31. 有以下程序: 4 5 #in elude mai n() char*s=H234n;int k=0 whil(sk+1!=o) k+; if(k%2=o)a=a+(sk- a=a+(sk-0*); prin tf(k=%d a=%dn ,a=O; 0* +1);co ntinu e; ,k, a); 程序运行后的输出结果是()。 =6 a=11 =3 a=14 =4 a=12 =5 a=15 32有以下程序: #i nelude m

9、ain () char a510=HoneH, ”twO”,“three”,“four”,“five”; int i , j; chart :、 for(i=0;i4;i+) for(j=i+1;ja0O) t=aiO;aiO=a0O;a0O=t;) puts(a1); 程序运行后的输出结果是()。 33. 有以下程序: #i nelude int a=1, b=2 : void fun 1( int a , int b) printf(“d%d”, a , b); void fun 2() a=3;b=4; main () fun 1(5 , 6);fun2(); printf(n%d%dn

10、n , a , b); 程序运行后的输出结果是() 256 634 6 1 2 456 34. 有以下程序: # nelude void fun c(i nt n) static int num=1); num=num+n;prin, nu m); main () funo( 3);fu nc(4) :pri ntf(H nn); 程序运行后的输出结果是() 8 35. 有以下程序: # nclude #i nclude void fun(int*pl , int*p2 , infs) s=(i nt*)malloc(sizeof( in t); *s=*pl+*p2; free(s); ma

11、in () int a=1, b=40 , *q= fun( printf(n%dnH , *q); 程序运行后的输岀结果是()。 36. 有以下程序: #i nelude struct STUfchar n ame9;char sex;i nt score2; void f(struct STU a) struct STU b=Zhao,4 mi, 85 , 90); a1=b; main () struct STU c2=,QiannJ , 95 , 92 , “Sun” , * m* 98 99; f(c); co.score1); printf(M %s %c , %d , %dco.

12、name,co.sex , co.scoreo, printf(H%s , %c , %d , %dnn , ,c1.sex , c1.scoreo , c1.score ); 程序运行后的输出结果是()。 85 ,90 , Sun , m, 98 ,99 85 ,90 , Qian , f, 95 ,92 ,f, 95 , 92 , Sun , m, 98 I 99 ,f, 95 , 92 , Zhao , m , 85 ,90 37. 以下叙述中错误的是()。 A. 可以用typedef说明的新类型名来定义变量 说明的新类型名必须使用大写字母,否则会出编译错误 C. 用ty

13、pedef可以为基本数据类型说明一个新名称 D. 用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名 38. 以下叙述中错误的是()。 A. 函数的返回值类型不能是结构体类型,只能是简单类型 B. 函数可以返回指向结构体变量的指针 C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员 D. 只要类型相同,结构体变量之间可以整体赋值 39. 若有定义语句int b=2;,则 表达式(b2) / (3 II b)的值是()。 40. 有以下程序: #i nelude main () FILE*fp; int i , a6=1, 2 , 3 , 4 , 5 , 6; f

14、p=fopen(HM,” w+”); for=(i=o;i6;, i+)fpintf(fp , %dn, ai); rewi nd(fp); for(i=0;i%6;i+)fscanf(fp,H%d,f , fclose(fp); for(i=0;i%6;i+)pri ntf(”d 程序运行后的输出结果是()。 ,5,6 , 1 , 2,3 ,2,3,3,2,1 ,2,3,4,5,6 ,5,4,3,2,1 二、基本操作题(共18分) str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc(),该函数 的功能是:把字符串str中的数字字符转换成数字并存放到整型数

15、组bb中,函数返回数组bb的长度。 例如,Str=”abcl23de45f967”,结果为:1234567。 注意:部分源程序给出如下。 请勿改动mai n()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或 语句。 试题程序: #i nelude #define M 80 int bbM; int proc(char str 、 int bb 、 int num) int i,n=0; for(i=0;i if() bbn= 2: n+; return 3; void mai n() char strM; int num=0 , n, i; printf(f,

16、Enter a string: nn); gets(str); while(str nu m) nu m+ n=proc(str , bb , num); prin tf(Hnbb=H); for(i=0;i 三、程序改错题(共24分) 下列给定程序中,函数Poc()的功能是:读入一个字符串(长度 #i nclude #i nelude 队列要么为空,要么为满。 。【解析】栈是先进后出,因此,栈底元素是先入栈的元素,栈顶元素是后入栈的元素。 。【解析】数据的逻辑结构是描述数据之间的矢系,分两大类:线性结构和非线性结构。线性结构是n 个数据元素的有序(次序)集合,指的是数据元素之间存在着一对一

17、”的线性尖系的数据结构。常用的线性结 构有:线性表,栈,队列,双队列,数组,串。非线性结构的逻辑特征是一个结点元素可能对应多个直接前 驱和多个后驱。常见的非线性结构有:树(二叉树等厂图(网等厂广义表。 。【解析】单一的数据结构一一尖系,现实世界的实体以及实体间的各种联系均用尖系来表示。数据 的逻辑结构一一二维表,从用户角度,矢系模型中数据的逻辑结构是一张二维表。但是尖系模型的这种简单 的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种尖系。 。【解析】部门到职员是一对多的,职员到部门是多对一的,因此,实体部门和职员间的联系是I: m 联系。 。【解析】选择:是在数据表中给予一定

18、的条件进行筛选数据。投影:是把表中的某几个属性的数据 选择出来。连接:有自然连接、外连接,内连接等,连接主要用于多表之间的数据查询。并:与数学中的并 是一样的。两张表进行并操作,要求它们的属性个数相同并且需要相容。 。【解析】数据字典(DD)是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实 体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。 。【解析】软件可行性分析报告是软件可行性研究的依据。 。【解析】黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等。白盒测试的主要方 法有逻辑驱动、路径测试等,主要用于软件验证。 。【解析】软件设计阶段的主要任务

19、包括丙个:一是进行软件系统的可行性分析,确定软件系统的建 设是否值得,能否建成。二是进行软件的系统分析,了解用户的需求,定义应用功能,详细估算开发成本和 开发周期。 。【解析】C语言是一种成功的系统描述语言,具有良好的移植性,每个后缀为.C的C语言源程序都可 以单独进行编译。 。【解析】用户标识符不能以数字开头,C语言中标识符是区分大小写的,矢键字不能用做用户标识 符。 。【解析】当用指数形式表示浮点数据时,E的前后都要有数据,并且E的后面数要为整数。 。【解析】C语言是由函数组成的,函数是C语言的基本单位。所以可以说C语言主要是借助定义函 数来实现程序模块化。 。【解析】在C语言中,可以用一

20、个标识符来表示一个常量,称之为符号常量。符号常量在使用之前 必须先定义,其一般形式为:#defi ne标识符常量。 。【解析】在输入3和5之间除逗号外不能有其他字符。 。【解析】Char类型数据占1个字节。 。【解析】在一个表达式中,括号的优先级高,先计算3 !=4,为真即是1, 12为假。 。【解析】选项A,当cl和c2相等时,不成立;选项B, a*b要用括号括起来;选项C, case与后面的数 字用空格隔开。 。【解析】输出的结果是:,1 0,2 1,2 。【解析】如果没有把P指向一个指定的值,平是不能被赋值的。定义指针变量不赋初始值时默认为 null。 。【解析】比较两个字符串大小用函数

21、strcomp (S,t),空字符串有结束符,所以也要占用字节, 两个双引号表示的是空字符串。 。【解析】多元运算符问号前面表达式为真,所以(aA +赋值给a,括号里的运算是把大写字母 变成小写字母,所以答案应为选项Do 。【解析】第一次循环时,b=1,输出结果为B; 第二次循环时,b=3,输出结果为D; 第三次循环时,b=8,输出结果为I。 。【解析】x0是不能赋值的。 。【解析】在C语言中null等价于数字0。 。【解析】For循环结束后,数组a的值并没有变化,由于数组是由0开始,所以a2的值是30。 。【解析】Fun函数功能是把数组a的每一行的最大值赋给b,a的第一行的最大值是3,第二行

22、的最 大值是6,第三行的最大值是9,所以答案是3, 6, 9。 。【解析】第一次执行字符串的复制函数a的值是a2,第二次执行的是字符串的连接函数,所以运行 结果为a2yz。 。【解析】选项B不能把一个字符串赋值给一个字符变量,选项c和D犯了同样的错误是把字符串赋 给了数组名。 。【解析】输出结果:k=1 a=2 k=2 a=4 k=3 a=7 k=4 a=12 。【解析】For循环完成的功能是把二维数组a的第一列的字母按从小到大排序,其他列的字母不变。 。【解析】Funl是输出局部变量的值,fun2是把全局变量的值改成3和4,所以输出的结果是5634。 。【解析】第一调用func函数时输出4,第二次调用func函数时num的值并不会释放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论