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

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

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

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

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

    1、二级 C语言笔试-315 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.不合法的 main函数命令行参数表示形式是(分数:1.00)A.main(int a,char*c)B.main(int arc,char*arv)C.main(int argc,char *argv)D.main(int argv,char *argc)2.有如下程序段int *p,a=10,b=1;p=n;j+)if(aiaj)t=ai;ai=aj;aj=t; main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(n;j+)if(ai

    2、aj)t=ai;ai=aj;aj=t; main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i10;i+)printf(“%d,“,aai);printf(“/n“);程序运行后的输出结果是(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10, D.1,2,10,9,8,7,6,5,4,3,解析:解析 C 语言中,实参变量和形参变量之间的数据传递是单向的“值传递”方式。指针变量作函数参也要遵循这一规则,调用函数不可能改变实参指针

    3、变量的值,但可以改变实参指针变量所指变量的值。47.算法的空间复杂度是指(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间 解析:解析 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。48.若变量已正确定义,以下 while循环不断输出读入的字符,当读入回车换行符时结束循环。正确的程序段是(分数:1.00)A.while(ch=getchar()=/N)putchar(ch);B.while(ch=getchar()=/

    4、N)putchar(ch);C.whle(ch=getchar()!=/N)putchaf(ch);D.while(ch=getchar()!=/N)putchar(ch); 解析:解析 换行符是一个转义字符,应该是/n,而不是/N。选项 B)中,因为关系运算符“= =”的优先级高于赋值运算符“=”,所以 ch得到的值是关系运算 getchar()=/n的结果而不是从键盘输入的字符,因而不正确,故正确答案为选项 D)。49.下列程序的运行结果为#includestdio.hvold abc(char*str)int a,b;for(a=b=0;stra! =/0;a+)if(stra!=c)s

    5、trb+=stra;strb=/0;void main()char str=“abcdef“;abc(str);printf(“str=%s“,str);(分数:1.00)A.str=abdef B.str=abcdefC.str=aD.str=ab解析:解析 本题考查了用字符指针引用字符数组中的字符及对字符的操作。函数 abc()的 for语句执行过程是:丛字符指针 str所指向的字符数组的第一个元素开始,逐一判断字符是否为c,若不是就执行一次数组元素的赋值过程,若字符为c就不执行,所以答案为 A)。50.以下描述中正确的是(分数:1.00)A.由于 do-while循环中循环体语句只能是一

    6、条可执行语句,所以循环体内不能使用复合语句B.do-while循环由 do开始,用 while结束,在 while(表达式)后面不能写分号C.在 do-while循环体中,是先执行一次循环,再进行判断 D.do-while循环中,根据情况可以省略 while解析:解析 do-while 语句的一般形式为:do 循环体语句 while(表达式);,其中循环体语句可以是复合型语句,但必须用花括号括起来。while 后必须要有分号作为语句的结束,在 do-while循环中,不可以省略 while。二、填空题(总题数:18,分数:40.00)51.数据的逻辑结构有线性结构和 【1】 两大类。(分数:2

    7、.00)填空项 1:_ (正确答案:非线性结构)解析:解析 数据的逻辑结构有线性结构和非线性结构两大类。52.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_ (正确答案:相邻)解析:解析 常用的存储表示方法有 4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。53.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。(分数:2.00)填空项 1:_ (正确答案:可重用性)解析:解析 本题考查了继承的优点:相似的对象可以共享程序代码和数据结

    8、构,从而大大减少了程序中的冗余,提高软件的可重用性。54.软件工程研究的内容主要包括: 【4】 技术和软件工程管理。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学;开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管理学、软件工程经济学,以及软件心理学等内容。55.关系操作的特点是 【5】 操作。(分数:2.00)填空项 1:_ (正确答案:集合)解析:解析 在关系操作中,所有操作对象与操作结果都是关系。而关系定义为元

    9、数相同的元组的集合。因此,关系操作的特点是集合操作。56.以下程序的输出结果是 【6】 。main()int i=010,j=10;printf(“%d,%d/n“,i,j);(分数:2.00)填空项 1:_ (正确答案:8,10)解析:解析 以 0开头的是八进制数,输出时将其转换成十进制数。57.若从键盘输入 58,则以下程序输出的结果是 【7】 。main()int a;scanf(“%d“,&a);if(a50)printf(“%d“,a);if(a40)printf(“%d“,a);if(a30)printf(“%d“,a);(分数:2.00)填空项 1:_ (正确答案:585858)

    10、解析:解析 本题考查对 if语句的掌握,当输入 58以后,程序中的 3个 if语句都成立,所以分别输出58。58.现有如下定义:struct aaint a;float b;char c;*p;现需用 malloc函数动态的申请一个 struct aa类型大小的空间(由 p指向),则定义的语句为: 【8】 。(分数:2.00)填空项 1:_ (正确答案:p=(struct aa *)malloc(sizeof(struct aa);)解析:解析 ANSI C 标准规定 malloc函数的返回值类型为 void*,函数的调用形式为:malloc(size)要求 size的类型为 unsigned

    11、 int。由于返回类型为 void*,所以在调用函数时,必须利用强制转换将其转换为所需要的类型。59.下列程序的输出结果是 16.00,请填空。main()int a=9,b=2;float x= 【9】 ,y=1,1,z;z=a/2+b*x/y+1/2;printf(“%5.2f/n“,z);(分数:2.00)填空项 1:_ (正确答案:6.6)解析:解析 本题最后一条语句,表示以浮点格式输出 z的值,宽度为 5,其中包含 2位小数,应该注意的是,两个整型运算结果仍为整型,如 1/2的结果为 0,对本题可逐步求解:16.00=9/2+2*x/1.1+1/216.00=4+2*x/1.1+01

    12、2.00=2*x/1.1所以,x 的值为 6.6。60.下面程序的功能是:计算 110 之间的奇数之和与偶数之和,请填空。#includestdio.hmain()int a,b,c,i;ac0;for(i0;i10;i+2)a+=i;【10】 ;c+=b; printf(“偶数之和=%d/n“,a);printf(“奇数之和=%d/n“,c-11);(分数:2.00)填空项 1:_ (正确答案:b=i+1)解析:解析 本题考查了 for循环语句的执行过程。i+ =2 是修正表达式,执行一次循环体后 i的值就增加 2,i 的初始值为 0,每次加 2之后和累加至 a,所以 a的值就是 110 之

    13、间的偶数之后;b 的值是111 之间的奇数和,但在输出 b值时 c去掉多加的 11,即为 110 之间的奇数之和。61.下面程序的运行结果是 【11】 。#includestdio.h#define SIZE 12main()char sSIZE;int i;for(i=0;iSIZE;i+) si=A+i+321;sub(s,7,SIZE-1);for(i=0;iSIZE;i+) printf(“%c“,si);printf(“/n“);sub(char*a,int tl,int t2)char ch;while(t1t2)ch=*(a+t1);*(a+t1)=*(a+t2);*(a+t2)=ch;


    注意事项

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




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

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

    收起
    展开