【计算机类职业资格】二级C语言笔试-367及答案解析.doc
《【计算机类职业资格】二级C语言笔试-367及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-367及答案解析.doc(37页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-367 及答案解析(总分:125.50,做题时间:90 分钟)一、选择题(总题数:50,分数:67.00)1.有以下程序:#includestdio.hmain()int a=1,b=0;printf(“%d,“,b=a+b);printf(“%d/n“,a=2+b);程序运行后的输出结果是( )。A) 0,0 B) 1,0C) 3,2 D) 1,2(分数:1.00)A.B.C.D.2._是构成 C 语言程序的基本单位。A) 函数 B) 过程 C) 子程序 D) 子例程(分数:1.00)A.B.C.D.3.以下程序段完全正确的是( )。 A) int *p;scanf(“%
2、d“,p); B) int *p;scanf(“%d“,p); C) int k,*p=k;scanf(“%d“,p)D) int k,*p;*p=k;scanf(“%d“,p)(分数:2.00)A.B.C.D.4.有以下程序#includestdiohvoid fun(float * p1,int n1,float,*p2,int n2,float * s)int i;s(float *)calloc(1,sizeof(float);*s0;for(i=0;in1;i+)*s+=*p1+;for(i=0;in2;i+)*s+=*p2+;main()float a2=1.1,2.2,b310.
3、0,20.0,30.0),*s=a;fun(a,2,b,3,s);printf(“%f/n“,*s);上面程序的输出结果是 ( )A) 60.000000 B) 3.300000 C) 63.300000 D) 1.100000(分数:1.00)A.B.C.D.5.设 x=015,则 x=x017 的值是( )。A) 00001111 B) 11111101 C) 00000010 D) 11000000(分数:2.00)A.B.C.D.6.若有说明:int *p,m=5,n;以下正确的程序段是( )。A) p=x2;y3;z=4;m(wx)?w:x; m(my)?m:y; m(mz)?m:z
4、;则该程序段执行后,m 的值是 ( )A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.9.有以下程序:#include stdio, hvoid sum(int a )a0=a-1 +a1;main ( )int a10 = 1,2,3,4,5,6,7,8,9,10;sum(prinff(“% d /n“,a2); 程序运行后的输出结果是( )。A) 6 B) 7 C) 5 D) 8(分数:1.00)A.B.C.D.10.已知、棵二叉树的后序遍历序列是 dabec,中序遍历序列是 debac,则它的前序遍历序列是( )。A) acbed B) decab C) deab
5、c D) cedba(分数:1.00)A.B.C.D.11.信息隐蔽的概念与下述哪一种概念直接相关( )。A) 软件结构定义 B) 模块独立性C) 模块类型划分 D) 模块耦合度(分数:1.00)A.B.C.D.12.设有如下定义struct sschar name10;int age;char sex;std3,* p=std;下面各输入语句中错误的是A) scanf(“%d“,B) scanf(“%s“,C) scanf(“%c“,D) scanf(“%c“,(分数:1.00)A.B.C.D.13.现有如下程序段#include “stdio.h“main()int k30=12,324,
6、45,6,768,98,21,34,453,456;int count=0,i=0;while(Li)if(ki%2=0|ki%5=0)count+;i+; printf(“%d,%d/n“,count,i);则程序段的输出结果为A) 7,8 B) 8,8 C) 7,10 D) 8,10(分数:1.00)A.B.C.D.14.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“,s);A) 没有错 B) 第 1
7、 行有错 C) 第 6 行有错 D) 第 7 行有错(分数:1.00)A.B.C.D.15.以下程序的输出结果是( )。main()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);A) 1 B) 3 C) 2 D) 4(分数:1.00)A.B.C.D.16.在执行下述程序时,若从键盘输入 6 和 8,则结果为main()int a,b,s;scanf(“%d%d“,s=x+3;printf (“ %d/n“ ,s2 );执行后输出结果是A) 随机值 B) 0 C) 5 D) 6(分数:1.00)A.B.C.D.18.下列程序的输出结果是_。main()
8、unsigned short a=65536;int b;printf(“%d/n“,b:a);A0 B1 C2 D3(分数:2.00)A.B.C.D.19.运行以下程序后,如果从键盘上输入 65 14回车,则输出结果为_。main()int m,n;printf(“Enter m,n:“);scanf(“%d%d“,while(m!=n)while(mn)m-=n;while(nm)n-=m;printf(“m=%d/n“,m);A) m=3 B) m=2 C) m=1 D) m=0(分数:1.00)A.B.C.D.20.若有定义:char *x=“abcdefghi“;,以下选项中正确运用
9、了 strcpy 函数的是_。(A) char y10;strcpy(y,x4);(B) char y10;strcpy(+y,x1);(C) char y10,*s;strcpy(s=y+5,x);(D) char y10,*s;strcpy(s=y+1,x+1);(分数:2.00)A.B.C.D.21.有如下程序:#include stdiohmain()float x=2.0,y;if(x0.0) y=0.0;else if(x10.0) y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序的输出结果是( )。A) 0.000000 B) 0.250000 C)
10、 0.500000 D) 1.000000(分数:1.00)A.B.C.D.22.下列叙述中,不属于测试的特征的是A) 测试的挑剔性 B) 完全测试的不可能性 C) 测试的可靠性 D) 测试的经济性(分数:2.00)A.B.C.D.23.有以下程序的输出结果是( )char fun(char x , char y)if(xmain( )int a=9,b=8,c=7;printf(“%c/n”,fun(fun(a,b),fun(b,c); A)函数调用出错B)8 C)9D)7(分数:1.00)A.B.C.D.24.设有下列定义:struct skint m;float x;)dara,*q;若
11、要使 q 指向 data 中的 m 域,正确的赋值语句是( )。A) q=char color;float price;std,*ptr;ptr=若要引用结构体变量 std 中的 color 成员,写法错误的是( )。A) std.color B) ptrcolorC) stdcolor D) (*ptr).color(分数:2.00)A.B.C.D.26.一个源文件中的外部变量的作用域为( )。A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的位置开始到本文件结束(分数:2.00)A.B.C.D.27.若运行时输入 12,则以下程序的输出结果是_。main
12、()intx,y;scanf(“%d“,y=x12? x+1:x-1;printf(“%d/n“,y);A) 10 B) 11 C) 12 D) 13(分数:1.00)A.B.C.D.28.以下程序的输出结果是int f()static int i=0;int s=1;s+=i;i+;return s;main()int i,a=0;for(i=0;i5;i+)a+=f();printf(“%d/n“,a);A) 20 B) 24 C) 25 D) 15(分数:1.00)A.B.C.D.29.为了避免在嵌套的条件语句 if else 中产生二义性,C 语言规定,else 子句总是与( )配对。
13、A) 缩排位置相同 if B) 其前面最近的 ifC) 其后面最近的 if D) 同一行上的 if(分数:1.00)A.B.C.D.30.表示“在使用 x 之后,使 x 的值加 1”的正确方式是 ( )A+ +xBx+ +C+xD+x+(分数:1.00)A.B.C.D.31.下列程序执行后的输出结果是_。main()char arr24;strcpy (arr0,“you“);strcpy(arr1,“me“);an03= char b; double c; data;以下叙述中错误的是( )。A) data 的每个成员起始地址都相同B) 变量 data 所占的内存字节数与成员 c 所占字节数
14、相等C) 程序段:data.a=5; printf(“%f/n“,data.c);输出结果为 5.000000D) data 可以作为函数的实参(分数:1.00)A.B.C.D.36.以下语句或语句组中,能正确进行字符串赋值的是_。A) char *sp;*sp=“right!“; B) char s10;s=“right!“;C) char s10;*s=“right!“; D) char sp=“right!“;(分数:1.00)A.B.C.D.37.在 C 语言程序中,以下说法正确的是( )。 A) 函数的定义和函数的调用均不可以嵌套 B) 函数的定义不可嵌套,但函数的调用可以嵌套 C)
15、 函数的定义可以嵌套,但函数的调用不可以嵌套 D) 函数的定义和函数的调用均可以嵌套(分数:2.00)A.B.C.D.38.一个关系中属性个数为 1 时,称此关系为( )。A) 对应关系 B) 单一关系 C) 一元关系 D) 二元关系(分数:2.00)A.B.C.D.39.以下能正确定义一维数组的选项是_。A) int a5=0,1,2,3,4,5;B) char e=0,1,2,3,4,5);C) char a=A,B,C);D) int a5=“0123“;(分数:2.00)A.B.C.D.40.有以下程序:void sort(int a,int n)int i,j,t;for(i=0;i
16、n-1;i+=2)for(j=i+2;jn;j+=2)if(aiaj)t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(aa,10);for(i=0;i10;i+) printf(“%d“,aai);printf(“/n“);其输出结果是( )。A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1,C) 9,2,7,4,5,6,3,8,1,10, D) 1,10,3,8,5,6,7,4,9,2,(分数:1.00)A.B.C.D.41.软件设计包括软件的结构、数据接口和过程设计,其中软
17、件的过程设计是指 ( )A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D) 软件开发过程(分数:1.00)A.B.C.D.42.若有定义语句:double a,*p=以下叙述中错误的是( )。A)定义语句中的+号是一个间址运算符B)定义语句中的*号只是一个说明符C)定义语句中的 p 只能存放 double 类型变量的地址D)定义语句中,*p= B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getchar()!=/N)putchar(ch); D) while(ch=getchar()!=/n)putchar(c
18、h);(分数:2.00)A.B.C.D.49.已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是( )。A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度C) a 数组长度大于 b 数组长度 D) 以述说法都不对(分数:1.00)A.B.C.D.50.(2S)以下叙述中错误的是( )。A) 改变函数形参的值,不会改变对应实参的值B) 函数可以返回地址值C) 可以给指针变量赋一个整数作为地址值D) 当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NULL(分数:2.00)A.B.C.D.二、填空题(总题数:20,分数:58.50)51.
19、软件是程序、数据和 1 的集合。(分数:2.00)填空项 1:_52.若 fp 已正确定义为个文件指针,d1.dd 为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen(_);。(分数:3.00)填空项 1:_53.以下程序的输出结果是_。#includestdio.hmain()int i;for(i=a;if;i+,i+)printf(“%c“,i-a+A);printf(“/n“);(分数:2.50)填空项 1:_54.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:4.00)填空项
20、 1:_55.在数据库的概念结构设计中,常用的描述工具是 1。(分数:1.00)填空项 1:_56.阅读下面程序,则执行后的输出结果是_。#include “stdio.h“main()int x,y,z;x=1;y=2;z=3;if(xy) if(xz) printf(“%d“,x);else printf(“%d“,y);printf(“%d/n“,z);(分数:4.00)填空项 1:_57.若有以下定义和语句,则使指针 p 指向值为 36 的数组元素的表达式是_。int a10=19,23,44,17,37,28,49,36,*p;p=a;(分数:2.00)填空项 1:_58.栈和队列通
21、常采用的存储结构是 1。(分数:1.00)填空项 1:_59.线性表的存储结构主要分为顺序存储结构和链式存储结构队列是一种特殊的线性表,循环队列是队列的 1 存储结构。(分数:2.00)填空项 1:_60.下面程序的运行结果是_。#define DOUBLE(r)r*rmain()int x=4,y=2,t;t=DOUBLE(x+y);printf(“%d“,t);(分数:2.00)填空项 1:_61.以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存入整形数据;成员变量 link 是指向自身结构体的指针,请将定义补充完整。struct nodeint info;_link;(
22、分数:1.00)填空项 1:_62.在长度为 n 的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为 1。(分数:2.00)填空项 1:_63.下列程序的输出结果是_。int t(int x, int y, int cp, int dp)cp=x*x+y*y;dp=x*x-y*y;main ()int a=4, b=3, c=5, d=6;t (a,b, c,d);printf(“%d %d /n“,c,d);(分数:4.00)填空项 1:_64.想通过以下输入语句给 x 赋值 2,给 y 赋值 3,则输入数据的形式应该是_。int x,y;scanf(“x=%d,y=%d“, cha
23、r *p, *t; n=strlen(s)+1; t=(c har*)malloc (n*sizeof(char); p=(char*)malloc(n*sizeof(char); j=0; k=0; for(i=0; in; i+)if(isdigit(si)/*found*/p (1) =si; j+; elsetk=si; k+; /*found*/for(i=0; i (2) ; i+)pj+i=ti; pj+k=0; /*found*/return (3) ; main()char s80; printf(“Please input:“); scanf(“%s“, s); print
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 367 答案 解析 DOC
