【计算机类职业资格】二级C语言笔试-79及答案解析.doc
《【计算机类职业资格】二级C语言笔试-79及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-79及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-79 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列叙述中正确的是_。(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.执行以下程序后,test.txt 文件的内容是(若文件能正常打开)_。#includestdio.hmain()FILE*fp;char*s1=“Fortran“,*s2=“Basic“;if(fp=fopen(“test.txt“,“wb“)=NULL)printf(“Cant open test
2、.txt file/n“);exit(1);fwrite(s1,7,1,fp);/*把从地址 s1 开始的 7 个字符写到 fp 所指文件中*/fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头*/fwrite(s2,5,1,fp);fclose(fp);(分数:2.00)A.BasicanB.BasicFortranC.BasicD.FortranBasic3.以下叙述中错误的是_。(分数:2.00)A.C 语言程序中的#include 和#define 行均不是 C 语句B.除逗号运算符外,赋值运算符的优先级最低C.C 语言程序中,j+;是赋值语句D.C 语言程序中,
3、+、-、*、/、%号是算术运算符,可用于整型和实型数的运算4.对于一个正常运行的 C 语言程序,以下叙述中正确的是_。(分数:2.00)A.程序的执行总是从 main 函数开始,在 main 函数结束B.程序的执行总是从程序的第一个函数开始,在 main 函数结束C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束5.以下四个程序中,完全正确的是_。(分数:2.00)A.#includestdio.hmain();/*programming*/printf(“programming! /n“);B.#inclu
4、destdio.hmain()/*/programming/*/printf(“programming! /n“);C.#includestdio.hmain()/*/*programming*/*/printf(“programming! /n“);D.includestdio.hmain()/*programming*/printf(“programming! /n“);6.下列叙述中正确的是_。(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令7.以下选项中,不能作为合法常量的是
5、_。(分数:2.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e08.已定义以下函数:int fun(int*p)return *p;)fun 函数返回值是_。(分数:2.00)A.不确定的值B.一个整数C.形参 p 中存放的值D.形参 p 的地址值9.以下不构成无限循环的语句或者语句组是_。(分数:2.00)A.n=0;do+n;while(n=0);B.n=0;while(1)n+;C.n=10;while(n);n-;D.for(n=0,i=1;;i+)n+=i;10.下列叙述中正确的是_。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度也
6、必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对11.下列对队列的叙述正确的是_。(分数:1.00)A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据12.有以下程序:int fun(int x,int n)static int sum=0,I;for(i=0;in;i+)sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(“%d/n“,s);程序执
7、行后的输出结果是_。(分数:1.00)A.45B.50C.60D.5513.下列叙述中,不符合良好程序设计风格要求的是_。(分数:1.00)A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息14.程序中若有如下说明和定义语句:char fun(char*);main()char*s=“one“,a5=0,(*f1)()=fun,ch;以下选项中对函数 fun 的正确凋用语句是_。(分数:1.00)A.(*f1)(a);B.*f1(*s);C.fun(a);D.ch=*f1(s);15.有以下程序:void fun1(char*p)char*q;q=
8、p;while(*q!=/0)(*q)+;q+;main()char a=“Program“),*p;p=a3;fun1(p);printf(“%s/n“,(分数:1.00)A.;程16.有以下程序:void sum(int a)a0=a-1+a1;main()int a10=1,2,3,4,5,6,7,8,9,10);sum(a2);printf(“%d/n“,a2);程序运行后的输出结果是_。(分数:1.00)A.6B.7C.5D.817.若有定义:int a23;,以下选项中对 a 数组元素正确引用的是_。(分数:1.00)A.a2! 1B.a23C.a03D.a12! 118.在 E-
9、R 图中,用来表示实体之间联系的图形是_。(分数:1.00)A.矩形B.椭圆形C.菱形D.平行四边形19.有以下程序段int j; float y; char name50;scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 777abc 后,y 的值为_。(分数:1.00)A.55566.0B.566.0C.7777.0D.566777.020.当用户要求输入的字符串中含有空格时,应使用的输入函数是_。(分数:1.00)A.scanf()B.getchar()C.gets()D.getc()21.有以下程序:#includestdio.h#incl
10、udestring.hvoid fun(char s10,int n)char t;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)/*比较字符串的首字符大小,并交换字符串的首字符*/if(si0sj0) t=si0;si0=sj0;sj0=t;main()char s510=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fun(ss,5);printf(“%s, %s/n“,ss0,ss4);程序的运行结果是_。(分数:2.00)A.xy,aaaaccB.aaaacc,xyC.xcc,aabccD.acc,xabcc22.设已有定义:f
11、loat x;则以下对指针变量 p 进行定义且赋初值的语句中正确的是_。(分数:2.00)A.float*p=1024;B.int*p=(float)x;C.float p=x;D.float*p=x;23.有以下程序:main()int i=1,j=2,k=3;if(i+=1(+j=3|k+=3)printf(“%d%d%d/n“,i,j,k);程序运行后的输出结果是_。(分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 324.有以下程序:main()int k=5,n=0;while(k0)switch(k)(default:break;case 1:n+=k;cas
12、e 2:case 3:n+=k;k-;printf(“%d/n“,n);程序运行后的输出结果是_。(分数:2.00)A.0B.4C.6D.725.有以下程序:struct Sint n;int a20;);void f(int*a,int n)int i;for(i=0;in-1;i+)ai+=i;main()int i;struct S s(10,2,3,1,6,8,7,5,4,10,9;if(s.a,s.n);for(i=0;is.n;i+)printf(“%d“, s.ai);程序运行后的输出结果是_。(分数:2.00)A.2,4,39,12,12,11,11,18,9B.3,4,2,7
13、,9,8,6,5,11,10C.2,3,1,6,8,7,5,4,10,9D.1,2,3,6,8,7,5,4,10,926.有以下程序:void f(int b)int i;for(i=2;i6;i+)bi*=2;main()int a10=1,2,3,4,5,6,7,8,9,10),i;f((分数:2.00)A.;for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果27.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:2.00)A.(c=2)|(c=4)|(c=6)B.(c=2c=6)|(c!=3)|(c!=5)C.(c=2c=6)!(c
14、%2)D.(c=2c=6)(c%2!=1)28.下列叙述中错误的是_。(分数:2.00)A.在数据库系统中,数据的物理结构必须与逻辑结构一致B.数据库技术的根木目标是要解决数据的共享问题C.数据库设计是指在已有数据库管理系统的基础上建立数据库D.数据库系统需要操作系统的支持29.以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是_。(分数:2.00)A.feef(fp)B.tell(fp)C.fgetc(fp)D.rewind(fp)30.数字字符 0 的 ASCII 值为 48,若有以下程序:main()char a=1,b=2;printf(“%c,“,b+);print
15、f(“%d/n“,b-(分数:2.00)A.;31.以下叙述中正确的是_。(分数:2.00)A.预处理命令行必须位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间32.以下不能正确计算代数式 (分数:2.00)A.B.C.D.33.有以下程序:#includestdio.hint f(int x)int y;if(x=0|x=1)return(3);y=x*x-f(x-2);return y;main()int z;z=f(3);printf(“%d/n“,z);程序的运行结果是_。(分数:2.00)A.0B.9C.6D.834.若
16、要求从键盘读入含有空格字符的字符串,应使用函数_。(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()35.对于长度为 n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/236.数据库设计的根本目标是要解决_。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护37.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计38.有以下结构体
17、说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的三个连续结点。struct nodeint data; struct node*next;)*p,*q,*r;现要将 q 所指结点从链表中删除,同时要保持链表的连续,(分数:2.00)A.B.C.D.39.有以下程序:main()char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*P+);程序运行后的输出结果是_。(分数:2.00)A.15B.16C.12D.5940.以下叙述中错误的是_。(分数:2.00)A.算法正确的程序最终一定会结束B.算法正确的程序可以有零个输出C.算法正确的
18、程序可以有零个输入D.算法正确的程序对于相同的输入一定有相同的结果二、填空题(总题数:15,分数:30.00)41.深度为 5 的满二叉树有 1 个叶子结点。(分数:2.00)填空项 1:_42.数据结构分为线性数据结构和非线性数据结构,带链的队列属于 1。(分数:2.00)填空项 1:_43.软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 1 测试。(分数:2.00)填空项 1:_44.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_45.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时
19、,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。main()int m=011,n=11;printf(“%d%d/n“,+m,n+);(分数:2.00)填空项 1:_47.已定义 char ch=“$“;int i=1,j;执行 j=!chi+以后,i 的值为 1。(分数:2.00)填空项 1:_48.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+
20、ca。请填空。main()float a,b,c;scanf(“%f%f%f“,a,b,c);if(_)printf(“YES/n“);/*a、b、c 能构成三角形*/else printf(“NO/n“);/*a、b、c 不能构成三角形*/(分数:2.00)填空项 1:_49.以下程序的功能是:输出 100 以内(不含 100)能被 3 整除且个位数为 6 的所有整数,请填空。main()(int i,j;for(i=0;i10;i+)j=i*10+6;if(_)continue;printf(“%d“,j);(分数:2.00)填空项 1:_50.已知字符 A 的 ASCII 代码值为 65
21、,以下程序运行时若从键盘输入:B33回车. 则输出结果是_。#includemain()char a,b;a=getchar();scanf(“%d“,b);a=a-A+0;b=b*2;printf(“%c%c/n“,a,b);(分数:2.00)填空项 1:_51.已有定义:double*p;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型的动态存储单元 1。(分数:2.00)填空项 1:_52.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值,请填空。void fun(int,int,int(*)4,int*);main()int a34=12
22、,41,36,28,19,33,15,27),3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(“%4d“,bi);printf(“/n“);void fun(int m,int n,int ar4,int*bar)int i,j,x;for(i=0;im;i+)x=ari0;for(j=0;jn;j+)if(xarij)x=arij;_=x;(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是_。#includestring.hvoid fun(char*s,int p,int k)int i;for(i=p;ik-1;i+)si=
23、si+2;main()char s=“abcdefg“;fun(s,3,strlen(s);puts(s);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。fun(int a)int b=0;static int c=3;b+;c+;return(a+b+c);main()int i,a=5;for(i=0;i3;i+)printf(“%d%d“,i,fun(a);printf(“/n“);(分数:2.00)填空项 1:_55.设有定义:FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件 read me.txt 的最后续写内容。fw=fopen(“read
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 79 答案 解析 DOC
