【计算机类职业资格】二级C语言笔试-349及答案解析.doc
《【计算机类职业资格】二级C语言笔试-349及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-349及答案解析.doc(38页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-349 及答案解析(总分:103.00,做题时间:90 分钟)一、选择题(总题数:50,分数:70.00)1.下列选项中不属于软件生命周期开发阶段任务的是( )。A) 软件测试 B) 概要设计 C) 软件维护 D) 详细设计(分数:2.00)A.B.C.D.2.在 Windows 98的开始菜单中,包括了 Windows 98系统提供的 ( )A) 全部功能B) 初始功能C) 主要功能D) 部分功能(分数:1.00)A.B.C.D.3.已知二叉树 BT的后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是_。A) cedba B) acbed C) de
2、cab D) deabc(分数:1.00)A.B.C.D.4.设有如下定义:char*a3=“aa“,“bb“,“cc“;则以下说法正确的是_。A) 数组 a的第二个元素的值是“bb“B) 输出“cc“使用语句 printf(“%s“,a2);C) 数组 a的 3个元素分别存放的是含有两个字符的一维字符数组D) 数组 a的 3个元素中各自存放了字符a、b和c(分数:1.00)A.B.C.D.5.有以下程序的输出结果是int f(int b 4)int i,j,s=0;for(j=0;j2) i=3-j;s+=bij; return s; main( )int a44=1,2,3,4,0,2,4
3、,5,3,6,9,12,3,2,1,0;printf(“%d/n”,f(a); A)12B)11C)18D)16(分数:1.00)A.B.C.D.6.以下叙述中错误的是_。A) 改变函数形参的值,不会改变对应实参的值B) 函数可以返回地址值C) 可以给指针变量赋一个整数作为地址值D) 当在函数的开头包括头文件 stdio.h时,可以给指针变量赋 NULL(分数:2.00)A.B.C.D.7.在软件开发中,需求分析阶段产生的主要文档是( )。A) 可行性分析报告 B) 软件需求规格说明书C) 概要设计说明书 D) 集成设计计划(分数:2.00)A.B.C.D.8.数据管理技术发展的三个阶段中,(
4、 )没有专门的软件对数据进行管理。人工管理阶段 文件系统阶段 数据库阶段A) 仅 B) 仅 C) 和 D) 和(分数:2.00)A.B.C.D.9.在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。A) 需求分析阶段 B) 概念没计阶段C) 逻辑设计阶段 D) 物理设计阶段(分数:1.00)A.B.C.D.10.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是_。A) x=y=5; B) x=n%2.5; C) x+n=i D) x=5=4+1;(分数:1.00)A.B.C.D.11.下面的程序执行后,文件 test.t中内容是_。#includestdio.hvoid f
5、un(char *fname,char*st)FILE*myf,int i;myf=fopen(fname,“w“);for(i=0;istrlen(st);i+)fputc(sti,myf);fclose(myf);main()fun(“test.t“,“new world“);fun(“test.t“,“hello,“);A) hello, B) new worldhello C) new world D) hello, rld(分数:1.00)A.B.C.D.12.有以下程序:point( char木 p)p+=3;main()char a4=1,2,3,4,*p=a;point(p);
6、printf(“%c/n“,*p);程序运行后的输出结果是A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.13.已知大写字母 F的 ASCII码为 70,以下程序的运行结果为 ( )#includestdio.hmain( )char c1=F,c2=p;printf(“%d,%d/n“,c1,c2);A) 70,80 B) 70,81 C) 70,82 D) 70,83(分数:1.00)A.B.C.D.14.若有以下说明和语句:char *language=“FORTRAN“,“BASIC“,“PASCAL“,“JAVA“,“C“;char*q;q=language+
7、2;则语句 printf(“o/n“,*q);( )。A) 输出的是 language2元素的地址B) 输出的是字符串 PASCALC) 输出的是 language2元素的值,它是字符串 PASCAL的首地址D) 格式说明不正确,无法得到确定的输出(分数:1.00)A.B.C.D.15.下列程序段中,不能正确赋值的是( )。A) char*p,ch; p= scabf(“%c“,p);C) char*p; *p=getchar();D) char*p,ch; p=并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )A)double myadd(double a
8、,b); B)double myadd(double,double);C)double myadd(double b,double a);D)double myadd(double x,double y);(分数:1.00)A.B.C.D.25.有如下程序段:int a=14, h=15, x; char c=A; x=(ab) (c B); 执行该程序段后,x 的值为A) true B) false C) 0 D) 1(分数:2.00)A.B.C.D.26.有以下程序:#include stdio.hmain() int a=2, 4, 6, 8, 10, y=0, x, *p; p=a1;
9、 for(x=1; x3; x+) y+=px; printf(“%d/n“, y); 程序运行后的输出结果是( )。A) 10 B) 11 C) 14 D) 15(分数:1.00)A.B.C.D.27.E-R图是数据库设计的工具之一,它一般适用于建立数据库的_。A) 概念模型 B) 结构模型C) 物理模型 D) 逻辑模型(分数:2.00)A.B.C.D.28.以下程序的运行结果是_。main()char t=02;printf(“%d/n“,t=+t2);A) 0 B) 1C) 2 D) 3(分数:1.00)A.B.C.D.29.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确
10、的是_。A) 函数的实参和其对应的形参共占同一存储单元B) 形参只是形式上的存在,不会占用具体存储单元C) 同名的实参和形参占同一存储单元D) 函数的形参和实参分别占用不同的存储单元(分数:2.00)A.B.C.D.30.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33被放到第( )个位置。A) 3 B) 5 C) 7 D) 9(分数:2.00)A.B.C.D.31.软件需求分析一般应确定的是用户对软件的 _。A) 功能需求 B) 非功能需求 C) 性能需求 D) 功
11、能需求和非功能需求(分数:2.00)A.B.C.D.32.有如下程序:main()char ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij!=/O;j+=2)s=10*s+pij-0;printf(“%d/n“,s);该程序的输出结果是_。A) 69825 B) 63825 C) 6385 D) 693825(分数:1.00)A.B.C.D.33.有以下程序main()int a33,*p,i;p=a00;for(i=0;i9;i+)pi=i;for(i=0;i3;i+)prin
12、tf(“%d“,a1i);程序运行后的输出结果是_。(A) 0 1 2(B) 1 2 3(C) 2 3 4(D) 3 4 5(分数:2.00)A.B.C.D.34.关系表中的每一横行称为一个( )。A) 元组 B) 字段 C) 属性 D) 码(分数:1.00)A.B.C.D.35.有以下程序#include stdio.h#include stdlib.hint fun(int n)int *p;p=(int*)malloc(sizeof(int);*p=n; return *p;int a;a=fun(10); printf(“%d/n“,a+fun(10);程序的运行结果是_。A) 0 B
13、) 10 C) 20 D) 出错(分数:2.00)A.B.C.D.36.若输入 60和 13,以下程序的输出结果是 ( )# define SURPLUS(a,b)(a)%(b)main( )int a,b;scanf(“%d,%d“, B) int x23=1, 2, 3, 4, 5, 6; C) int x3=1, 2, 3, 4, 5, 6; D) int x23=1, 2, 3, 4, 5, 6;(分数:2.00)A.B.C.D.38.下列叙述中,不属于结构化分析方法的是_。A) 面向数据流的结构化分析方法B) 面向数据结构的 Jackson方法C) 面向数据结构的结构化数据系统开发方
14、法D) 面向对象的分析方法(分数:1.00)A.B.C.D.39.有以下程序: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,5, D) 2,3,4,5,6,(分数:2.00)A.B.C.D.40.若有语句:char *line5;,以下叙述中正确的是_。(A) 定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量(B) 定
15、义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组(C) 定义 line是一个指针数组,语句中的*号称为间址运算符(D) 定义 line是一个指向字符型函数的指针(分数:2.00)A.B.C.D.41.在以下程序段中,已知血型数据占两个字节,则输出结果是union unint i;double y;struct stchar a10;union un b;printf(“%“,sizeof(struct st);A) 14 B) 18 C) 20 D) 16(分数:1.00)A.B.C.D.42.以下能正确定义且赋初值的语句是( )。A) int n1=n2=10; B) c
16、har c=32;C) float f=f+1; D) double x=12.3E2.5;(分数:1.00)A.B.C.D.43.请读程序段:char str=“ABCD“,*p=strprint(“%d/n“,*(p+4);程序段的输出结果是_。A) 68 B) O C) 字符D的地址 D) 不确定的值(分数:2.00)A.B.C.D.44.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.45.有以下程序: #includestdio.h int fun(int x,int y) if
17、(x=y)return(x); else return(x+y)/2); main() int a=1,b=2,c=3; printf(“%d/n“,fun(2*a,fun(b,c); 程序运行后的输出结果是( )。 A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.46.下面程序的执行结果是_。main()char str=“quert?“,*p=str;while(putchar(*p+)!=?);A) quert B) Rvfsu C) quert? D) rvfsu?(分数:1.00)A.B.C.D.47.有以下程序int f1(int x,int y)retur
18、n xy?x:y; int f2(int x,int y)return xy?y:x; main()int a=4,b=3,c=5,d,e,f;d=f1(a,b) ; d=f1(d,c) ;e=f2(a,b) ; e=f2(e,c) ;f=a+b+c-d-e;printf(“%d,%d,%d/n“,d,f,e);执行后输出结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4(分数:1.00)A.B.C.D.48.以下叙述中错误的是( )。A) 用户定义的函数中可以没有 return语句B) 用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值C)
19、 用户定义的函数中若没有 return语句,则应当定义函数为 void类型D) 函数的 return语句中可以没有表达式(分数:1.00)A.B.C.D.49.设有定义语句 int(*f)(int);,则以下叙述正确的是_。A) f是基类型为 int的指针变量B) f是指向函数的指针变量,该函数具有一个 int类型的形参C) f是指向 int类型一维数组的指针变量D) f是函数名,该函数的返回值是基类型为 int类型的地址(分数:2.00)A.B.C.D.50.以下与函数 fseek (fp, OL, SEEK_SET)有相同作用的是( )。A) feof(fp) B) ftell(fp) C
20、) fgetc(fp) D) rewind(fp)(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:33.00)51.希尔排序法属于 1 排序法。(分数:2.00)填空项 1:_52.有以下程序:# includestdio.hmain()char ch1,ch2; int n1,n2ch1=getchar(); ch2=getchar();n1=ch1-0; n2=n1*10+(ch2-0);printf(“%d/n“,n2);程序运行时输入:12回车,执行后的输出结果是_。(分数:2.00)填空项 1:_53.对长度为 8的线性表进行冒泡排序,最坏情况下需要比较的次数为 1
21、。(分数:2.00)填空项 1:_54.软什是程序、数据和 1 的集合。(分数:3.00)填空项 1:_55.设指针变量 p是指向整型变量 b的,则 p中存放的是 1。(分数:1.00)填空项 1:_56.若有定义 doublea5;,则 a数组元素下标的上限为 1。(分数:2.00)填空项 1:_57.下面程序的输出结果是_。 #includestdio.h main() static chara=“zhao“,b=“juan“; char*ptr1=a,*ptr2=b; int k; for(k=0;k4;k+) if(*(ptr1+k)=*(ptr2+k) printf(“%c“,*(p
22、tr1+k);(分数:2.00)填空项 1:_58.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序完整。 (注:程序采用了冒泡排序算法)#includestdio.h#includestring.hmain()char*str=“ABCDabcd“,temp;int n,i;n=strlen(str);while(n-1)for(i=0;in;i+)if(stristri+1)temp=_;stri=stri+1;_=temp;printf(_);(分数:1.00)填空项 1:_59.有如下程序main()int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i
23、3;i+)for(j=0;j=i;j+)s+=aij;printf(“%d/n“,s);该程序的输出结果是_。(分数:1.00)填空项 1:_60.下面函数的功能是将一个字符串的内容颠倒过来,请填空。void fun(char str)int i,j,k;for(i=0,j=_;ij;i+,j-)k=stri;stri=strj;strj=k;(分数:1.00)填空项 1:_61.下面的程序把从终端读入的文本(用作为文本结束标志)输出到一个名为 bi.dat的新文件中,请填空。#include stdioh#includestdlibhFILE*fp;main()charch;if(fp=fo
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 349 答案 解析 DOC
