ImageVerifierCode 换一换
格式:DOC , 页数:23 ,大小:87.50KB ,
资源ID:1326026      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326026.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言笔试-217及答案解析.doc)为本站会员(吴艺期)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

1、二级 C语言笔试-217 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.若有说明语句 char c=/72;,则变量 c(分数:2.00)A.包含 1个字符B.包含 2个字符C.包含 3个字符D.说明不合法,c 的值不确定2.下列程序执行后的输出结果是void rune(int *a,int b)b0=*a+6;main( )int a,b5;a=0;b0=3;fune( (分数:2.00)A.0B.22C.12D.109.一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为(分数:2.00)A.219B.2

2、21C.229D.23110.若变量已正确定义并赋值,以下符合 C语言语法的表达式是(分数:2.00)A.a:=b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b11.下列叙述中正确的是(分数:1.00)A.程序的执行效率与数据的存储结构密切相关B.程序的执行效率只取决于程序的控制结构C.程序的执行效率只取决于所处理的数据量D.以上 3种说法都不对12.fseek函数的正确调用形式是(分数:1.00)A.fseek(文件指针,起始点,位移量)B.fseek(文件指针,位移量,起始点)C.fseek(位移量,起始点,文件指针)D.fseek(起始点,位移量,文件指针)13.以

3、下程序运行后的输出结果是main( )int n=9:while(n6)n-;printf(“%d“,n);(分数:1.00)A.987B.876C.8765D.987614.以下程序运行后的输出结果是#define F(X,Y)(X) * (Y)main( )int a=3,b=4;printf(“%d/n“,F(a+,b+);(分数:1.00)A.12B.15C.16D.2015.fseanf函数的正确调用形式是(分数:1.00)A.fseanf(fp,格式字符串,输出表列);B.fseanf(格式字符串,输出表列,fp);C.fscanf(格式字符串,文件指针,输出表列);D.fscan

4、f(文件指针,格式字符串,输入表列);16.已知:i nf t=0:while(t=1) 则下列叙述中正确的是(分数:1.00)A.循环控制表达式的值为 0B.循环控制表达式的值为 1C.循环控制表达式不合法D.以上说法都不对17.以下程序运行后的输出结果是main( )int x=1,a=0,b=0;switch(x)case 0:b+:case 1:a+:case 2:a+;b+;printf(“a=%d,b=%d/n“,a,b);(分数:1.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=218.若有语句 int *point,a=4;和 point= (分数

5、:2.00)填空项 1:_52.下列程序的功能是:求出 ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,指定字符 1,则输出 3。请填空。#includeconio.h#includestdio.h#define M 81int fun(char *ss,char c)int i=0;for(;_;ss+)if( *ss=c)i+:return i;main( )char aM,ch;printf(“/nPlease enter a string:“);gets(a);printf(“/nPlease enter a char:“);ch=getchar( )

6、;prinff(“/nThe number of the char is:%d/n“,fun(a,ch);(分数:2.00)填空项 1:_53.下面程序的功能是:把从终端读入的文本(用作为文本结束标志)输出到一个名为 bi.dat的新文件中。请填空。#include “stdio.h“FILE *fp;main( )char eh;if(fp=fopen(_)=NULL) exit(0);while(eh=getchar( )!=)fpute(ch,fp);felose(fp);(分数:2.00)填空项 1:_二级 C语言笔试-217 答案解析(总分:100.00,做题时间:90 分钟)一、选

7、择题(总题数:40,分数:70.00)1.若有说明语句 char c=/72;,则变量 c(分数:2.00)A.包含 1个字符 B.包含 2个字符C.包含 3个字符D.说明不合法,c 的值不确定解析:解析 C 语言中允许用一种特殊的字符常量,即以“/”开头的字符序列,称为转义字符。其中“/ddd“表示用八进制数表示一个字符的 ASCII码值,本题中/72表示一个转义字符,因此变量 c包含一个字符。2.下列程序执行后的输出结果是void rune(int *a,int b)b0=*a+6;main( )int a,b5;a=0;b0=3;fune( (分数:2.00)A.0 B.22C.12D.

8、10解析:解析 条件运算符“?”是三目运算符,其形式为:(表达式 1)?(表达式 2):(表达式 3)。当“表达式 1”的值为真时,则“表达式 2”的值为整个表达式的值;如果“表达式 1”的值为假,则“表达式3”的值为整个表达式的值。题中,表达式 x12 的结果为假,所以将表达式 x-12的值 0作为 y的值。9.一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为(分数:2.00)A.219 B.221C.229D.231解析:解析 在任意一棵二叉树中,若终端结点(叶子结点)的个数为 n1,则度为 2的结点数 n2=n1-1。本题中度为 0的结点即叶子结点,故总

9、结点数=度为 0的结点数+度为 1的结点数+度为 2的结点数=70+80+69=219。10.若变量已正确定义并赋值,以下符合 C语言语法的表达式是(分数:2.00)A.a:=b+1B.a=b=c+2 C.int 18.5%3D.a=a+7=c+b解析:解析 选项 A中包含一个不合法的运算符“:=”;对于选项 C,应改为(int)18.5%3;对于选项D,可理解为两个表达式:a+7=c+b 和 a=a+7,因为 C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等,所以 a+7=c+h是错的。因此,正确答案是选项 B,它相当于 a=(b=c+2),可分解为两个表达式:b=c+2 和 a=

10、b。11.下列叙述中正确的是(分数:1.00)A.程序的执行效率与数据的存储结构密切相关 B.程序的执行效率只取决于程序的控制结构C.程序的执行效率只取决于所处理的数据量D.以上 3种说法都不对解析:解析 程序的执行效率与数据的存储结构、程序所处理的数据量、程序所采用的算法等因素有关。12.fseek函数的正确调用形式是(分数:1.00)A.fseek(文件指针,起始点,位移量)B.fseek(文件指针,位移量,起始点) C.fseek(位移量,起始点,文件指针)D.fseek(起始点,位移量,文件指针)解析:解析 本题考查函数 fseek的用法。fseek 函数的调用形式为:fseek(文件

11、指针,位移量,起始点)“起始点”用 0、1 或 2代替;0 代表“文件开始”,1 为“当前位置”,2 为“文件末尾”。“位移量”指以“起始点”为基点,向前移动的字节数。ANSI C 和大多数 C版本都要求位移量是 long型数据。这样,当文件长度大于 64KB时不致出现问题。ANSI C 标准规定在数字末尾加一个字母 L表示 long型。13.以下程序运行后的输出结果是main( )int n=9:while(n6)n-;printf(“%d“,n);(分数:1.00)A.987B.876 C.8765D.9876解析:解析 该程序应根据循环体第一次和最后一次的输出结果来决定哪一项是正确的。第

12、一次进入循环时,n 的值是 9,在循环体内,经过 n-运算后,n 的值变为 8,所以第一次的输出值是 8,由此排除了选项 A、D。由循环条件 n6 可知,最后一次循环开始时,n 值为 7,所以最后一次执行循环体输出的 n值为 6,由此排除了选项 C。14.以下程序运行后的输出结果是#define F(X,Y)(X) * (Y)main( )int a=3,b=4;printf(“%d/n“,F(a+,b+);(分数:1.00)A.12 B.15C.16D.20解析:解析 本题考查带参数的宏定义,参数只是简单的字符替换,而不是参数的传递。本题中用 a+替换 X,用 b+替换 Y,再计算(a+)*

13、(b+)的值,即 3*4的值,其结果为 12。15.fseanf函数的正确调用形式是(分数:1.00)A.fseanf(fp,格式字符串,输出表列);B.fseanf(格式字符串,输出表列,fp);C.fscanf(格式字符串,文件指针,输出表列);D.fscanf(文件指针,格式字符串,输入表列); 解析:解析 fscanf 的格式为:(文件指针,格式字符串,输入表列)。16.已知:i nf t=0:while(t=1) 则下列叙述中正确的是(分数:1.00)A.循环控制表达式的值为 0B.循环控制表达式的值为 1 C.循环控制表达式不合法D.以上说法都不对解析:解析 这里要注意“=”与“=

14、”的用法。t=1 是将 1赋值给 t,所以循环控制表达式的值始终为1。17.以下程序运行后的输出结果是main( )int x=1,a=0,b=0;switch(x)case 0:b+:case 1:a+:case 2:a+;b+;printf(“a=%d,b=%d/n“,a,b);(分数:1.00)A.a=2,b=1 B.a=1,b=1C.a=1,b=0D.a=2,b=2解析:解析 当 x=1时,在 switch语句中,程序从 case 1入口,执行 a+,这里没有 break语句,所以程序顺序执行 case 2后面的语句。程序共执行了 3条语句:a+;a+;b+;,所以变量 a和 b最后的

15、值分别为 2和 1。18.若有语句 int *point,a=4;和 point= (分数:2.00)填空项 1:_ (正确答案:7)解析:解析 程序中的 if(i%7=0|i%11=0)语句是找出能被 7或 11整除的所有整数,aj+=i 是将满足条件的数放到 a数组中,变量 j记录了满足条件的数据个数,main()函数通过变量 n得到。如果 m的值为 50,即表达式 fun(10,aa,&n);为 fun(50,aa,&n);时,输入结果为:7 11 14 21 22 28 33 35 42 44 4952.下列程序的功能是:求出 ss所指字符串中指定字符的个数,并返回此值。例如,若输入字

16、符串123412132,指定字符 1,则输出 3。请填空。#includeconio.h#includestdio.h#define M 81int fun(char *ss,char c)int i=0;for(;_;ss+)if( *ss=c)i+:return i;main( )char aM,ch;printf(“/nPlease enter a string:“);gets(a);printf(“/nPlease enter a char:“);ch=getchar( );prinff(“/nThe number of the char is:%d/n“,fun(a,ch);(分数:

17、2.00)填空项 1:_ (正确答案:*ss!=/0)解析:解析 从字符串 ss中找出某字符的方法是:从字符串 ss的第一个字符开始,依次进行比较;若ss串的当前字符等于字符 c,则 i+;若 ss串的当前字符和字符 c不同,则继续对 ss串的下一个字符进行比较。本程序采用循环逐一比较的方式,找出某字符在字符串中出现的次数。If 语句的作用是判断某字符与字符串中的当前字符是否相同。53.下面程序的功能是:把从终端读入的文本(用作为文本结束标志)输出到一个名为 bi.dat的新文件中。请填空。#include “stdio.h“FILE *fp;main( )char eh;if(fp=fopen(_)=NULL) exit(0);while(eh=getchar( )!=)fpute(ch,fp);felose(fp);(分数:2.00)填空项 1:_ (正确答案:“bi.dat“,“w“ 或“bi.dat“,“w+/)解析:解析 根据 fopen函数的调用方式 fopen(文件名,使用文件方式);和题意可得结果。

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