【计算机类职业资格】二级C语言-4-1及答案解析.doc
《【计算机类职业资格】二级C语言-4-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-4-1及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-4-1 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化3.某二叉树共有 7 个结点,其中叶子结点只有 1
2、 个,则该二叉树的深度为(假设根结点在第 1 层)_。(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(工具软件),下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软
3、件详细设计的表示工具7.负责数据库中查询操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 d 2 1 T A B C b 2 1 c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B并C交D差10.定义无符号整数类为 U
4、Int,下面可以作为类 UInt 实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1,2,3,4,511.以下叙述中错误的是_。(分数:1.00)A.算法正确的程序可以有零个输出B.算法正确的程序最终一定会结束C.算法正确的程序可以有零个输入D.算法正确的程序对于相同的输入一定有相同的结果12.以下叙述中正确的是_。(分数:1.00)A.简单 C 语句必须以分号结束B.C 程序中的每一行只能写一条语句C.C 语言程序中的注释必须与语句写在同一行D.C 语句必须在一行内写完13.以下选项中关于 C 语言常量的叙述错误的是_。(分数:1.00)A.常量可分为数值型
5、常量和非数值型常量B.常量分为整型常量、实型常量、字符常量和字符串常量C.经常被使用的变量可以定义成常量D.所谓常量,是指在程序运行过程中,其值不能被改变的量14.以下选项中,不合法的 C 语言用户标识符是_。(分数:1.00)A.a-bB.AaBcC.a_bD._115.若变量均已被正确定义并赋值,以下合法的 C 语言赋值语句是_。(分数:1.00)A.x=n%2.5;B.x=y=5;C.x+n=i;D.x=5=4+1;16.若有定义 int a; float b; 执行 scanf(“%2d%f“, 语句时,若从键盘输入 876543.0 则 a 和 b 的值分别是_。(分数:1.00)A
6、.87 和 6.0B.876 和 543.0C.87 和 543.0D.76 和 543.017.有以下定义语句,编译时会出现编译错误的是_。(分数:1.00)A.char a=“/x2d“;B.char a=“/n“;C.char a=“a“;D.char a=“aa“;18.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:1.00)A.(c=2 else y=sqrt(-x);B.y=sqrt(x);if(x0) y=sqrt(-x);C.if(x=0) y=sqrt(x);if(x0) y=sqrt(-x);D.y=sqrt(x=0 x:-x);20.有以下程序
7、#include stdio.h main() int y=10; while(y-); printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=-1B.y=0C.y=1D.while 构成无限循环21.有以下程序 #include stdio.h main() int i; for(i=1;i=40;i+) if(i+%5=0) if(+i%8=0) printf(“%d“,i); printf(“/n“); 执行后的输出结果是_。(分数:1.00)A.32B.24C.5D.4022.有以下程序 #include stdio.h main() int s;
8、 scanf(“%d“, while(s0) switch(s) case 1:printf(“%d“,s+5); case 2:printf(“%d“,s+4);break; case 3:printf(“%d“,s+3); default:printf(“%d“,s+1);break; scanf(“%d“, 运行时,若输入 1 2 3 4 5 0回车,则输出结果是_。(分数:1.00)A.66666B.66656C.6566456D.666665623.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是_。(分数:1.00)A.m
9、ain() x=fun(2,10);float fun(int a,int b)B.float fun(int a,int b)main() x=fun(i,j);C.float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D.main() float fun(int i,int j);x=fun(i,j);float fun(int a,int b)24.若有定义语句 int year=2009,*p= 以下不能使变量 year 中的值增至 2010 的语句是_。(分数:1.00)A.*p+=1;B.(*p)+;C.+(*p);D
10、.*p+;25.若有定义语句 int a,b,c,*p= 接着执行以下选项中的语句,则能正确执行的语句是_。(分数:1.00)A.scanf(“%d%d%d“,a,b,c);B.scanf(“%d“,p);C.scanf(“%d“,a,b,c);D.scanf(“%d“,26.以下错误的定义语句是_。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;27.有以下程序 #include stdio.h main() int
11、i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+) printf(“%d“,t2-ii); 程序执行后的输出结果是_。(分数:1.00)A.7 5 1B.7 5 3C.3 6 9D.3 5 728.有以下程序 #include stdio.h void fun(int *a,int n)/*fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t,i,j; for(i=0;in-1;i+) for(i=i+1;jn;j+) if(aiaj) t=ai;ai=aj;aj=t; main() int c10=1,2,3,4,5,6,7,8,9,0,i; fun
12、(c+4,6); for(i=0;i10;i+) printf(“%d,“,ci); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.1,2,3,4,9,8,7,6,5,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,5,6,7,8,9,0,29.有以下程序(strcat 函数用以连接两个字符串) #include stdio.h #include string.h main() char a20=“ABCD/0EFG/0“,b=“IJK“; strcat(a,b); printf(“%s/n“,a); 程序
13、运行后的输出结果是_。(分数:1.00)A.ABCDIJKB.ABCDE/0FG/0IJKC.IJKD.EFGIJK30.有以下程序段 char name20; int num; scanf(“name=%s num=%d“,name, 当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name 的值为_。(分数:1.00)A.Lili num=B.name=LiliC.LiliD.name=Lili num=100131.有以下程序 #include stdio.h main() char ch=“uvwxyz“,*pc; pc=ch; printf(“%c/n“,
14、*(pc+5); 程序运行后的输出结果是_。(分数:1.00)AzB.0C.元素 ch5的地址D.字符 y 的地址32.有以下程序 #include stdio.h main() char s=“012xy“; int i,n=0; for(i=0;si!=0;i+) if(si=“a“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:1.00)A.0B.2C.3D.533.有以下程序 #include stdio.h int fun(int n if(n=1) return 1; else return(n+fun(n-1); main() int x; scanf(“
15、%d“, x=fun(x); printf(“%d/n“,x); 执行程序时,给变量 x 输入 10,程序的输出结果是_。(分数:1.00)A.55B.54C.65D.4534.有以下程序 #include stdio.h int f(int m) static int n=0; n+=m; return n; main() int n=0; printf(“%d,“,f(+n); printf(“%d/n“,f(n+); 程序运行后的输出结果是_。(分数:1.00)A.1,1B.1,2C.2,3D.3,335.若有以下语句 typedef struct TT char c;int a4; C
16、IN; 则下面叙述中正确的是_。(分数:1.00)A.CIN 是 struct TT 类型的变量B.TT 是 struct 类型的变量C.可以用 TT 定义结构体变量D.可以用 CIN 定义结构体变量36.有以下程序 #include stdio.h struct ord int x,y; dt2=1,2,3,4; main() struct ord *p=dt; printf(“%d,“,+(p-x); printf(“%d/n“,+(p-y); 程序运行后的输出结果是_。(分数:1.00)A.2,3B.4,1C.3,4D.1,237.有以下程序 #include stdio.h #defi
17、ne SUB(a) (a)-(a) main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.0B.-12C.-20D.1038.有以下程序 #include stdio.h main() int a=2,b; b=a2; printf(“%d/n“,b); 程序运行后的输出结果是_。(分数:1.00)A.8B.4C.6D.239.下列关于 C 语言文件的叙述中正确的是_。(分数:1.00)A.文件由结构序列组成,可以构成二进制文件或文本文件B.文件由数据序列组成,可以构成二进制文件或文本
18、文件C.文件由一系列数据依次排列组成,只能构成二进制文件D.文件由字符序列组成,其类型只能是文本文件40.有以下程序 #include stdio.h main() FILE *fp; int a10=1,2,3,0,0,i; fp=topen(“d2.dat“,“wb“); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen(“d2.dat“,“rb“); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(“%d,“
19、,ai); 程序的运行结果是_。(分数:1.00)A.1,2,3,0,0,1,2,3,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,0,0,0,0,0,二、程序填空题(总题数:1,分数:20.00)41.给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返回。 (分数:20.00)三、程序改错题(总题数:1,分数:20.00)42.给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指子字符串在 str 所指字符串中出现的次数。 例如,若字符串为 aaas lkaaas,子
20、字符串为 as,则应输出 2。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h int fun(char *str,char *substr) int i,j,k,num=0; /*found*/ for(i=0,stri,i+) for(j=i,k=0;substrk=strj;k+,j+) /*found*/ If(substrk+1=“/0“) num+; break; return num; main() char str80,substr80; printf(“Inp
21、ut a string:“); gets(str); printf(“Input a substring:“); gets(substr); printf(“%d/n“,fun(str,substr); (分数:20.00)_四、程序设计题(总题数:1,分数:20.00)43.请编写一个函数 fun,它的功能是:根据以下公式求 的值(要求满足精度 0.0005,即某项小于0.0005 时停止迭代): (分数:20.00)_二级 C 语言-4-1 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈
22、顶元素最先能被删除 B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除解析:解析 栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除,所以本题答案为 A。2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D.在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化解析:解析 栈是先进后出的数据结构,在对栈操作的整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 41 答案 解析 DOC
