【计算机类职业资格】二级C语言笔试-374及答案解析.doc
《【计算机类职业资格】二级C语言笔试-374及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-374及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-374 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列叙述中正确的是A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空问复杂度必定小D) 上述三种说法都不对(分数:2.00)A.B.C.D.2.下列关于栈的描述错误的是A) 栈按“先进后出”组织数据 B) 栈是特殊的线性表,只能在一端插入或删除数据C) 栈具有记忆功能 D) 栈只能顺序存储(分数:2.00)A.B.C.D.3.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比
2、较的次数为A) log2n B) n2 C) n D) n+1(分数:2.00)A.B.C.D.4.下列选项中不符合良好程序设计风格的是A) 数据说明的次序要规范化B) 程序中要有必要的注释C) 对所有输入的数据都要进行检查,确保数据的合法性D) 程序的效率第一,清晰第二(分数:2.00)A.B.C.D.5.程序流程图(PFD) 中的菱形代表的是A) 数据流 B) 控制流 C) 加工步骤 D) 逻辑条件(分数:2.00)A.B.C.D.6.在软件开发中,需求分析阶段产生的主要文档是A) 软件需求规格说明书 B) 数据库说明污C) 集成测试计划 D) 概要设计说明书(分数:2.00)A.B.C.
3、D.7.下列选项中属于软件生命周期中开发阶段任务的是A) 详细设计 B) 运行维护 C) 可行性研究 D) 需求分析(分数:2.00)A.B.C.D.8.数据库管理系统中负责数据完整性、安全性定义的语言是A) 数据定义语言 B) 数据管理语言 C) 数据操纵语言 D) 数据控制语言(分数:2.00)A.B.C.D.9.“商品”与“顾客”两个实体集之间的联系一般是A) 一对一 B) 多对一 C) 一对多 D) 多对多(分数:2.00)A.B.C.D.10.有三个关系 R,S 和 T 如下:(分数:2.00)A.B.C.D.11.下面各选项中,均是 C 语言合法标识符的选项是A) 33 we au
4、to B) _23 me _3ew C) _43 3e_ else D) ER-DF 32(分数:1.00)A.B.C.D.12.以下不合法的字符常量是A) /“ B) /018 C) /xcc D) /(分数:1.00)A.B.C.D.13.阅读以下程序:#includestdio.hmain()int case; float printF; printf(“请输入 2 个数:“); scanf(“%d%f“, case, printF); printf(“%d%f/n“, case, printF); 该程序在编译时产生错误,其出错原因是A) 定义语句出错,case 是关键字,不能用作用户
5、自定义标识符B) 定义语句出错,printF 不能用作用户自定义标识符C) 定义语句无错,scanf 不能作为输入函数使用D) 定义语句无错,printf 不能输出 case 的值(分数:1.00)A.B.C.D.14.以下选项中正确的定义语句是A) double a; b; B) double a=b=7; C) double a=7, b=7; D) double, a, b;(分数:1.00)A.B.C.D.15.现有格式化输入语句,scanf(“x=%d,sumy=%d, linez=%dL“, x, y, z);,已知在输入数据后,x,y,z 的值分别是 23,56,78,则下列选项
6、中正确地输入格式的是注 “表示空格,Enter表示回车A) 23, 56, 78Enter B) x=23, y=56, z=78EnterC) x=23C, sumy=56, z=78Enter D) x=23, sumy=56, linez=78Enter(分数:1.00)A.B.C.D.16.x,y,z 被定义为 int 型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是A) INPUT x、y、z; B) scanf(“ % d%d%d“, x, y, z); C) scanf(“ % d% d% d“, x, y, z); D) read(“ % d% d% d“, x, y
7、, z);(分数:1.00)A.B.C.D.17.下列程序段的输出结果是int n=c; switch(n+)default: printf(“error“); break; case“a“:case“A“:case b:caseB:printf(“good“); break; casec“:caseC“:printf(“pass“); case“d“:caseD“:printf(“warn“); A) passwarn B) passerror C) goodpasswarn D) pass(分数:1.00)A.B.C.D.18.已知int x=0; while(x=1)则以下叙述正确的是A
8、) 循环控制表达式不合法 B) 循环控制表达式的值为 0C) 循环控制表达式的值为 1 D) 以上说法都不对(分数:1.00)A.B.C.D.19.若变量已正确定义,有以下程序段:i=0; do printf(“%d, “, i); while(i+); printf(“%d/n“,i); 其输出结果是A) 0,0 B) 0,1 C) 1,1 D) 程序进入无限循环(分数:1.00)A.B.C.D.20.有以下程序:main()int i, j; for(i=1; i4; i+)for(j=i; j4; j+)printf(“%d* %d=%d“, i, j, i*j); printf(“/n
9、“); 程序运行后的输出结果是A) 1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3B) 1*1=1 1*2=2 1*3=32*2=4 2*3=63*3=9C) 1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D) 1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=9(分数:1.00)A.B.C.D.21.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是A) +x, y=x- B) x+1=y C) x=x+10=x+y D) double(x)/10(分数:2.00)A.B.C.D.22.下列选项中,能正确定义数组的语句是A
10、) int num02008; B) int num; C) int N=2008; int numN; int numN; D) #define N 2008(分数:2.00)A.B.C.D.23.以下能正确定义赋初值的语句是A) int n1=n2=10; B) char c=32; C) float f=f+1.1; D) double x=12.3E2.5;(分数:2.00)A.B.C.D.24.若已定义 x 和 y 为 double 类型,则表达式 x=1, y=x+5/2 的值是A) 2 B) 3.0 C) 3 D) 3.5(分数:2.00)A.B.C.D.25.如果 int c=
11、3,d=4,k=0,下列描述正确的是A) cd!=k 和 c(d!=k)的执行顺序是一样的B) cdk 的结果为假C) c|(d=k)执行后 d 的值为 0D) !c!=(d!=k)表达式的值为 1(分数:2.00)A.B.C.D.26.若有条件表达式(exp)?a+: b-,则以下表达式中能完全等价于表达式(exp)的是A) (exp=0) B) (exp!=0) C) (exp=1) D) (exp!=1)(分数:2.00)A.B.C.D.27.若程序有宏定义:#define N 100,则以下叙述中正确的是A) 宏定义中定义了标识符 N 的值为整数 100B) 在编译程序对 C 源程序进
12、行预处理时用 100 替换标识符 NC) 对 C 源程序进行编译时用 100 替换标识符 ND) 在运行时用 100 替换标识符 N(分数:2.00)A.B.C.D.28.以下程序的功能是计算 s=1+12+123+1234+12345。main()int t=0, s=0, i; for(i=1; i=5; i+)t=i+; s=s+t; printf(“s=d%/n“,s); 则程序运行后的输出结果是A) t B) t *10 C) t*100 D) t+10(分数:2.00)A.B.C.D.29.若有定义 int a9, *p=a; ,则 p+5 表示A) 数组元素 a5的值 B) 数组
13、元素 a5的地址C) 数组元素 a6的地址 D) 数组元素 a0的值加上 5(分数:2.00)A.B.C.D.30.以下结构体类型说明和变量定义中正确的是A) typedef structint n; char c; REC; REC t1, t2; B) struct REC; int n; char c; ; REC t1, t2; C) typedef struct REC; int n=0; char c=A; t1, t2; D) structint n; char c; REC; REC t1, t2;(分数:2.00)A.B.C.D.31.有下面程序段:#include “std
14、io.h“#include “string.h“main()char a3 20=“china“, “isa“, “bigcountry!“; char k100=0, *p=k; int i; for(i=0; i3; i+)p=strcat(p, ai); i=strlen(p); printf(“%d/n“, i); 则程序段的输出结果是A) 18 B) 19 C) 20 D) 21(分数:2.00)A.B.C.D.32.设 p1 和 p2 是指向一个 int 型一维数组的指针变量,k 为 int 型变量,则不能正确执行的语句是A) k=*p1+*p2 B) p2=k; C) p1=p2
15、; D) k=*p1* (*p2);(分数:2.00)A.B.C.D.33.下列函数的功能是fun(char *a, char *b)while(*b=*a)!=/0) a+; b+; A) 将 a 所指字符串赋给 b 所指空间 B) 使指针 b 指向 a 所指字符串C) 将 a 所指字符串和 b 所指字符串进行比较 D) 检查 a 和 b 所指字符串中是否有/0(分数:2.00)A.B.C.D.34.有以下程序:#include stdio.h#include string.hmain()char x=“STRING“;x0=0; x1=/0; x2=0; printf(“%d%d/n“,
16、sizeof(x), strlen(x); 程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(分数:2.00)A.B.C.D.35.以下程序的输出结果是int f()static int i=0; int s=1; s+=i; i+; return s; main()int i, a=0; for(i=0; i5; i+)a+=f(); printf(“%d/n“, a); A) 20 B) 24 C) 25 D) 15(分数:2.00)A.B.C.D.36.若有语句:char * line5; ,以下叙述中正确的是A) 定义 line 是一个数组,每个数组元素是一
17、个基类型为 char 的指针变量B) 定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C) 定义 line 是一个指针数组,语句中的*号称为间址运算符D) 定义 line 是一个指向字符型函数的指针(分数:2.00)A.B.C.D.37.有以下程序:#include stdio.h#include string.hvoid fun(char *s, int n)char *t; int i, j; for(i=0; in-1; i+)for(j=i+1; jn; j+)if(strlen(si)strlen(sj)t=si; si=sj; sj=t; main()ch
18、ar *ss=“bcc“, “bbcc“, “xy“, “aaaacc“, “aabcc“; fun(ss, 5);printf(“%s, %s/n“, ss0, ss4); 程序的运行结果是A) xy, aaaacc B) aaaacc, xy C) bcc, aabcc D) aabcc, bcc(分数:2.00)_38.有以下程序:#includestdio.hvoid fun(int p)int d=2; p=d+; printf(“%d“, p); main()int a=1; fun(a); printf(“%d/n“, a); 程序运行后的输出结果是A) 32 B) 12 C)
19、21 D) 22(分数:2.00)A.B.C.D.39.有以下程序#include stdio.h#include stdlib.hmain()int *a, *b, *c; a=b=c=(int *)malloc(sizeof(int); *a=1; *b=2, *c=3; a=b; printf(“%d, % d, % d/n“, $a, $b, $c); 程序运行后的输出结果是A) 3, 3, 3 B) 2, 2, 3 C) 1, 2, 3 D) 1, 1, 3(分数:2.00)A.B.C.D.40.设有以下语句:char x=3, y=6, z;z=xy2; 则 z 的二进制值是A)
20、00010100 B) 00011011 C) 00011100 D) 00011000(分数:2.00)A.B.C.D.二、填空题(总题数:13,分数:30.00)41.设循环队列的容量为 55,如果头指针 front=50(指向队头元素的前一位置),尾指针 rear=15(指向队尾),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_42.深度为 7 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_43.仪由 1、选择(分支)和重复(循环)结构构成的程序是结构化程序。(分数:2.00)填空项 1:_44.常用的黑盒测试方法有等价类划分法、 1 和错误推测法
21、 3 种。(分数:2.00)填空项 1:_45.数据库系统在其内部分为概念模式、内模式和外模式。其中 1 给出了数据库物理存储结构与物理存取方法。(分数:2.00)填空项 1:_46.阅读下面程序,则执行后的输出结果是_。#include“stdio.h“main()int x, y, 2; x=1; y=2; z=3; if(xy)if(xz)printf(“%d“, x); else printf(“%d“, y); printf(“%d/n“,z);(分数:2.00)填空项 1:_47.以下程序的运行结果是_。#includestdio.hlong fb(int g)switch(g)c
22、ase 0:return 0; case 1:case 2: return 1; return(fib(g-1)+fib(g-2); main()long k; k=fib(5); printf(“k=%51d/n“, k);(分数:2.00)填空项 1:_以下程序的功能是调用函数 fun 计算:m=1-2+3-4+9-10,并输出结果,请填空。int fun(int n)int m=0,f=1, i; for(i=1; i=n; i+)m+=i*f; f= (8) ; return m; main() printf(“m=%d/n“, (9) );(分数:4.00)填空项 1:_填空项 1:
23、_48.有以下程序:#includestdio.hstruct STUint num; float TotalScore; ; void f(struct STU p)struct STU s2=20044, 550, 20045, 537; p. num=s1.num; p.TotalScore=s1. TotalScore; main()struct STU s2=20041, 703, 20042, 580; f(s0); printf(“%d%3.0f/n“, s0. num, s0. TotalScore); 程序运行后的输出结果是_。(分数:2.00)填空项 1:_49.有以下程序
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 374 答案 解析 DOC
