【计算机类职业资格】二级C语言笔试-194及答案解析.doc
《【计算机类职业资格】二级C语言笔试-194及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-194及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-194 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.在设计程序时,应采纳的原则之一是(分数:2.00)A.不限制 goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解2.以下程序的运行结果是int k=0;void fun(int m)m+=k;k+=m;printf(“m=%d k=%d“,m,k+);main()int i=4;fun(i+); printf(“i=%d k=%d/n“,i,k);(分数:2.00)A.m=4 k=5 i=5 k=5B.m=4 k=4 i=5 k=5C.m
2、=4 k=4 i=4 k=5D.m=4 k=5 i=4 k=53.数据库、数据库系统和数据库管理系统之间的关系是(分数:2.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.三者没有明显的包含关系4.若有定义:int a23;,以下选项中对 a数组元素正确引用的是(分数:2.00)A.a2!1B.a23C.a03D.a12!15.树是结点的集合,它的根结点数目是(分数:2.00)A.有且只有 1B.1或多于 1C.0或 1D.至少 26.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关
3、B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对7.有以下程序#include stdio.hmain()int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i12;i+) csi+;for(i=1;i5;i+) printf(“%d“,ci);printf(“/n“);程序的运行结果是(分数:2.00)A.1 2 3 4B.2 3 4 4C.4 3 3 2D.1 1 2 38.若变量已正确定义并赋值,以下符合 C语言语法的表达式是(分数:2.00)A.a:=b+1B.a=b=c+2C.int 18
4、.5%3D.a=a+7=c+b9.有以下程序#include stdio.h#include string.htypedef strtlct char name9; char sex;floatscore2; STU;void f(STU(分数:2.00)A.STU b=“Zhao“,m,85.0,910.下列有关数据库的描述,正确的是(分数:2.00)A.数据库是一个 DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件11.数据结构中,与所使用的计算机无关的是数据的(分数:1.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构12.有以下程序#inc
5、ludestdio.hmain()FILE*fp;int i,a6=1,2,3,4,5,6;fp=fopen(“d3dat“,“w+b“);fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int),3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3个 int型数据*/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;6;+)printf(“%d,“,ai);程序运行后的输出结果是(分数:1.00)_13.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)6;+)pri
6、ntf(“%d,“,ai);程序运行后的输出结果是(分数:1.00)_解析:解析 首先利用 fwrite函数将数组 a中的数据写到文件中,接着 fseek函数的功能是读文件的位置,指针从文件头向后移动 3个 int型数据,这时文件位置指针指向的是文件中的第 4个 int数据“4”,然后 fread函数将文件 fp中的后 3 个数据 4,5,6 读到数组 a中,这样就覆盖了数组中原来的前 3 项数据。最后数组中的数据就成了4,5,6,4,5,613.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后,n 的值是(分数:1.00)A.1B.2 C.3D.
7、4解析:解析 本题考查逻辑与运算的运算规则。其规则是:当运算符前后两个条件表达式都满足时,其最终结果才为真。当发现第一个表达式的值为假,计算机将不再执行后面表达式的运算。本题中;由于前一个表达式的值为“假”,所以,后面的表达式不再进行运算,因而 n的值保持不变,仍为 2。14.以下描述中正确的是(分数:1.00)A.由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B.do-while循环由 do开始,用 while结束,在 while(表达式)后面不能写分号C.在 do-while循环体中,是先执行一次循环,再进行判断 D.do-while循环中,根据情
8、况可以省略 while解析:解析 do-while 语句的一般形式为:do 循环体语句 while(表达式);,其中循环体语句可以是复合型语句,但必须用花括号括起来。while 后必须要有分号作为语句的结束,在 do-while 循环中,不可以省略 while。15.在 16位 IBM-PC机上使用 C语言,若有如下定义stmct datainti;char ch;double fb;则结构变量 b占用内存的字节数是(分数:1.00)A.1B.2C.7D.11 解析:解析 结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量 i所占用的内存是 2字节,字符型变量 ch所
9、占用的内存是 1字节,双精度型变量 f所占用的内存是 8字节,三者相加即可。16.阅读下列程序,则运行结果为#include“stdio.h“fun()static int x=5;x+;return x;main()int i,x;for(i=0;i3;i+)x=fun();printf(“%d/n“,x);(分数:1.00)A.5B.6C.7D.8 解析:解析 在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续三次调
10、用函数 fun(),三次对静态变量 x进行操作,x 的值应依次为 6,7,8。17.已有定义:char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是(分数:1.00)A.isupper(c)B.A=c=Z C.A=c&c=ZD.c=(z-32)&(a-32)=c解析:解析 在本题中,选项 B)实际是先计算关系表达式“A=c”的值是 0还是 1再比较该值与字符z之间的大小关系,显然不能实现题目所要求的功能,而选项 A)、C)、 D)都可以。18.线性表的顺序存储结构和线性表的链式存储结构分别是(分数:1.00)A.顺序存取的存储结构、顺序存
11、取的存储结构B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构解析:解析 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。19.下列程序的运行结果为#includestdio.hvoid abc(char*str)int a,b;for(a=b=0;stra!=/0;a+)if(stra!=c)strb+=str
12、a;strb=/0;void main()char str=“abcdef“;abc(str);printf(“str)=%s“,str);(分数:1.00)A.str=abdef B.str=abcdefC.str=aD.str=ab解析:解析 本题考查了用字符指针引用字符数组中的字符及对字符的操作。函数 abc()的 for语句执行过程是:从字符指针 str所指向的字符数组的第一个元素开始,逐一判断字符是否为c,若不是就执行一次数组元素的赋值过程,若字符为c就不执行。20.软件是指(分数:1.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合 解析:解析 软件
13、是程序、数据与相关文档的集合,相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。21.有以 F程序#include stdio.hmain()int y=9;for( ;y0;y-)if(y%3=0) printf(“%d“,-y);程序的运行结果是(分数:2.00)A.741B.963C.852 D.875421解析:解析 本题考查变量的自加“+”和自减“-”问题。当 y的值为 9、6 或 3时,if 语句的条件成立,执行输出语句,输出表达式-y 的值,y 的自减要先于输出语句执行,故输出结果为 8 5 2。22.以下函数返回 a所指数组中最小的值所在的下标值fun(i
14、nt *a,int n)int i,j=0,p;p=jfor(i=j;in;i+)if(aiap)_;return(p);在横线处应填入的是(分数:2.00)A.i=pB.ap=aiC.p=jD.p=i 解析:解析 该程序先判断 aiap,如果条件为真,则 ai比当前设定的最小值小(p 保留的当前最小元素的下标),那么将 i赋给 p,即将比较过的最小元素下标保留在 p中,作为下面判断的标准。23.已知 int a=1,b=3 则 ab的值为(分数:2.00)A.3B.1C.2 D.4解析:解析 是按位异或运算,如果对应位不同则结果为 1,相同则为 0。24.下面四个选项中,均是不合法的用户标识
15、符的选项是(分数:2.00)A.AP_0 doB.float 1a0_AC.b-a goto int D.123 temp int解析:解析 C 语言规定的标识符只能由字母、数字和下划线 3种字符组成,第一个字符必须为字母或下划线,并且不能使用 C语言中的关键字作为标识符。选项 C)中 goto和 int 是关键字,b-a 中-不是组成标识符的 3种字符之一;选项 D)中 int是关键字,所以,均是不合法用户标识符的选项是 C)。25.有以下程序#include stdio.hvoidfun(char*t,char*s)while(*t!=0) t+;while(*t+=*s+)!=0);ma
16、in()char ss10=“acc“,aa10=“bbxxyy“;fun(ss,a(分数:2.00)A.; printf(“%s,%s/n“,ss,aa);&n解析:解析 本题中 fun函数实现丁字符串函数 str-eat的功能,将字符串 aa连接到字符串 ss的末尾。调用 fun函数时,形参 t和 s分别指向了字符串 ss和 aa,然后通过一个 while循环使 t指向字符串 ss的结束符的位置,第二个 while循环将字符串 aa中的字符(包括结束符/0)逐个复制到字符串 ss的末尾处。26.若要求从键盘读入含有空格字符的字符串,应使用函数(分数:2.00)A.getc()B.gets(
17、) C.getchar()D.scanf()解析:解析 scanf()语句用“空格”区别不同的字符串;getc()与 getchar()语句不能用于字符串的读入。27.阅读下列程序段,则程序的输出结果为#include“stdio.h“#defineM(X,Y)(X)*(Y)#defineN(X,Y)(X)/(Y)main()f int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(“%d/n“,k);(分数:2.00)A.3 B.5C.6D.8解析:解析 带参数的宏定义命令行形式如下:#de-fine 宏名(形参表)替换文本。首先进行 M的宏替换,之后再进行 N的宏替
18、换,替换后的表达式为(a)*(b)/(c)。28.检查软件产品是否符合需求定义的过程称为(分数:2.00)A.确认测试 B.集成测试C.验证测试D.验收测试解析:解析 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。29.以下 4个选项中,不能看成一条语句的是(分数:2.00)A.;B.a=5,b=2.5,c=3.6;C.if(a5);D.if(b!=5)x=2;y=6; 解析:解析 选项 D)为两条语句。30.有以下程序#include stdio.hvoid fun(int *a,int n)/*fun 函数
19、的功能是将 a所指数组元素从大到小排序*/int t,i,j;for(i=0;in-1;j+)for(j=i+1;jn;j+)if(aiaj) t=ai;ai:aj;aj=t;main()int c10=1,2,3,4,5,6,7,8,9,0,ifun(c+4,6);for(i=0;i10;+) printf(“%d,“,ci);printf(“/n“);程序的运行结果是(分数:2.00)_解析:解析 在本题中,主函数在调用 fun()函数进行排序时,传递的参数是 c+4和 6,fun()函数实现的功能是将数组 c的第 5个元素开始的 6个元素依次进行从大到小的顺序排列。排序之后,数组 c的内
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 194 答案 解析 DOC
