【计算机类职业资格】二级C语言模拟649及答案解析.doc
《【计算机类职业资格】二级C语言模拟649及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟649及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言模拟 649 及答案解析(总分:167.50,做题时间:90 分钟)一、选择题(总题数:40,分数:57.50)1.若有以下定义: struct ttchar name10;char sex;aa=“aaaa“,“F“,*p= 则错误的语句是_。(分数:1.00)A.scanf(“%c“,aa.sex);B.aa.sex=getchar( );C.printf(“%c/n“,(*p).sex);D.printf(“%c/n“,p-sex);2.有以下程序: #includestdio.h void fun(int a,int b) int t; t=a;a=b;b=t; main
2、() int c10=1,2,3,4,5,6,7,8,9,0,i; for(i=0;i10;i+=2)fun(ci,ci+1); for(i=0;i10;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,3.若有定义语句: char *s1=“OK“,*s2=“OK“; 以下选项中,能够输出“OK”的语句是_。(分数:1.00)A.if(strcmp(s1,
3、s2)=0) puts(s1);B.if(strcmp(s1,s2)!=0) puts(s2);C.if(strcmp(s1,s2)=1) puts(s1);D.if(strcmp(s1,s2)!=0) puts(s1);4.若有定义语句:double x, y, *px, *py;执行了 px= py=之后,正确的输入语句是_。(分数:1.00)A.scanf(“%f%“, x, y);B.scanf(“%f%f“C.scanf(“%lf%lf“, px, py);D.scanf(“%lf%lf“, x, y);5.以下叙述中错误的是_。(分数:2.00)A.gets 函数用于从终端读入字符
4、串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件6.若变量已正确定义并赋值,以下符合 C 语言语法的表达式是(分数:1.00)A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b7.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s 总是作为头指针指向链表的第一个结点。 (分数:2.00)A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点8.结构化程序设计的 3 种结构是_。(分数:2.5
5、0)A.顺序结构、选择结构、转移结构B.分支结构、等价结构、循环结构C.多分支结构、赋值结构、等价结构D.顺序结构、选择结构、循环结构9.在数据管理技术发展的三个阶段中,数据共享最好的是_。(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.下列叙述中正确的是_。(分数:1.00)A.对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D.对长度为 n 的有序链表进行对分查找,最坏情况下
6、需要的比较次数为(nlog2n)11.以下关于 C 语言函数参数传递方式的叙述正确的是_。(分数:1.00)A.数据只能从实参单向传递给形参B.数据可以在实参和形参之间双向传递C.数据只能从形参单向传递给实参D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用12.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中 buffer 代表的是_。(分数:2.00)A.一个内存块的字节数B.一个整型变量,代表待读取的数据的字节数C.一个文件指针,指向待读取的文件D.一个内存块的首地址,代表读入数据存放的地址1
7、3.有以下程序 main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0; i3 ; i+) for(j=2; j=i ; j-) if(xj+1xj) k=xj; xj=xj+1; xj+1=k; for(i=0; i3; i+) for(j=4; j7-i; j+) if(xjxj+1) k=xj; xj=xj+1; xj+1=k; for(i=0; i8; i+) printf(“%d“,xi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.75310246B.01234567C.76310462D.1357024614.有以
8、下程序: #includestdio.h int f(int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.7B.10C.8D.915.数据库应用系统中的核心问题是_。(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训16.有以下程序: #include stdio.h main( ) if(“/0“ = 0) putchar(“1“); if(“0“ = 0)putchar(“2“)
9、; if(“a“b“) putchar(“3“); 程序运行后的输出结果是_。(分数:1.00)A.1B.123C.23D.317.函数 fseek(pf,OL,SEEK_END)中的 SEEK_END 代表的起始点是_。(分数:1.00)A.文件开始B.文件末尾C.文件当前位置D.以上都不对18.若二维数组 a 有 m 列,则在 aij之前的元素个数为_。(分数:2.50)A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+119.以下定义语句中正确的是_。(分数:1.00)A.int a=b=0;B.char A=65+1,b=“b“;C.float a=1,*b=a,*c=b;
10、D.double a=0.0;b=1.1;20.已知函数 fun 的定义如下: void fun(int x,int y), int k; for(k=0;ky;k+) Xk+=y; 若 main 函数中有声明“int a1=10:”及调用 fun 函数的语句,则正确的 fum 函数调用形式是_。(分数:2.50)A.fun(a,a0);B.fun(a0,a0);C.fun(D.fun(a0,21.设 x=011050,则 x=x void func2(int i); char st=“hello, friend!“; void func1(int i) pnintf(“% c1, sti);
11、 if(i3) i+=2; func2(i); void func2(int i) printf(“%c“, sti); if(i3) i+=2; func1(i); main() int i=0; func1(i); printf(“/n“); (分数:1.00)A.hlloB.heelC.hloD.hlm24.有以下程序 #includestdio.h main() FILE*fp;int i,a6=1,2,3,4,5,6; fp=fopen(“d2.dat“,“w+“); for(i=0;i6;i+)fptintf(fp,“%d/n“,ai); rewind(fp); for(i=0;i
12、6;i+)fscanf(fp,“%d“,a5-i); fclose(fp); for(i=0;i6;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.6,5,4,3,2,1,B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.1,2,3,3,2,1,25.有以下程序: #includestdio.h main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+) printf(“%d“,t2-ii); 程序的运行结果是_。(分数:2.00)A.3 5 7B.7 5 3C.3 6 9D.7 5 126.软件生命周
13、期是指_。(分数:1.00)A.软件产品从提出、实现、使用、维护到停止使用、退役的过程B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护27.表达式“5“-“1“的值是_。(分数:2.50)A.整数 4B.字符 4C.表达式不合法D.字符 628.有以下程序: # include stdio.h void fun(char *c) while(*c) if(*c=“a“*c=“z“)*c=*c-(“a“-“A“); c+; main() char s81; gets(s); fun(;) puts(s); 当执行程序时从键盘输入 Hello Beijing回车,则程序的输出
14、结果是_。(分数:1.00)A.hello beijingB.Hello BeijingC.HELLO BEIJINGD.hELLO Beijing29.设变量已正确定义并赋值,以下正确的表达式是_。(分数:1.00)A.x=y+z+5,+yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.030.设 C 语言中,float 类型数据占 4 字节,则 double 类型数据占_字节。(分数:2.00)A.1B.2C.8D.431.下列程序的输出结果是_。 int i=010,J=10; printf(“%d,%d/n“,+i,j-);(分数:2.00)A.11,10B.9,10
15、C.010,9D.10,932.有以下程序(注:字符 a 的 ASCH 码值为 97): #includestdio.h main() char*s=“abc“; do printf(“%d“,*s%10);+s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A.789B.abcC.7890D.97989933.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构34.具有 3 个结点的二叉树有(分数:1.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态35.有以下程序: #includ
16、estdio.h int m=12; int fun(int x,int y) static int m=3; m=x*y-m; return(m); main() int a=7,b=5; m=fun(a,b)/m; printf(“%d/n“,fun(a,b)/m); 程序运行后的输出结果是_。(分数:1.00)A.2B.1C.3D.036.字符串“/“abcd/123/xAB/t“的长度是( )。(分数:1.00)A.8B.17C.9D.1037.有以下程序: #define f(X)(X*X) main() int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+
17、2); printf(“%d,%d/n”,i1,i2); 程序运行后的输出结果是 _ 。(分数:1.00)A.64,28B.4,4C.4,3D.64,6438.设 x,y,z 均为实型变量,代数式 (分数:1.00)A.x/y*zB.x%y%zC.x/y/zD.x*z/y39.对于下列定义,不正确的叙述是 _ 。 union data int a; char b; double c; x=y;(分数:2.00)A.变量 x 所占内存的长度等于成员 c 的长度B.变量 x 的地址和它的各成员地址都是相同的C.可以在定义时对 x 初始化D.不能对变量 x 赋值,故 x=y 非法40.算法的时间复杂
18、度是指(分数:2.00)A.算法所处理的数据量B.算法的执行时间C.算法在执行过程中所需要的基本运算次数D.算法程序中的语句或指令条数二、程序填空题(总题数:1,分数:30.00)41.请补充函数 proc(),该函数可以统计一个长度为 n 的字符串在另一个字符串中出现的次数。 例如,假定输入的字符串为:asd ascasdfg asd as as mlosd,子字符串为 asd,则应输出 3。 注意:部分源程序给出如下。 请勿改动函数 main()和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includ
19、estdio.h #includestring.h #includeconio.h int proc(char *str, char *sub) int n; char *p, *r; 1; while(*str) p=str; r=sub; while(*r) if( 2) r+; p+; else break; if( 3) n+; str+; return n; void main() char str81, sub3; int n; system(“CLS“); printf(“输入主字符串:“); gets(str); printf(“输入子字符串:“); gets(sub); pu
20、ts(str); puts(sub); n=proc(str, sub); printf(“n=%d/n“, n); (分数:30.00)三、程序修改题(总题数:1,分数:40.00)42.下列给定程序中,函数 proc()的功能是求出数组中最小数和次最小数,并把最小数和 arr0中的数对调,次最小数和 arr1中的数对调。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #includeconio.h #includestdio.h #define M 20 void proc(i
21、nt *arr, int n) int i, m, t, k; /*found* for(i=0; in; i+) m=i; for(k=i; kn; k+) if(arrkarrm) /*found* k=m; t=arri; arri=arrm; arrm=t; void main() int bM=11, 5, 12, 0, 3, 6, 9, 7, 10, 8, n=10, i; system(“CLS“); for(i=0; in; i+) printf(“%d“, bi); printf(“/n“); proc(b, n); for(i=0; in; i+) printf(“%d“,
22、 bi); printf(“/n“); (分数:40.00)_四、程序设计题(总题数:1,分数:40.00)43.编写函数 fun,函数的功能是求出小于或等于 lim 的所有素数并放在 aa 数组中,函数返回所求出的素数的个数。函数 fun 中给出的语句仅供参考。 注意:部分源程序存在文件 PROG1.C 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入编写的若干语句。 给定源程序如下。 #includestdio.h #define MAX 100 int fun(int lim,int aaMAX) /*以下代码仅供参考*/ int i,j,k=0;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 649 答案 解析 DOC
