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

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

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

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

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

    1、二级 C 语言-610 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.栈与队列都只能顺序存储B.循环队列是队列的顺序存储结构C.循环链表是循环队列的链式存储结构D.栈是顺序存储结构而队列是链式存储结构2.算法空间复杂度的度量方法是_。(分数:1.00)A.算法程序的长度B.算法所处理的数据量C.执行算法所需要的工作单元D.执行算法所需要的存储空间3.设有栈 S 和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z 入栈后,将栈中所

    2、有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为_。(分数:1.00)A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为_。(分数:1.00)A.EFGDCBAB.DCBEFGAC.BCDGFEAD.DCBGFEA5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用、维护到停止使用、退役的过程B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护6.通常软件测试实施的步骤是_。(分数:1.00)A.集成测试、单元

    3、测试、确认测试B.单元测试、集成测试、确认测试C.确认测试、集成测试、单元测试D.单元测试、确认测试、集成测试7.下面不属于对象的主要特征的是_。(分数:1.00)A.惟一性B.多态性C.可复用性D.封装性8.数据库设计中,描述数据间内在语义联系得到 ER 图的过程属于_。(分数:1.00)A.逻辑设计阶段B.需求分析阶段C.概念设计阶段D.物理设计阶段9.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是_。(分数:1.00)A.概念数据模型B.逻辑数据模型C.物理数据模型D.关系数据模型10.有三个关系 R、S 和 T 如下: (分数:1.00)A并B.投影C交D.

    4、选择11.结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_。(分数:1.00)A.三种基本结构不可以嵌套使用B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移C.选择结构是根据不同的条件执行不同分支中的语句D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句12.在 C 语言中,以下选项中不能正确表示 101000 之值的是_。(分数:1.00)A.1.0E4.0B.1.E4C.10E3D.1.0e413.以下选项中,合法的 C 语言常量是_。(分数:1.00)A.21.84B.“CPP“C.“/1.0D.2MB14.有以下程序: #includes

    5、tdio.h main() int x=010, y=10; printf(“%d,%d/n“,+x,y-); 程序运行后的输出结果是_。(分数:1.00)A.10,9B.11,10C.010,9D.9,1015.若有定义:int a; float b; double c;,程序运行时输入:a=1,b=2,c=3回车,能把值 1 输入给变量 a、值 2 输入给变量 b、值 3 输入给变量 c 的输入语句是_。(分数:1.00)A.scanf(“a=%d,b=%f,c=%lf“,B.scanf(“%d%f%lf“,C.scanf(“a=% d,b=% lf,c=%lf“,D.scanf(“a=%

    6、d,b=% f,c=%f“,16.有如下程序: #includestdio.h main() int a=0, b=1; if(a+ else printf(“F“); printf(“a=%d,b=%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.Ta=1,b=2B.Fa=0,b=2C.Fa=1,b=1D.Ta=0,b=117.以下不是合法 C 语言转义字符的是_。(分数:1.00)A.“/c“B.“/a“C.“/b“D.“/r“18.有以下程序: #includestdio.h main() char ch=“B“; while(ch“E“) pfintf(“%d“,

    7、ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.123B.ABCC.abcD.01219.以下能够实现计算 5!的程序段是_。(分数:1.00)A.int fac=1,k=0;dok+;fac*=k;while(k5);B.int fac=0,k=1;dofac*=k;k+;while(k5);C.int fac=1,k=1;dok+;fac*=k;while(k=5);D.int fac=1,k=0;dofac*=k;k+;while(k5);20.有以下程序: #includestdio.h main() int x=0x13; if

    8、(x=0x12)printf(“True“); printf(“False/n“); 程序运行后的输出结果是_。(分数:1.00)A.TrueB.TrueFalseC.FalseD.TrueFalseTrue21.有以下程序段:char c1,c2,c3;scanf(“%c%c%c“, 程序运行后的输出结果是_。(分数:1.00)A.0B.变量无定义,输出不确定C.-1D.123.以下关于函数的叙述中正确的是_。(分数:1.00)A.函数调用必须传递实参B.函数必须要有形参C.函数必须要有返回值D.函数形参的类型与返回值的类型无关24.有以下程序: #includestdio.h void f

    9、un(int a,int n) int i; for(i=0;in;i+) if(i%3=0) ai-=n; else ai+=n; main() int c5=6,7,8,9,10,i; fun(c,5); for(i=0;i5;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1,12,13,4,15,B.10,9,8,7,6,C.1,7,13,9,15,D.10,12,8,4,6,25.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。 #includestdio.h main() int a10,

    10、i=0; while(i10)scanf(“%d“,_); (分数:1.00)A.a+(i+)B. return s; main() int i=3,j=5,*p= r=f(p,q); printf(“%d,%d,%d,%d,%d/n“,i,j,*p,*q,*r); 程序的运行结果是_。(分数:1.00)A.5,5,5,5,5B.3,5,5,5,5C.5,3,3,3,5D.3,5,3,5,527.有如下程序: #includestdio.h #includestring.h main() printf(“%d/n“,strlen(“0/t/nA011/1“); 程序运行后的输出结果是_。(分数

    11、:1.00)A.8B.9C.7D.1028.若有定义:char*ps=“aa“,“bb“,“cc“,“dd“;,则以下叙述正确的是_。(分数:1.00)A.*ps0是字符“a“B.*ps0是字符串“aa“C.ps0是字符“a“D.ps 是字符串“aa“29.以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是_。(分数:1.00)A.char*str,name10;str=“Hello World“;B.char*str,name10;name=“Hello World“;C.char str110=“prog.c“,str210;str2=str1;D.char head_line;h

    12、ead_line=“= = = = = = =“;30.有如下程序: #includestdio.h void get_put() char ch; ch=getchar(); if(ch!=“/n“)get_put(); putchar(ch); main() get_put(); 程序运行时,输入 ABCD回车,则输出结果是_。(分数:1.00)A.DCDCB.DCBAC.BABAD.ABCD31.若有以下程序段: char str412=“aaa“,“bbbb“,“ccccc“,“dddddd“,*strp4; int i; for(i=0;i4;i+)strpi=stri; 则以下错误

    13、引用字符串的选项是(其中 0k4)_。(分数:1.00)A.*strpB.strkC.strpkD.strp32.有以下程序: #includestdio.h main() int findmax(int,int,int),m; m=findmax(a,b,c); (分数:1.00)A.在 main 函数中声明了 findmax 函数B.在 main 函数中定义了 findmax 函数C.在 main 函数中两次调用了 findmax 函数D.在 main 函数内、外重复定义了 findmax 函数33.有如下程序: #includestdio. h int sum(int*array,int

    14、 len) if(len=0) return array0; else return array0+sum(array+1,len-1); main() int array5=1,2,3,4,5; int res=sum(array,4); printf(“%d/n“,res); 程序运行后的输出结果是_。(分数:1.00)A.15B.10C.8D.134.若有定义:typedef int*T: T a20; 则以下与上述定义中 a 类型完全相同的是_。(分数:1.00)A.int*a20;B.int(*a)20;C.int a20;D.int*a20;35.有以下程序: #includest

    15、dio.h #includestring.h #includestdlib.h main() char*p1,*p2; p1=p2=(char*)malloc(sizeof(char)*10); strcpy(p1,“malloc“); strcpy(p2,p1+1); printf(“%c%c/n“,p10,p20); 程序的运行结果是_。(分数:1.00)A.aaB.maC.amD.mm36.有如下定义: struct int mum; char name10; struct int y;int m;int d;birth; s,*ps= 以下对内嵌结构体成员的引用形式错误的是_。(分数:

    16、1.00)A.ps-birth.yB.birth.yC.ps.birth.yD.(*ps).birth.y37.有以下程序; #includestdio.h #define N 2 #define M N+1 #define MUN (M+1)*M/2 main() printf(“%d/n“,MUN); 程序运行后的输出结果是_。(分数:1.00)A.8B.9C.5D.638.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int*array,int len) int i; stru

    17、ct pair res; res.first=array0; res.second=array0; for(i=1;ilen;i+) if(arrayires.first) res.first=arrayi; if(arrayires.second) res.second=arrayi; return res; main() int array5=9,1,3,4; struet pair min_max=get_min_max(array,5) printf(“min=%d,max=%din“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.

    18、00)A.min=1,max=9B.min=0,max=9C.min=1,max=4D.min=0,max=439.有以下程序: #includestdio.h main() int c,d; c=13d=10 printf(“%d,%d/n“,c,d); 程序的运行结果是_。(分数:1.00)A.51B.1,1C.18,1D.13,140.有以下程序段: FILE*fp; if(fp=fopen(“test.txt“,“w“)=NULL) printf(“不能打开文件!“); exit(0); else printf(“成功打开文件!“); 若文件 test.txt 已存在,则以下叙述正确的

    19、是_。(分数:1.00)A.程序运行后,文件 test.txt 中的原有内容将全部消失B.程序运行时,会因文件存在而出错C.对文件 test.txt 进行写操作后,可以随机进行读取D.对文件 test.txt 写入的内容总是被添加到文件尾部二、程序填空题(总题数:1,分数:18.00)41.给定程序中,函数 fun 的功能是:调用随机函数产生 20 个互不相同的整数放在形参 a 所指数组中(此数组在主函数中已置 0)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意: 部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构! 试题源程序 #i

    20、ncludestdlib.h #includestdio.h #define N 20 void fun(int*a) int i,x,n=0; x=rand()%20; /*found*/ while(n 1) for(i=0;in;i+) /*found*/ if(x=ai) 2; /*found*/ if(i= 3) an=x;n+; x=rand()%20; main() int xN=0,i; fun(x); printf(“The result:/n“); for(i=0;iN;i+) printf(“%4d“,xi); if(i+1)%5=0)printf(“/n“); prin

    21、tf(“/n/n“); (分数:18.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中,函数 fun 的功能是:实现两个整数的交换。例如,给 a 和 b 分别输入 60 和 65,输出为:a=65 b=60。 请改正程序中的错误,使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题源程序 #includestdio.h #includeconio.h #includestdlib.h /*found*/ void fun(int a,b) int t; /*found*/ t=b;b=a,a=t; void main()

    22、 int a,b; system(“CLS“); printf(“Enter a,b:“); scanf(“%d%d“, fun( printf(“a=%d b=%d/n“,a,b); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)43.编写函数 fun,它的功能是:求小于形参 n 同时能被 3 与 7 整除的所有自然数之和的平方根,并作为函数值返回。例如,若 n 为 1000 时,程序输出应为:s=153.909064。 注意: 部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

    23、试题源程序 #includemath.h #includestdio.h double fun(int n) main()/*主函数*/ void NONO(); printf(“s=%f/n“,fun(1000); NONO(); void NONO() /*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE*fp,*wf; int i,n; double s; fp=fopen(“in.dat“,“r“); wf=fopen(“out.dat“,“w“); for(i=0;i10;i+) fscanf(fp,“%d“, s=fun(n); fprintf(wf,“%

    24、f/n“,s); fclose(fp); fclose(wf); (分数:24.00)_二级 C 语言-610 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.栈与队列都只能顺序存储B.循环队列是队列的顺序存储结构 C.循环链表是循环队列的链式存储结构D.栈是顺序存储结构而队列是链式存储结构解析:解析 栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者既可以顺序存储也可以链式存储。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,

    25、形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构。2.算法空间复杂度的度量方法是_。(分数:1.00)A.算法程序的长度B.算法所处理的数据量C.执行算法所需要的工作单元D.执行算法所需要的存储空间 解析:解析 算法的空间复杂度是指执行这个算法所需要的存储空间,包括:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。3.设有栈 S 和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为_。(分数:1

    26、.00)A.DEFXYZABCB.FEDZYXCBA C.FEDXYZCBAD.DEFZYXABC解析:解析 栈是所有的插入与删除都在同一端进行的线性表。队列是只允许在一端进行插入,而在另一端进行删除的线性表。将 A,B,C,D,E,F 入栈后,栈中元素为 ABCDEF,退出三个元素入队,队列元素为 FED,将 X,Y,Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为 FEDZYXCBA,队列的出队顺序与入队顺序一致。4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为_。(分数:1.00)A.EFGDCBAB.DCBEFGAC.BCDGFEA

    27、D.DCBGFEA 解析:解析 二叉树遍历的三种方式:前序遍历,访问根结点在访问左子树和访问右子树之前;中序遍历,访问根结点在访问左子树和访问右子树两者之间;后序遍历,访问根结点在访问左子树和访问右子树之后。二叉树的前序序列为 ABCDEFG,A 为根结点。中序序列为 DCBAEFG,可知 DCB 为左子树结点,EFG 为右子树结点。依此类推,画出该二叉树,二叉树的后序序列为 DCBGFEA。5.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用、维护到停止使用、退役的过程 B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护解析:解析 软件生命周期是指软件

    28、产品从提出、实现、使用、维护到停止使用、退役的过程。6.通常软件测试实施的步骤是_。(分数:1.00)A.集成测试、单元测试、确认测试B.单元测试、集成测试、确认测试 C.确认测试、集成测试、单元测试D.单元测试、确认测试、集成测试解析:解析 软件测试的实施过程主要有 4 个步骤:单元测试、集成测试、确认测试(验收测试)和系统测试。7.下面不属于对象的主要特征的是_。(分数:1.00)A.惟一性B.多态性C.可复用性 D.封装性解析:解析 对象的基本特点主要有:标识惟一性,一个对象通常可由对象名、属性和操作三部分组成;分类性,指将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同

    29、对象的行为,不同对象执行同一操作产生不同的结果;封装性,从外面看只能看到对象的外部特性,对象的内部对外是不可见的;模块独立性,由于完成对象功能所需的元素都被封装在对象内部,所以模块独立性好。8.数据库设计中,描述数据间内在语义联系得到 ER 图的过程属于_。(分数:1.00)A.逻辑设计阶段B.需求分析阶段C.概念设计阶段 D.物理设计阶段解析:解析 数据库设计主要有需求分析、概念设计、逻辑设计和物理设计四个阶段。概念设计阶段使用 E-R 模型,将现实世界的信息结构统一由实体、属性以及实体之间的联系来描述。9.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是_。(分数

    30、:1.00)A.概念数据模型 B.逻辑数据模型C.物理数据模型D.关系数据模型解析:解析 数据模型按照不同的应用层次分为:概念数据模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画;逻辑数据模型,是面向数据库系统的模型,着重于数据库系统级的实现;物理数据模型,是面向计算机物理实现的模型,给出了数据模型在计算机上物理结构的表示。10.有三个关系 R、S 和 T 如下: (分数:1.00)A并 B.投影C交D.选择解析:解析 常用的关系运算有交、除、连接及自然连接等。其中,并运算 RS 是将 S 中的记录追加到R 后面,与题目中结果相符。11.结构化程序由顺序、选择、循环三种基本结构组成,

    31、以下相关叙述错误的是_。(分数:1.00)A.三种基本结构不可以嵌套使用 B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移C.选择结构是根据不同的条件执行不同分支中的语句D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句解析:解析 结构化程序主要由 3 种基本控制结构组成,顺序结构是最基本的算法结构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有对某一步骤的多次使用,B 项正确;选择结构根据不同的条件去执行不同分支中的语句,C 项正确;循环结构就是根据各自的条件,使同一组语句重复执行多次,D 项

    32、正确。三种结构可以嵌套使用,A 项错误。12.在 C 语言中,以下选项中不能正确表示 101000 之值的是_。(分数:1.00)A.1.0E4.0 B.1.E4C.10E3D.1.0e4解析:解析 实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。指数形式中阶码必须是整型常量,A 项中 4.0 是浮点数,不能正确表示 101000 的值。13.以下选项中,合法的 C 语言常量是_。(分数:1.00)A.21.84 B.“CPP“C.“/1.0D.2MB解析:解析 21.84 是浮

    33、点型常量,A 项正确;字符常量是单引号括起来的一个字符,字符串常量是双引号括起来的字符序列,BC 两项错误;C 语言常量不能直接用未加引号的字母、数字组合,D 项错误。14.有以下程序: #includestdio.h main() int x=010, y=10; printf(“%d,%d/n“,+x,y-); 程序运行后的输出结果是_。(分数:1.00)A.10,9B.11,10C.010,9D.9,10 解析:解析 整型常量有 3 种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整型常量以 0 作为前缀。x=(010) 8 =(8) 10 ,y=10,+x 先

    34、自加后取值,输出 9,y-先取值输出10,再自减 y=9。15.若有定义:int a; float b; double c;,程序运行时输入:a=1,b=2,c=3回车,能把值 1 输入给变量 a、值 2 输入给变量 b、值 3 输入给变量 c 的输入语句是_。(分数:1.00)A.scanf(“a=%d,b=%f,c=%lf“, B.scanf(“%d%f%lf“,C.scanf(“a=% d,b=% lf,c=%lf“,D.scanf(“a=%d,b=% f,c=%f“,解析:解析 格式字符 d,输入十进制整数;格式字符 f,输入浮点数;格式字符 lf,输入双精度浮点数。除了格式说明字符和

    35、附加格式字符外,如果还有其他字符,则在输入数据时要求按照这些字符在一一对应的位置原样输入。程序运行时输入:a=1,b=2,c=3,则 scanf 函数格式控制串应该是“a=%d,b=%f,c=%lf”。16.有如下程序: #includestdio.h main() int a=0, b=1; if(a+ else printf(“F“); printf(“a=%d,b=%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.Ta=1,b=2B.Fa=0,b=2C.Fa=1,b=1 D.Ta=0,b=1解析:解析 程序中判断 if 条件是否成立,a+先取值为 0,则(a+ wh

    36、ile(ch“E“) pfintf(“%d“,ch-“A“); ch+; printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.123 B.ABCC.abcD.012解析:解析 while 循环条件满足 ch“E“,输出 ch-“A“,即将字符的 ASCII 码相减输出,%d 表示输出十进制整数。循环开始 ch=“B“,printf(“%d“,ch-“A“)=1,继续执行循环直到 ch=“E“,输出 123。19.以下能够实现计算 5!的程序段是_。(分数:1.00)A.int fac=1,k=0;dok+;fac*=k;while(k5); B.int fac=0,k=

    37、1;dofac*=k;k+;while(k5);C.int fac=1,k=1;dok+;fac*=k;while(k=5);D.int fac=1,k=0;dofac*=k;k+;while(k5);解析:解析 dowhile 循环语句一般形式为:do循环体while(表达式),执行过程为:首先执行循环体,之后判断表达式,表达式成立(非 0)则再一次执行循环体,不成立(0)则退出循环。A 项,k=1,fac=1*1,判断 k5,条件成立进行下一次循环,直到 k=5,fac=1*2*3*4*5,k5 不成立退出循环,实现计算 5!。B 项,fac 从 0 开始,做乘法一直都是 0,无法实现 5

    38、!。C 项,k=2,fac=1*2,循环条件成立,直到 k=6,fac=1*2*3*4*5*6 才因循环条件不成立退出循环,实现 6!。D 项:k=0,fac=1*0=0,之后做乘法一直为 0,无法实现 5!。20.有以下程序: #includestdio.h main() int x=0x13; if(x=0x12)printf(“True“); printf(“False/n“); 程序运行后的输出结果是_。(分数:1.00)A.TrueB.TrueFalse C.FalseD.TrueFalseTrue解析:解析 if(x=0x12)条件语句为赋值语句,注意赋值操作符“=”与相等操作符“

    39、=”的区别,条件成立,输出 True;退出条件语句,输出 False。21.有以下程序段:char c1,c2,c3;scanf(“%c%c%c“, 程序运行后的输出结果是_。(分数:1.00)A.0 B.变量无定义,输出不确定C.-1D.1解析:解析 C 语言中,NULL 作为整型时,值为 0。23.以下关于函数的叙述中正确的是_。(分数:1.00)A.函数调用必须传递实参B.函数必须要有形参C.函数必须要有返回值D.函数形参的类型与返回值的类型无关 解析:解析 函数如果没有形参也就不必传递实参,A 项错误;函数可以没有形参,B 项错误;函数可以没有返回值,C 项错误;函数形参的类型与返回值

    40、的类型无关,D 项正确。24.有以下程序: #includestdio.h void fun(int a,int n) int i; for(i=0;in;i+) if(i%3=0) ai-=n; else ai+=n; main() int c5=6,7,8,9,10,i; fun(c,5); for(i=0;i5;i+)printf(“%d,“,ci); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1,12,13,4,15, B.10,9,8,7,6,C.1,7,13,9,15,D.10,12,8,4,6,解析:解析 fun()函数功能是:将数组 c 中下标

    41、对 3 求余为 0 的元素减去 5,下标对 3 求余不为 0 的元素累加 5,所以执行完 fun()函数后,数组 c 中元素值为 1,12,13,4,15。25.以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。 #includestdio.h main() int a10,i=0; while(i10)scanf(“%d“,_); (分数:1.00)A.a+(i+) B. return s; main() int i=3,j=5,*p= r=f(p,q); printf(“%d,%d,%d,%d,%d/n“,i,j,*p,*q,*r); 程序的运行结果是_。(分数:1.

    42、00)A.5,5,5,5,5 B.3,5,5,5,5C.5,3,3,3,5D.3,5,3,5,5解析:解析 程序执行过程为:p 指向 i,q 指向 j,调用函数 f,将 i 与 j 地址传递给 s 与 t,判断 i 是否小于 j,成立将 j=5 赋值给 i,i=5,返回指向 i 的指针并赋给 r,则 r 指向 i,最后输出5,5,5,5,5。27.有如下程序: #includestdio.h #includestring.h main() printf(“%d/n“,strlen(“0/t/nA011/1“); 程序运行后的输出结果是_。(分数:1.00)A.8 B.9C.7D.10解析:解析

    43、 strlen 是求字符串长度的函数,不包含字符串结束标志“/0“,“0/t/nA011/1”是一个长度为 8 的字符串,其中/t、/n、/1 均为转义字符,长度是 1,因此输出结果是 8。28.若有定义:char*ps=“aa“,“bb“,“cc“,“dd“;,则以下叙述正确的是_。(分数:1.00)A.*ps0是字符“a“ B.*ps0是字符串“aa“C.ps0是字符“a“D.ps 是字符串“aa“解析:解析 定义指针数组 ps,ps0代表数组首个元素的地址,即”aa”的地址,同时也是”aa”第一个字符 a 的地址,所以*ps0代表字符 a。29.以下涉及字符串数组、字符指针的程序段,不会

    44、产生编译错误的是_。(分数:1.00)A.char*str,name10;str=“Hello World“; B.char*str,name10;name=“Hello World“;C.char str110=“prog.c“,str210;str2=str1;D.char head_line;head_line=“= = = = = = =“;解析:解析 将字符指针变量初始化可以通过赋值运算使一个字符指针指向一个字符串常量:char*str;str=“Hello World“,A 项正确;数组名是一个地址常量,而字符指针变量是一个变量,不能给一个数组名赋值,如 name=“Hello w

    45、orld“错误,B 项错误;字符型的指针变量的值是可以改变的,相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 项错误;数组不可以直接赋值字符串,只有在数组初始化时可以直接赋值,如 char head_line=“= = = = = = =“合法,D 项错误。30.有如下程序: #includestdio.h void get_put() char ch; ch=getchar(); if(ch!=“/n“)get_put(); putchar(ch); main() get_put(); 程序运行时,输入 ABCD回车,则输出结果是_。(分数:1.00)A.DCDCB.DCBA C.BABAD.ABCD解析:解析 主函数调用 get-put 函数,字符变量 ch 每次保存读进来的字符,如果不是换行符,则继续读取下一个字符常量,当 ch 保存完“D“后,下一次读取不满足 if 条件,函数依次输出“D“,“C“,“B“,“A“。31.若有以下程序段: char str412=“aaa“,“bbbb“,“ccccc“,“dddddd“,*strp4; int i; for(i=0;i4;i+)strpi=stri; 则以下错误引用字符串的选项是(其中 0k4)_。(分数:1.00)A.*strpB.strkC.


    注意事项

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




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

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

    收起
    展开