【计算机类职业资格】二级C语言笔试-16及答案解析.doc

上传人:sumcourage256 文档编号:1325994 上传时间:2019-10-17 格式:DOC 页数:15 大小:89KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-16及答案解析.doc_第1页
第1页 / 共15页
【计算机类职业资格】二级C语言笔试-16及答案解析.doc_第2页
第2页 / 共15页
【计算机类职业资格】二级C语言笔试-16及答案解析.doc_第3页
第3页 / 共15页
【计算机类职业资格】二级C语言笔试-16及答案解析.doc_第4页
第4页 / 共15页
【计算机类职业资格】二级C语言笔试-16及答案解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、二级 C 语言笔试-16 及答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.在结构化程序设计中,模块划分的原则是_。(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度2.有以下结构体说明,变量定义和赋值语句: struct STD char name10; int age; char *; s5,*ps; ps=s0; 则以下 scanf 函数调用语句中错误的结构体变量成员是_。(分数:2.00)A.scanf(“%s“,s0.name);B.s

2、canf(“%d“,s0.age);C.scanf(“%c“,(ps-*);D.scanf(“%d“,ps-age);4.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。(分数:2.00)A.k+B.k+=1C.+kD.k+15.以下叙述中正确的是_。(分数:2.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言中,预处理命令行都以“#”开头C.每个 C 程序必须在开头包含预处理命令行:#includestdio.hD.C 语言的预处理不能实现宏定义和条件编译的功能6.以下叙述正确的是_。(分数:2.00)A.C 语言中的文件是流式文件,因

3、此只能顺序存取数据B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失7.用树形结构表示实体之间联系的模型是_。(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上三个都是8.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是_。(分数:2.00)A.auto 和 registerB.extern 和 registerC.auto 和 staticD.static 和 register9.下列叙述中

4、正确的是_。(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对10.设有以下语句: int a=1,b=2,c; c=a(b2); 执行后,C 的值为_。(分数:2.00)A.6B.7C.8D.911.若有定义语句:int a36;,按在内存中的存放顺序,a 数组的第 10 个元素是_(分数:2.00)A.a04B.a13C.a03D.a1412.有以下程序: #includestdio.h main() cha

5、r cl=1,c2=2; cl=getchar();c2=getchar();putchar(c1);putchar(c2); 当运行时输入:a回车后,以下叙述正确的是_。(分数:2.00)A.变量 c1 被赋予字符 a,c2 被赋予回车符B.程序将等待用户输入第 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符 2D.变量 c1 被赋予字符 a,c2 中将无确定值13.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.可以是任意合法的表达式14.在长度为 64 的有序线性

6、表中进行顺序查找,最坏情况下需要比较的次数为_。(分数:2.00)A.63B.64C.6D.715.以下叙述中错误的是_。(分数:2.00)A.gets 函数用于从终端读入字符串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件16.有以下程序: maln() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2)s+=*(t+i); printf(“%d/n“,s); 程序执行后的输出结果是_。(分数:2.00)A.45B.20C.25D.3617.数据的存储结构

7、是指_。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示18.以下选项中不合法的标识符是_。(分数:2.00)A.printB.FORC.aD._0019.有以下程序: main() char a7=“a0/0a0/0“;int i,j; i=sizeof(a);j=strlen(a); printf(“%d%d/n“,i,j); 程序运行后的输出结果是_。(分数:2.00)A.2 2B.7 6C.7 2D.6 220.有以下程序: #includestdio.h #includestring.h #includ

8、e void f(char*s,char*t) char k; k=*s; *s=*t; *t=k; s+;t-; if(*s)f(s,t): main() char str10=“abcdefg“,*P; P=str+strlen(str)/2+1: f(p,p-2); printf(“%s/n“,str); 程序运行后的输出结果是_。(分数:2.00)A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg21.结构化程序设计的基本原则不包括_。(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精22.按照“后进先出”原则组织数据的数据结构是_。(分数:2.00)

9、A.队列B.栈C.双向链表D.二叉树23.有以下程序: mian() int i,j; for(i=1;i4;i+) for(j=i;j4;j+)printf(“%d*%d=%d“,i,j,i*j); printf(“/n“); 程序运行后的输出结果是_。(分数:2.00)A.1*1=1 1*2=2 1*3=3B.1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=924.有以下语句:int b;

10、char c10;,则正确的输入语句是_。(分数:2.00)A.scanf(“%d%s“,b,c);B.scanf(“%d%s“,b,c);C.scanf(“%d%s“,b,c);D.scanf(“%d%s“,b,c);25.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定这属于算法的_。(分数:2.00)A.正当性B.可行性C.确定性D.有穷性26.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指_。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对27.有一个名为 ink.txt 的文件,

11、内容如下: #define HDY(A,B) A/B #define PRINT(Y) printf(“y=%d/n.,Y) 有以下程序: #include “init.txt“ main() int a=1,b=2,c=3,d=4,k; K=HDY(a+c,b+d); PRINT(K); 下面针对该程序的叙述正确的是_。(分数:2.00)A.编译有错B.运行出错C.运行结果为 y=0D.运行结果为 y=628.有以下程序: main() int a=1,b; for(b=1:b=10;b+) if(a=8)break; if(a%2=1)a+=5;continue; a-=3: printf

12、(“%d/n“,b); 程序运行后的输出结果是_。(分数:2.00)A.3B.4C.5D.629.有以下程序: main() int a=0,b=0,C=0,d=0; if(a=1)b=1;c=2; else d=3; printf(“%d,%d,%d,%d/n“,a,b,c,d); 程序输出_。(分数:2.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错30.有以下程序: main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t; for(i=0;i3;i+) for(k=i+i;k4;k+)if(aiiakk)t=ai

13、i;aii=akk;akk=t; for(i=0;i4;i+)printf(“%d,“,a0i); 程序运行后的输出结果是_。(分数:2.00)A.6,2,1,1,B.6,4,3,2,C.1,1,2,6,D.2,3,4,6,31.以下语句中存在语法错误的是_。(分数:2.00)A.char ss620;ss1=“right?“;B.char ss20=“right?“;C.char*ss6;ss1=“right?“;D.char*ss=“right?“;32.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件

14、测试的目的是尽可能地多发现程序中的错误D.软件测试的目的是使程序符合结构化原则33.有以下程序: int add(int a,int b)return(a+b); main() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是_。(分数:2.00)A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);34.在数据库系统中,用户所见的数据模式为_。(分数:2.00)A.概念模式B.外模式C.内模式D.物理模式35.以下叙述中正确的是_。 A) 调用 printf 函数时,必须要有输出项 B) 使用 putchar

15、 函数时,必须在之前包含头文件 stdio.h c)在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出 D) 调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASC码(分数:2.00)A.B.C.D.36.有以下程序: void swapl(int c0,int c1) int t; t=c00;c00=c10;c10=t; void swap2(int*c0,int*c1) int t; t=*c0;*c0=*c1;*c1=t; main() int a2=3,5),b2=3,5; swapl(a,a+1);swap2(b0,b1); printf(“%d%d

16、%d%d/n“,a0,a1,b0,b1); 程序运行后的输出结果是_。(分数:2.00)A.3 5 5 3B.5 3 3 5C.3 5 3 5D.5 3 5 337.设有定义:int n1=0,n2,*P=n2,*q=n1;,以下赋值语句中与 n2=n1;语句等价的是_。(分数:2.00)A.*p=*q;B.p=q;C.*p=n1;D.p=*q;38.有以下程序 A: int f1(int x,int y) return xy?x:y; int f2(int x,int y) return xy?y:x; ) main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(

17、a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是_。(分数:2.00)A.4,3,7B.3,4,7C.5,2,7D.2,5,739.在 16 位编译系统上,若有定义 int a=10,20,30,*p=a;,当执行 p后,下列说法错误的是_。(分数:2.00)A.p 向高地址移了一个字节B.p 向高地址移了一个存储单元C.p 向高地址移了两个字节D.p 与 a+1 等价40.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。(分数:2.

18、00)A.(!a=1)(!b=0) B) (aB.!c|1C.abD.a|(b+b)(c-a)二、B填空题/B(总题数:15,分数:30.00)41.某二叉树中度为 2 的节点有 18 个,则该二叉树中有 1 个叶子节点。(分数:2.00)填空项 1:_42.按“先进后出”原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_43.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修复性等特性,其中最重要的是 1。(分数:2.00)填空项 1:_44.程序测试分为静态分析和动态测试。其中 1 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。

19、(分数:2.00)填空项 1:_45.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_46.已有定义:char c= ;int a=1,b;(此处 c 的初值为空格字符),执行 b=!c a;后 b 的值为 1。(分数:2.00)填空项 1:_47.若变量 a,b 已定义为 int 类型并赋值 21 和 55,要求用 printf 函数以 a=21,b=55 的形式输出,请写出完整的的输出语句 1。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。 main() int a,b,c; a=10;b=20;c=(a%b1)|(a/b1)

20、; printf(“% d % d % % d/n“,a,b,c); (分数:2.00)填空项 1:_49.以下程序的输出结果是_。 #includestdio.h main() int n=12345,d; while(n!=0)d=n %10;printf(“%d“,d);n/=10; (分数:2.00)填空项 1:_50.以下程序的输出结果是_。 #includestdio.h void fun(int x) if(x/20)fun(x/2); printf(“%d“,x); main() fun(3);printf(“/n“);(分数:2.00)填空项 1:_51.以下程序的功能是计算

21、: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); (分数:2.00)填空项 1:_52.设有定义语句:int a3=0,1,2;,则数组元素 a12的值为 1。(分数:2.00)填空项 1:_53.以下程序的输出结果是_。 #includestring.h main() char a=/1,/2,/3,/4,/0; printf(“% d % d/n“,sizeof(a),strlen(a); (分数:2.00)填空项 1:_54.以下程序的输出结

22、果是_。 #includestdio.h #includestring.h char*fun(char*t) char*P=t; return(p+strlen(t)/2); main() char*str=“abcdefgh“; str=fun(str); puts(str);(分数:2.00)填空项 1:_55.以下程序中函数 fun 的功能是:构成一个如图所示的带头节点的单向链表,在节点的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单链表中所有节点中的字符串。请填空完成函数disp。 (分数:2.00)填空项 1:_二级 C 语言笔试-16 答案解析(总分:11

23、0.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.在结构化程序设计中,模块划分的原则是_。(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度 解析:解析 在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。2.有以下结构体说明,变量定义和赋值语句: struct STD char name10; int age; char *; s5,*ps; ps=s0; 则以下 scanf 函数调用语句中错误的结构体变量成员是_。(分数:2.00)A.s

24、canf(“%s“,s0.name);B.scanf(“%d“,s0.age);C.scanf(“%c“,(ps-*);D.scanf(“%d“,ps-age); 解析:解析 结构体定义的一般形式为:“struct 结构体名成员列表变量名列表”,ps 定义为指向结构体变量的指针,“结构体变量成员名”、“(*ps)成员名”、“ps-成员名”三种形式是等价的,故只有选项 D 错误。解析:解析 选项 C 表示 E 条件为假时,“(E=0)”为真。其他都与“(E)”等价。4.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。(分数:2.00)A.k+ B.k+=1C.

25、+kD.k+1解析:解析 凡是表达式都有一个值,即运算结果。k+的表达式值为 0,k 再进行增 1 运算;k+=1 是赋值表达式,其作用是取 k 中的值加 1 后再放到 k 变量中,即表达式的值为 1;+k 是先进行 k 增 1 运算,表达式的值为 1;k+1=0+1,其运算的结果为 1。所以选项 A 中表达式的值与其他三个表达式不同。5.以下叙述中正确的是_。(分数:2.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言中,预处理命令行都以“#”开头 C.每个 C 程序必须在开头包含预处理命令行:#includestdio.hD.C 语言的预处理不能实现宏定义和条件编译的功

26、能解析:解析 在 C 程序中,以#开头的行都称为“编译预处理”行;预处理功能主要包括宏定义、文件包含和条件编译等。预处理命令行可放在 C 源程序的任何位置,“#include”实现文件包含的功能,不是每个 C 程序都必须具备。6.以下叙述正确的是_。(分数:2.00)A.C 语言中的文件是流式文件,因此只能顺序存取数据B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 解析:解析 C 语言中的文件有两种存取方式:顺序存

27、取和直接存取。文件打开之后,就可以进行读写操作。读写操作函数可以指定文件使用方式。在使用完一个文件后应关闭它,以防误操作。7.用树形结构表示实体之间联系的模型是_。(分数:2.00)A.关系模型B.网状模型C.层次模型 D.以上三个都是解析:解析 用树形结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体问联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。8.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是_。(分数:2.00)A.auto 和 register B.extern 和 registerC.auto 和

28、staticD.static 和 register解析:解析 在 C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回的地址和自动类局部变量等存放在动态存储区域中。auto 变量和 register 变量都属于自动类局部变量,因此选项 A 正确。static 说明的变量为静态变量,静态变量在内存的静态存储中占据着永久的存储单元,直至程序运行结束。extern 说明的变量为外部变量,属于全局变量,全局变量在整个程序运行期间都占用内存空间。9.下列叙述中正确的是_。(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数

29、据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一般来说,一种数据结构根据需要可以表示成多种存储结构,所以数据的逻辑结构与存储结构不是一一对应的常用的存储结构有顺序、链接、索引等,而采用不同的存储结构其数据处理的效率是不同的。10.设有以下语句: int a=1,b=2,c; c=a(b2); 执行后,C 的值为_。(分数:2.00)A.6B.7C.8D.9 解析:解析 b=2 表示的二进制数为 00000010,经过移位操作得到 00001000,异或操作”a(00001000)”得到 00001001,

30、即十进制数 9。11.若有定义语句:int a36;,按在内存中的存放顺序,a 数组的第 10 个元素是_(分数:2.00)A.a04B.a13 C.a03D.a14解析:解析 二维数组在内存中是按行优先的模式存放,即先第一行,再第二行直到最后一行;此外,其下标足从零开始,即第一个是 a00,从而,第 10 个元素是存放在 a13中。一般说来,axy中第 n 个元素所在行下标的计算方法为:n/x,列下标的计算方法为:n%y-1。12.有以下程序: #includestdio.h main() char cl=1,c2=2; cl=getchar();c2=getchar();putchar(c

31、1);putchar(c2); 当运行时输入:a回车后,以下叙述正确的是_。(分数:2.00)A.变量 c1 被赋予字符 a,c2 被赋予回车符 B.程序将等待用户输入第 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符 2D.变量 c1 被赋予字符 a,c2 中将无确定值解析:解析 函数 getchar()的作用是从终端(或系统隐含的输入没备)输入一个字符,且只能接收一个字符(回车符也算一个字符)。所以本题中 c1 被赋值字符 a,c2 被赋予回车符。13.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:2.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0

32、 整数C.可以是结构体类型的数据D.可以是任意合法的表达式 解析:解析 逻辑运算的对象可以是 C 语言中任意合法的表达式。14.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。(分数:2.00)A.63B.64 C.6D.7解析:解析 对于长度为 n 的有序线性表,在最坏情况下,顺序查找需要比较 n 次。15.以下叙述中错误的是_。(分数:2.00)A.gets 函数用于从终端读入字符串B.getchar 函数用于从磁盘文件读入字符 C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件解析:解析 getchar 函数用于从终端

33、或者键盘输入字符,getc 用于从磁盘文件中读入字符。16.有以下程序: maln() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2)s+=*(t+i); printf(“%d/n“,s); 程序执行后的输出结果是_。(分数:2.00)A.45B.20C.25 D.36解析:解析 通过 for 循环语句 s=*(t+0)+*(t+2)+*(t+4)+* (t+6)+*(t+8)=1+3+5+7+9=25。17.数据的存储结构是指_。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在

34、计算机中的表示 解析:解析 数据的逻辑结构是指反映数据元索之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,常用的存储结构有顺序、链接、索引等。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。18.以下选项中不合法的标识符是_。(分数:2.00)A.printB.FORC.a D._00解析:解析 C 语言中标识符的命名必须遵守一定的规则:标识符由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。同时,在 C 语言的标识符中是区分大小写字母的。C 选项中的标识符以开头,不符合 C 语言中标识符的命名规则。1

35、9.有以下程序: main() char a7=“a0/0a0/0“;int i,j; i=sizeof(a);j=strlen(a); printf(“%d%d/n“,i,j); 程序运行后的输出结果是_。(分数:2.00)A.2 2B.7 6C.7 2 D.6 2解析:解析 本题的考点是 C 语言的字符函数 strlen 和操作符 sizeof。对于定义“char a7=“a0/0a0/0“;”,sizeof(a)是 a 数组占内存的字节数,也就是 7;而 strlen(a)是求字符串 a 的长度,字符串的结束符是/0,而字符串“a0/0a0/0”中,第 3 个字符就是/0,因此 strl

36、en(a)的值为 2。输出结果应该是:7 2。20.有以下程序: #includestdio.h #includestring.h #include void f(char*s,char*t) char k; k=*s; *s=*t; *t=k; s+;t-; if(*s)f(s,t): main() char str10=“abcdefg“,*P; P=str+strlen(str)/2+1: f(p,p-2); printf(“%s/n“,str); 程序运行后的输出结果是_。(分数:2.00)A.abcdefgB.gfedcba C.gbcdefaD.abedcfg解析:解析 本程序的作

37、用是将字符串 str 倒序。语句“p=str+strlen(str)/2+1;”用于将指针变量 p指向 e 字符所在的储存单元,p-2 指向了 c 字符所在的存储单元,在函数 f 中将这两个存储单元的内容交换,并使得 f 函数中指向 e 字符的指针变量 s 加 1。指向 c 字符的指针变量 t 减 1,然后继续将 s 和 t 指向的存储单元的内容进行交换,直到 s 指向的存储单元的内容为空为止。21.结构化程序设计的基本原则不包括_。(分数:2.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用 goto语

38、句。程序设计时应先考虑整体,后考虑细节,逐步使问题具体化,这就是自顶向下的设计原则;对于复杂的问题,应设计一些子目标作为过渡,逐步细化,这就是逐步求精的设计原则;模块化是把程序要解决的总目标分解为分目标,再进一步分解为小目标,把每个小目标称为一个模块。goto 语句是有害的,是造成程序混乱的祸根,程序的质量与 goto 语句的数量成反比,应该在所有高级程序设计语言中取消goto 语句。22.按照“后进先出”原则组织数据的数据结构是_。(分数:2.00)A.队列B.栈 C.双向链表D.二叉树解析:解析 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,队列是按照“先进先出”(FI

39、FO)或“后进后出”(LILO)组织数据,二叉树通常采用链式存储结构。23.有以下程序: mian() int i,j; for(i=1;i4;i+) for(j=i;j4;j+)printf(“%d*%d=%d“,i,j,i*j); printf(“/n“); 程序运行后的输出结果是_。(分数:2.00)A.1*1=1 1*2=2 1*3=3B.1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9 C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*

40、3=9解析:解析 在一个循环体内又完整地包含了另一个循环体的,称为循环嵌套,外循环的 i 值分别为1、2、3,当 i=1 时,内循环 j=1 时,输出 1*1=1;当内循环 j=2 时,输出 1*2=2;当内循环 j=3 时,输出1*3=3;当 i=2 时,内循环 j=2 时,输出 2*2=4;当内循环 j=3 时,输出 2*3=6;当 i=1,内循环 j=3 时,输出 3*3=9。24.有以下语句:int b;char c10;,则正确的输入语句是_。(分数:2.00)A.scanf(“%d%s“,b,c);B.scanf(“%d%s“,b,c); C.scanf(“%d%s“,b,c);D

41、.scanf(“%d%s“,b,c);解析:解析 C 语言的输入语句 scanf 实际上是其标准输入输出库(stdio.h)中的一个函数,而 C 语言的函数参数是传值的,要想将值从被调用函数中传回调用函数,必须以参数的地址作为实参。因此必须将 b和 c 的地址传递给 scanf。由于 c 是数组名,本身就是一个固定指针,不需要再取其地址,只需要取 b 的地址.b。正确选项是 B。25.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定这属于算法的_。(分数:2.00)A.正当性B.可行性C.确定性 D.有穷性解析:解析 算法具有 5 个特性:有穷性、确定性、可行性、有零个或多个输入、有一

42、个或多个输出。26.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指_。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对 解析:解析 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。27.有一个名为 ink.txt 的文件,内容如下: #define HDY(A,B) A/B #define PRINT(Y) printf(“y=%d/n.,Y) 有

43、以下程序: #include “init.txt“ main() int a=1,b=2,c=3,d=4,k; K=HDY(a+c,b+d); PRINT(K); 下面针对该程序的叙述正确的是_。(分数:2.00)A.编译有错B.运行出错C.运行结果为 y=0D.运行结果为 y=6 解析:解析 本题考核的是带参数的宏定义,宏替换后,表达式“K=HDY(a+c,b+d);”即变为k=a+c/b+d=6。28.有以下程序: main() int a=1,b; for(b=1:b=10;b+) if(a=8)break; if(a%2=1)a+=5;continue; a-=3: printf(“%

44、d/n“,b); 程序运行后的输出结果是_。(分数:2.00)A.3B.4 C.5D.6解析:解析 本题是考查手工模拟执行程序的能力。a 初值是 1,循环开始时 b 值为 1,由于 a=8 为假,不执行 break,但 a%2=1 为真,执行 a+=5,a 值变为 6,再执行 continue 跳过不执行 a-=3 语句,而立即开始下一次循环。这时 b 值为 2,由于 a 值为 6,a=8 仍为假,不执行 break,但 a%2=1 为假,不执行复合语句“a+=5;continue;”而执行 a-=3,a 值变为 3。再开始下一次循环,这时 b 值为 3。由于 a 值为3,a=8 仍为假,不执

45、行 break,但 a%2=1 为真,执行 a+=5,a 值变为 8,再执行 continue 跳过不执行a-=3 语句,而立即开始下一次循环。这时 b 值为 4。由于 a 值为 8,a=8 为真,执行 break,停止 for循环。此时输出的 b 值应为 4。29.有以下程序: main() int a=0,b=0,C=0,d=0; if(a=1)b=1;c=2; else d=3; printf(“%d,%d,%d,%d/n“,a,b,c,d); 程序输出_。(分数:2.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错 解析:解析 C 语言规定最左边变量所得到的新值就是赋值表达式的值,故“if(a=1)”条件表达式为真,b=1;else 总是与上面最近的没有被使用的 if 配对,导致不合法的 if-else 结构,if 语句后面的两条语句应用“)”括起来。30.有以下程序: main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t; for(i=0;i3;i+) for(k=i+i;k4;k+)if(aii

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1