【计算机类职业资格】二级C语言-16-2及答案解析.doc
《【计算机类职业资格】二级C语言-16-2及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-16-2及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-16-2 及答案解析(总分:71.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:45.00)1.有以下程序:void fun( int *a, int i, int j)int t;if ( ij )t=ai;ai=aj;aj=t;fun (a,+i,-j);main()int a=1,2,3,4,5,6),i;fun(a,0,5)for( i=0; i6; i+) printf(“%d“,ai);执行后的输出结果是( )。 A. 654321 B. 432156 C. 456123 D. 123456(分数:1.00)A.B.C.D.2.有以下程序:#in
2、cludestdio.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.6,2,3,4,5, B.2,2,3,4,5, C.1,2,3,4,5, D.2,3,4,5,6,(分数:1.00)A.B.C.D.3.关系代数运算是以_为基础的运算。 A. 关系运算 B. 谓词运算 C. 集合运算 D. 代数运算A.B.C.D.4.程序调试的任务是_。 A.设计测试用例 B.验证程序的正确性 C.发现程序中的错误 D.诊
3、断和改正程序中的错误(分数:1.00)A.B.C.D.5.结构化分析可以使用的工具是 A. N-S 图 B. DFD 图 C. PAD 图 D. 程序流程图(分数:2.00)A.B.C.D.6.有以下程序main(int argc,char *argv) int n,i=0;while(argv1i!=/0) n=fun(); i+;printf(“%d/n“,n*argc);int fun() static int s=0;s+=1;return s;假设程序编译、连接后生成可执行文件 exam.exe,若键入以下命令exam 123回车则运行结果为 A. 6 B. 8 C. 3 D. 4
4、(分数:1.00)A.B.C.D.7.结构化程序由 3 种基本结构组成,3 种基本结构组成的算法( )。 A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化的任务 D. 只能完成一些简单的任务(分数:1.00)A.B.C.D.8.下列程序的输出结果是_。main() int a=-1,b=1,k;if(+a0) s=“Olympic“; B. char s7; s=“Olympic“; C. char *s; s=“Olympic“; D. char s7; s=“Olympic“;(分数:2.00)A.B.C.D.11.软件调试的目的是 A. 发现错误 B.
5、 改正错误 C. 改善软件的性能 D. 验证软件的正确性(分数:2.00)A.B.C.D.12.有以下程序:#define f(x) (x*x)main()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf(“%d,%d/n“,i1,i2);程序运行后的输出结果是 A. 64, 28 B. 4,4 C. 4,3 D. 64, 64(分数:1.00)A.B.C.D.13.语句 printf(“a/bhow/s/bhe/n“);的输出结果是_。(说明:b是退格符) A. a/bhow/s/bhe/n B. a/bhow/s/bhe C. howshe D.
6、 abhowshe(分数:1.00)A.B.C.D.14.常采用的两种存储结构是U /U。 A. 顺序存储结构和链式存储结构 B. 散列方法和索引方式 C. 链表存储结构和数组 D. 线性存储结构和非线性存储结构(分数:2.00)A.B.C.D.15.以下有 4 组用户标识符,其中合法的组是_。 A. FOR -sub Case B. 4d DO Size C. f2_G3 IF abc D. WORD void define(分数:1.00)A.B.C.D.16.在数据管理技术发展的三个阶段中,数据共享最好的是_。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段 D.三个阶段相同(分
7、数:4.00)A.B.C.D.17.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )。 A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考(分数:1.00)A.B.C.D.18.若有说明语句:double * p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是U /U。 A. *p= sCanf(“%1f“,p); B. *p= scanf(“%f“,p); C. p= scanf( “% 1f“ ,
8、* p); D. p = scanf( “% 1f“ , p);(分数:1.00)A.B.C.D.19.若有如下程序:sub(int *t,int a34) int m,n;for(m=0;m3;m+)for(n=0;n4;n+) *t=amn;t+; main() int*t,s34)=1,2,3),4,5,6),7,8,9;t=(int*)malloc(50);sub(t,s);printf(“%d,%d/n“,t4,t7);则程序运行后的输出结果是( )。 A. 4,7 B. 4,0 C. 5,8 D. 程序错误(分数:1.00)A.B.C.D.20.若运行时给变量 x 输入 12,则以
9、下程序的运行结果是main() int x,y;scanf(“%d“,for(i=1;i4;i+) for(j=i;j4;j+)printf(“%d*%d=%d “,i,j,i*j);printf(“/n“);程序运行后的输出结果是 A. 1*1=1 1*2=2 1*3=3 2*1=2 2*2=4 3*1=3 B. 1*1=1 1*2=2 1*3=3 2*2=4 2*3=6 3*3=9 C. 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 D. 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9(分数:1.00)A.B.C.D.27.指针变量 p 的
10、基类型为 double,并已指向一连续存储区,若 p 中当前的地址值为 65490,则执行 p+后,p 中的值为 U /U A. 65490 B. 65492 C. 65494 D. 65498(分数:1.00)A.B.C.D.28.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。 A. (!a=1)(!b=0) B. (aB) !c|1 C. ab D. a|(b+b)(c-a)(分数:2.00)A.B.C.D.29.以下叙述中正确的是 A. 构成 C 语言程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其他函数之前
11、D. 所有被调用的函数一定要在调用之前进行定义(分数:1.00)A.B.C.D.30.有以下程序:#include stdio.hmain()FILE *fp; int i,k,n;fp=fopen(“data.dat“,“w+“);for(i=1;i6;i+)fprintf(fp,“%d “,i);if(i%3=0) fprintf(fp,“/n“);rewind(fp);fscanf(fp,“%d%d“, main()pritnf(“%d/n“,F(3+5);程序运行后的输出结果是( )。 A. 192 B. 29 C. 25 D. 编译出错(分数:1.00)A.B.C.D.34.以下程序
12、中函数 reverse 的功能是将 a 所指数组中的内容进行逆置。void reverse(int a , int n)int i, t;for(i=0;in/2;i+)t=ai; ai =an-1-i;an-1-i=t; main()int b10=1,2,3,4,5,6,7,8,9,10; int i, s=0;reverse(b,8);for(i=6;i10;i+) s+=bi;printf(“%d/n“, s);程序运行后的输出结果是 A. 22 B. 10 C. 34 D. 30(分数:1.00)A.B.C.D.35.有以下说明和定义语句struct student int age;
13、char num 8;struct student stu3=20,“200401”,21,“200402”),19,“200403”;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是 A. (p+)-num B. p-num C. (*p).num D. stu3.age(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:26.00)36.以下程序运行后的输出结果是_。 struct NODE int k; struct NODE*link; ; main() struct NODE m5,*p=m,*q=m+4; int i=0;
14、 while(p!=q) p-k=+i;p+; q-k=i+;q-; q-k=i; for(i=0;i5;i+)printf(“%d“,mi.k); printf(“/n“); (分数:2.00)填空项 1:_37.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和U U /U /U的设计来实现。(分数:1.00)填空项 1:_38.顺序存储方法是把逻辑上相邻的结点存储在物理位置U U /U /U的存储单元中。(分数:2.00)填空项 1:_39.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出结果是U U /U /U。(分
15、数:1.00)填空项 1:_40.下列程序运行后的输出结果是_。 main() int x,a=1,b=2,c=3,d=4; x=(ab)?a:b;x=(xc)?x:c;x=(dx)?x:d; printf(“%d/n“,x); (分数:4.00)填空项 1:_41.已知字符 A 的 ASCII 码值为 65,以下程序运行时,若从键盘输入:B33回车,则输出结果是_。 #include main() char a,b; a=getchar();scanf(“%d“, a=a-A+0;b=b*2; printf(“%c %c/n“,a,b);(分数:2.00)填空项 1:_42.假设在当前盘当前
16、目录下有一个可执行程序 USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件 OUT.DAT 中,则完整的 DOS 命令为 1。(分数:1.00)填空项 1:_43.若已知 a=10,b=20,则表达式! ab 的值为 1。(分数:2.00)填空项 1:_44.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.00)填空项 1:_45.以下程序的输出结果是_。 main() unsigned short a=65536;int b; printf(“%d/n“,b=A) ; (分数:1.00)填空项
17、1:_46.下面程序段的运行结果是_。 main() char a=2,b=3,c=5,d,e; d=a-b|c; e=a-b|c; printf(“%d,%d“,d,e); (分数:2.00)填空项 1:_47.以下 sstrcpy()函数实现字符串复制,即将 t 所指字符串复制到 s 所指向内存空间中,形成一个新的字符串 s。请填空。 void sstrcpy(char *s,char *t) while(*s+=_); main() char str1100,str2=“abcdefgh“; sstrcpy(str1,str2); printf(“%s/n“,str1); (分数:2.0
18、0)填空项 1:_48.函数 sstrcmp 的功能是对两个字符串进行比较。当 s 所指字符串和 t 所指字符串相等时,返回值为0;当 s 所指字符串大于 t 所指字符串时,返回值大于 0;当 s 所指字符串小于 t 所指字符串时,返回值小于 0(功能等同于库函数 strcmp)。请填空。 #include stdio.h int sstrcmp(char *s,char *t) while(*st+; returnU U /U /U; (分数:1.00)填空项 1:_49.若有如下定义,则该数组的第一维大小为_。 int b4=1,2,3,4,5,6,7,8,9);(分数:1.00)填空项
19、1:_50.以下函数把 b 字符串连接到 a 字符串的后面,并返回 a 中新字符串的长度。请填空。 strcen(char a,char b) int num=0,n=0; while(*(a+num)! =U U /U /U)num+; while(bn)*(a+num)=bn;num+;U U /U /U; return(num); (分数:2.00)填空项 1:_二级 C 语言-16-2 答案解析(总分:71.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:45.00)1.有以下程序:void fun( int *a, int i, int j)int t;if ( i
20、j )t=ai;ai=aj;aj=t;fun (a,+i,-j);main()int a=1,2,3,4,5,6),i;fun(a,0,5)for( i=0; i6; i+) printf(“%d“,ai);执行后的输出结果是( )。 A. 654321 B. 432156 C. 456123 D. 123456(分数:1.00)A. B.C.D.解析:解析 函数 fun()中有 3 个参数,参数 a 为一个指针变量,接收的实参可以是数组名,参数 i 和j 分别表示数组元素的下标,当下标 i 小于下标 j 时,ai和 aj交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组 a
21、 从下标为 i 的元素到下标为 j 的元素之间的所有元素反序存放。在主函数中调用 fun()函数,把 a 数组从 a0到 a5之间的所有元素反序存放,最后输出从 a0到 a5的值,因此输出的值为 6、5、4、3、2、1,所以,A 选项为所选。2.有以下程序:#includestdio.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.6,2,3,4,5, B.2,2,3,4,5, C.1,2,3,4,5, D.
22、2,3,4,5,6,(分数:1.00)A. B.C.D.解析:解析 本题考查的是函数的地址调用,将数组名作为数组首地址进行传递,然后取首个数组元素值进行加 1 运算,循环 5 次,因此 A 选项正确。3.关系代数运算是以_为基础的运算。 A. 关系运算 B. 谓词运算 C. 集合运算 D. 代数运算A.B.C. D.解析:解析 关系代数运算是以关系代数作为运算对象的组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包括垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。4.程序调试的任务是_。 A.设计测试用例 B.验证程序的正确性 C.发现程序中的错误 D.诊断和改正程序中的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 162 答案 解析 DOC
