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

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

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

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

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

    1、二级 C 语言-17 及答案解析(总分:71.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:46.00)1.有以下程序:main()char s=“Yes/n/No“,*ps=s;puts(ps+4);*(ps+4)=0;puts(s);程序运行后的输出结果是(选项 D 中的第一行是空行) ( )。 A. n/No Yes /No B. /No Yes C. /No Yes /No D. /No Yes (分数:1.00)A.B.C.D.2.以下叙述中正确的是_。 A. 用 C 语言实现的算法必须要有输入和输出操作 B. 用 C 语言实现的算法可以没有输出,但必须要有输入

    2、C. 用 C 程序实现的算法可以没有输入,但必须要有输出 D. 用 C 程序实现的算法可以既没有输入,也没有输出(分数:1.00)A.B.C.D.3.以下叙述中错误的是 A. C 语言是一种结构化程序设计语言 B. 结构化程序由顺序、分支、循环三种基本结构组成 C. 使用三种基本结构构成的程序只能解决简单问题 D. 结构化程序设计提倡模块化的设计方法(分数:1.00)A.B.C.D.4.下列选项可以正确表示字符型常量的是 A. /r B. “a“ C. “/897“ D. 296(分数:1.00)A.B.C.D.5.以下程序运行后的输出结果是_。int d=1:fun(int p)static

    3、 int d=5;d+=p;printf(“%d“,d);return d;main()int a=3;printf(“%d/n“,fun(a+fun(d); A. 699 B. 669 C. 61515 D. 6615(分数:2.00)A.B.C.D.6.有以下程序#includestdiohmain() int a=2,b=2,c=2;printf(“%d/n“,a/bprintf(“%d/n“,* (p+3); A. 67 B. 0 C. 字符C的地址 D. 字符C(分数:2.00)A.B.C.D.8.若有定义 int x, y;,并已正确给变量赋值,则以下选项中与表达式(x-y)?(x

    4、+):(y+)中的条件表达式(x-y)等价的是_。 A. (x-y0) B. (x-y0) C. (x-y0|x-y0) D. (x-y=0)(分数:1.00)A.B.C.D.9.#define 能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5 的值的函数 f,正确的宏定义语句为U/U。 A. #definef(x)5*x*x+5*x+5 B. #definef5*x*x+5*x+5 C. #definef(a)(5*a*a+5*a+5) D. #define(5*x*x+5*x+5)f(x)(分数:2.00)A.B.C.D.10.下列判断正确的是U /U。 A. chara=“A

    5、BCD“;等价于 char*a;*a=“ABCD“; B. char str10=“ABCD“;等价于 char str10;str=“ABCD“; C. char*s=“ABCD“;等价于 char s;*s=“ABCD“; D. charc5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“;(分数:1.00)A.B.C.D.11.当用户要求输入的字符串中含有空格时,应使用的输入函数是U /U。 A. scanf() B. getchar() C. gets() D. getc()(分数:2.00)A.B.C.D.12.以下各选项企图说明一种新的类型名,其中正确

    6、的是 _。 A. typedef vl int; B. typedef v2=int C. typedef int v3; D. typedef v4:int (分数:1.00)A.B.C.D.13.C 语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是_。 A. 由实参传给形参,再由形参传回给实参 B. 地址传递 C. 单向值传递 D. 由用户指定传递方式(分数:1.00)A.B.C.D.14.有以下程序:main()int a=2,4,6,8,10),y=0,x,*P;P=a1;for(x=1;x3;x+)y+=px;printf(“%d/n“,y);程序运行后的输出结果是_。

    7、A. 10 B. 11 C. 14 D. 15(分数:2.00)A.B.C.D.15.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成U /U A. 属性 B. 关系 C. 键 D. 域(分数:2.00)A.B.C.D.16.已知字母 A 的 ASCII 代码值为 65,若变量 kk 为 char 型,以下不能正确判断出比中的值为大写字母的表达式是 A. kk=A i4; i+, i+)for(k=1; k3; k+); printf(“*“); A. * B. * C. * D. *(分数:1.00)A.B.C.D.19.有以下程序段:char ch; int k; ch=a;

    8、k=12; printf(“%c, %d, “, ch, ch); printf(“k=%d/n“, k); 已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是( )。 A. 因变量类型与格式描述符的类型不匹配,输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a, 97, 12k=12 D. a, 97, k=12(分数:1.00)A.B.C.D.20.有以下程序:main()int e=2,4,6,8,10,y=0,x,*p;p=a1;for(x=1;x3;x+)y+=px;printf(“%d/n“,y);程序运行后的输出结果是_。 A. 10

    9、 B. 11 C. 14 D. 15(分数:2.00)A.B.C.D.21.有以下程序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“);程序运行后的输出结果是_。 A. 75310246 B. 01234567 C.

    10、76310462 D. 13570246(分数:1.00)A.B.C.D.22.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是U /U。 A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA(分数:1.00)A.B.C.D.23.有以下程序typedef structint b,p;A;void f(A c) /*注意:c 是结构变量名 */ int j;c.b+=1; c.p+=2;main() int i;A a=1,2;f(a);printf(“%d,%d/n“,a.b

    11、,a.p);程序运行后的输出结果是_。 A. 2,3 B. 2,4 C. 1,4 D. 1,2(分数:2.00)A.B.C.D.24.fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。 A. 只读 B. 追加 C. 读或读写 D. 以上均正确(分数:2.00)A.B.C.D.25.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B.C.D.26.结构化分析方法是面向U /U的自顶向下逐步求精进行需求分析的方法。 A. 对象 B. 数据结构 C. 数据流 D. 目标(分数:2.00)A.B.C.D.27.下列关于 C 语言数据文件的叙述中正确的是

    12、A. 文件由 ASCII 码字符序列组成,C 语言只能读写文本文件 B. 文件由二进制数据序列组成,C 语言只能读写二进制文件 C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(分数:1.00)A.B.C.D.28.以下叙述中正确的是U /U。 A. 调用 pfintf 函数时,必须要有输出项 B. 使用 putchar 函数时,必须在之前包含头文件 stdio.h C. 在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出 D. 调用 getchar 函数读入字符时,可以从键盘上输入字符所对

    13、应的 ASCII 码(分数:1.00)A.B.C.D.29.以下叙述中错误的是 U /U A. 在 C 程序中,APH 和 aph 是两个不同的变量 B. C 程序中的变量,代表内存中的一个存储单元,它的值可以根据需要随时修改 C. 在 C 程序中,无论是整数还是实数,都能准确无误地表示 D. 在 C 程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示(分数:1.00)A.B.C.D.30.有如下程序段:#includestdio.h#define Max(a,B) ab?a:bmain()int a=5,b=6,c=4,d;d=c+Max(a,B) ;printf(“%d“,D)

    14、;其输出结果为_。 A. 10 B. 5 C. 6 D. 编译错误 (分数:1.00)A.B.C.D.31.若有以下定义和语句,且 0I10,则对数组元素的错误引用是 ( )int a 1,2,3,4,5,6,7,8,9,0;int*p,Ipa; A.* (aI) B.ap-a C.pI D.* (aI) (分数:1.00)A.B.C.D.32.下列叙述中正确的是U /U。 A. C 程序由函数组成 B. C 程序由主函数构成 C. C 程序由函数和过程构成 D. 在 C 程序中无论是整数还是实数,都可以正确无误的表示出来(分数:1.00)A.B.C.D.33.字符串“/“ABCDEF“/“的

    15、长度是U /U。 A. 15 B. 10 C. 7 D. 8(分数:1.00)A.B.C.D.34.C 语言中 U /U A. 不能使用 do-while 语句构成的循环 B. do-while 语句构成的循环必须用 break 语句才能退出 C. do-while 语句构成的循环,当 while 语句中的表达式值为非零时结束循环 D. do-while 语句构成的循环,当 while 语句中的表达式值为零时结束循环(分数:1.00)A.B.C.D.35.fseek 函数的正确调用形式是 A. fseek(文件指针,起始点,位移量) B. fseek(文件指针,位移量,起始点) C. fsee

    16、k(位移量,起始点,文件指针) D. fseek(起始点,位移量,文件指针)(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:25.50)36.将经过确认测试的软件与外设、网络等连接在一次运行的测试叫U U /U/U(分数:1.00)填空项 1:_37.有以下程序 #include stdio.h main() char a20= “How are you? “,b20; scanf(“%s“,b);printf(“%s%s/n“,a,b); 程序运行时从键盘输入:How are you?回车 则输出结果为_。(分数:2.00)填空项 1:_38.以下程序的输出结果是_。

    17、 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1); main() int a=1,2,3,4,5,6,7; printf(“%d/n“,fun(a,3);(分数:2.00)填空项 1:_39.算法执行过程中,所需要的基本运算次数称为算法的 1。(分数:1.00)填空项 1:_40.将经过确认测试的软件与外设、网络等连接在一次运行的测试叫 1.(分数:1.00)填空项 1:_41.当线性表采用顺序存储结构实现存储时,其主要特点是 1。(分数:1.00)填空项 1:_42.设二叉树如下: (分数:4.00)填

    18、空项 1:_43.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:1.50)填空项 1:_44.以下程序运行后的输出结果是_。 main() int x=0210;printf(“%x/n“,x); (分数:2.00)填空项 1:_45.以下程序的作用是:从名为 fileadat 的文本文件中逐个读入字符并显示在屏幕上。请填空。 #include stdio.h main() FILE *fp; char ch; fp=fopen(_); ch=fSetc(fp); while(!feof(fp) putc

    19、har(ch); ch=fSetc(fp); putchar(/n); fclose(fp); (分数:2.00)填空项 1:_46.设 y 是 int 型,请写出 y 为奇数的关系表达式 1。(分数:2.00)填空项 1:_47.设有如下定义 #define MYSWAP(z,x,y) z=x; x=y; y=z; float a=5,b=16,c; MYSWAP(_,a,b);(分数:3.00)填空项 1:_48.以下程序中,函数 fun 的功能是计算 x2-2x6,主函数中将调用 fun 函数计算:y1=(x8) 2-2(x8)6y2=sin2(x)-2sin(x)6请填空。#inclu

    20、de “math.h“double fun(double x) return (x*x-2*x6);main() double x,y1,y2;printf(“Enter x:“); scanf(“%1f“,y1=fim(U /U);y2=run(U /U);printf(“y1=%1f,y2=%1f/n“,y1,y2);(分数:1.00)填空项 1:_49.在对文件进行操作的过程中,若要使文件位置的指针回到文件的开头,应使用的函数是U U /U /U。(分数:1.00)填空项 1:_50.算法的执行过程中,所需要的存储空间称为算法的U U /U /U。(分数:1.00)填空项 1:_二级 C

    21、 语言-17 答案解析(总分:71.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:46.00)1.有以下程序:main()char s=“Yes/n/No“,*ps=s;puts(ps+4);*(ps+4)=0;puts(s);程序运行后的输出结果是(选项 D 中的第一行是空行) ( )。 A. n/No Yes /No B. /No Yes C. /No Yes /No D. /No Yes (分数:1.00)A.B. C.D.解析:解析 主函数中定义了一个字符数组 s 并赋初值,一个字符串指针变量 ps 并让它指向 s。程序中p+4 的地址为数组第 5 个元素的地址,而

    22、调用 put(str adr)函数时,将从 str adr 这一地址开始,依次输出存储单元中的字符,遇到第一个“/0”时结束输出,并自动输出一个换行符 ad。r 所以 put(p+4)将输出 n/No,put(s)将从 s 第一个元素开始输出到第 3 个元素结束(因为执行*(p+4)=0 语句后 s 中的第 5 个元素的值为 0,而 s 中的第 4 个元素为“/”,puts 将遇到“/0”,结束输出),即输出 yes。所以,4 个选项中选项 B 符合题意。2.以下叙述中正确的是_。 A. 用 C 语言实现的算法必须要有输入和输出操作 B. 用 C 语言实现的算法可以没有输出,但必须要有输入 C

    23、. 用 C 程序实现的算法可以没有输入,但必须要有输出 D. 用 C 程序实现的算法可以既没有输入,也没有输出(分数:1.00)A.B.C. D.解析:解析 本题考查的是 c 语言中算法的特性。一个算法具有 5 个特性:有穷性、确定性、可行性、有零个或多个输入以及一个或多个输出。所以,选项 C 正确。3.以下叙述中错误的是 A. C 语言是一种结构化程序设计语言 B. 结构化程序由顺序、分支、循环三种基本结构组成 C. 使用三种基本结构构成的程序只能解决简单问题 D. 结构化程序设计提倡模块化的设计方法(分数:1.00)A.B.C. D.解析:解析 结构化程序设计是指在程序的构成上只使用顺序、

    24、选择(即分支)和循环 3 种结构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计提倡模块化的设计方法。4.下列选项可以正确表示字符型常量的是 A. /r B. “a“ C. “/897“ D. 296(分数:1.00)A. B.C.D.解析:解析 C 语言中,一个字符常量代表 ASCII 字符集中的一个字符,在程序中用单引号括起来作为字符常量,字符常量的的范围是 0127。由于字符常量用单引号括起来,所以选项 B),C)错误,选项 D)超

    25、过了字符常量的表示范围。5.以下程序运行后的输出结果是_。int d=1:fun(int p)static int d=5;d+=p;printf(“%d“,d);return d;main()int a=3;printf(“%d/n“,fun(a+fun(d); A. 699 B. 669 C. 61515 D. 6615(分数:2.00)A.B.C. D.解析:解析 静态局部变量在编译时赋初值,即只赋初值一次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用一次函数重新给一次初值,相当于

    26、执行一次赋值语句。 本题在程序开头定义了全局变量 d 并赋初值 1,在被调函数 fun()中,定义了静态局部变量 d,初值为 5。在第一次调用函数fun 时,d 初值为 5,P 由主函数传递过来的值为 1,则 d=d+p=5+1=6,由于 d 是静态局部变量,在函数调用结束后,它仍保留 d=6。再次调用 fun 函数,d 的初值为 6,而由主函数传递的 p 的值为 9,则此时d=d+p=6+9=15,最后打印输出 d 的值并返回主函数。6.有以下程序#includestdiohmain() int a=2,b=2,c=2;printf(“%d/n“,a/bprintf(“%d/n“,* (p+

    27、3); A. 67 B. 0 C. 字符C的地址 D. 字符C(分数:2.00)A.B. C.D.解析:解析 先定义了一个指向字符型数组 str 的指针 p,指针 P 指向数组 str 的首地址,p+3 将指针指向 str3,又因为字符型数组在存放字符串时会自动在末尾加上/0,所以*(p+3)=0。8.若有定义 int x, y;,并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是_。 A. (x-y0) B. (x-y0) C. (x-y0|x-y0) D. (x-y=0)(分数:1.00)A.B.C. D.解析:解析 条件运算表达式:“表

    28、达式 1?表达式 2:表达式 3”,但表达式 1 的值为非 0 时,此时表达式 2 的值就是整个条件表达式的值,反之为表达式 3 的值。故其等价于选项 C 中的逻辑或表达式。9.#define 能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5 的值的函数 f,正确的宏定义语句为U/U。 A. #definef(x)5*x*x+5*x+5 B. #definef5*x*x+5*x+5 C. #definef(a)(5*a*a+5*a+5) D. #define(5*x*x+5*x+5)f(x)(分数:2.00)A.B.C. D.解析:解析 带参数宏的格式为:#define 标识符(形

    29、参表)形参表达式。其功能:预处理程序将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。10.下列判断正确的是U /U。 A. chara=“ABCD“;等价于 char*a;*a=“ABCD“; B. char str10=“ABCD“;等价于 char str10;str=“ABCD“; C. char*s=“ABCD“;等价于 char s;*s=“ABCD“; D. charc5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“;(分数:1.00)A.B.C.D. 解析:解析 a=“ABCD“书写错误,因为“;”左边不能出现常量;数组名 s 是代表 s

    30、 数组首地址的地址常量,而不是变量;字符串只有在定义时维数可以省略。11.当用户要求输入的字符串中含有空格时,应使用的输入函数是U /U。 A. scanf() B. getchar() C. gets() D. getc()(分数:2.00)A.B.C. D.解析:解析 本题考查的知识点是:输入函数。C 语言提供了许多输入函数,其中有:qecchar(输入字符)、scanf(格式输入)和 gecs(输入字符串)等。题目要求输入的是字符串,所以可以排除 getchar,而且要求输入的字符串中包含空格,而 scanf 函数默认将输入的空格字符作为分隔符,所以空格不会被输入,故可排除 scanf。

    31、getc 的作用是从文件中输入一个字符,故也不可取。aecs 函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择 C)。12.以下各选项企图说明一种新的类型名,其中正确的是 _。 A. typedef vl int; B. typedef v2=int C. typedef int v3; D. typedef v4:int (分数:1.00)A.B.C. D.解析:解析 C 语言中可以使用 typedef 来重新定义已有的数据类型,相当于为数据类型取个别名。13.C 语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是_。 A. 由实参传给形参,再由形参传回给实参 B.

    32、 地址传递 C. 单向值传递 D. 由用户指定传递方式(分数:1.00)A.B.C. D.解析:解析 简单变量做实参时,相应的形参变量也是简单变量,它们之间的数据传递方式是单向值传递,即数据只能由实参传到形参,形参值的改变不影响实参值的变化。14.有以下程序:main()int a=2,4,6,8,10),y=0,x,*P;P=a1;for(x=1;x3;x+)y+=px;printf(“%d/n“,y);程序运行后的输出结果是_。 A. 10 B. 11 C. 14 D. 15(分数:2.00)A.B.C. D.解析:解析 指针变量 p 指向数组元素 a1,则 p1即为 a2,p2即为 a3

    33、,执行第一次 for 循环时,y=y+p1=0+a2=6,第二次执行 for 循环,y=y+p2=6+a3=14,此时 x 为 3,for 循环条件不满足,退出循环,输出 y 的值为 14。15.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成U /U A. 属性 B. 关系 C. 键 D. 域(分数:2.00)A.B. C.D.解析:解析 将 E-R 图转换成指定 RDBMS 中的关系模式是数据库逻辑设计的主要工作。从 E-R 图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。16.已知字母 A 的 ASCII 代码值为 65,若变量 kk 为 char 型,以下不能正

    34、确判断出比中的值为大写字母的表达式是 A. kk=A i4; i+, i+)for(k=1; k3; k+); printf(“*“); A. * B. * C. * D. *(分数:1.00)A.B.C.D. 解析:解析 由于二重 for 循环的循环体是空语句,因此,printf 函数不属于循环体,printf(“*“)语句只执行一次。19.有以下程序段:char ch; int k; ch=a; k=12; printf(“%c, %d, “, ch, ch); printf(“k=%d/n“, k); 已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是( )。 A.

    35、 因变量类型与格式描述符的类型不匹配,输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a, 97, 12k=12 D. a, 97, k=12(分数:1.00)A.B.C.D. 解析:解析 考查 printf 函数的相关知识。输出格式控制符%e 表示将变量以字符的形式输出;输出格式控制符%d 表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为 a, 97; 第二个输出语句输出的结果为 k=12。所以选项 D)为正确答案。20.有以下程序:main()int e=2,4,6,8,10,y=0,x,*p;p=a1;for(x=1;x3;x+)y+=px;p

    36、rintf(“%d/n“,y);程序运行后的输出结果是_。 A. 10 B. 11 C. 14 D. 15(分数:2.00)A.B.C. D.解析:解析 指针变量 p 指向数组元素 a1,则 p1即为 a2,p2即为 a3,执行第一次 for 循环时,y=y+p1=0+a2=6,第二次执行 for 循环,y=y+p2=6+a3=14,此时 x 为 3,for 循环条件不满足,退出循环,输出 y 的值为 14。21.有以下程序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;

    37、 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“);程序运行后的输出结果是_。 A. 75310246 B. 01234567 C. 76310462 D. 13570246(分数:1.00)A. B.C.D.解析:解析 在程序中,第一个 for 循环内部实现的是对数组中前四个元素进行降序排序,第二个 for循环内部实现的是对数组后四个元素进行升序排序,因此数组 x 中的最后结果应该是前四

    38、个降序,后四个升序。最终结果为7,5,3,1,0,2,4,6。22.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是U /U。 A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA(分数:1.00)A.B. C.D.解析:解析 本题考查栈的特性,栈是按照“后进先出”的原则组织数据的。所以出栈顺序是EDCBA54321。23.有以下程序typedef structint b,p;A;void f(A c) /*注意:c 是结构变量名 */ int j;c.b+=1; c.p+=2

    39、;main() int i;A a=1,2;f(a);printf(“%d,%d/n“,a.b,a.p);程序运行后的输出结果是_。 A. 2,3 B. 2,4 C. 1,4 D. 1,2(分数:2.00)A.B.C.D. 解析:24.fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是_。 A. 只读 B. 追加 C. 读或读写 D. 以上均正确(分数:2.00)A.B.C.D. 解析:解析 fgetc 函数是指从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为:ch=fgetc(fp);。25.有下列二叉树,对此二叉树前序遍历的结果为U

    40、 /U。(分数:2.00)A.B.C.D. 解析:解析 对二叉树的前序遍历是指先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。26.结构化分析方法是面向U /U的自顶向下逐步求精进行需求分析的方法。 A. 对象 B. 数据结构 C. 数据流 D. 目标(分数:2.00)A.B.C. D.解析:解析 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。27.下列关于 C 语言数据文件的叙述中正确的是 A. 文件由 ASCII 码字符序列组成,C

    41、语言只能读写文本文件 B. 文件由二进制数据序列组成,C 语言只能读写二进制文件 C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(分数:1.00)A.B.C.D. 解析:解析 C 语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCII 文件和二进制文件。ASCII 文件又称文本文件,它的每一个字节放一个 ASCII 代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。28.以下叙述中正确的是U /U。

    42、 A. 调用 pfintf 函数时,必须要有输出项 B. 使用 putchar 函数时,必须在之前包含头文件 stdio.h C. 在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出 D. 调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码(分数:1.00)A.B. C.D.解析:解析 在使用标准输入输出库函数前,必须要用预编译命令“#include”将头文件 “stdio.h“包括到用户源文件中。29.以下叙述中错误的是 U /U A. 在 C 程序中,APH 和 aph 是两个不同的变量 B. C 程序中的变量,代表内存中的一个存储单元,它的值可

    43、以根据需要随时修改 C. 在 C 程序中,无论是整数还是实数,都能准确无误地表示 D. 在 C 程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示(分数:1.00)A.B.C. D.解析:30.有如下程序段:#includestdio.h#define Max(a,B) ab?a:bmain()int a=5,b=6,c=4,d;d=c+Max(a,B) ;printf(“%d“,D) ;其输出结果为_。 A. 10 B. 5 C. 6 D. 编译错误 (分数:1.00)A.B. C.D.解析:解析 在 C 语言中,宏定义是直接替换的,所以在 c+ab?a:b 这个条件表达式中,c+

    44、ab 为真,所以用 a 的值作为整个表达式的值,而 a 的值为 5,所以整个表达式的值为 5。31.若有以下定义和语句,且 0I10,则对数组元素的错误引用是 ( )int a 1,2,3,4,5,6,7,8,9,0;int*p,Ipa; A.* (aI) B.ap-a C.pI D.* (aI) (分数:1.00)A.B.C. D.解析:32.下列叙述中正确的是U /U。 A. C 程序由函数组成 B. C 程序由主函数构成 C. C 程序由函数和过程构成 D. 在 C 程序中无论是整数还是实数,都可以正确无误的表示出来(分数:1.00)A. B.C.D.解析:解析 本题涉及 C 语言最基本的两个知识点:C 程序是由函数构成的,有且仅有一个主函数,也可以有其他的函数;整数在允许的范围内可以准确无误的表示出来,但计算机的存储能力有限,不能表示无限精度的实数。33.字符串“/“ABCDEF“/“的长度是U /U。 A. 15 B. 10 C.


    注意事项

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




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

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

    收起
    展开