【计算机类职业资格】二级C语言笔试-435及答案解析.doc
《【计算机类职业资格】二级C语言笔试-435及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-435及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-435 及答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.下面叙述正确的是A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对(分数:2.00)A.B.C.D.2.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。A) 1,4,3,2 B) 2,3,4,1 C) 3,1,4,2 D) 3,4,2,1(分数:2.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.数据库设计包括两个方面的设计内容,它们是A) 概念设计和逻辑设计 B) 模式设计和内模式设计C) 内模式设计和物理设计 D) 结构特性设计和行为特性设计(分数:2.00)A.B.C.D.6.下列有关数据库的描述,正确的是( )。 A) 数据库设
3、计是指设计数据库管理系统 B) 数据库技术的根本目标是要解决数据共享的问题 C) 数据库是一个独立的系统,不需要操作系统的支持 D) 数据库系统中,数据的物理结构必须与逻辑结构一致(分数:2.00)A.B.C.D.7.以下叙述中正确的是( )。A程序设计的任务就是编写程序代码并上机调试 B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法 D以上三种说法都不完整(分数:1.00)A.B.C.D.8.在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是_。A) 唯一索引 B) 唯一索引和候选索引C) 唯一索引和主索引 D) 主索引和候选索引(分数:2.00)A.B.C
4、.D.9.下面程序输出的结果是_。main()inti=5,j=9,x;x=(ij?i:(j=7);printf(“/n%d,%d“,i,j)A) 5,7 B) 5,5 C) 语法错误 D) 7,5(分数:2.00)A.B.C.D.10.有以下程序段char ch; int k;ch=a; k=12;pnntf(“%c,%d,“,ch,ch,k); printf(“k 二%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D)
5、a,97,k=12(分数:1.00)A.B.C.D.11.若变量已正确说明为 int 类型,要通过语句 scanf(“%d %d %d“,给 a 赋值 3,b 赋值 5,c赋值 8,下面不正确的输入形式是( )。A) 3回车5回车8回车B) 3,5,8回车C) 3回车58回车D) 35回车8回车(分数:1.00)A.B.C.D.12.有以下程序:#includestdio.hvoid fun(char*a,char*b)while(*a=*)a+;while(*b=*a)b+;a+;main()char*s=“*a*b*“,t80;fun(s,t);puts(t);程序的运行结果是_。A) *
6、a*b B) a*bC) a*b* D) ab(分数:1.00)A.B.C.D.13.若变量 a 是 int 类型,并执行了语句:a=A+1.6;则正确的叙述是( )。A) a 的值是字符C B) a 的值是浮点型C) 不允许字符型和浮点型相加 D) a 的值是字符A的 ASCII 码值加上 1(分数:1.00)A.B.C.D.14.设变量 a、b、c、d 和 y 都己正确定义并赋值。若有下列 if 语句if(ab) if(c d) y0; else y1;该语句所表示的含义是( )。(分数:1.00)A.B.C.D.15.设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等
7、价的是( )。A(EXP=0) B(EXP!=0)C(EXP=1) D(EXP!=1)(分数:1.00)A.B.C.D.16.有以下程序:#includestdio.hmain()int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+)printf(“%d“,i+j);printf(“/n“);程序运行的结果是_。A) 2 3 4 B) 4 3 2 C) 2 3 D) 4 53 4 5 5 4 3 3 4 3 44 5 2 3(分数:2.00)A.B.C.D.17.有以下程序:#includestdiohmain()int i=1,j=1,k=2;if(j+|k+)doif
8、(i % 2)i+; continue;i+;s+=i;while(i7);printf(“% d/n“, s);执行后的输出结果是_。A) 16 B) 12 C) 28 D) 21(分数:2.00)A.B.C.D.22.以下数组定义中不正确的是_。A) int a23; B) int b3=0,1,2;C) int c100100=0; D) int d3=1,2,1,2,3,1,2,3,4;(分数:2.00)A.B.C.D.23.以下函数定义的类型符是( )。fff(double x)printf(“%f“,x+x);A) 与 x 类型相同 B) void 类型 C) int 类型 D)
9、无法确定(分数:2.00)A.B.C.D.24.下列字符数组初始化语句中,不正确的是( )。A) char c=/goodmorning; B) char c20=“goodmorning“;C) char c=a,b,c,d); D) char c=“goodmorning“);(分数:2.00)A.B.C.D.25.有以下程序:#includestring.hvoid f(char*s,char*t)char k;k=*s; *s=*t; *t=k;s+; t-;if(*s) f(s,t);main( )char str10=“abcdefg“,*p;p=str+strlen(str)/2
10、+1;f(p,p-2);printf(%s/n“,str);程序运行后的输出结果是 _。 A) abcdef B) gfedcba C) gbcdefa D) abedcfg(分数:2.00)A.B.C.D.26.以理程序的输出结果_。main()char st20=“he11/O/t/“;printf(“%d%d/n“,str1en(st),sizeof(st);A) 99 B) 520 C) 1320 D) 2020(分数:2.00)A.B.C.D.27.以下能正确定义二维数组的是_。A) int a3; B) int a3=2*3;C) int a3=; D) int a23=1), 2
11、, 3,4;(分数:2.00)A.B.C.D.28.以下程序运行后的输出结果是 #includestdio.h void f(int *P); main() int a5=1, 2, 3, 4, 5, *r=a; f(r); printf(“%d/n“, *r); void f(int *P) P=p+3; printf(“%d, “, *P); A) 1,4 B) 4,4 C) 3,1 D) 4,1(分数:2.00)A.B.C.D.29.有以下程序#includestdio.hmain()FILE*fp;int k,n,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“
12、);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2.dat“,“r“);fscanf(fp,“%d%d“,char s110=“ABCD“,s210=“EFG“;strcat(s1,s2);while(s2i+!=/0)s2i=s1i;puts(s2);A) ABC B) ABCDEF C) EBCDEFG D) CBD(分数:2.00)A.B.C.D.33.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“lang
13、uage“;char *p;p=a;for(p=a;pa+8;p+=2)putchar(*p);A) language B) lnug C) 有语法错误 D) lang(分数:2.00)A.B.C.D.34.下列选项中不会引起二义性的宏定义是( )。A) #define S(x)x*x B) #define S(x)(x)*(x)C) #define S(x)(x*x) D) #define S(x)(x)*(x)(分数:2.00)A.B.C.D.35.以下有关宏替换的叙述不正确的是( )。 A) 使用宏定义可以嵌套 B) 宏定义语句不进行语法检查 C) 双引号中出现的宏名不替换 D) 宏名必
14、须用大写字母表示(分数:2.00)A.B.C.D.36.有以下程序int a=2;int f(int n)static int a=3;int t=0;if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+;main()int s=a, i;for( i=0; i3; i+) s+=f(i);printf(“%d/n“, s);程序运行后的输出结果是_。(A) 26(B) 28(C) 29(D) 24(分数:2.00)A.B.C.D.37.有以下程序#includestdio.hmain()int a=2,b
15、;b=a2;pfinff(“%d/n“,b);程序运行后的输出结果是( )。A)2 B)4 C)6 D)8(分数:2.00)A.B.C.D.38.执行以下程序后,test.txt 文件的内容是(若文件能正常打开)_。#includemain()FILE *fp;char *s1=“Fortran“,*s2=“Basic“;if(fp=fopen(“test.txt“,“wb“)=NULL)printf(“Cant open test.txt file/n“);exit(1);fwrite(s1,7,1,fp); /*把从地址 s1 开始的 7 个字符写到 fp 所指文件中*/fseek(fp,
16、0L,SEEK_SET); /*文件位置指针移到文件开头*/fwrite(s2,5,1,fp);fclose(fp);(A) Basican(B) BasicFortran(C) Basic(D) FortranBasic(分数:2.00)A.B.C.D.39.以下对结构体类型变量 td 的定义中,错误的是_。A) typedef struct aaint n;float m;AA;AA td;B) struct aaint n;float m;td;struct aa td;C) structint n;floatm;aa;struct aa td;D) structint n;float
17、m;td;(分数:1.00)A.B.C.D.40.在 int (*prt)3;定义中,标识符 prt( )。A) 定义不合法 B) 是一个指针数组名,每个元素都是一个指向整型变量的指针C) 是一个指针,它指向一个具有三个元素的一维数组D) 是一个指向整型变量的指针(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.50)41.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_42.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_43.线性表的存储结构主要分为顺序存储结构
18、和链式存储结构。队列是一种特殊的线性表,循环队列是队列的 1 存储结构。(分数:2.50)填空项 1:_44.深度为 5 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_45.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行人队运算。这种情况称为U /U。(分数:2.00)填空项 1:_46.已有定义:char c= ;int a=1,b;(此处 c 的初值为空格字符),执行 b=!cif(c=a+b) printf(“yes/n“);else printf(“no/n“);(分数:2.00)填空项 1:_49.若有定义:int a44=l,2,3,4,0
19、,4,6,8,10,1,3,5,7,则初始化后,a22得到的初值是 1。(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#include stdio.hmain()int x=10,y=10,i;for(i=0;x8;y=+iprintf(“%d %d“,x-,y);(分数:2.00)填空项 1:_51.下面程序的功能是输出数组 s 中最大元素的下标,请填空。#include stdio.hmain()int k, p,s=1, -9,7,2, -10,3;for(p =0,k =p; p6; p+)if(spsk)U /Uprintf(“%d/n“, k);(分数:2.00)填
20、空项 1:_52.以下程序运行后输入:3,abcde回车,则输出结果是U /U。# includestring.hmove(char *str,int n)char temp int i;temp=strn-1);for(i=n-1;i0;i-)stri=stri-1;str0=tempmain()char s50;iht n,i,z;scanf(“%d,%s“,z=strlen(s);for(i=1;i=n;i+)move(s,z);printf(“s/n“,s);(分数:2.00)填空项 1:_53.以下程序中函数 fun 的功能是:构成一个如图所示的带头节点的单向链表,在节点的数据域中放
21、入了具有两个字符的字符串。函数 disp 的功能是显示输出该单链表中所有节点中的字符串。请填空完成函数disp。(分数:2.00)填空项 1:_54.下列程序的功能是将字符串 s 中所有的字符 C 删除。请填空。#includestdio.hmain()char s80;int i,j;gets(s);for(i=j=0;si!=“/0“;i+)if(i!=C)_;sj=/0;puts(s);(分数:4.00)填空项 1:_55.以下程序运行后的输出结果是_。main()int a44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18;int i=0,j=0,s=
22、0,while(i+4)if(i=2 | i=4) continue ;J=0;do(s+=aij; j+; )while (j4);printf(“%d/n“,s);(分数:2.00)填空项 1:_二级 C 语言笔试-435 答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.下面叙述正确的是A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对(分数:2.00)A.B.C. D.解析:命题目的 本题考查了算法的基本概念。解
23、题要点 算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关;算法的空间复杂度是指执行算法所需要的内存空间;算法的有穷性是指算法必须能在有限的时间内执行完,即算法必须能在执行有限个步骤之后终止。考点链接 时间复杂度。2.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。A) 1,4,3,2 B) 2,3,4,1 C) 3,1,4,2 D) 3,4,2,1(分数:2.00)A.B.C. D.解析:评析 栈是种后进先出表,选项 C 中,先出栈的是 3,说明此时栈内必然有 1,2,由于 1 先于2 进栈,所以 1 不可能在 2 之前出栈,故选项 C 选种出栈序
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 435 答案 解析 DOC
