【计算机类职业资格】二级C语言笔试-394及答案解析.doc
《【计算机类职业资格】二级C语言笔试-394及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-394及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-394 及答案解析(总分:136.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是( )。A) 算法的效率只与问题的规模有关,而与数据的存储结构无关B) 算法的时间复杂度是指执行算法所需要的计算工作量C) 数据的逻辑结构与存储结构是一一对应的D) 算法的时间复杂度与空间复杂度一定相关(分数:1.00)A.B.C.D.2.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:1
2、.00)A.B.C.D.3.下列叙述中正确的是( )。A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.4.下列选项中不属于结构化程序设计方法的是( )。A) 自顶向下 B) 逐步求精 C) 模块化 D) 可复用(分数:1.00)A.B.C.D.5.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )。A) 模拟现实世界中不同事物之间的联系B)
3、强调模拟现实世界中的算法而不强调概念C) 使用现实世界的概念抽象地思考问题从而自然地解决问题D) 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考(分数:1.00)A.B.C.D.6.软件是指( )。A) 程序B) 程序和文档C) 算法加数据结构D) 程序、数据与相关文档的完整集合(分数:1.00)A.B.C.D.7.下面不属于软件工程的 3 个要素的是( )。A) 工具 B) 过程 C) 方法 D) 环境(分数:1.00)A.B.C.D.8.下列有关数据库的描述,正确的是( )。A) 数据库是一个 DBF 文件B) 数据库是一个关系C) 数据库是一个结构化的数据集合D) 数据库是一组
4、文件(分数:1.00)A.B.C.D.9.数据库技术的根本目标是要解决数据的( )。A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:1.00)A.B.C.D.10.数据库系统的核心是( )。A) 数据库 B) 数据库管理系统C) 模拟模型 D) 软件工程(分数:1.00)A.B.C.D.11.用 C 语言编写的代码程序( )。A) 可立即执行B) 是一个源程序C) 经过编译即可执行D) 经过编译解释即可执行(分数:1.00)A.B.C.D.12.以下叙述不正确的是( )。A) 一个 C 源程序可由一个或多个函数组成B) 一个 C 源程序必须包含一个 main 函数C) C
5、 程序的基本组成单位是函数D) 在 C 程序中,注释说明只能位于一条语句的后面(分数:1.00)A.B.C.D.13.有以下程序,其中%u 表示按无符号整数输出:main() unsigned int x=0xFFFF; /*x 的初值为十六进制数*/printf(“%u/n“, x); 程序运行后的输出结果是( )。A) -1 B) 65535 C) 32767 D) 0xFFFF(分数:1.00)A.B.C.D.14.有以下程序:main() int x=102, y=012; printf(“%2d, %2d/n“, x, y); 执行后输出结果是( )。A) 10, 01 B) 02,
6、 12 C) 102, 10 D) 02, 10(分数:1.00)A.B.C.D.15.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是( )。A) x%2=1 B) x/2 C) x%2!=0 D) x%2=0(分数:1.00)A.B.C.D.16.若有定义 int x, y; ,并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是( )。A) (x-y0) B) (x-y0) C) (x-y0|x-y0) D) (x-y=0)(分数:1.00)A.B.C.D.17.已知:int t=0; while (t=1) .则以下叙述正
7、确的是( )。A) 循环控制表达式的值为 0B) 循环控制表达式的值为 1C) 循环控制表达式不合法D) 以上说法都不对(分数:1.00)A.B.C.D.18.设有程序段:int k=10; while(k=0) k=k-1; 则下面描述中正确的是( )。A) while 循环执行 10 次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次(分数:1.00)A.B.C.D.19.若运行以下程序时,从键盘输入 ADescriptor (CR表示回车) ,则下面程序的运行结果是( )。#include stdio.hmain() char c; int v0=1, v1=0,
8、 v2=0; do(switch(c=getchar() (casea:caseA:case e:case E:case i:case T:case o:case 0:case u:caseU:v1+=1; default:v0+=1; v2+=1; ) while(e!=/n); printf(“v0=%d, v1=%d, v2=%d/n“, v0, v1, v2); ) A) v0=7, v1=4, v2=7B) v0=8, v1=4, v2=8C) v0=11, v1=4, v2=11D) v0=13, v1=4, v2=12(分数:1.00)A.B.C.D.20.以下选项中,值为 1
9、的表达式是( )。A) 1-0 B) 1-/0 C) 1-0 D) /0-0(分数:1.00)A.B.C.D.21.以下不合法的字符常量是( )。A) /018 B) /“ C) / D) /xcc(分数:1.00)A.B.C.D.22.已有定义:char c; 程序前面已在命令行中包含 ctype.h 文件。不能用于判断 c 中的字符是否为大写字母的表达式是( )。A) isupper(C) B) A=c=ZC) A=cc=ZD) c=(z-32) (a-32) =c(分数:1.00)A.B.C.D.23.设已有定义:float x; ,则以下对指针变量 p 进行定义且赋初值的语句中正确的是
10、( )。A) float *p=1024; B) int*p=(float)x; C) float p=x; D) float *p=x;(分数:1.00)A.B.C.D.24.若有说明:int *p, m=5, n; ,以下正确的程序段是( )。A) p=n; scanf(“%d“, p); B) p=n; scanf(“%d“, *p) C) scanf(“%d“, n); *p=n; D) p=n; *p=m;(分数:1.00)A.B.C.D.25.若有语句:char *line5; ,以下叙述中正确的是( )。A) 定义 line 是一个数组,每个数组元素是一个基类型为 char 的指
11、针变量B) 定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C) 定义 line 是一个指针数组,语句中的*号称为间址运算符D) 定义 line 是一个指向字符型函数的指针(分数:1.00)A.B.C.D.26.下列程序执行后的输出结果是( )。#include stdio.hvoid func(int *a, int b) (b0=*a+6; ) main() int a, b5; a=0; b0=3; func(a, b); printf(“%d/n“, b0); A) 6 B) 7 C) 8 D) 9(分数:1.00)A.B.C.D.27.有以下程序:#incl
12、ude stdio.hvoid f(int *q) int i=0; for(; i5; i+) (*q)+; main() int a5=1, 2, 3, 4, 5), i; f(a); for (i=0; i5; i+) printf(“%d, “, ai); 程序运行后的输出结果是( )。A) 2, 2, 3, 4, 5, B) 6, 2, 3, 4, 5, C) 1, 2, 3, 4, 5, D) 2, 3, 4, 5, 6,(分数:1.00)A.B.C.D.28.有以下程序:#include stdio.hmain() int i, s=0, t=1, 2, 3, 4, 5, 6,
13、7, 8, 9; for(i=0; i9; i+=2) s+=*(t+i); printf(“%d/n“, s); 程序执行后的输出结果是()。A) 45 B) 20 C) 25 D) 36(分数:1.00)A.B.C.D.29.若有定义语句:int m=5, 4, 3, 2, 1, i=4; ,则下面对 m 数组元素的引用中错误的是( )。A) m-i B) m2*2 C) mm0 D) mmi(分数:1.00)A.B.C.D.30.下列关于字符串的说法中错误的是( )。A) 在 C 语言中,字符串是借助于字符型一维数组来存放的,并规定以字符/0作为字符串结束标志B) /0作为标志占用存储空
14、间,计入串的实际长度C) 在表示字符串常量的时候不需要人为在其末尾加入/0D) 在 C 语言中,字符串常量隐含处理成以/0结尾(分数:1.00)A.B.C.D.31.有以下程序:#include stdio.hvoid ss(char *s, char t) while(*s) if(*s=t) *s=t=a+A; s+; main() char strl100=“123ddfefdbd“, c=d; ss(str1, c); printf(“% s/n“, str1); 程序运行后的输出结果是( )。A) ABCDDEFEDBD B) 123DDfefDbDC) 123AAfefAbA D)
15、 Abcddfefdbd(分数:1.00)A.B.C.D.32.下面能正确进行字符串赋值操作的是( )。A) char s5=“ABCDE“; B) char s5=A, b, C, D, E; C) char *s; s=“ABCDE“; D) char *s; scanf(“%s“, s);(分数:1.00)A.B.C.D.33.有以下程序:#include stdio.hfun(int x) int p; if(x=0|x=1) return(3); p=x-fun(x-2); return p; main() printf(“%d/n“, fun(7) ); 执行后的输出结果是( )。
16、A) 7 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.34.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。A) auto 和 register B) extern 和 registerC) auto 和 static D) static 和 register(分数:1.00)A.B.C.D.35.下列程序的输出结果是( )。#include stdio.h#define M(x, y) x%ymain() int a, m=12, n=100; a=M(n, m); printf(“%d/n“, a-); A) 2 B) 3 C) 4 D) 5(分数:
17、1.00)A.B.C.D.36.设有以下说明语句:typedef structint n; char ch8; PER; 则下面叙述中正确的是( )。A) PER 是结构体变量名 B) PER 是结构体类型名C) typedef struct 是结构体类型 D) struct 是结构体类型名(分数:1.00)A.B.C.D.37.设有以下说明语句:struct exint x; float y; char z; example; 则下面的叙述中不正确的是( )。A) struct 结构体类型的关键字B) example 是结构体类型名C) x、y、z 都是结构体成员名D) struct ex
18、是结构体类型名(分数:1.00)A.B.C.D.38.以下选项中,能定义 s 为合法的结构体变量的是( )。A) typedef struct 123double a; char b10; s; B) structdouble a; char b10; s; C) struct ABCdouble a; char b10; ABC s; D) typedef ABCdouble a; char b10; ABC s;(分数:1.00)A.B.C.D.39.下面程序段的输出为( )。#include stdio.hmain() printf(“%d/n“, 122); A) 0 B) 47 C)
19、 48 D) 24(分数:1.00)A.B.C.D.40.以下叙述中错误的是( )。A) C 语言中对二进制文件的访问速度比文本文件快B) C 语言中,随机文件以二进制代码形式存储数据C) 语句 FILE fp;定义了一个名为 fp 的文件指针D) C 语言中的文本文件以 ASCII 码形式存储数据(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:54.00)下列给定程序中,函数 fun 的功能是计算下式:直到 (分数:54.00)填空项 1:_填空项 1:_填空项 1:_三、程序改错题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:将 s 所指
20、字符串的正序和反序进行连接,形成的新串放在 t 所指的数组中。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 mam 函数,不得增行或删行,也不得更改程序的结构!试题程序:#includestdio.h#includestring.h/*found*/void fun(char s, char t)int i, d; d=strlen(s); for(i=0; id; i+)ti=si; for(i=0; id; i+)td+i=sd-1-i; /*found*/t2*d-1=/0; main()char s100, t100; printf(“nPlease enter strin
21、g S:“); scanf(“%s“, s); fun(s, t); printf(“/nThe result is: %s/n“, t); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)42.编写函数 fun,其功能是:将 s 所指字符串中除了下标为奇数,同时 ASCII 码值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在 t 所指的数组中。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:#includestdio.h#includestring.hvo
22、id fun(char*s, char t)main()char s100, t100; printf(“%nPlease enter string s:“); scanf(“%s“, s); fun(s, t); printf(“/nThe result is:%s/n“, t); (分数:24.00)_二级 C 语言笔试-394 答案解析(总分:136.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是( )。A) 算法的效率只与问题的规模有关,而与数据的存储结构无关B) 算法的时间复杂度是指执行算法所需要的计算工作量C) 数据的逻辑结构与存储结
23、构是一一对应的D) 算法的时间复杂度与空间复杂度一定相关(分数:1.00)A.B. C.D.解析:解析 算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。2.下列叙述中正确的是( )。A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一个算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对(分数:1.00)A.B.C.D. 解析:解析 时间复杂度是指一个算法执行时间的相对度量;空间复杂度是指算法在运行过程中临时占用所需存储空间大小的度量。人们都希望
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 394 答案 解析 DOC
