欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言模拟643及答案解析.doc

    • 资源ID:1325907       资源大小:96.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言模拟643及答案解析.doc

    1、二级 C 语言模拟 643 及答案解析(总分:156.50,做题时间:90 分钟)一、选择题(总题数:40,分数:56.50)1.有以下程序: include stdio.h main( ) int i,a; for (i=0; i=10; i+) a=i; printf(“%d,%d/n“,i,a); 程序的运行结果是_。(分数:1.00)A.11,10B.10,10C.10,11D.11,112.下面的关键字中,不能够从循环体中跳到循环体外的是_。(分数:1.00)A.gotoB.breakC.returnD.continue3.结构化程序设计中,下面对 goto 语句使用描述正确的是_。

    2、(分数:1.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句D.以上说法均错误4.以下选项中正确的语句组是_。(分数:1.00)A.char *s;s=“BOOK!“;B.char*s;s=“BOOK!“);C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;5.设变量 n 已正确定义并赋值,以下不能实现自然数 1 到 n 累加求和的程序段是_。(分数:1.00)A.int sum=1,i=0;while(i=n)i+;sum+=i;B.int sum=0,i=1;while(i=n)sum+=i;i+;C.int

    3、sum=0,i=0;while(in)i+;sum+=i;D.int sum=1,i=1;while(in)i+;sum+=i;6.已知下列函数定义: fun(int *b,int m,int n,int data) int k; for(k=0;km*n;k+) *b=data; b+; 则调用此函数的正确写法是(假设变量 a 的说明为 int a50)_。(分数:2.00)A.fun(*a,4,5,1);B.fun(C.fun(int*)a,4,5,1)D.fun(a,4,5,1);7.有以下程序: #include stdio.h main( ) int i,t3=9,8,7,6,5,4

    4、,3,2,1; for(i=0;i3;i+ +) printf(“%d“,t2-ii); 程序执行后的输出结果是_。(分数:2.50)A.3 5 7B.7 5 3C.3 6 9D.7 5 18.检查软件产品是否符合需求定义的过程称为(分数:1.00)A.确认测试B.集成测试C.验证测试D.验收测试9.有以下程序: #includestdio.h int f(int n); main() int a=3,s; s=f(a);s=s+f(a); printf(“%d/n“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是_。

    5、(分数:1.00)A.9B.8C.7D.1010.假定已建立以下链表结构,且指针 p 和 q 已指向如图所示的结点: (分数:1.00)A.p-next=q-next;free(q);B.p=q-next;free(q);C.p=q;free(q);D.(*p).next=(*q).next;free(p);11.以下关于 C 语言文件的叙述中正确的是_。(分数:1.00)A.文件由数据序列组成,其类型可以为二进制文件或文本文件B.文件由记录序列组成,其类型可以为二进制文件或文本文件C.文件由字符序列组成,其类型可以为二进制文件或文本文件D.文件由数据序列组成,其类型只能是二进制文件12.对于

    6、现实世界中事物的特征,在实体联系模型中使用_。(分数:1.00)A.属性描述B.关键字描述C.二维表格描述D.实体描述13.下面描述中,不属于软件危机表现的是_。(分数:1.50)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高14.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:1.00)A.可以是任意合法的表达式B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.只能是整数 0 或 115.若变量已正确定义为 int 型,要通过语句 scanf(“%d,%d,%d“, 给 a 赋值 1、给 b 赋值 2、给 c 赋值 3,以下输入形式中错

    7、误的是(注:代表一个空格符)_。(分数:5.00)A.1,2,3回车B.1,2,3回车C.1,2,3回车D.123回车16.若有以下定义,则正确引用数组元素的是_。 int a5,*p=a;(分数:2.00)A.* int i, j, s=0; for(i=0; i2; i+) pi=chi; for(i=0;i2;i+) for(j=0; pij“/0“; j+=2) s=10*s+pij-“0“;(分数:1.00)A.69825B.63825C.6385D.69382518.下面选项中关于“文件指针”概念的叙述正确的是_。(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位

    8、置B.文件指针是程序中用 FILE 定义的指针变量C.文件指针指向文件在计算机中的存储位置D.把文件指针传给 fscanf 函数,就可以向文本文件中写入任意的字符19.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为_。(分数:1.00)A.0B.“/0“C.非 0 值D.NULL20.下面属于“类-对象”主要特征的是_。(分数:1.00)A.对象一致性B.对象无关性C.类的多态性D.类的依赖性21.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对22.层

    9、次型、网状型和关系型数据库划分原则是_。(分数:1.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式23.下列叙述中错误的是_。(分数:1.00)A.算法的时间复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系D.算法的时间复杂度与算法程序执行的具体时间是不一致的24.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为_。(分数:2.50)A.%、sizeof、=B.sizeof、%、=、C.sizeof、%、=D.sizeof、%、=25.有如下程序:

    10、 #include stdio.h main() char ch=“A“; while(ch“D“) printf(“%d“, ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.ABCB.012C.abcD.12326.若有说明“char s130=“abc“, s2=“defghi“; “,则在使用函数 stcat(s1,s2)后,结果是_。(分数:2.50)A.s1 的内容更新为 abcdefghiB.s1 的内容更新为 defghi/0C.s1 的内容更新为 defghiabc/0D.s1 的内容更新为 abcdefghi/027.若

    11、有定义: double a=22;int i=0,k=18; 则不符合 C 语言规定的赋值语句是_。(分数:1.00)A.i=a%11;B.i=(a+k)=(i+k);C.ama+,i+;D.i=!a;28.有以下程序: #include stdio.h #include “string.h“ void fun(char *s,int n) char *t;int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strlen(si)strlen(sj) t=si;si=sj;sj=t; main() char *ss=“bcc“,“bbcc“,“xy“,“a

    12、aaacc“,“aabcc“; fun(ss,5);printf(“%s,%s/n“,ss0,ss4); 程序的运行结果是_。(分数:2.50)A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc29.下列选项中,可作为合法标识符的是_。(分数:1.00)A.1mB.DataC.str+1D.i-130.有以下程序 #includestdio.h main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1C.y=1D.while 构成无限循环31.结构化程序

    13、设计中,下面对 goto 语句使用描述正确的是_。(分数:1.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句D.以上说法均错误32.C 语言规定,在一个 C 程序中,main 函数的位置_。(分数:2.00)A.必须在系统调用的库函数之后B.必须在程序的开始C.必须在程序的最后D.可以在任意位置33.有以下程序 #includestdio.h main() char a,b,c,d; scanf(“%c%c“, c=getchar();d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方

    14、式输入数据(从第 1 列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.12 34B.12C.1234D.12 334.运行下面程序时,从键盘输入字母 A,则输出结果是_。 #includestdio.h main() char ch; ch=getchar(); switch(ch) case“A“:printf(“AAAA/n“); case“B“:printf(“BBBB/n“); default:printf(“CCCC/n“); A B C D (分数:2.00)A.B.C.D.35.有以下程序: # include stdio

    15、.h main() struct nodeint n; struct node *next; *p; struct node x3=2,x+1,4,x+2,6,NULL; p=x; printf(“%d,“,p-n); printf(“%d/n“,p-next-n); 程序运行后的输出结果是_。(分数:1.00)A.2,3B.2,4C.3,4D.4,636.设有定义:float a=2,b=4,h=3;以下 C 语言表达式中与代数式 (分数:1.00)A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)37.下面不属于需求分析阶段任务的是_。(分

    16、数:1.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.制订软件集成测试计划D.需求规格说明书评审38.有以下程序: #define Out(n)n%2=0“%c“:“%d“ #includestdio.h main() int x; for(x=65;x69;x+) printf(Out(x),x); 程序的运行结果是_。(分数:1.00)A.65867DB.A66C68C.65666768D.ABCD39.下面描述不属于软件特点的是_。(分数:1.00)A.软件是一种逻辑实体,具有抽象性B.软件在使用中不存在磨损、老化问题C.软件复杂性高D.软件使用不涉及知识产权40.下列叙

    17、述中正确的是_。(分数:2.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中对文件进行写操作后,必须先关闭该文件然后再打开才能读到第一个数据D.C 语言中的文件是流式文件,因此只能顺序存取数据二、程序填空题(总题数:1,分数:30.00)41.请补充 main()函数,该函数的功能是:求 m!。 例如 10!=3628800。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #i

    18、ncludestdlib.h #includestdio.h #includeconio.h void main() int i, m; long f=1; system(“CLS“); printf(“Input m:“); scanf(“%d“, 1); for( 2; i=m; i+) 3; printf(“%d!=%1d/n“, m, f); (分数:30.00)三、程序修改题(总题数:1,分数:30.00)42.给定程序 MODI1. C 中函数 fun 的功能是:将长整型数 s 中每一位上为偶数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。 例如,当 s 中的

    19、数为:87653142 时,t 中的数为:8642。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include stdio. h void fun (long s, long *t) int d; long s1=1; *t=0; while(s0) d=s%10; /*found*/ if(d%2=0) *t=d* s1+ *t; s1 *=10; /*found*/ s/=10; main( ) long s, t; printf(“/nPlease enter s:“); scanf(“%1d“, fun(s,

    20、printf(“The result is: %1d/n“, t); (分数:30.00)_四、程序设计题(总题数:1,分数:40.00)43.编写一个函数,从传入的 M 个字符中找出最长的一个字符串,并通过形参指针 max 传回该串地址(用*作为结束输入的标志)。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdio.h #includestring.h #includeconio.h char*proc(char(*a)81,int num) void main() ch

    21、ar ss1081,*max; int n,i=0; printf(“输入若干个字符串:“); gets(ssi); puts(ssi); while(!strcmp(ssi,“*“)=0) i+; gets(ssi); puts(ssi); n=i; max=proc(ss,n); printf(“/nmax=%s/n“,max); (分数:40.00)_二级 C 语言模拟 643 答案解析(总分:156.50,做题时间:90 分钟)一、选择题(总题数:40,分数:56.50)1.有以下程序: include stdio.h main( ) int i,a; for (i=0; i=10;

    22、i+) a=i; printf(“%d,%d/n“,i,a); 程序的运行结果是_。(分数:1.00)A.11,10 B.10,10C.10,11D.11,11解析:解析 当 i=10 时循环继续执行,i 值赋值给变量 a。赋值完成后执行 i=i+1,此时 i=11,判定是否满足条件 i=10,不满足条件,结束循环。循环结束时,printf()是从右到左结合的,输出 i,a 的值为 11,10,答案为 A 选项。2.下面的关键字中,不能够从循环体中跳到循环体外的是_。(分数:1.00)A.gotoB.break C.returnD.continue解析:解析 在 C 语言中,可以用 break

    23、 语句和 continue 语句跳出本层循环和结束本次循环。goto 语句可跳出多层循环,如果在函数的循环体内使用 return 语句,就会直接结束循环返回函数值。3.结构化程序设计中,下面对 goto 语句使用描述正确的是_。(分数:1.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句 D.以上说法均错误解析:解析 结构化程序设计中,要注意尽量避免 goto 语句的使用,故选 C 选项。4.以下选项中正确的语句组是_。(分数:1.00)A.char *s;s=“BOOK!“; B.char*s;s=“BOOK!“);C.char s10;s=

    24、“BOOK!“;D.char s;s=“BOOK!“;解析:解析 字符指针可以用字符串直接赋值,字符数组不可以。所以选择 A。5.设变量 n 已正确定义并赋值,以下不能实现自然数 1 到 n 累加求和的程序段是_。(分数:1.00)A.int sum=1,i=0;while(i=n)i+;sum+=i; B.int sum=0,i=1;while(i=n)sum+=i;i+;C.int sum=0,i=0;while(in)i+;sum+=i;D.int sum=1,i=1;while(in)i+;sum+=i;解析:解析 选项 A 中,sum 初值为 1,i 初值为 0;当 i=n 成立时,

    25、执行 while()循环,首先 i 自增1,此时 1 的值为 1,然后 sum 累加 i,此时 sum 的值为 1+1=2,所以选项 A 计算了 2 次 1,不满足题意,选项 B、C、D 都正确,本题答案为 A。6.已知下列函数定义: fun(int *b,int m,int n,int data) int k; for(k=0;km*n;k+) *b=data; b+; 则调用此函数的正确写法是(假设变量 a 的说明为 int a50)_。(分数:2.00)A.fun(*a,4,5,1);B.fun(C.fun(int*)a,4,5,1)D.fun(a,4,5,1); 解析:7.有以下程序:

    26、 #include stdio.h main( ) int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+ +) printf(“%d“,t2-ii); 程序执行后的输出结果是_。(分数:2.50)A.3 5 7 B.7 5 3C.3 6 9D.7 5 1解析:解析 二维数组 t3实际上指 t33=9,8,7,6,5,4,3,2,1,通过循环语句 for 语句可以得到 i=0,t20=3;i=1,t11=5;i=2,t02=7;i=3 时循环结束,即 t20=3,t11=5,t02=7。因此 A 选项正确。8.检查软件产品是否符合需求定义的过程称为(分数:1.00)

    27、A.确认测试 B.集成测试C.验证测试D.验收测试解析:解析 确认测试的任务是验证软件的功能和性能及其他特征是否满足了需求规格说明中确定的各种需求以及软件配置是否完全、正确。9.有以下程序: #includestdio.h int f(int n); main() int a=3,s; s=f(a);s=s+f(a); printf(“%d/n“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是_。(分数:1.00)A.9 B.8C.7D.10解析:解析 题目中静态局部变量 a,在静态存储区内分配存储单元,在程序整个运行

    28、期间都不释放。所以第一次调用函数执行 n+=a+;时 a 先与 n 相加在再进行自增。n 的值为 4,a 的值为 2,且 a 变量执行完后空间没有释放。再执行 s=s+f(a)时,s 的值为 4,调用 f(a)函数时 n 的返回值为 n=3+2=5,且此时a 的值为 3 了。所以 s 的值为 9。10.假定已建立以下链表结构,且指针 p 和 q 已指向如图所示的结点: (分数:1.00)A.p-next=q-next;free(q); B.p=q-next;free(q);C.p=q;free(q);D.(*p).next=(*q).next;free(p);解析:解析 本题考查的是在链表中删

    29、除结点的操作。在本题中指针 p 指向结点 a,q 指向结点 b。要把结点 b 删除,就应该首先让结点 a 的指针域指向结点 c,即 pnext=qnext,也可以写成(*p).next=(*q).next,然后释放结点 b,即 free(q)。所以,4 个选项中,只有 A 满足题意。11.以下关于 C 语言文件的叙述中正确的是_。(分数:1.00)A.文件由数据序列组成,其类型可以为二进制文件或文本文件 B.文件由记录序列组成,其类型可以为二进制文件或文本文件C.文件由字符序列组成,其类型可以为二进制文件或文本文件D.文件由数据序列组成,其类型只能是二进制文件解析:解析 C 语言文件是指一组相

    30、关数据的有序集合,从文件编码的方式看,文件可分为 ASCII 码文件和二进制文件两种,其中 ASCII 文件也称为文本文件,所以文件由数据序列组成,类型可以为二进制文件或文本文件,故选项 A 正确。12.对于现实世界中事物的特征,在实体联系模型中使用_。(分数:1.00)A.属性描述 B.关键字描述C.二维表格描述D.实体描述解析:解析 本题考查对实体联系模型的理解和掌握。在实体联系模型中,用属性来描述现实世界中对象的属性所表示的对象的性质、特征和行为,因此正确答案为选项 A。13.下面描述中,不属于软件危机表现的是_。(分数:1.50)A.软件过程不规范 B.软件开发生产率低C.软件质量难以

    31、控制D.软件成本不断提高解析:解析 软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。因此本题答案为 A。14.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:1.00)A.可以是任意合法的表达式 B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.只能是整数 0 或 1解析:解析 C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择 A 选项。15.若变量已正确定义为 int 型,要通过

    32、语句 scanf(“%d,%d,%d“, 给 a 赋值 1、给 b 赋值 2、给 c 赋值 3,以下输入形式中错误的是(注:代表一个空格符)_。(分数:5.00)A.1,2,3回车B.1,2,3回车C.1,2,3回车D.123回车 解析:解析 scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符,以保证匹配。所以逗号必须输入。16.若有以下定义,则正确引用数组元素的是_。 int a5,*p=a;(分数:2.00)A.* int i, j, s=0; for(i=0; i2; i+) pi=chi; for(i=0;i2;i+) for(j=0; pij

    33、“/0“; j+=2) s=10*s+pij-“0“;(分数:1.00)A.69825B.63825C.6385 D.693825解析:解析 本题考查通过指针引用字符串数组中的元素。通过行指针 p 来实现数组元素的引用。用格式说明符%s 进行整串输入与输出。 本题中,每行字符指针跳跃式右移动,隔 2 个移动一次,s 存放处理的累计和。 第一行中: p0指针第一遍 6-0=6 s=0+6=6 p0指针第二遍 3-0=3 s=10*6+3=63 指针行下标变化,转向第二行 第二行中: p1指针第一遍 8-0=8 s=10*63+8=638 p2指针第二遍 5-0=5 s=10*638+5=6385

    34、 得出结果 s=6385。18.下面选项中关于“文件指针”概念的叙述正确的是_。(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针是程序中用 FILE 定义的指针变量 C.文件指针指向文件在计算机中的存储位置D.把文件指针传给 fscanf 函数,就可以向文本文件中写入任意的字符解析:解析 文件指针的定义形式为 FILE*文件指针名,所以 B 正确。19.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为_。(分数:1.00)A.0B.“/0“C.非 0 值 D.NULL解析:解析 本题考查文件的定位,feof 函数的用法

    35、是从输入流读取数据,如果到达文件末尾(遇文件结束符),eof 函数值为非零值,否则为 0,所以选项 C 正确。20.下面属于“类-对象”主要特征的是_。(分数:1.00)A.对象一致性B.对象无关性C.类的多态性 D.类的依赖性解析:解析 类一对象的基本特点如下。 特点 描述 标识唯一性 一个对象通常可由对象名、属性和操作三部分组成 分类性 指可以将具有相同属性和操作的对象抽象成类 多态性 指同一个操作可以是不同对象的行为,不同对象执行同一操作产生不同的结果 封装性 从外面看只能看到对象的外部特性,对象的内部对外是不可见的 模块独立性好 由于完成对象功能所需的元素都被封装在对象内部,所以模块独

    36、立性好 由上表可知“类-对象”主要特征包括类的多态性,故 C 选项正确。21.下列叙述中正确的是_。(分数:1.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对 解析:解析 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构,因此本题答案为 D。22.层次型、网状型和关系型数据库划分原则是_。(分数:1.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式 解析:解析 层次型、网状型和关系型数据库划分的原则是数据之间的联系方式。23.下列叙述中错误的是_。(分数:1.00)A.算法的时间

    37、复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系 D.算法的时间复杂度与算法程序执行的具体时间是不一致的解析:解析 算法的时间复杂度是指执行算法所需要的计算工作量。数据的存储结构直接决定数据输入,而这会影响算法所执行的基本运算次数,A 选项叙述正确。算法的空间复杂度是指执行这个算法所需要的内存空间,其中包括输入数据所占的存储空间,B 选项叙述正确。而算法的时间复杂度与空间复杂度没有直接关系,故选择 C 选项。算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节所影响,而算法

    38、的时间复杂度与这些因素无关,所以是不一致的,故 D 选项叙述正确。24.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为_。(分数:2.50)A.%、sizeof、=B.sizeof、%、=、C.sizeof、%、=D.sizeof、%、= 解析:解析 主要考查运算符的优先级。sizeof 的优先级最高,其次是%、,优先级最低的是“=”。25.有如下程序: #include stdio.h main() char ch=“A“; while(ch“D“) printf(“%d“, ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(

    39、分数:1.00)A.ABCB.012 C.abcD.123解析:解析 字符之间做加减法,是用其 ASCII 码进行加减,但是不能超过范围 0255,否则不是合法的字符。while 循环语句一般形式为:while(表达式)循环体,执行过程为,首先判断表达式,成立(非0)则执行循环体,不成立(0)则退出循环。程序执行过程为:定义字符变量 ch=“A“,判断“A“D“成立,输出 0,ch=“B“;判断“B“D“成立,输出 1,ch=“C“;判断“C“D“成立,输出 2,ch=“D“;判断“D“D“不成立,退出循环。程序运行后的输出结果是 012,故 B 选项正确。26.若有说明“char s130=

    40、“abc“, s2=“defghi“; “,则在使用函数 stcat(s1,s2)后,结果是_。(分数:2.50)A.s1 的内容更新为 abcdefghiB.s1 的内容更新为 defghi/0C.s1 的内容更新为 defghiabc/0D.s1 的内容更新为 abcdefghi/0 解析:解析 strcat(s1,s2)函数的功能是把 s2 字符串连接到 s1 字符串的末尾,要保证 s1 有足够的空间容纳下连接后的字符串。27.若有定义: double a=22;int i=0,k=18; 则不符合 C 语言规定的赋值语句是_。(分数:1.00)A.i=a%11; B.i=(a+k)=(

    41、i+k);C.ama+,i+;D.i=!a;解析:解析 取模运算符“%”为二元运算符,具有左结合性,参与运算的量应均为整型,选项 A 中的变量 a 是 double 型,所以选项 A 不符合规定。28.有以下程序: #include stdio.h #include “string.h“ void fun(char *s,int n) char *t;int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strlen(si)strlen(sj) t=si;si=sj;sj=t; main() char *ss=“bcc“,“bbcc“,“xy“,“aaaa

    42、cc“,“aabcc“; fun(ss,5);printf(“%s,%s/n“,ss0,ss4); 程序的运行结果是_。(分数:2.50)A.xy,aaaacc B.aaaacc,xyC.bcc,aabccD.aabcc,bcc解析:解析 从 main 函数入手,定义了一个一维数组并赋初值,接着调用函数 fun(),函数的功能是:比较数组中各元素的长度,按元素长度从小到大的顺序排列元素,所以执行“fun(ss,5)”函数后,“*ss=“xy“,“bcc“,“bbcc“,“aabcc“,“aaaacc“”,所以调用 printf 函数输出 ss0,ss4的值分别为 xy,aaaacc。29.下列

    43、选项中,可作为合法标识符的是_。(分数:1.00)A.1mB.Data C.str+1D.i-1解析:解析 在编写程序时,标识符的作用是为函数、变量等命名。标识符的命名规则如下: (1)合法的标识符只能由字母、数字或下划线组成。 (2)标识符的第一个字符必须是字母或下划线,不能是数字。 (3)要区分字母的大小写,如 q 和 Q 是两个不同的变量。30.有以下程序 #includestdio.h main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1 C.y=1D.while 构成无限循环解

    44、析:解析 当 y 为 0 时,表达式 y-才为假,循环结束,最终 y 的值为-1,所以答案选择 B。31.结构化程序设计中,下面对 goto 语句使用描述正确的是_。(分数:1.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句 D.以上说法均错误解析:解析 结构化程序设计中,要注意尽量避免 goto 语句的使用,故选 C。32.C 语言规定,在一个 C 程序中,main 函数的位置_。(分数:2.00)A.必须在系统调用的库函数之后B.必须在程序的开始C.必须在程序的最后D.可以在任意位置 解析:33.有以下程序 #includestdio.h

    45、 main() char a,b,c,d; scanf(“%c%c“, c=getchar();d=getchar(); printf(“%c%c%c%c/n“,a,b,c,d); 当执行程序时,按下列方式输入数据(从第 1 列开始,CR代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是_。(分数:1.00)A.12 34B.12C.1234D.12 3 解析:解析 按照从键盘输入的数据可以判断字符 1 赋给了变量 a,字符 2 赋给了变量 b,字符CR即回车赋给了变量 c,字符 3 赋给了变量 d。因此打印输出的结果为选项 D。34.运行下面程序时,从键盘输入字母 A,则输出结果是_。 #includestdio.h main() char ch; ch=getchar(); switch(ch) case“A“:printf(“AAAA/n“); case“B“:printf(“BBBB/n“); default:printf(“CCCC/n“); A B C D (分数:2.00)A.B.C. D.解析:35.有以下程序: # include stdio.h main() struct nodeint n; st


    注意事项

    本文(【计算机类职业资格】二级C语言模拟643及答案解析.doc)为本站会员(brainfellow396)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开