ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:22.89KB ,
资源ID:15343629      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15343629.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机二级c语言题库及答案.docx)为本站会员(b****7)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机二级c语言题库及答案.docx

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

2、( )0、 A. 双向链表 B. 带链的栈 C. 二叉链表 D. 循环链表 4. 在关系数据库中,用来表示实体间联系的是( )。 A. 网状结构 B. 树状结构 C. 属性 D. 二维表 5. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 A.1:m 联系 B.m :n 联系 C.1:1联系 D.m :l 联系 6. 右两个关系R 和S 如下: 则由关系R 得到关系S 的操作是( )。 A. 自然连接 B. 并 C. 选择 D. 投影 7. 数据字典(DD)所定义的对象都包含于( )。 A. 软件结构图 B. 方框图 C. 数

3、据流图(DFD图) D. 程序流程图 8. 软件需求规格说明书的作用不包括( )。 A. 软件设计的依据 B. 软件可行性研究的依据 C. 软件验收的依据 D. 用户与开发人员对软件要做什么的共同理解 9. 下面属于黑盒测试方法的是( )。 A. 边界值分析 B. 路径覆盖 C. 语句覆盖 D. 逻辑覆盖 10. 下面不属于软件设计阶段任务的是( )。 A. 制订软件确认测试计划 B. 数据库设计 C. 软件总体设计 D. 算法设计 11. 以下叙述中正确的是( )。 A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为C 的C 语言源程序都可以单独进行编译 C.

4、在C 语言程序中,只有main 函数才可单独进行编译 D . 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 12.C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。 A. 预定义标识符(如库函数中的函数名) 可用做用户标识符,但失去原有含义 B. 用户标识符可以由字母和数字任意顺序组成 C. 在标识符中大写字母和小写字母被认为是相同的字符 D . 关键字可用做用户标识符,但失去原有含义 13. 以下选项中表示一个合法的常量是(说明:符号口表示空格)( )。 A.9口9口9 B. 0Xab C.123E0.2 D.2.7e 14.C 语言主要是借助以

5、下哪个功能来实现程序模块化?( ) A. 定义函数 B. 定义常量和外部变量 C. 三种基本结构语句 D. 丰富的数据类型 15. 以下叙述中错误的是( )。 A. 非零的数值型常量有正值和负值的区分 B . 常量是在程序运行过程中值不能被改变的量 C. 定义符号常量必须用类型名来设定常量的类型 D. 用符号名表示的常量叫符号常量 16. 若有定义和语句:int a,b;scanf(%d,%d,&a,&b);以下选项中的输人数据,不能把值3赋给变量a 、5赋给变量b 的是( )。 A .3,5, B.3,5,4 C.3,5 D.3,5 17.C 语言中char 类型数据占字节数为( )。 A.

6、3 B.4 C .1 D.2 18. 下列关系表达式中,结果为“假”的是( )。 A.(3+4)6 B. (3!=4)2 C.3 D.(3 19. 若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是( )。 A.switch(a+9) case cl:y=a-b; case c2:y=a+b; B.switch a*b case l0:x=a+b; default :y=a-b; C.switch(a+b) casel:case3:y=a+b;break; case0:case4:y=a-b; D .switch(a*a+b*b) default:break

7、; case 3:y=a+b;break; case 2:y=a-b;break; 20. 有以下程序: #include main() int a=-2,b=0; while(a+&+b); printf(%d,%dn,a ,b); 程序运行后的输出结果是( )。 A.1,3 B. 0,2 C.0,3 D.1,2 21. 设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。 A.p=x; B.* p=x; C.D=NULL; D.* p=NULL; 22. 下列叙述中正确的是( )。 A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0

8、C. 两个连续的单引号是合法的字符常量 D . 两个连续的双引号是合法的字符串常量 23. 有以下程序: #include main() rhar a=H; a=(a=A&a printf(%cn,a); 程序运行后的输出结果是( )。 A.A B.a C .H 24. 有以下程序: #include int f(int x); main() int a,b=0; for(a=0;a b=b+f(a);putchar(A+b); int f(int x) return x * xl; 程序运行后的输出结果是( )。 A.ABE B.BDI C.BCF D.BCD 25. 设有定义:int x2

9、3;,则以下关于二维数组X 的叙述错误的是( )。 A.x0可看做是由3个整型元素组成的一维数组 B.x0和xl是数组名,分别代表不同的地址常量 C. 数组X 包含6个元素 D. 可以用语句xo=0;为数组所有元素赋初值0 26. 设变量P 是指针变量,语句P=NULL;是给指针变量赋NULL 值,它等价于( )。 A. p=; B.p=0; C.p=0; D.p=; 27. 有以下程序: #include main() int a=10,20,30,40,*p=a,j; for(i=0;i printf(oAdn,a2); 程序运行后的输出结果是( )。 A.30 B.40 C.10 D.2

10、0 28. 有以下程序: #include #define N 3 void fun(int aN,int b) int i,j; for(i=0;i for(j=i;j main() int xNN=1,2,3,4,5,6,7,8,9,yN,i; fun(x,y); for(i=0;i 程序运行后的输出结果是(,) 。 A.2,4,8, B.3,6,9, C.3,5,7, D.1,3,5, 29. 有以下程序(strcpy为字符串复制函数,strcat 为字符串连接函数) : #include #include main() char a10=abc,b10=012,c10=xyz; str

11、cpy(a+1,b+2); puts(strcat(a,c+1); 程序运行后的输出结果是( )。 A.al2xyz B.12yz C .a2yz D.bc2yz 30. 以下选项中,合法的是( )。 A .char str3=d,e,b,u,g,0; B.char str4;str4=hello world; C.char name10;name=china; D.char strl5=pass,str26;str2=strl; 31. 有以下程序: #include main() char*s=234;int k=0,a=0; whil(sk+1!=o) k+; if(k%2=o)a=a+

12、(sk-0+1);continue; a=a+(sk-0); printf(k=%d a=%dn,k ,a); 程序运行后的输出结果是( )。 A.k=6 a=11 B.k=3 a=14 C.k=4 a=12 D.k=5 a=15 32. 有以下程序: #include main() char a510=one,tw0 ,three ,four ,five; int i,j; char t: 、 for(i=0;i for(j=i+1;j if(aiOaj0) t=aiO;aiO=ajO;ajO=t;) puts(a1); 程序运行后的输出结果是( )。 A.fwo B.fix C .two

13、D.owo 33. 有以下程序: #include int a=1,b=2: void funl(int a,int b) printf( %d%d,a ,b); void fun2() a=3;b=4; main() funl(5,6);fun2(); printf(%d%dn,a ,b); 程序运行后的输出结果是( )。 A.1 2 5 6 B.5 6 3 4 C .5 6 1 2 D.3 4 5 6 34. 有以下程序: #include void func(int n) static int num=1); num=num+n;printf(%d,num); main() funo(3

14、);func(4);printf(n); 程序运行后的输出结果是( )。 A. 4 8 B.3 4 C.3 5 D.4 5 35. 有以下程序: #include #include void fun(int*pl,int*p2,int*s) s=(int*)malloc(sizeof(int); *s=*pl+*p2; free(s); main() int a=1,b=40,*q=&a; fun(&a,&b,q); printf(%dn,*q); 程序运行后的输出结果是( )。 A.42 B.0 C.1 D. 41 36. 有以下程序: #include struct STUchar nam

15、e9;char sex;int score2; void f(struct STU a) struct STU b=Zhao,m,85,90); a1=b; main() struct STU c2=Qian,f,95,92,Sun,m 98,99; f(c); printf(”%s,%c,%d,%d,co.name,co.sex,co.scoreo,co.score1); printf(%s,%c,%d,%dn,c1.name,c1.sex,c1.scoreo,c1.score 1); 程序运行后的输出结果是( )。 A.Zhao ,m ,85,90,Sun ,m ,98,99 B.Zhao

16、 ,m ,85,90,Qian ,f ,95,92 C.Qian ,f ,95,92,Sun ,m ,98,99 D. Qian ,f ,95,92,Zhao ,m ,85,90 37. 以下叙述中错误的是( )。 A. 可以用typedef 说明的新类型名来定义变量 B .typedef 说明的新类型名必须使用大写字母,否则会出编译错误 C. 用typedef 可以为基本数据类型说明一个新名称 D. 用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名 38. 以下叙述中错误的是( )。 A. 函数的返回值类型不能是结构体类型,只能是简单类型 B. 函数可以返回指向结构体

17、变量的指针 C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员 D. 只要类型相同,结构体变量之间可以整体赋值 39. 若有定义语句int b=2;,则表达式(b A.4 B.8 C .0 D.2 40. 有以下程序: #include main() FILE*fp; int i,a6=1,2,3,4,5,6; fp=fopen(d2.dat,w+); for=(i=o;i rewind(fp); for(i=0;i%6;i+)fscanf(fp,%d,&a5-i); fclose(fp); for(i=0;i%6;i+)printf(%d, ,ai); 程序运行后的输出结果是(

18、)。 A.4,5,6,1,2,3, B.1,2,3,3,2,1, C. 1,2,3,4,5,6, D.6,5,4,3,2,1, 二、基本操作题(共18分) str 是一个由数字和字母字符组成的字符串,由变量num 传人字符串长度。请补充函数proc(),该函数的功能是:把字符串str 中的数字字符转换成数字并存放到整型数组bb 中,函数返回数组bb 的长度。 例如,str=abcl23de45f967,结果为:l234567。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序: #include #

19、define M 80 int bbM; int proc(char str,int bb,int num) int i,n=0; for(i=0;i if( 【1】 ) stri=0&stri bbn=【2】 ; stri-0 n+; return 【3】n ; void main() char strM; int num=0,n ,i; printf(Enter a string:n); gets(str); while(strnum) num+: n=proc(str,bb ,num); printf(nbb=); for(i=0;i 三、程序改错题(共24分) 下列给定程序中,函数pr

20、oc()的功能是:读入一个字符串(长度 例如,输入opdye ,则应输出deopy 。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include%string.h #include%stdlib.h #include #include /*found* int proc(char str) char C; unsigned i,j; for(i=0;i c=strj: /*found* strj=stri+; stri=C; void main() char st/81; system(CLS); print

21、f(nPlease enter a character string :); gets(str); printf(nknBefore sorting:n %s,str); proc(str); printf(nAfter sorting decendingly:n %S,str); 四、程序设计题(共18分) 请编写函数proc(),它的功能是计算: s=(In(1)4+ln(2)4+ln(3)+In(m)0.5 在C 语言中可调用log(n)函数求ln(n)。 例如,若m 的值为30,则proc()函数值为8.640500。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的

22、任何内容,仅在函数proc()的花括号中填人所编写的若干语句。 试题程序: #include #include #inclllde #include double proc(int m) void main() system(CLS); printf(%fn,proc(30); 【参考答案及专家详解】 一、选择题 1.B 。【解析】Q(1:35) 则队列的存储空间为35; 对空条件:front=rear(初始化时:front=rear),队满时:(rear+1)%n= =front,n 为队列长度(所用数组 大小) ,因此当执行一系列的出队与入队操作,front=rear.则队列要么为空,要么

23、为满。 2.B 。【解析】栈是先进后出,因此,栈底元素是先入栈的元素,栈顶元素是后入栈的元素。 3.C 。【解析】数据的逻辑结构是描述数据之间的关系,分两大类:线性结构和非线性结构。线性结构是n 个数据元素的有序(次序) 集合,指的是数据元素之间存在着“一对一”的线性关系的数据结构。常用的线性结构有:线性表,栈,队列,双队列,数组,串。非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后驱。常见的非线性结构有:树(二叉树等) ,图(网等) ,广义表。 4.D 。【解析】单一的数据结构关系,现实世界的实体以及实体间的各种联系均用关系来表示。数据的逻辑结构二维表,从用户角度,关系模型中数

24、据的逻辑结构是一张二维表。但是关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。 5.A 。【解析】部门到职员是一对多的,职员到部门是多对一的,因此,实体部门和职员间的联系是l :m 联系。 6.C 。【解析】选择:是在数据表中给予一定的条件进行筛选数据。投影:是把表中的某几个属性的数据选择出来。连接:有自然连接、外连接,内连接等,连接主要用于多表之间的数据查询。并:与数学中的并是一样的。两张表进行并操作,要求它们的属性个数相同并且需要相容。 7.C 。【解析】数据字典(DD)是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和

25、描述,其目的是对数据流程图中的各个元素做出详细的说明。 8.B 。【解析】软件可行性分析报告是软件可行性研究的依据。 9.A 。【解析】黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等。白盒测试的主要方法有逻辑驱动、路径测试等,主要用于软件验证。 10.A 。【解析】软件设计阶段的主要任务包括丙个:一是进行软件系统的可行性分析,确定软件系统的建设是否值得,能否建成。二是进行软件的系统分析,了解用户的需求,定义应用功能,详细估算开发成本和开发周期。 11.B 。【解析】C 语言是一种成功的系统描述语言,具有良好的移植性,每个后缀为.C 的C 语言源程序都可以单独进行编译。 12.A

26、。【解析】用户标识符不能以数字开头,C 语言中标识符是区分大小写的,关键字不能用做用户标识符。 13.B 。【解析】当用指数形式表示浮点数据时,E 的前后都要有数据,并且E 的后面数要为整数。 14.A 。【解析】C 语言是由函数组成的,函数是C 语言的基本单位。所以可以说C 语言主要是借助定义函数来实现程序模块化。 15.C 。【解析】在C 语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define标识符常量。 16.C 。【解析】在输入3和5之间除逗号外不能有其他字符。 17.C 。【解析】Char 类型数据占1个字节。 18.B 。

27、【解析】在一个表达式中,括号的优先级高,先计算3 !=4,为真即是l ,12为假。 19.D 。【解析】选项A ,当cl 和c2相等时,不成立; 选项B ,a*b要用括号括起来; 选项C ,case 与后面的数字用空格隔开。 20.D 。【解析】输出的结果是:-1,1 0,2 1,2 21.C 。【解析】如果没有把P 指向一个指定的值,*P是不能被赋值的。定义指针变量不赋初始值时默认为null 。 22.D 。【解析】比较两个字符串大小用函数strcomp(S,t) ,空字符串有结束符,所以也要占用字节,两个双引号表示的是空字符串。 23.D 。【解析】多元运算符问号前面表达式为真,所以(a-

28、A+a)赋值给a ,括号里的运算是把大写字母变成小写字母,所以答案应为选项D 。 24.B 。【解析】第一次循环时,b=1,输出结果为B; 第二次循环时,b=3,输出结果为D; 第三次循环时,b=8,输出结果为I 。 25.D 。【解析】x0是不能赋值的。 26.C 。【解析】在C 语言中null 等价于数字0。 27.A 。【解析】For 循环结束后,数组a 的值并没有变化,由于数组是由0开始,所以a2的值是30。 28.B 。【解析】Fun 函数功能是把数组a 的每一行的最大值赋给b ,a 的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。 29.C 。【解析】第一次执行字符串的复制函数a 的值是a2,第二次执行的是字符串的连接函数,所以运行结果为a2yz 。 30.A 。【解析】选项B 不能把一个字符串赋值给一个字符变量,选项c 和D 犯了同样的错误是把字符串赋给了数组名。 31.C 。【解析】输出结果:k=1 a=2 k=2 a=4 k=3 a=7 k=4 a=12 32.A 。【解析】For 循环完成的功能是把二维数组a 的第一列的

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

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