【计算机类职业资格】二级C语言笔试-397及答案解析.doc
《【计算机类职业资格】二级C语言笔试-397及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-397及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-397 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是A) 一个逻辑数据结构只能有一种存储结构B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.2.下列叙述中正确的是A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C) 在栈中,栈底指针不变,栈中
2、元素随栈顶指针的变化而动态变化D) 上述三种说法都不对(分数:1.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) 环境 C) 工具 D) 过程(分数:1.00)A.B.C.D.6.软件详细设计的主要任务是确定每个模块的A) 算法和使用的数据结构 B) 外部接口C) 功能 D) 编程(分数:1
3、.00)A.B.C.D.7.检查软件产品是否符合需求定义的过程称为A) 确认测试 B) 集成测试 C) 验证测试 D) 验收测试(分数:1.00)A.B.C.D.8.在数据库系统中,所谓数据的独立性是指A) 数据与程序独立存放 B) 不同的数据被存放在不同的文件中C) 不同的数据只能被对应的应用程序所使用 D) 以上三种说法都不对(分数:1.00)A.B.C.D.9.人员基本信息一般包括:身份证号、姓名、性别、年龄等,其中可以作为主关键字的是A) 身份证号 B) 姓名 C) 性别 D) 年龄(分数:1.00)A.B.C.D.10.设有关系 R和 S,关系代数表达式 R-(R-S)表示的是A)
4、Rs B) R-S C) Rs D) RS(分数:1.00)A.B.C.D.11.以下叙述中正确的是A) C语言程序将从源程序中第一个函数开始执行B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C) C语言规定必须用 main作为主函数名,程序从此开始执行,在此结束D) main作为用户标识符,用以命名任意一个函数作为主函数(分数:1.00)A.B.C.D.12.下列是用户自定义标识符的是A) _w1 B) 3_xy C) int D) LINE-3(分数:1.00)A.B.C.D.13.执行以下程序时输入 1234567CR,则输出结果是#include stdio.h
5、main()int a=1,b;scanf(“%3d%2d“,printf(“%d%d/n“,a,b);A) 12367 B) 12346 C) 12312 D) 12345(分数:1.00)A.B.C.D.14.以下选项中,不能作为合法常量的是A) 1.234e05 B) 1.234e+5 C) 1.234e0.5 D) 1.234e0(分数:1.00)A.B.C.D.15.有以下程序,其中%u 表示按无符号整数输出main()unsigned int x=0xFFFF; /*x的初值为十六进制数*/printf(“%u/n“,x);程序运行后的输出结果是A) -1 B) 65535 C)
6、32767 D) 0xFFFF(分数:1.00)A.B.C.D.16.当用户要求输入的字符串中含有空格时,应使用的输入函数是A) scanf() B) getchar() C) gets() D) getc()(分数:1.00)A.B.C.D.17.若执行下面的程序时,从键盘输入 6和 2,则输出结果是main()int a,b,k;scanf(“%d,%d“,if(ab) k=a%b;else k=b%a;printf(“%d/n“,k);A) 5 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.18.有以下程序:fun(int x)int p;if(x=0|x=1) retu
7、rn(3);p=x-fun(x-2);return p;main()printf(“%d/n“,fun(7);执行后的输出结果是A) 7 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.19.已有定义:char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是A) isupper(c) B) A=c=ZC) A=clong b;double x,y;则以下选项中正确的表达式是A) a%(int)(x-y) B) a=x!=y; C) (a*y)%b D) y=x+y=x(分数:1.00)A.B.C.D.22.运行下面的程序时,从
8、键盘输入字母 H,则输出结果是#include stdio.hmain()char ch;ch=getchar();switch(ch)case H:printf(“Hello!/n“);case G:printf(“Good moming!/n“);default:printf(“Bye_Bye!/n“);A) Hello! B) Hello!Good Moring!C) Hello! Good morning!Bye_Bye!D) Hello!Bye_Bye!(分数:1.00)A.B.C.D.23.有以下程序:#include stdio.hmain()char s=“012x4y/08s
9、34f4w2“;int i,n =0;for(i=0;si!=0;i+)if(si=0printf(“%d/n“,n);程序运行后的输出结果是A) 0 B) 3 C) 4 D) 7(分数:1.00)A.B.C.D.24.有以下程序:main()int a=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d/n“,a,b,c,d);程序运行后输出结果是A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0 D) 编译有错(分数:1.00)A.B.C.D.25.定义如下变量和数组:int i;int x33=1,2,3,4,5
10、,6,7,8,9;则下面语句的输出结果是for(i=0;i3;i+)printf(“%d“,x2-11);A) 9 5 1 B) 7 4 1 C) 7 5 3 D) 9 6 3(分数:1.00)A.B.C.D.26.在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是A) auto和 register B) extern和 register C) auto_和 static D) static和 register(分数:1.00)A.B.C.D.27.有以下程序:#include stdio.hint fun(int a,int b)if(b=0) return a;else retu
11、rn( fun(-a,-b);main()printf(“%d/n“,fun(4,2);程序的运行结果是A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.28.有以下程序:point( char木 p)p+=3;main()char a4=1,2,3,4,*p=a;point(p);printf(“%c/n“,*p);程序运行后的输出结果是A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.29.阅读下列程序段,程序的输出结果为#include “stdio.h“#define M(X,Y) (X)*(Y)#define N(X,Y) (X)/(Y)m
12、ain()int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(“%d/n“,k);A) 3 B) 5 C) 6 D) 8(分数:1.00)A.B.C.D.30.设有以下函数:void fun(int n,char*s)则下面对函数指针的定义和赋值均正确的是A) void(*pf)();pf;fun; B) void*pf();pf=fun;C) void*pf();*pf=fun; D) void(*pf)(int,char);pf=(分数:1.00)A.B.C.D.31.有以下程序:#include stdio.hvoid fun(int *s,int n1,int
13、 n2)int i,j,t;i=n1;j=n2;while(ij) t=si;si=sj;sj=t;i+;j-;main()int a10=1,2,3,4,5,6,7,8,9,0,k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k10;k+)printf(“%d“,ak);printf(“/n“);程序的运行结果是A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234(分数:1.00)A.B.C.D.32.下面结构体的定义语句中,错误的是A) struct ord int x;int y;int z;
14、struct ord a;B) struct ord int x;int y;int z; struct ord a;C) struct ord int x;int y;int z; a;D) struct int x;int y;int z;a;(分数:1.00)A.B.C.D.33.有以下程序:void 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
15、,5, D) 2,3,4,5,6,(分数:1.00)A.B.C.D.34.有以下程序:#include stdio.hvoid fun(char*a,char*b)while(*a=*)a+;while(*b=*a)b+;a+;main()char *s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是A) *a*b B) a*b C) a*b* D) ab(分数:1.00)A.B.C.D.35.有以下程序:#include stdio.hstruct stint x,y; data2=1,10,2,20;main()struct st*p=data;printf(“
16、%d,“,p-y);printf(“%d/n“,(+p)-x);程序的运行结果是A) 10,1 B) 20,1 C) 10,2 D) 20,2(分数:1.00)A.B.C.D.36.有以下程序: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);程序执行后的输出结果是A) 45 B) 50 C) 60 D) 55(分数:1.00)A.B.C.D.37.有以
17、下程序:int add (int a,int b) return (a+b);main()int k,(*f)(),a=5,b=10;f=add;则以下函数调用语句错误的是A) k=(*f)(a,b); B) k=add(a,b); C) k=*f(a,b); D) k=f(a,b);(分数:1.00)A.B.C.D.38.有以下程序段:struct stint x; int *y; *pt;int a=1,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为 11的是A) *pt-y B) pt-x C) +pt-x D) (pt+)-x(分数:1.
18、00)A.B.C.D.39.有以下程序(strcat 函数用于连接两个字符串):#include stdio.h#include string.hmain()char a20=“ABCD/0EFG/0“,b=“IJK“;strcat(a,b);printf(“%s/n“ ,a);程序运行后的输出结果是A) ABCDE/0FG/0IJK B) ABCDIJKC) IJK D) EFGIJK(分数:1.00)A.B.C.D.40.以下程序:main()unsigned char a=2,b=4,c=5,d;d=a|b;dprintf(“%d/n“,d);程序运行后的输出结果是A) 3 B) 4 C
19、) 5 D) 6(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:60.00)41.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后依次出栈,则元素出栈的顺序是 1。(分数:4.00)填空项 1:_42.在一棵二叉树上第 6层的结点数最多是 1。(分数:4.00)填空项 1:_43.耦合和内聚是评价模块独立性的两个主要标准,其中 1,反映了模块内部各成分之间的联系。(分数:4.00)填空项 1:_44. 1运算指从关系模式中指定若干属性组成新的关系。(分数:4.00)填空项 1:_45.负责数据库中查询操作的数据库语言是 1。(分数:4.0
20、0)填空项 1:_46.有以下程序:main()int m,n,p;scanf(“m=%dn=%dp=%d“,printf(“%d%d%d/n“,m,n,p);若想从键盘上输入数据,使变量 m中的值为 111,n 中的值为 222,p 中的值为 333,则正确的输入为_。(分数:4.00)填空项 1:_47.以下程序的输出结果是_。float fun(int x,int y)return(x+y);main()int a=2,b=5,c=8;printf(“%3.0f/n“,fun(int)fun(a+c,b),a-c);(分数:4.00)填空项 1:_48.以下程序的输出结果是_。main(
21、)int y=9;for(;y0;y-)if(y%3=0)printf(“%d“,-y);continue;(分数:4.00)填空项 1:_49.以下程序用于判断 a、b、c 能否构成三角形,若能则输出 YES,否则输出 NO。当给 a、b、c 输入三角形的三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足 3个条件:a+bc,a+cb,b+ca。请填空。main()float a,b,c;scanf(“%f%f%f“,k=N;k+) sk=k+1;printf(“%d/n“,fun(s,4,N);(分数:4.00)填空项 1:_51.有以下程序:#include stdio.hin
22、t *f(int*p,int*q);main()int m=1,n=2, *r=r=f(r,printf(“%d/n“,*r);int *f(int *p,int *q)return(*p*q)?p:q;程序运行后的输出结果是_。(分数:4.00)填空项 1:_52.下面程序的功能是输出数组 s中最大元素的下标。请填空。main()int k,p,s=1,-9,7,2,-10, 3;for(p=0,k=p;p6;p+)if(spsk) _printf(“%d/n“,k);(分数:4.00)填空项 1:_53.阅读下面程序段,执行后输出的结果是_。#include “stdio.h“main()
23、char fun(char,int);char a=A;int b=13;a=fun(a,b);putchar(a);char fun(char a,int b)char k;k=a+b;return k;(分数:4.00)填空项 1:_54.有以下程序:#include stdio.hmain()int m,n;scanf(“%d%d“,while(mn) n=n-m;printf(“%d/n“,m);程序运行后,当输入 14 63回车时,输出结果是_。(分数:4.00)填空项 1:_55.以下程序运行后的输出结果是_。#include stdio.hmain()FILE *fp;int x
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 397 答案 解析 DOC
