【计算机类职业资格】二级C语言笔试-450及答案解析.doc
《【计算机类职业资格】二级C语言笔试-450及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-450及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-450 及答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.下列叙述中正确的是A) 算法的效率只与问题的规模有关,而与数据的存储结构无关B) 算法的时间复杂度是指执行算法所需要的计算工作量C) 数据的逻辑结构与存储结构是一一对应的D) 算法的时间复杂度与空间复杂度一定相关(分数:2.00)A.B.C.D.2.在软件开发中,下面的任务不属于设计阶段的是( )。A) 数据结构设计 B) 给出系统模块结构C) 定义模块算法 D) 定义需求并建立系统模块(分数:1.00)A.B.C.D.3.按照“先进先出”组织数据的数据结构是( )。A
2、) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A.B.C.D.4.简单的交换排序方法是( )。A) 快速排序 B) 选择排序C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.5.没有关系 R和 S,关系代数表达式为 R-(R-S)表示的是A) RDS B) R-S C) RUS D) RS(分数:2.00)A.B.C.D.6.在 E-R图中,用来表示实体联系的图形是( )。A椭圆形 B矩形C菱形 D三角形(分数:1.00)A.B.C.D.7.用链表表示线性表的优点是( )。A) 便于随机存取B) 花费的存储空间较顺序存储少C) 便于插入和删除操作D) 数据元素的
3、物理顺序和逻辑顺序相同(分数:1.00)A.B.C.D.8.对关系 S和只进行集合运算,结果中既包含 S中的所有元组也包含只中的所有元组,这样的集合运算称为( )。A) 并运算 B) 交运算 C) 差运算 D) 积运算(分数:1.00)A.B.C.D.9.下列说法不正确的是( )。A)一个 C语言源程序可以由一个函数组成也可以由多个函数组成B)main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C)C语言程序是以函数为基本单位的D)在 C语言程序中,注释行只能位于一条语句的后面(分数:2.00)A.B.C.D.10.下列合法的标识符是( )。 A) 123 B) #256 C
4、) a.55 D) abhj1_2_3(分数:1.00)A.B.C.D.11.若有下列定义(设 int类型变量占 2个字节):floatx=123.4567;则下列语句:printf(“x=%5.2f“,x);输出的结果是( )。A) x=123.46 B) 123.4567C) x=123.4567 D) 123.46(分数:1.00)A.B.C.D.12.下列程序的输出结果是( )。main()int a,b,d25;a:d/10%9;baprintf(“%d,%d/n“,a,b) ;A) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:1.00)A.B.C.D.13.有下列程序:
5、fun(int x,int y) return (x+y);main()int a=1,b=2,c=3,sum;sm=fun(a+,b+,a+B) ,c+);printf(“%d/n“,sum);执行后的输出结果是( )。A) 6 B) 7C) 8 D) 9(分数:2.00)A.B.C.D.14.有以下程序:main()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。A) 1 B) 2C) 4 D) 死循环(分数:1.00)A.B.C.D.15.若有定义 float x=1.5;int a=1,b=3,c=2;,则正确的 s
6、witch语句是A) swimh(x)case 1.0:printf(“*/n“);case 2.0:printf(“*/n“);B) switch(int)x);case 1:printf(“*/n“);case 2:printf(“*/n“);C) switch(a+b)case 1:pfintf(“*/n“);case 2+1:pfintf(“*/n“);D) switch(a-I-b)case 1:pfintf(“*/n“);case c:printf(“*/n“);(分数:1.00)A.B.C.D.16.以下程序运行后的输出结果是 #includestdio.h main() int
7、 a=1,b=2; while(a6)b+=a; a+=2; b%=10; printf(“%d, %d/n“, a, b); A) 5,11 B) 7,1 C) 7,11 D) 6,1(分数:1.00)A.B.C.D.17.以下程序运行后的输出结果是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);A) 编译出错 B) 9 C) 21 D) 9.0(分数:2.00)A.B.C.D.18.若有以下调用语句,则不正确的 fun函数的首部是main(
8、)int a50,n;fun(n,void func2(int i);char st=“hello,friend!“;void funcl(int i)printf(“%c“,sti);if(i3)i+=2;func 2(i);void func 2(int i)printf(“%c“,sti);if(i3)i+=2;funcl(i);main()int i=0;funcl(i);printf(“/n“);A) hello B) hel C) hlo D) hlm(分数:1.00)A.B.C.D.23.下列叙述错误的是( )。A) 函数名是属于用户标识符,需符合 C语言对标识符的规定B) 形参
9、只能是变量C) 为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D) 函数中定义的变量可以与其他函数中的变量同名(分数:2.00)A.B.C.D.24.下列合法的字符型常量是( )。A) /x13 B) /081 C) 65 D) “/n/(分数:2.00)A.B.C.D.25.以下程序运行后的输出结果是#includestdio.hmain( )int i=5;doif(i%3=1 if(i%5=2)printf(“*%d“,i);break;i+:while(i!=0);printf(“/n“);A) %7 B) *3*5 C) *5 D) *2*6(分数:2.00)A.B
10、.C.D.26.表达式 3.6-5/2+1.2+5%2的值是( )。A) 4.3 B) 4.8 C) 3.3 D) 3.8(分数:1.00)A.B.C.D.27.设有以下说明语句typedef structint n;char ch8;PER;则下面叙述中正确的是A) PER是结构体变量名 B) PER 是结构体类型名C) typedef struct是结构体类型 D) struct 是结构体类型名(分数:2.00)A.B.C.D.28.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.hmain()char c
11、;int v0=1,v1=0,v2=0;do switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=1:default:v0+=1;v2+=1;while(c!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);A) v0=7,v1=4,v2=7 B) v0=8,v1=4,v2=8C) v0=11,v1=4,v2=11 D) v0=13,v1=4,v2=12(分数:2.00)A.B.C.D.29.设变量已正确定义,则下列能正确计算 f=n!的程序段是
12、( )。A) f=0;for(i=1 ;i=n;i+ +) f*=i;B) f=1;for(i=1;in;i+ +) f*=i;C) f=1;for(i=n;i1;i+ +)f*=i;D) f=1;for(i=n;i=2;i-)f*=i;(分数:2.00)A.B.C.D.30.下面程序的运行结果是#includestdio.hmain( )int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);A) a=3,b=11 B) a=2,b=8 C) a=1,b=-1 D) a=4,b=9(分数:2.00)A.B.C.D.31.函数调用
13、 strcat(strcpy(str1,str2),str3)的功能是( )。A) 将字符串 str1复制到字符串 str2中后再连接到字符串 str3之后B) 将字符串 str1连接到字符串 str2之后再复制到字符串 str3之后C) 将字符串 str2复制到字符串 sir1中后再将字符串 str3连接到字符串 str1之后D) 将字符串 str2连接到字符串 str1之后再将字符串 str1复制到字符串 str3中(分数:2.00)A.B.C.D.32.已知学生记录描述为:struct studentint no;char name20,sex;structint year,month,
14、day;birth;struct student s;设变量 s中的“生日”是“1984 年 11月 12日”,对“birth”正确赋值的程序段是( )。A) year=1984;month=11;day=12;B) s.year=1984;s.month=11;s.day=12;C) birth.year=1984;birth.month=11;birth.day=12;D) s.birth.year=1984;s.birth.month=11;s.birth.day=12;(分数:1.00)A.B.C.D.33.下面结构体的定义语句中,错误的是( )。Astruct ordint x;in
15、t y;int z;struct ord a; Bstruct ordint x;int y;int z;struct ord a;Cstruct ordint x;int y;int z;a; Dstructint x;int y;int z;a;(分数:1.00)A.B.C.D.34.函数 fseek(pf,OL,SEEK_END)中的 SEEK_END代表的起始点是A) 文件开始 B) 文件末尾 C) 文件当前位置 D) 以上都不对(分数:2.00)A.B.C.D.35.读取二进制文件的函数调用形式为:fread(buffer, size, count,pf);,其中 buffer代表的
16、是_。(A) 一个文件指针,指向待读取的文件(B) 一个整型变量,代表待读取的数据的字节数(C) 一个内存块的首地址,代表读入数据存放的地址(D) 一个内存块的字节数(分数:2.00)A.B.C.D.36.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用“(双撇号)括起时,寻找被包含文件的方式是( )。A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在目录D) 仅仅搜索当前目录(分数:2.00)A.B.C.D.37.有以下程序:#includevoid WriteStr(char *fn,c
17、har*str)FILE*fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()WriteStr(“t1.dat“,“start“);WriteStr(“t1.dat“,“end“);程序运行后,文件 t1.dat中的内容是_。A) start B) end C) startend D) endrt(分数:2.00)A.B.C.D.38.有以下程序:#includestdio.hmain()FILE*fp;char str10;fp=fopen(“myfile,dat“,“);fputs(“abc“,ip);fclose(fp);fp=fopen
18、(“myfile.dat“,“a*“);fprintf(fp,“%d“,28);rewind(fp);fscanf(fp,“%s“,str);puts(str);fclose(fp);程序运行后的输出结果是( )。Aabc B28cCabc28 D内类型不一致而出错(分数:1.00)A.B.C.D.39.有以下程序main()char s=“Yes/n/No“,*ps=s ;puts(ps+4);*(ps+4)=0;puts(s);程序运行后的输出结果是(选项 D中的第一行是空行)_。A) n/NoYes/NoB) /NOYes C) n/NoYes/NoD) /NoYes(分数:1.00)A
19、.B.C.D.40.下列程序的输出结果是( )。#include stdio.hstruct abcint a, b, c, s;main()struct abc s2=1,2,3,4,5,6;int t;t=s0.a+s1.b;printf(“%d/n“,t);A) 5 B) 6 C) 7 D) 8(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.50)41.一棵二叉树第六层(根结点为第一层)的结点数最多为个 1。(分数:2.00)填空项 1:_42.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2
20、.00)填空项 1:_43.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中U /U的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_44.对如下图所示的二叉树进行中序遍历的结果为_。(分数:2.00)填空项 1:_45.软件设计模块化的目的是U /U。(分数:2.00)填空项 1:_46.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_47.数据元素之间U /U的整体称为逻辑结构。(分数:2.00)填空项 1
21、:_48.若 x和 y都是 double型变量,且 x的初值为 3.0,y 的初值为 2.0,则表达式 pow(y,fabs(x)的值为U /U。(分数:2.00)填空项 1:_49.设 x、y、z 均为 int型变量,请写出描述“x 或 y中至少有一个小于 z“的表达式 1。(分数:2.00)填空项 1:_50.以下函数 rotate的功能是:将 a所指 N行 N列的二维数组中的最后一行放到 b所指二维数组的第 0列中,把 a所指二维数组中的第 0行放到 b所指二维数组的最后一列中,b 所指二维数组中其他数据不变。#define N 4void rotade(int aN,int bN)in
22、t i,j;for(i=0;iN;i+)biN-1=U /U;U /U:aN-1i;(分数:2.00)填空项 1:_51.下述程序的输出结果是_。long fun5(int n)long s;if(n=1)|(n=-2)s=2:elses=n+fun5(n-1);return(s):main()long x;x=fun5(4);printf(“%1d/n“,x);(分数:4.00)填空项 1:_52.以下程序的输出结果是_。#includestdio.h#includestring.hchar*fun(char*t)char*p=t;return(p+strlen(t)/2);main()ch
23、ar*str=“abcdefgh“;str=fun(str);puts(str);(分数:2.50)填空项 1:_53.以下程序运行后的输出结果是_。#includestdio.hint a=5;void fun(int b)int a=10; a+=b; printf(“%d“, a);main()int c=20;fun(c); a+=c; printf(“%d/n“, a);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是U /U。#include stdio.hmsin()int i,n=0,0,0,0,0;for(i=1;i=4;i+)ni=ni-1*2+1;prin
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 450 答案 解析 DOC
