2018年3月份的2018年计算机考试时间2级考试 C语言使用的编程软件是什么?

2018年3月计算机一二级新版题库上线通知!
计算机二级备考题库软件现已完成更新,更新后版本为2018年3月版,针对2018年3月份全国计算机等级考试,全国通用。
常见问题答疑
1、为什么本平台提供的题库这么受关注?
答:在计算机一级二级历年备考过程中,刷题备考已经被公认为最简单、最有效、最低成本的备考方式。因此,选购一款命中率高的题库成为备考成败的关键,毕竟市场上的题库形形色色,质量也参次不齐,一旦买错题库,最终结果可能是花了时间精力金钱却未能如愿通过考试!而本平台提供的题库获得了多届考生的高度认可!很多考生购买题库都是经过师兄师姐推荐过来的,靠谱!
2、这个题库其他考区的考生也可以使用吗?
答:NCRE是国考,题目是一致的,因此题库全国通用,不分考区!
3、题库支持离线刷题吗?
答:本题库有两种激活模式
离线模式:激活后,不需要网络即可答题,仅限固定电脑使用(在哪台电脑上激活就在哪台电脑上使用,不支持更换电脑使用)
联网模式:激活后,每次使用必须保持电脑处于联网状态,可更换电脑使用(只要电脑上有安装题库软件即可登录使用)
4、题库有有效期吗?
答:题库有效期150天(从激活之日算起),现在距离2018年3月份考试还有100天左右,所以完全是够用的。
5、每次考试结束,题库都要进行更新吗?
答:是的,更新题库目的是为了把新题加进去,把已经不考的旧题删掉,确保题库的精准度!
6、每个科目都有题库吗?
答:一级Office、二级Office、ACCESS、C语言、C++、JAVA、VB、VF都是有题库的,其他科目没有,购买哪个科目的就发对应的题库。
7、听说题库有点难安装,对吗?
答:难安装的是考试环境,题库安装是很容易的。比如考二级Office的考生,首先得安装Office2010,这个安装起来比较难,有些人的电脑安装不进去,只能重装电脑系统。题库软件除了苹果系统以外的正常电脑系统都是可以安装的,如果出现了问题,可通过客服QQ群解决。
8、二级Office 2018年3月版的新题库有什么变化?
答:二级Office新版题库在原题库23套题的基础之上,加入2017年9月份考试新出的3套新题,因此本次二级Office新题库一共26套题。
9、以前购买的2017年9月版的题库还能用吗?能否免费升级到2018年3月版?
答:题库只要在有效期(150天)内都是可以使用的,也可以免费更新升级至2018年3月版,更新后不影响题库有效期。
更新方法:卸载电脑内原有题库软件,下载安装新版(2018年3月版)软件,利用之前的激活账号进行激活即可。
二、新题库亮点有哪些?
亮点一:二级Office加入3套新题共26套题!
亮点二:二级Office新题库继续自带高清视频讲解,由名师录音,把整个答题过程和知识解释都录下来了,你再也不用担心Word、Excel、PPT中的难题看完视频讲解之后依然不懂了!
亮点三:凡购买一二级题库者都会赠送考试环境安装包(如Office2010)和手机题库,手机题库只支持微信刷选择题,方便你随时随地刷!
手机题库怎么使用?
微信公众平台内回复“手机题库”,进入链接,选择对应科目,输入已激活过电脑版题库的激活卡号及密码,点击激活,即可使用。
注意:由于手机无法安装各科考试所需环境软件,故只可用于选择题的练习
各科上机考试环境及使用的软件
NCRE 二级上机考试环境为 Windows 7 简体中文版。各科目使用的软件如下:
二级C语言程序设计
Visual C++2010 学习版
二级 C++ 语言程序设计
Visual C++2010 学习版
二级 Visual Basic语言程序设计
Visual Basic 6.0 简体中文专业版
二级 Java语言程序设计
NetBeans 中国教育考试版 2007
二级 Access数据库程序设计
MS Access 2010
二级Visual Foxpro数据库程序设计
Visual Foxpro 6.0 简体中文专业版
二级MySQL数据库程序设计
MySQL( Community 5.5.16 )
二级 MS Office 高级应用
MS Office 2010
二级 Web程序设计
NetBeans 中国教育考试版,IE6.0 及以上
考试软件获取方式
Visual C++2010 学习版
微信回复“vc++2010”
Visual Basic 6.0 简体中文专业版
微信回复“vb6.0”
Visual Foxpro 6.0 简体中文专业版
微信回复“vf6.0”
MS Access 2010
微信回复“office2010”
MS Office 2010
微信回复“office2010”
NetBeans 中国教育考试版
微信回复“NB”
备考题库软件获取方式
MS office高级应用
微信回复“office”
Access数据库程序设计
微信回复”access“
C语言程序设计
微信回复“C语言”
C++语言程序设计
微信回复“C++”
JAVA语言程序设计
微信回复“Java"
Visual Basic语言程序设计
微信回复“VB”
Visual FoxPro数据库程序设计
微信回复“VF”
计算机基础及MS Office应用
微信回复“一级office”
学习培训】【题库安装】【技巧分享
报考咨询】【成绩查询】【领证咨询
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点每次折腾 , 目的是得到更好的结果.
题目要求:给定一个数字范围,输出满足这些条件:1.能被3整除;2.包含数字5,将满足的数字放在特定的数组里输出、输出这些数里5出现的个数、数字的个数。想起来有点伤心,本来很简单的题,考试的时候程序写错一行,结果成了死循环,最后还没找出来错,下来以后才想起来。以后必须长点心。代码:#include&stdio.h&int flag(int x0,int x1,int b[],int *p);int main(){int i,intnumber,//数字的个数、5的个数int b[301];//b存放满足的数字FILE *fp=fopen("myfile.out","w");intnumber=flag(200,300,b,&fivenumber);for(i=0;i&i++){printf("%d ",b[i]);//具体的输出要求忘了,大致是这样fprintf(fp,"%d ",b[i]);}printf("5的个数:%d\n",fivenumber);fprintf(fp,"%d\n",fivenumber);fprintf(fp,"考号");fclose(fp);return 0;}int flag(int x0,int x1,int b[],int *p){
int intnumber,wei,flg,i,j,
intnumber=*p=flg=0;
for(i=x0;i&=x1;i++){
if(i%3==0){
wei=temp%10;
temp=temp/10;//当时写成了i/10,所以成了死循环
for(j=0;wei&0;j++){
if(wei==5){
wei=temp%10;
temp=temp/10;//同上面一样
if(flg==1) {//这段代码不要写错层,要写在遍历数字的这层
b[intnumber]=i;
intnumber++;
}return }&
阅读(...) 评论()2018年3月国家计算机二级C语言模拟试题及答案_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
2018年3月国家计算机二级C语言模拟试题及答案
&&李专家在这多年的经验,此试题在2018年3月份考试中命中率达到99%
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩106页未读,
定制HR最喜欢的简历
你可能喜欢计算机二级C语言考试是用什么编程软件呢?
如果你觉得microsoft visual C++6.0大了的话,你也可以用turbo C 对于考2级的C语言,功能是一样的,而且一般只有3Mb,很小的!
其他答案(共1个回答)
你买套“虎奔教育”的书吧,含模拟软件,能好好学习学习。
比较原始的:在DOS下可运行的软件:
DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节...
不知道你是哪个学校的
不过我 建议你去山东农大软件下载中心下载
上面全是免费的
而且没有病毒
当然不一样 不过大同小异 要考的知识点还是一样的
我建议你使用C++Builder,这是我认为最好的C语言环境!
最流行的是VS和delphi!
答: 讲的通俗点就是对所有的人来讲是加密的,不可任意访问的,但对于授权者和拥有者来讲是没有任何限制的。
答: 数据类型、输入输出、选择语句、循环语句、数组、指针、函数、文件
答: 学点编程吧,我也在学.
餐饮业厨房产生的油烟,顾名思义,废气中主要污染物为油烟,一般采用静电除油。
液化气属较清洁能源,废气污染程度不高,主要含二氧化碳一氧化碳吧。
柴油属石油类,废气含二氧化硫和氮氧化物,二氧化硫碱液喷淋即可去除,氮氧化物主要以一氧化氮为主,要催化氧化成二氧化氮才能被碱吸收,造价成本非常高,一般的柴油发电机尾气难以治理,除非大型发电厂。
煤炭废气含二氧化硫多,一般常用的脱硫工艺即可。
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
有可能搓纸轮需要清洗一下了,如果清洗了还是不行的话,那估计需要更换搓纸组件了
1、问:房地产开发企业拆迁补偿费是否也随土地价格一起交纳契税(以房易房部分的)?
答:是的,因为取得土地的成交价格包括:地出让金、土地补偿费、安置补助费、地上附着物和青苗补偿费、拆迁补偿费、市政建设配套费等承受者应支付的货币、实物、无形资产及其它经济利益,而契税中未对房地产企业有相关的减免政策
2、问:如果交,是就补给拆迁户交差价部分交税还是就全部回迁房价格交税?在什么环节,时间交纳?
答:所谓使用回迁房作为拆迁补偿的形式,就是开发商以原地或异地的房屋抵顶拆迁补偿费的一种方法,相当于延期或分期支付拆迁补偿款,而契税条例中规定是:“纳税义务发生时间在纳税人签订土地、房屋权属移交合同的当天,或者纳税人取得其他具有土地、房屋权属转移合同性质凭证的当天。纳税人应在自纳税义务起10日内,向土地、房屋所在地的税收征收机关办理纳税申报,并在税务征收机关核定的期限内缴纳税款。 ”所以需要在取得土地的时候就要缴纳契税,需要全额计税,不能以补偿款计税。
3、问:土地使用税在什么环节交?如何交?税法说确有困难的可以减或缓,各地有具体政策吗?
答:如果原土地属于耕地的,自取得土地后满一年开始征收,如果属于非耕地的,自取得土地之下月征收。
以前的土地使用税一般都予以减免,特殊情况例外,虽然国家税务总局《关于土地使用税若干具体问题的补充规定》,对于基建项目在建期间使用的土地可以免税,但很多地方的税务机关都认为这不适用房地产企业,因为现在国家是控制房地产过热,不属于鼓励范围。
4、问:回迁部分房屋的营业税在什么环节交?
答:在交付回迁房屋或被拆迁户全部支付差价的时候缴纳,如果不需要支付差价的,以成本价格作为计税依据,如果有差价的,不需要支付部分按成本价格计税,差价部分按实际计税。
准爸爸可以和胎宝宝进行有趣的游戏胎教训l练,这种通过动作刺激来达到胎教目的的方式是值得采用的。为了提高趣味性,准父母可以从简单的抚摸与拍打提升为有内容的游戏,比如藏猫猫游戏:让准爸爸轻轻拍打胎宝宝,然后对胎宝宝说: “爸爸要藏起来了,小宝宝找找看。”然后把脸贴在另一边的腹壁上,让宝宝寻找。
如果胎宝宝正好踢到爸爸的脸颊,一定要对宝宝给予表扬,如果宝宝没有找到,也要耐心轻抚宝宝,鼓励他继续。相信通过这样的游戏,胎宝宝肯定会对爸爸妈妈记忆深刻的。
这种游戏胎教训l练,不但增进了胎儿活动的积极性,而且有利于胎儿智力的发育。
核桃仁、花生仁、糯米各50克,鲜山药100克,白糖适量。
①将核桃仁、花生仁洗净;山药去皮洗净,切成小块;糯米淘洗干净,用清水浸泡2小时。
②先把核桃仁、花生仁、糯米放入锅内,倒入适量清水,用大火煮沸后,改用文火煮至八成熟时,再放入山药块继续煮成粥,加入白糖即可。
健脾开胃,益肾润肺,养血通乳。适用于产后乳汁不足、贫血。
24周的胎儿现在身长大约25厘米多,体重500多克。宝宝这时候在妈妈的子宫中占据了相当大的空间,开始充满了整个空间。宝宝在此时身体的比例开始匀称。这时候的宝宝皮肤薄而且有很多的小皱纹,浑身覆盖了细小的绒毛。
24周时候的孕妇身体越来越沉重,而且您会发现自己脸上和腹部的妊娠斑更加明显并且增大。有时孕妇还会感觉眼睛发干,畏光,这些都是正常的现象,不必担心。
在这个阶段,胎儿可能会发生早产。在医生的惊心照顾下,早产儿还是可以存活的。但我们还是要尽量从饮食和运动上避免这种情况的发生,毕竟早产儿的先天条件不如足月儿。
妊娠的3-6个月是脑细胞迅速增殖的第一阶段,称为“脑迅速增长期”。主要是脑细胞体积增大和神经纤维增长,使脑的重量不断增加。第二阶段是妊娠7-9个月,其间支持细胞和神经系统细胞的增殖,及树突分支的增加,使已经建立起来的脑神经细胞,发展成神经细胞与细胞之间的突触接合,以传导脑神经细胞的兴奋冲动。对于人的智力来讲,脑神经细胞树突的增加远比细胞数目的增加要重要的多。
第1—4周安胎指导
【做】及早验孕、戒除不良恶习:若妳正准备怀孕,发现每个月周期应该按时报到的MC晚了几天,建议务必及早验孕,确定自己是否已经受孕。在确定怀孕后,请做好心理准备,把孕前不良的生活习惯尽量戒除,孕育健康宝宝。
戒烟:抽烟影响胎儿发育众所皆知,国泰综合医院妇产科主治医师赖宗炫提醒,孕期中若接触过量的尼古丁及一氧化碳,除了会让胎儿的体重过轻外,可能也会造成胎儿生长迟滞,甚至羊水过少,导致早产情形发生。因此,在准备怀孕前,最好应先戒烟,对胎儿的影响较少。
戒酒:至于酒精的影响也大,怀孕中若单纯接触料理用酒,虽不至于出现大碍,但在国外的报告中指出,若每天都饮用少量的酒品,酒精会通过胎盘,直接影响胎儿,赖宗炫医师强调,特别是当母亲有酗酒行为时,更容易造成胎儿神经症候群,导致小脑症的产生,不得不慎。
戒咖啡因:咖啡因对怀孕的影响,由医学报告中显示,只要适度饮用,并无大碍。但由于咖啡因具成瘾性,又会刺激中枢神经系统,多吃实在无益,赖宗炫医师提醒,咖啡因会影响母体的分泌,如果喝得过量,会造成妈妈身上的腺体出现分泌物,特别是在腋下、胯下等处,较担心造成感染。
【不做】最爱做的事要小心做:怀孕期间,由于子宫颈处于充血状态,再加上身体许多部位更加敏感,使得夫妻房事更容易达到高潮,也更刺激、新鲜。不过,怀孕初期大部分的孕妈妈容易出现害喜与倦怠现象,胚胎又不稳定,妈妈在担心流产之虞,通常也对“性”兴趣缺缺。
注重卫生习惯减少感染:赖宗炫医师指出,怀孕期间必须减少性生活的目的,是担心因撞击子宫颈导致出血现象,或者是过于激烈使胚胎受到震动诱发子宫收缩引发流产,都会造成相当的危险。此外,也怕因卫生习惯不佳,令孕妈妈受到细菌感染,并上行感染到子宫及绒毛腔,也会诱发子宫收缩出现早产,因此,孕期间的性行为,须格外小心。怀孕中期由于身体状况日渐恢复,这个阶段对性的需求也会渐增,他建议只要不过于激烈,且采取较安全的性姿势为佳。
第5—8周安胎指导
【做】多补充叶酸、让胎儿聪明成长:怀孕初期,胎儿需要的营养并不多,来自于母体本身储存的养分就已经足够应付初期胚胎的营养,赖宗炫医师说,这阶段比较需要补充的维生素是叶酸及铁剂、B群等,供应胎儿神经系统的发展。若缺乏叶酸,会造成孕妈妈贫血,也有研究指出,怀孕时服用叶酸,就能降低胎儿发生神经管缺损的机率,每天补充叶酸确实是正确的选择。赖宗炫医师指出,在许多深绿色蔬菜中都含有叶酸,例如芦笋、香蕉、花菜、蛋黄、全谷食物、菠菜、草莓、鲔鱼、优格等,只要多加摄取且饮食均衡,就能获得足够的量。
孕妇维他命也能提早吃:很多老一辈妇产科医师会提醒妈咪,若要服用孕妇维他命时,最好等到5个月后再吃,但赖宗炫医师表示,并没有任何报告显示,怀孕初期不能服用孕妇维他命,会有这样的说法,可能是在怀孕初期,因大部分孕妇都会出现孕吐现象,此时要妈妈再吞药物,担心吃进后仍会呕吐出来,因此才建议可以等到较稳定后再吃。他认为,没有出现孕吐的准妈妈,若想补充多种维生素,可以先吃半颗,等到怀孕中期,再增量服用。
注意尽量不接触有害物质:环境中的某些污染源,会对胎儿发育造成伤害,最安全的做法,是尽量避免长期接触生活周遭的化学物质,例如重金属铅与汞(受污染的鱼类、汽油、油漆、染料)、食物添加剂(防腐剂、漂白剂、色素)等,尤其蜜饯最常添加化学物质,孕妈妈又好以蜜饯当做预防孕吐的小零嘴,须特别小心。
【不做】最爱做的事要小心做:怀孕期间,由于子宫颈处于充血状态,再加上身体许多部位更加敏感,使得夫妻房事更容易达到高潮,也更刺激、新鲜。不过,怀孕初期大部分的孕妈妈容易出现害喜与倦怠现象,胚胎又不稳定,妈妈在担心流产之虞,通常也对“性”兴趣缺缺。
注重卫生习惯减少感染:赖宗炫医师指出,怀孕期间必须减少性生活的目的,是担心因撞击子宫颈导致出血现象,或者是过于激烈使胚胎受到震动诱发子宫收缩引发流产,都会造成相当的危险。此外,也怕因卫生习惯不佳,令孕妈妈受到细菌感染,并上行感染到子宫及绒毛腔,也会诱发子宫收缩出现早产,因此,孕期间的性行为,须格外小心。怀孕中期由于身体状况日渐恢复,这个阶段对性的需求也会渐增,他建议只要不过于激烈,且采取较安全的性姿势为佳。
第9—12周安胎指导
【做】怀孕禁忌、不迷信也不抗衡:在传统习俗禁忌中,充斥许多对于孕妇有某些约束力的古老说法,妳可能常常听到长辈提醒“不要动剪刀”、“不要晒衣服”、“不要搬动床位”等等各式各样的禁忌,这些提醒到底有无根据,该不该遵守?的确令准妈妈伤透脑筋
注意何时该告诉别人我怀孕了:什么时候该将这个好消息告诉周遭亲朋好友或公司同事?老一辈认为,怀孕未满3个月最好不要说,否则不易保胎,这虽只是迷信,但其实也有科学根据:因为怀孕前3个月,原本就是容易流产的阶段,如果在不稳定期公开,若因故流产,除了需面对自己的伤心之外,还得要向亲友再次解释,对母亲来说,等于二度伤害,最好等到怀孕状况一切稳定后,再告诉别人,比较轻松自在。
【不做】与宠物接触保持距离:如果妳是爱狗或爱猫人士,应该要特别注意与宠物之间的距离,狗对孕妈妈的健康较无伤害,但猫就会是个大问题!最好保持距离,留意孕期饲养规则,减少可能发生的危机。养猫的妳,最须注意因接触病猫排泄物所罹患的弓浆虫病,这种病原虫容易通过胎盘,直接侵犯到胎儿,怀孕的准妈妈则通常没有任何症状出现。最好的预防方式,就是养成良好卫生习惯,更须避免接触猫的排泄物,在逗弄宠物过后,也要记得洗净双手。
孕妇使用的防辐射服大都是隔离电磁波,对于电离辐射的X射线、伽马射线没效。防辐射服材质大都为金属丝,由于金属丝经过反复折叠、揉搓,容易失去效果,所以时间一久也难以保证质量。
孕妇在怀孕期间接触X光射线、伽马射线等电离辐射是有害的,但隔离电离辐射的防护服中必须含有一定量的铅,因此这种服装会非常笨重。现在市场上销售的孕妇防辐射服一般都比较轻,从这个方面来讲,应该不会含有铅,因此对于电离辐射就基本上无法起到防护作用。
此外,对于手机、电脑、微波炉等家用电器发出的电磁辐射,这些孕妇防辐射服可能会起到一点作用,但效果不太大。因为在我们生活中,发光发热的东西都会产生不同程度的辐射,这些辐射也是不可避免的;各人体质不同,辐射对其伤害程度也不同。
防辐射使一些对身体有益的东西也同时被拒绝了,一些自然界的射线照射,如阳光中的红外线,适度的照射对身体有益,可以帮助胎儿健康发育。防辐射服并非多穿就好,准妈妈千万不要成天捂在防辐射服里。如果脱离接触辐射的工作环境后,最好把防辐射装脱掉,以便接触阳光和新鲜的空气。
拍摄费用。一般3-5分钟内的高清宣传片拍摄一天的费用是1-2万元左右,平均到每分钟的费用就是元左右 在各类动画当中,zui有魅力并动用zui广的当属三维动画。二维动 画可以看成三维动画的yi个fen支,它的制作难度及对dian脑性能的要求都远 远低于三维动画。过去制作三维动画需要程序员的维护和操作,如今,计 算机价格在不断降低,性能则在不断的增强,三维动画软件,则是功能愈 来愈强大,操作起来也是愈来愈容易,这使得三维有更广泛的运用。假如 你喜欢访问个人主页,会很容易看到yi些简单的三维动画,制作人也许刚 刚学会用dian脑,
曼海姆高端品牌钢琴配套教学,一对一老师上门授课。教学内容应用目前主流教材,趣味钢琴曲穿插,帮助孩子掌握乐理知识,人格及情绪的培养。通过曼海姆菲伯尔课程体系宝宝会学到什么?节奏节拍灵活、肢体律动协调、辨别乐器灵敏、乐理知识扎实、即兴创作丰富、钢琴试奏熟练度。
通过菲伯尔课程体系训练将帮助您宝宝达成什么?培养宝宝愉快的情绪和活泼开朗的性格,专注力集中,人际关系改善,想象力丰富,思想品格提高,感知能力加强,熟练掌握钢琴乐理知识,并能灵活的弹奏钢琴曲子。
胡家艳律师感觉还可以,对于婚姻法很专业,各种细节考虑的非常周到,蛮好的。
这东西不便宜,起码也要几万起,自身发展和示范带动相结合原则现代农业园区是中国农业产业结构调整的重要形式,肩负着带动周边农村发展和农民致富的使命。现代农业园区一方面要注重自身发展,不断提高园区经济效益,同时园区内产业结构的设置,新品种、新技术的引进,管理经营模式的设计都要具有示范推广价值,要把推动结构调整、促进农民增收放在shou要位置,不断增强带动农民致富的能力。 可持续发展原则 在进行农业园区规划时要合理规划,稳步推进。
这东西不便宜,起码也要几万起,温室种植果树不受季节约束,可以根据市场状况来确定种植植物品种,调节开花坐果时间。温室内常见的种植品种有:香蕉、柠檬、火龙果、菠萝蜜、番石榴、荔枝、杨桃、琵琶、芒果等。 温室果树种植技术要点: 温湿度,温室内温湿度要满足果树生长的基本条件,根据需要水果上市时间来来调节温湿度。 光照,要满足果蔬正常生长光照度,为保证水果的甜度,在坐果期间可以适当采用人工光源进行补光。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415当前位置: >>
国家计算机2级等级考试-C语言上机编程100题库-必备 (1)
1: 第 1 题 m 个人的成绩存放在 score 数组中,请编写函数 fun, 它的功能是:将低于平均分的人作为函数值返回,将低于平均分的 分数放在 below 所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } } 2: 第 2 题 请编写函数 fun,它的功能是:求出 1 到 100 之内能北 7 或者 11 整除,但不能同时北 7 和 11 整除的所有证书,并将他们 放在 a 所指的数组中,通过 n 返回这些数的个数。 答案: void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; } 3: 第 3 题 请编写函数 void fun(int x,int pp[],int *n),它的 功能是:求出能整除 x 且不是偶数的各整数,并按从小到大的顺序 放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。 答案: void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t= for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; } for(i=0;i<j;i++) if(x%t[i]==0) { pp[k]=t[i]; k++;} *n=k; } 4: 第 4 题 请编写一个函数 void fun(char *tt,int pp[]),统计 在 tt 字符中&a&到&z&26 各字母各自出现的次数,并依次放在 pp 所指的数组中。 答案: void fun(char *tt, int pp[]) { for (i=0;i<26;i++) pp[i]=0; while (*tt) { switch (*tt) { case ‘a’: pp[0]++; case ‘b’: pp[1]++; case ‘c’: pp[2]++; case ‘d’: pp[3]++; case ‘e’: pp[4]++; case ‘f’: pp[5]++; case ‘g’: pp[6]++; case ‘h’: pp[7]++; case ‘i’: pp[8]++; case ‘j’: pp[9]++; case ‘k’: pp[10]++; case ‘l’: pp[11]++; case ‘m’: pp[12]++; case ‘n’: pp[12]++; case ‘o’: pp[14]++; case ‘p’: pp[15]++; case ‘q’: pp[16]++; case ‘r’: pp[17]++; case ‘s’: pp[18]++; case ‘t’: pp[19]++; case ‘u’: pp[20]++; case ‘v’: pp[21]++; case ‘w’: pp[22]++; case ‘x’: pp[23]++; case ‘y’: pp[24]++; case ‘z’: pp[25]++; } tt++; } } 5: 第 5 题 请编写一个函数 void fun(int m,int k,int xx[]),该 函数的功能是:将大于整数 m 且紧靠 m 的 k 各素数存入 xx 所指的 数组中。 答案: void fun(int m, int k, int xx[]) { int g=0,I,j,flag=1; for(i=m+1;i<m*m;i++) { for(j=0;j<I;j++) { if(i%j!=0) flag=1; else { flag=0; } } if (flag==1 && j&=i) { if (k&=0) { xx[g++]=i; k--; } } } } 6: 第 6 题 请编写一个函数 void fun(char a[],char[],int n), 其功能是:删除以各字符串中指定下标的字符。其中,a 指向原字 符串,删除后的字符串存放在 b 所指的数组中,n 中存放指定的下 标。 答案: void fun(char a[],char b[], int n) { int I,j=0; for (i=0;i<LEN;i++) if (i!=n) { b[j]=a[i]; j++; } b[j]=‘\0’; }中。 答案: void fun (int *s, int t, int *k) { int I, max=s[0]; for(i=0;i<t;i++) if (s[i]&max) { max=s[i]; *k=I; } } 8: 第 8 题 编写函数 fun,功能是:根据以下攻势计算 s,计算结果 作 为 函 数 值 返 回 ; n 答案: float fun (int n) { float s=1.0, t=1.0; for(i=2;i<=n;i++) { t=t+i; s=s+1/t; } } 9: 第 9 题 编写一个函数 fun,它的功能是:根据以下公式求 p 的 值,结果由函数值带回。M 与 n 为两个正整数,且要求 m&n。 p=m!/n!(m-n)! 答案: float fun(int m, int n) { float p,t=1.0; int I; for (i=1;i<=m;i++) t=t*I; p=t; for(t=1.0,i=1;i<=n;i++) t=t*I; p=p/t; for(t=1.0,i=1;i<=m-n;i++) t=t*I; p=p/t; 通 过 形 参 传 入 。 S=1+1/(1+2)+1/(1+2+3)+??.+1/(1+2+3+4+??+n)7: 第 7 题 请编写一个函数 int fun(int *s,int t,int *k),用来 求除数组的最大元素在数组中的下标并存放在 k 所指的储存单元} 10: 第 10 题 编写函数 fun,它的功能是:利用以下的简单迭代方 法求方程 cos(x)-x=0 的一个实根。 迭代步骤如下:(1)取 x1 初值为 0.0; (2)x0=x1,把 x1 的值赋各 x0; (3)x1=cos(x0),求出一个新的 x1; (4)若 x0-x1 的绝对值小于 0.000001,则执行步骤(5),否则执行步 骤(2); (5)所求 x1 就是方程 cos(x)-x=0 的一个实根,作为函数值返回。 程序将输出 root=0.739085。 答案: float fun() { float x1=0.0,x0; do { x0=x1; x1=cos(x0); } while(fabs(x0-x1)&1e-6); return x1; } 11: 第 11 题 下列程序定义了 n×n 的二维数组,并在主函数中自 动赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组 左下半三角元素中的值全部置成 0。 答案: int fun(int a[][N]) { int I,j; for(i=0;i<N;i++) for(j=0;j<=I;j++) a[i][j]=0; } 12: 第 12 题 下列程序定义了 n×n 的二维数组,并在主函数中赋 值。请编写函数 fun,函数的功能使求出数组周边元素的平均值并 作为函数值返回给主函数中的 s。 答案: double fun(int w[][N]) { int I,j,k=0; double s=0.0; for(j=0;j<N;j++) { s+=w[0][j]; k++; } for(j=0;j<N;j++) { s+=w[N-1][j];k++; } for(i=1;i<=N-2;i++) { s+=w[i][0]; k++; } for(i=1;i<=N-2;i++) { s+=w[i][N-1]; k++; } return s/=k; } 13: 第 13 题 请 编 写 一 个 函 数 void fun(int tt[m][n],int pp[n]),tt 指向一个 m 行 n 列的二维函数组,求出二维函数组每列 中最小元素,并依次放入 pp 所指定一维数组中。二维数组中的数 已在主函数中赋予。 答案: void fun(int tt[M][N], int pp[N]) { int I,j, for(j=0;j<N;j++) { min=tt[0][j]; for(i=0;i<M;i++) { if (tt[i][j]<min) min=tt[i][j]; } pp[j]= } } 14: 第 14 题 请别写函数 fun,函数的功能使求出二维数组周边元 素之和,作为函数值返回。二维数组中的值在主函数中赋予。 答案: int fun(int a[M][N]) { int I,j,s=0; for(j=0;j<N;j++) { s+=a[0][j]; s+=a[M-1][j]; } for(i=1;i<=M-2;i++) { s+=a[i][0]; s+=a[i][N-1]; } } 15: 第 15 题 请编写一个函数 unsigned fun(unsigned w),w 使一 个大于 10 的无符号整数, w 使 n(n≥2)位的整数, 若 则函数求出 w 后 n-1 位的数作为函数值返回。 答案: unsigned fun(unsigned w) { unsigned t,s=0,s1=1,p=0; t=w; while(t&10) { if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; } } 16: 第 16 题 请编写一个函数 float fun(double h),函数的功能 使对变量 h 中的值保留 2 位小树,并对第三位进行四舍五入(规定 h 中的值位正数)。 答案: float fun(float h) { h=h*1000; t=(h+5)/10; s=(float)t/100.0; } 17: 第 17 题 请编写一个函数 fun(char *s),该函数的功能使把 字符串中的内容拟置。 答案: void fun(char *s) { int I,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m];s[m]= i++; m--; } } 18: 第 18 题 编写程序, 实现矩阵(3 行 3 列)的转置(即行列互换)。 答案: void fun(int array[3][3]) { int I,j, for(i=0;i<3;i++) for(j=0;j<I,j++) { temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]= } } 19: 第 19 题 编写函数 fun,该函数的功能是:从字符中删除指定 的字符,同一字母的大、小写按不同字符处理。 答案: void fun(char s[],int c) { int i=0; char *p; p=s; while(*p) { if(*p!=c) { s[i]=*p; i++; } p++; } s[i]=‘\0’; } 20: 第 20 题 编写函数 int fun(int lim,int aa[max]),该函数的 功能是求出小于或等于 lim 的所有素数并放在 aa 数组中,该函数 返回所求的素数的个数。 答案: int fun(int lim, int aa[MAX]) { int k=0,I,j; for(i=i&1;i--) { for(j=2;j<i;j++) if(i%j==0) if(j&=i) { aa[k]=i; k++; } } return k++; } 21: 第 21 题 请编写函数 fun,对长度位 7 个字符的字符串,除首 尾字符外,将其余 5 个字符按 ascii 码降序排列。 答案: void fun(char *s,int num) { int I,j; for(i=1;i<num-2;i++) for(j=i+1;j<num-1;j++) if(s[i]<s[j]) { t=s[i]; s[i]=s[j]; s[j]=t; } } 22: 第 22 题 n 名学生的成绩已在主函数中放入一个带头节点的链 表结构中,h 指向链表的头节点。请编写函数 fun,它的功能是: 找出学生的最高分,由函数值返回。 答案: double fun(STREC *h) { STREC *q=h; max=h-&s; do { if(q-&s&max) max=q-&s; q=q-& } while(q!=0); } 23: 第 23 题 请编写函数 fun,该函数的功能是:判断字符串是否为回文?若是则函数返回 1,主函数中输出 yes,否则返回 0,主函 数中输出 no。回文是指顺读和倒读都是一样的字符串。 答案: int fun(char *str) { int I,n=0;fg=1; char *p= while (*p) { n++; p++; } for(i=0;i<n/2;i++) if (str[i]==str[n-1-i]); else { fg=0; } } 24: 第 24 题 请编写一个函数 fun,它的功能是:将一个字符串转 换为一个整数(不得调用 c 语言提供的将字符串转换为整数的函 数)。 答案: long fun (char *p) { long s=0,t; int i=0,j,n=strlen(p),k,s1; if(p[0]==‘-’) i++; for(j=I;j<=n-1;j++) { t=p[j]-‘0’; s1=10; for(k=j;k<n-1;k++) t*=s1; s+=t; } if(p[0]==‘-’) return Cs; } 25: 第 25 题 请编写一个函数 fun,它的功能是:比较两个字符串 的长度,(不得调用 c 语言提供的求字符串长度的函数),函数返回 较长的字符串。若两个字符串长度相同,则返回第一个字符串。 答案: char *fun(char *s,char *t) { char *p,*t1=t,*s1=s; int n=0;m=0; while (*s1) { n++; s1++; } while(*t1) { m++; t1++; } if(n&=m) p=s; else p=t; } 26: 第 26 题 请编写一个函数 fun,它的功能是:根据以下公式求 x 的值(要求满足精度 0.0005,即某项小于 0.0005 时停止迭代): x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9 +?+1×2×3×?×n/3×5×7×(2n+1) 程序运行后,如果输入精度 0.0005,则程序输出为 3.14?。 答案: double fun(double eps) { float n,t, t=1;pi=0;n=1.0;s=1.0; while((fabs(s))&=eps) { pi+=s; t=n/(2*n+1); s*=t; n++; } pi=pi*2; }for(i=1;i<=m;i++) if (i%7==0 || i%11 ==0) { a[j]=I; j++; } *n=j; } 28: 第 28 题 请编写一个函数 fun,它的功能是:找出一维整型数 组元素中最大的值和它所在的下标, 最大的值和它所在的下标通过 形参传回。数组元素中的值已在主函数中赋予。主函数中 x 是数组 名,n 是 x 中的数据个数,max 存放最大值,index 存放最大值所 在元素的下标。 答案: void fun (int a[],int n, int *max, int *d) { int I; *max=a[0]; *d=0; for(i=0;I<n;i++) if(a[i]&*max) { *max=a[i]; *d=I; } }29: 第 29 题 请编写一个函数 fun,它的功能是:将 ss 所指字符 串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字 母,则不转换)。 答案: void fun(char *ss) { int I,n; n=strlen(ss); for(i=1;i<n;i+=2) if(ss[i]&=‘a’&& ss[i]<=‘z’) ss[i]=ss[i]-32; } 30: 第 30 题 请编写一个函数 fun,它的功能是:求除一个 2×m27: 第 27 题 请编写一个函数 fun,它的功能是: 求除 1 到 m 之内(含 m)能北 7 或 11 整除的所有整数放在数组 a 中,通过 n 返回这些数 的个数。 答案: void fun(int m, int *a, int *n) { int I,j=0; *n=0;整型二维数组中最大元素的值,并将此值返回调用函数。 答案: int fun(int a[][M]) { int I,j, max=a[0][0]; for(i=0;i<2;i++) for(j=0;j<M;j++) if(a[i][j]&max) max=a[i][j]; } 31: 第 31 题 请编写函数 fun,其功能是:将 s 所指字符串中除了 下标为偶数、同时 ascii 值也为偶数的字符外,其余的全都删除; 串中剩余字符所形成的一个新串放在 t 所指的一个数组中。 答案: void fun(char *s,char t[]) { int I,j=0,n; n=strlen(s); for(i=0;I,n;i++) if(i%2==0&&s[i]%2==0) { t[j]=s[i]; j++; } t[j]=‘\0’; }p=t=a; while (*t) t++; t--; while(*t==‘*’) { k++; t--; } t++; if(k&n) { while (*p&&p<t+n) { a[i]=*p; i++; p++; } a[i]=‘\0’; } } 34: 第 34 题 学生的记录由学号和成绩组成,n 名学生的数据已在32: 第 32 题 请编写函数 fun,其功能是:将 s 所指字符串中除了 下标为奇数、同时 ascii 值也为奇数的字符之外,其余的所有字符 都删除,串中剩余字符所形成的一个新串放在 t 所指的一个数组 中。 答案: void fun(char *s,char t[]) { int I,j=0,n; n=strlen(s); for(i=0;I,n;i++) if(i%2!=0&&s[i]%2!=0) { t[j]=s[i]; j++; } t[j]=‘\0’; } 33: 第 33 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串中尾部的*号不得多于 n 个;若多于 n 个,则删除多于的*号;若少于或等于 n 个,则什么也不做,字符 串中间和前面的*号不删除。 答案: void fun(char *a,int n) { int i=0;k=0; char *p, *t;主函数中放入结构体数组 s 中,请编写函数 fun,它的功能使:把 分数最高的学生数据放在 h 所指的数组中,注意:分数最高的学生 可能不止一个,函数返回分数最高的学生的人数。 答案: int fun (STREC *a, STREC *b) { int I,j=0,n=0, max=a[0].s; for(i=0;i<N;i++) if(a[i].s&max) max=a[i].s; for(i=0;i<N;i++) if(a[i].s==max) { *(b+j)=a[i]; j++; n++; } } 35: 第 35 题 请编写一个函数,用来删除字符串中的所有空格。 答案: void fun(char *str) { int i=0; char *p= while (*p) { if(*p!=‘’) { str[i]=*p; i++; } p++; } str[i]=‘\0’; } 36: 第 36 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。 答案: void fun(char *a) { int i=0,n=0; char *p; p=a; while (*p==‘*’) { n++; p++; } while (*p) { a[i]=*p; i++; p++; } while(n!=0) { a[i]=‘*’; i++; n--; } a[i]=‘\0’; } 37: 第 37 题 某学生的记录由学号、8 门课程成绩和平均分组成, 学号和 8 门课程的成绩已在主函数中给出。请编写函数 fun,它的 功能是:求出该学生的平均分放在记录的 ave 成员中。请自己定义 正确的形参。 答案: void fun(STREC *p) { double av=0.0; int i: for(i=0;i<N;i++)av+=p-&s[i]; av/=N; p-&ave= } 38: 第 38 题 请编写函数 fun,它的功能是:求出 ss 所指字符串 中指定字符的个数,并返回此值。 答案: int fun(char *ss, char c) { int n=0; while (*ss) { if(*ss==c) n++; ss++; } }39: 第 39 题 请编写函数 fun,该函数的功能是:移动一维数组中 的内容,若数组中由 n 个整数,要求把下标从 0 到 p(p 小于等于 n -1)的数组元素平移到数组的最后。 答案: void fun(int *w, int p, int n) { int b[N], i, j=0; for(i=0;i<=p;i++) { b[i]=w[i]; j++; } for(i=0;i<=p;i++) { w[j]=b[i]; j++; } } 40: 第 40 题 请编写函数 fun, 该函数的功能是移动字符串中内容, 移动的规则如下:把第 1 到第 m 个字符,平移到字符串的最后,把 第 m+1 到最后的字符移到字符串的前部。 答案: void fun(char *w,int m) { char b[N]; int I,j=0; for(i=0;i<m;i++) { b[j]=w[i]; j++; } for (i=0;i<strlen(w)-m;i++) w[i]=w[i+m]; for(j=0;j<m;j++) { w[i]=b[j]; i++; } w[i]=‘\0’; } 41: 第 41 题 请编写函数 fun,该函数的功能是:将 m 行 n 列的二 维数组中的字符数据,按列的顺序依次放到一个字符串中。 答案: void fun(char (*s)[n],char *b) {int i,j,k=0; for(j=0;j<n;j++) for(i=0;i<m;i++) {b[k]=*(*(s+i)+j) k++;} b[k]=‘\0’;} 42: 第 42 题 下列程序定义了 n×n 的二维数组,并在主函数中自 动赋值。请编写函数 fun(int a[][n],int n),该函数的功能是: 将数组右上半三角元素中的值乘以 m。 答案: void fun(int a[][n],int m) {int i,j; for(j=0;j<n;j++) for(i=0;i<=j;i++) a[j]=a[j]*m;} 43: 第 43 题 编写一个函数, 从传入的 num 个字符串中找出一个最 长的一个字符串,并通过形参指针 max 传回该串地址(用****作为 结束输入的标志)。 答案: char *fun(char (*a)[81],int num) { char * max=a[0]; for(i=0;i<i++) if(strlen(max)<strlen(a)) max=a;}int fun(char *str,char *substr) { char *p,*r; n=0; while(*str) {p= r= while(*r) if(*r==*p) {r++; p++;} if(*r==‘\0’) n++; str++;}} 45: 第 45 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间 的*号都不删除。形参 n 给出了字符串的长度,形参 h 给出了字符 串中前导*号的个数,形参 e 给出了字符串中最后的*个数。在编写 时不得使用 c 语言给提供得字符串函数。 答案: void fun(char *a,int n,int h,int e) {int i=0; char *p; for(p=a+h;p<a+n-e;p++) {*(a+i)=*p; i++;} *(a+i)=‘\0’;} 46: 第 46 题 学生得记录由学号和成绩组称个,n 名大学生得数据 已在主函数中放入结构体数组 s 中, 请编写函数 fun, 它的功能时: 按分数的高低排列学生的记录,高分在前。 答案: void fun(strec a[]) {int i,j; for(i=0;i<n-1;i++) for(j=i;s<n;j++) if(a.s<a[j].s) {t=a; a=a[j]; a[j]=t; }} 47: 第 47 题 请编写一个函数 void fun(char *ss),其功能时:44: 第 44 题 编写一个函数, 该函数可以统计一个长度为 2 的字符 串在另一个字符串中出现的次数。 答案:将字符串 ss 中所有下标为奇数位置上的字母转换为大写(若位置 上不是字母,则不转换)。 答案: void fun(char *ss) {int i,n=0; char *p= while(*p) {n++; p++;} for (i=0;i<n;i++) if ((ss=‘a’&ss<=‘z’)&i%2!=0) ss=ss-32; ss=‘\0’;}int t=0; for(i=2;i<m;i++) {j=2; while(j<i) {if(i%j==0) {xx[t]=i; t++;} j++;} *k=t;}} 52: 第 52 题 编写一个函数 fun,它的功能是:实现两个字符串的48: 第 48 题 请编写函数 fun,其功能是:将两个两位数的正整数 a,b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个 位依次放在 c 数的千位和十位上,b 数的十位和个位数依次放在 c 数的百位和个位上。 答案: void fun(int a,int b,long *c) {*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;} 49: 第 49 题 请编写函数 fun,其功能是:将 s 所指字符串中下标 位偶数同时 ascii 值为奇数的字符删除,s 中剩余的字符形成的新 串放在 t 所指的数组中。 答案: void fun(char *s,char t[]) {int i,j=0,n=strlen(s); for(i=0;i<n;i++) if(i%2==0&s%2!=0) else {f[j]=s; j++;} t[j]=‘\0’;} 50: 第 50 题 已知学生的记录是由学号和学习成绩构成,n 名学生 的数据已存入 a 机构体数组中。 请编写函数 fun, 该函数的功能是: 找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最 高分)。 答案: void fun(stu a[],stu *s) {int i, max=a[0].s; for (i=0;i<n;i++) if(a.s&max) {max=a.s; *s=a;}} 51: 第 51 题 请编写函数 fun,其功能是:将所有大于 1 小于整数 m 的非素数存入 xx 所指的数组中,非素数的个数通过 k 传回。 答案: void fun(int m,int *k,int xx[]) {int i,j;连接(不使用库函数 strcat),即把 p2 所指的字符串连接到 p1 所 指的字符串后。 答案: void fun(char p1[],char p2[]) {int i=0,n=0; char *p=p1,*q=p2; while (*p) {p++; n++;} i=n; while(*p) {p1=*q; q++; i++;} p1=‘\0’;} 53: 第 53 题 请编写函数 fun,该函数的功能是:实现 b=a+a, 即把 矩阵 a 加上 a 的转置,存放在矩阵 b 中。计算结果在 main 函数中 输出。 答案: void fun(int a[3][3],int b[3][3]) {int i,j,at[3][3]; for(i=0;i<=2;i++) for(j=0;j<=2;j++) at[j]=a[j]; for(i=0;i<3;i++) for(j=0;j<3;j++) b[j]=a[j]+at[j];} 54: 第 54 题 学生的记录由学号和成绩组称个,n 名学生的数据已 在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是: 把低于平均分的学生数据放在 b 所指的数组中, 低于平均分的学生 人数通过形参 n 传回,平均分通过函数值返回。 答案: double fun(strec *a, strec *b,int *n) {double aver=0.0; int i,j=0; *n=0; for (i=0;i<n;i++) aver+=a.s; aver/=n; for(i=0;i<n;i++) if(a.s<aver) {b[j]=a; (*n)++; j++; }} 55: 第 55 题 请编写函数 fun,该函数的功能是:将 m 行 n 列的二 维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数 据的个数存放在形参 n 所指的储存单元中。 答案: void fun(int(*s)[10],int *b,int *n,int mm,int nn) {int i,j; for(i=0;i<i++) for(j=0;j<j++) {b[*n]=*(*(s+i)+j); *n=*n+1;}} 56: 第 56 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部 删除。形参 p 已指向字符串中最后的一个字母。不使用 c 的字符串 函数。 答案: void fun(char*a,char *p) {int i=0; char *p=a; while(q<=p) {if(*q!=‘*’) {a=*q; i++;} q++;} while(*q) {a=*q; i++; q++;} a=‘\0’;} 57: 第 57 题 学生的记录是由学号和成绩组成,n 名学生的数据已 在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是: 把指定分数范围内的学生数据放在 b 所指的数组中, 分数范围内的 学生人数由函数值返回。 答案: int fun(strec*a,strec *b,int l,int h) {int i,j=0; for(i=0;i<n;i++) if(a.s&=l&a.s<=h) {b[j]=a;j++;}} 58: 第 58 题 编写函数藏服那,它的功能是:求 n 以内(不包括 n) 同时能被 3 与 7 整除的所有自然数之和的平方根 s,并作为函数值 返回。 答案: double fun(int n) {double s=0.0; for(i=1;i<n;i++) if(i%3==0&i%7==0) s=s+i; s=sqrt(s);} 59: 第 59 题 请别写函数 fun,该函数的功能是:将放在字符串数 组中的 m 个字符串(每串的长度不超过 n),按顺序合并组成一个新 的字符串。 答案: void fun(char a[m][n],char *b) {int i,j,k=0; for(i=0;i<m;i++) {for(j=0;j<n;j++) if(*(*(a+i)+j)) {b[k]=*(*(a+i)+j) k++;} b[k]=‘\0’;}} 60: 第 60 题 请编写函数 fun,该函数的功能是:删去一维数组中 所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排 列,函数返回删除后数组中数据的个数。 答案: int fun(int a[],int n) {int i,t,j=0,*p=a; t=p[0]; for(i=0;i<=n;i++) if(t==p) ; else {a[j]=t; t=p; j++;} if(i&=n) a[j]=t;} 61: 第 61 题 第请编写函数 fun,该函数的功能使:统计各年龄段 的人数。N 个年龄通过调用随机函数获得,并放在主函数的 age 数 组中;要求函数把 0 至 9 岁年龄段的人数放在 d[0]中, 10 至 19 把 岁年龄段的人数放在 d[1]中,把 20 至 29 岁的人数放在 d[2]中, 其余以此类推,把 100 岁(含 100 以上年龄的人数都放在 d[10]中。 结果在主函数中输出。 答案: void fun(int *a,int *b) {int i,j; for(j=0;i<m;j++) b[j]=0; for(i=0;i<n;i++) if(a&=0&a<=9) b[0]+=1; else if(a&=10&a<=19) b[1]+=1; else if(a&=20&a<=29) b[2]+=1; else if(a&=30&a<=39) b[3]+=1; else if(a&=40&a<=49) b[4]+=1; else if(a&=50&a<=59) b[5]+=1; else if(a&=60&a<=69) b[6]+=1; else if(a&=70&a<=79) b[7]+=1; else if(a&=80&a<=89) b[8]+=1; else if(a&=90&a<=99) b[9]+=1; else b[10]+=1;}int fun(int n) {int s=0,i; for(i=2;i<=n-1;i++) if(n%i==0) s+=i;} 64: 第 64 题 请编写函数 fun, 其功能是: s 所指字符串中 ascii 将 值为奇数的字符删除, 串中剩余字符形成一个新串放在 t 所指的数 组中。 答案: void fun(char *s,char t[]) {int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(s%2==0) {t[j]=s; j++;} t[j]=‘\0’;} 65: 第 65 题 请编写函数 fun,其功能是:将两位数的正整数 a、b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数 依次放在 c 数的百位和个位上,b 数的十位和个位数依次放在 c 数 的十位和千位上。 答案: void fun(int a,int b,long *c) {*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;} 66: 第 66 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使 用 c 语言提供的字符串函数。 答案: void fun(char *a) {int i=0;char *p=a;62: 第 62 题 请编写函数 fun,该函数的功能是:统一一含字符串 中单词的个数,作为函数值返回。一行字符串在主函数中输入,规 定所有单词由小写字母组成,单词之间由若干个空格格开,一行的 开始没有空格。 答案: int fun (char *s) {int i,n=0; for(i=0;i<strlen(s);i++) {if(s=‘a’&s<=‘z’&s[i+1]==‘’ ‖s[i+1]==‘\0’) n++;}} 63: 第 63 题 请编写一个函数 fun,它的功能是:计算并输出给定 整数 n 的所有因子(不包括 1 与自身)之和。 规定 n 的值不大于 1000。 答案:while(*p) {if(*p!=‘*’) {a=*p; i++;} p++;} a=‘\0’;} 67: 第 67 题 学生的记录时由学号和成绩组成,n 名学生的数据已 在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能时: 函数返回指定学号的学生数据,指定的学号在主函数中输入。若没 找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为 函数值返回(用于字符串比较的函数时 strcmp)。 答案: strec fun(strec*,char *b) { for(i=0;i<n;i++) if(strcmp(a.num,b)==0) {h=a; } else {h.num==&&; h.s=-1;}} 68: 第 68 题 请编写函数 fun,其功能时:计算并输出下列多项式 的值: sn=1+1/1!+1/2!+1/3!+1/4!+?+1/n! 答案: sn=1+1/1!+1/2!+1/3!+1/4!+...+1/n! double fun(int n) {double t,sn=1.0; int i,j; for(i=1;i<n;i++) {t=1.0; for(j=1;j<=i;j++) t*j; sn+=1.0/t;}} 69: 第 69 题 请编写一个函数 fun,它的功能时:求 fibonacci 数 列中大于 t 的最小的一个数,结果由函数返回。其中 fibonacci 数列 f(n)的定义为: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) 答案: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) int fun(int t) {int a=1,b=1,c=0,i; for(i=4;i<=t;i++) {if(c<t) {c=a+b; a=b; b=c;}}} 70: 第 70 题 编写函数 fun, 它的功能时: 计算并输出下列级数和: s=1/1*2+1/2*3+?+1/n(n+1) 答案: double fun (int n) {double s=0.0; for(i=1;i<=n;i++) s=s+1.0/(i*(i+1));} 74: 第 74 题 学生的记录由学号和成绩组成 n 名学生的数据已在主 函数中放入结构体数组 s 中,请编写函数 fun,它的功能时:把分 数最低的学生数据放在 h 所指的数组中,注意:分数最低的学生可 能不止一个,函数返回分数最低的学生的人数。 答案: int fun(strec *a,strec *b) 73: 第 73 题 假定输入的字符串中只包含字母和*号,请编写函数 fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他 *号全部删除。形参 h 已指向字符串第一个字符,形参 p 已指向字 符串中最后一个字母。在编写程序时,不得使用 c 语言提供的字符 串函数。 答案: void fun(char *a,char *h,char *p) {int i=0; char *q=a; while(q<h) {a=*q; q++; i++;} while(q<p) {if(*q!=‘’*) {a=*q; i++;} q++;} while(*q) {a=*q; i++; q++;} a=‘\0’;} 71: 第 71 题 请编写函数 fun,其功能时:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中,合并的方式是:将 a 数的十位 和个位数依次放在 c 数的十位和千位上,b 的十位和个位整数依次 放在 c 数的百位和个位上。 答案: void fun(int a,int b,long *c) {*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;} 72: 第 72 题 请编写函数 fun,其功能是:将 s 所指字符串中下标 为偶数的字符删除,串中剩余字符形成新串放在 t 所指数组中。 答案: void fun(char *s,char t[]) {int i,j=0,n=strlen(s); for(i=0;i<n;i++) if(i%2!=0) {t[j]=s; j++;} t[j]=‘\0’;} {int i,j=0,n=0, min=a[0].s; for(i=0;i<n;i++) if(a.s<min) min=a.s; for(i=0;i<n;i++) if(a.s==min) {*(b+j)=a; j++; n++;}} 75: 第 75 题 请编写函数 fun ,该函数的功能:将 m 行 n 列的二 维数组中的数据,按列的顺学依次放到一维数组中。 答案: void fun(int (*s)[]10,int *b,int *n,int mm,int nn) {int i,j; for(j=0;j<j++) for(i=0;i<i++) {b[*n]=*(*(s+i)+j); *n=*n+1;}} 76: 第 76 题 请编写函数 fun,其功能时:计算并输出当 x&0.97 时下列多项式的值,直到|sn-s(n-1)|&0.000001 为止。 Sn=1+0.5x+0.5(0.5-1)/2!x(2)+?+0.5(0.5-1)(0.5-2)?..(0.5n+1)/n!x(n) 答案: .double fun(double x) {double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do {s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++;}while(fabs(s1-s0)&1e-6);} 77: 第 77 题 请编写一个函数 fun,其功能是:将两个两位数的正 整数 ab 合并形成一个整数放在 c 中。合并方式是:将 a 数的十位 和个位数依次放在 c 数的个位和百位上,b 数的十位和个位数依次 放在 c 数的十位和千位上。 答案: void fun(int a,int b,long *c) {*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;} 78: 第 78 题 请编写函数 fun, 其功能是: s 所指字符串中 ascii 将 值为偶数的字符删除, 串中剩余字符形成一个新串放在 t 所指的数 组中。答案: void fun(char *s,char t[]) {int i,j=0,n=strlen(s); for(i=0;i<n;i++) if (s%2!=0) {t[j]=s; j++;} t[j]=‘\0’;} 79: 第 79 题 已知学生的记录由学号和学习成绩构成,n 名学生的 数据已存入 a 结构体数组中。请编写函数 fun,该函数的功能是: 找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最 低分)。 答案: void fun(stu a[],stu *s) {int i, min=a[0].s; for(i=0;i<n;i++) if(a.s<min) {min=a.s; *s=a;}} 80: 第 80 题 程序定义了 n×n 的二维数组,并在主函数中自动赋 值。请编写函数 fun,该函数的功能是:使数组左下半三角元素中 的值乘以 n。 答案: fun(int a[][n],int n) {int i,j; for(i=0;i<n;i++) for(j=0;j<=i;j++) a[j]=a[j]*n;}81: 第 81 题 请编写函数 fun,其功能使:将两个两位正整数 a b 合并形成一个整数放在 c 中。合并的方式使:将 a 数的十位和个位 数依次放在 c 数的百位和个位上,b 数的十位和个位数依次放在 c 数的千位和十位上。 答案: void fun(int a,int b,long *c) {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;} 82: 第 82 题 请编写一个函数 fun,它的功能使:计算 n 门课程的 平均分,计算结果作为函数值返回。 答案: float fun(float *a,int n) {float ave=0.0; for(i=0;i<n;i++) ave+=a; ave/=n; } 83: 第 83 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的* 号不删除。 答案: void fun(char *a) {int i=0; char *p,*q; p=q=a; while(*p) p++; p--; while(*p==‘*’) p--; while(q<=p) {a=*q; i++; q++;} a=‘\0’;} 84: 第 84 题 请编写函数 fun,其功能是:将两个两位数的正整数 a b 合并形成一个整数放在 c 中,合并的方式是:将 a 数的十位和 个位数依次放在 c 的个位和百位上,b 数的十位和个位数依次放在 c 数的千位和十位上。 答案: void fun(int a,int b,long *c) {c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}for(j=0;j<10;j++) s+=(x[j]-s1)*(x[j]-s1); s/=10; s=pow(s,0.5);} 87: 第 87 题 请编写函数 fun,其功能是:将两个两位数的正整数 a b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和 个位数依次放在 c 数的千位和十位上,b 数的十位和个位数依次放 在 c 数的个位和百位上。 答案: void fun(int a,int b,long *c) {*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;} 88: 第 88 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全 部删除。在编写函数亚时,不得使用 c 语言提供的字符串函数。 答案: void fun(char *a) {int i=0; char *p=a; while(*p&&*p==‘*’) {a=*p; i++; p++;} while(*p) {if(*p!=‘*’) {a=*p; i++;} p++;}85: 第 85 题 n 名学生的成绩已在主函数中放入一个带头节点的链 表结构中,h 指向链表的头节点。请编写函数 fun,它的功能是: 求出平均分,由函数值返回。 答案: double fun(strec *h) {double aver=0.0; while(h!=null) {aver+=h-&s; hy=h-&} aver/=n;} 86: 第 86 题 请编写函数 fun,计算并输出给定 10 个数的方差。 答案: double fun(double x[10]) {int i,j; double s=0.0,s1=0.0; for(i=0;i<10;i++) s1+=x; s1/=10;a=‘\0’;} 89: 第 89 题 学生的记录是由学号和成绩组成,n 名学生的数据已 在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是: 把高于等于平均分的学生数据放在 b 所指的数组中, 高于等于平均 分的学生人数通过形参 n 传回,平均分通过函数值返回。 答案: double fun(strec *a,strec *b,int *n) {double aver=0.0; int i,j=0; for(i=0;i<n;i++) aver+=a.s; aver/=n; for(i=0;i<n;i++) if(a.s)&=aver} {*(b+j)=a; j++;} *n=j;} 90: 第 90 题 请编写函数 fun,其功能是:计算并输出下列多项式 值:sn=(1-1/2)+(1/3-1/4)+?+(1/(2n-1)1/2n). 答案: sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n). double fun(int n) { double sn=0.0; for(i=1;i<=n;i++) sn+=(1.0/(2*i-1)-1.0/(2*i));} 91: 第 91 题 请编写函数 fun,其功能是:将两个两位数的正整数 a b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和 个位数依次放在 c 的十位和千位上,b 数的十位和个位数依次放在 c 数的个位和百位上。 答案: void fun(int a, int b, long *c) { *c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10; }} } 94: 第 94 题 规定输入字符串中只包含字母和*号。请编写函数 fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾 部的*号不删除。 答案: void fun(char *a) { int i=0; char *p=a; while(*p&&*p==‘*’) p++; while(*p) { a[i]=*p; i++; p++; } a[i]=‘\0’; }92: 第 92 题 答案:请 编 写 函 数 fun , 它 的 功 能 是 计 算 : 95: 第 95 题 假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串的前导*号不得多于 n 个;若多于 n 个,则删除多于的*号;若少于或等于 n 个,则什么也不做。字符 串中间和尾部的*号不删除。 答案: void fun(char *a, int n) { int i=0,k=0; char *t=a; while(*t==‘*’) { k++; t++; } t=a; if(k&n) t=a+k-n; while( *t) { a[i]=*t; i++; t++; } a[i]=‘\0’; }s=(ln(1)+ln(2)+ln(3)+?+ln(m))(0.5),s 作为函数值返回。 double fun(int m) { int I; double s=0.0, log(double x); for(i=1;i<=m;i++) s=s+log(i); s=sqrt(s); } 93: 第 93 题 请编写函数 fun,它的功能是计算下列级数和,和值 由函数值返回。 S=1+x+x(2)/2!+x(3)/3!+?x(n)/n! 答案: double fun(double x, int n) { double s=1.0, p=1.0; int I,j,t; for(i=1;i<=n;i++) { t=1; for(j=1;j<=i;j++) t=t*j; p=p*x; s=s+p/t; 96: 第 96 题 请编写函数 fun, 其功能使: 计算并输出给定数组(长 度为 9)中每相邻两个元素之平均值的平方根之和。 答案: double fun(double x[9]) { double sum=0.0; int I,j=1; for(i=0;i<9;i++) if(j<=8) { sum+=sqrt((x[i]+x[i+1])/2.0); j++; } }double fun(int n) { int m,k,I; double s=0.0; for(m=3;m<=n;m++) { k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) if(i&=k+1) s+=sqrt(m); } } 100: 第 100 题 请 编 写 函 数 fun , 其 功 能 是 : 计 算 并 输 出97: 第 97 题 请编写函数 fun,其功能是:计算并输出下列多项式 值: s=1+1/(1+2)+1/(1+2+3)+..1/(1+2+3?+50) 答案: double fun(int n) { int I,j; double sum=0.0, for(i=1;i<=n;i++) { t=0.0; for(j=1;j<=I;j++) t+=j; sum+=1.0/t; } } 98: 第 98 题 请编写函数 fun,它的功能是:计算并输出 n(包括 n)以内能被 5 或 9 整除的所有自然数的倒数之和。 答案: double fun(int n) { int I; double sum=0.0; for(i=1;i<=n;i++) if(i%5==0 || i%9==0) sum+=1.0/I; } 99: 第 99 题 请编写函数 fun ,其功能是:计算并输出 3 到 n 之 间所有素数的平方根之和。 答案:s=1+(1+2(0.5))+(1+2(0.5)+3(0.5))+?+(1+2(0.5)+3(0.5)+?+n (0.5)) 答案: double fun(int n) { int I; double =1.0,p=1.0; for(i=2;i<=n;i++) { p+=pow(I,0.5); s+=p; } } C 语言笔试考点 【考点 1】C 程序 用 C 语言编写的程序称为 C 语言源程序,源程序文件的后缀名为 “.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把 目标文件与各种库函数连接起来,生成“.exe”可执行文件。C 语 言有三种基本结构:顺序结构、选择结构、循环结构。 【考点 2】main 函数 又称主函数,是 C 程序的入口。main 后面跟一对小括号和一对花 括号,花括号括起来的部分称为 main 函数的函数体。一个 C 程序 从 main 函数开始执行,到 main 函数体执行完结束,而不论 main 函数在整个程序中的位置如何。每一个程序有且仅有一个 main 函 数,其他函数都是为 main 函数服务的。 【考点 3】存储形式 计算机在电脑中保存数据是采用二进制形式, 0 或 1 构成的二进 由 制称为位 (bit) 八个位构成一个字节 , (Byte) 1 个 Byte=8 个 bit。 , 二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为 二进制、八进制、十六进制采用除法。数据的存放位置就是它的地 址。 【考点 4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*” 开始到最近一个“*/”结束,其间任何内容都不会被计算机执行, 注释不可以嵌套。 【考点 5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可 写多条语句,一个语句可写在多行上。 【考点 6】标识符 是标识名字的有效字符序列,可以理解为 C 程序中的单词。 标识符的命名规则是: (1)标识符只能由字母、数字和下划线组成,字母区分大小写。 (2)标识符的第一个字符必须是字母或下划线,不能为数字。 C 语言标识符分如下 3 类 (1) 关键字。 它们在程序中有固定的含义, 不能另作他用。 int、 如 for、switch 等。 (2) 预定义标识符。 预先定义并具有特定含义的标识符。 define、 如 include 等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且 不与关键字相同。 【考点 7】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常 量、实型常量、字符常量、字符串常量、符号常量 5 种。在程序运 行过程中其值可以改变的量称为变量。C 语言中没有字符串变量。 存放字符串使用字符数组。 【考点 8】整型数据 整型常量有十进制、八进制、十六进制三种表示形式,没有二进制 形式。八进制整型常量加前导数字 0,十六进制常量加前导 0X,八 进制常量中不会出现 8。 整型变量可分为基本整型 (int) 短整型 、 (short) 长整型 、 (long) 、 和无符号整型(unsigned) 。一个基本整型占 4 个字节。其它类型 的整型占用字节数和取值范围详见教材第 9 页。 【考点 9】实型数据 实型数据有两种表示形式:小数形式和指数形式。掌握判定指数形 式合法性。 口诀:E 前 E 后必有数,E 后必须为整数。 实型变量分为单精度型(float)和双精度型(double) ,单精度型 占四个字节。 【考点 10】算术运算 算术运算符一共有+、―、*、/、%这五个。求余运算要求运算对象 只能为整型,除法运算符两边运算对象都为整型时,运算结果也为 整型即舍掉小数部分。 【考点 11】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式,注意 小括号位置。 【考点 12】赋值 赋值运算符为“=”, 不同于关系等于“= =”。 赋值表达式格式为: 变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值 运算符右边表达式的值赋给左边变量。 复合赋值运算符是将算术运算符或位运算符与赋值运算符组合在 一起组成的运算符,掌握复合赋值表达式转化为赋值表达式的方 法。如 n+=100 可转化为 n=n+100。【考点 13】自加自减运算 自加运算符“++”与自减运算符“--”是单目运算符, 运算对象必 须是变量。自增自减运算分前缀运算和后缀运算,它们所对应的表 达式的值是有区别的,如 j=i++;等价于 j=i;i=i+1;而 j=++i;等价 于 i=i+1;j=i;。 口诀:加加在前先加后用,加加在后先用后加。 【考点 14】逗号运算 逗号运算符运算优先级最低,可将多个表达式构成一个新的表达 式。 第二章 顺序结构 【考点 1】运算符、表达式、语句 运算对象加运算符构成表达式,表达式加分号构成表达式语句,运 算对象可以是表达式、常量、变量。如赋值运算符加运算对象构成 赋值表达式,赋值表达式加分号又可构成赋值语句。 【考点 2】运算符的优先级和结合顺序 运算符按参加运算的对象数目可分为单目运算符、 双目运算符和三 目运算符。初等运算符的优先级别最高,然后依次是单目运算符、 算术运算符、关系运算符、逻辑运算符(除逻辑非!、条件运算符、 ) 赋值运算符、逗号运算符。位运算符优先级介于算术运算符与逻辑 运算符之间。结合顺序大多为自左向右,而自右向左的有三个:单 目运算符、条件运算符和赋值运算符。 【考点 3】printf 函数 格式为:printf(输出控制,输出列表)。输出控制是用一对双引号 括起来的,包含格式说明和原样信息。输出列表包含若干输出项。 【考点 4】printf 函数中格式说明 %d 对应整型,%f 对应单精度实型,%c 对应字符型,%o 对应八进制 无符号整型, 对应无符号十六进制整型, 对应无符号整型, %x %u %e 对应指数型,%s 对应字符串型。可在%和格式字符之间加一个数来 控制数据所占的宽度和小数位数。 【考点 5】scanf 函数 输入项要求带取地址符&。当用键盘输入多个数据时,数据之间用 分隔符。分隔符包括空格符、制表符和回车符,但不包括逗号。 【考点】6 如何交换两个变量 要使用中间变量,语句为:t=x; x=y; x=t;。 第三章 选择结构 【考点 1】关系运算 C 语言用非 0 表示逻辑真,用 0 表示逻辑假。关系运算符有 6 个, 分别是&,&=,&,&=,==,!=,前四种优先级高于后两种。关系表 达式真时为 1, 假时为 0。 注意 a&b&c 是不可以的, 可用(a&b)&&(b&c) 来表示。 【考点 2】逻辑运算 逻辑运算符共有 3 个:逻辑与(&&) ,逻辑或(||) ,逻辑非(!) 。 注意短路现象,例 a++||b++,如果表达式 a++的值非零,则表达式 b++不再执行。 【考点 3】if 语句 可以单独出现,也可以与 else 匹配出现。if 语句可以嵌套,这时 else 总是与离它最近的且没有与 else 匹配的 if 匹配。 【考点 4】条件运算 是唯一的三目运算符,格式为:表达式 1?表达式 2:表达式 3。表 达式 1 值为非 0 时,整个表达式值为表达式 2 的值,表达式 1 值为 0 时,整个表达式值为表达式 3 的值。 口诀:真前假后 【考点 5】switch 语句 格式及执行过程详见教材 P33,要注意每条 case 后有没有 break 语句的区别。 还要注意 switch 后小括号里面的表达式不能为实型, case 后表达式不能有变量。 口诀:switch 表不为实,case 表不为变。 第四章 循环结构 【考点 1】三种循环结构 三种循环结构分别为:while,do-while,for,三种结构的格式及 执行顺序详见教材第 36、39、40 页。注意 for 循环中的小括号中 必须是两个分号;循环一定要有结束条件,否则成了死循环; do-while()循环最后的 while();后一定要有分号。 【考点 2】break 与 continue break 是终止所在整个循环,而 continue 是提前结束本轮循环。 break 语句可出现在循环结构与 switch 语句中,continue 只出现 在循环结构中。 【考点 3】循环的嵌套 就是循环里面还有循环,计算要一层一层分析,一般只考查两层嵌 套,循环嵌套通常是处理二维数组。 【考点 4】循环结构的复习 循环结构是重点,笔试所占分值一般在 13 分左右,在上机考试中 也是必考点,应用性很强。要求学员重点理解并多加练习,领会掌 握。 第五章 字符型数据 位运算 【考点 1】字符常量 一个字符常量用一对单引号括起来,字符常量只能包括一个字 符,’ab’是非法的。空格常用’□’来表示。字符常量可用对应 的 ASCII 码表示,需记住:’0’的 ASCII 码为 48,’A’的 ASCII 码为 65,’a’的 ASCII 码为 97。 【考点 2】转义字符 一对单引号中以一个反斜线后跟一个特定字符或八进制、 十六进制 数来构成转义字符。比如’\n’表示换行,’\101’或’\x41’表 示 ASCII 码为 65 的字符’A’。 【考点 3】字符型数据可以和整型数据相互转换 如 : ’0’-0=48 ‘A’+32=’a’ char a=65;printf(“%d%c”,a,a);结果为 65A 【考点 4】位运算符 C 语言提供 6 种位运算符:按位求反~,按位左移&&,按位右移&&, 按位与&,按位异或|,按位或^。一般情况下需要先转化进制。异 或运算的规则:0 异或 1 得到 1,0 异或 0 得到 0,1 异或 1 得到 0。 可记为“相同为 0,不同为 1”。 【考点 5】putchar 与 getchar 函数 可用于输出或输入单个字符, 这两个函数是 stdio.h 文件中的库函 数,它们是 printf 与 scanf 函数的简化。 第六章 函数 【考点 1】函数的定义 函数是具有一定功能的一个程序块。函数的首部为:函数类型 函 数名(类型 1 形参 1,类型 2 形参 2,??) 。在函数定义中不可 以再定义函数,即不能嵌套定义函数。函数类型默认为 int 型。【考点 2】库函数 调用 C 语言标准库函数时要包含 include 命令,include 命令行以 #开头,后面是””或&&括起来的后缀为”.h”的头文件。以#开头 的一行称为编译预处理命令行,编译预处理不是 C 语言语句,不加 分号,不占运行时间。 【考点 3】函数的返回值 函数通过 return 语句返回一个值, 返回的值类型与函数类型一样。 return 语句只执行一次,执行完或函数体结束后退出函数。 【考点 4】函数的声明 函数要“先定义后调用”,或“先声明再调用后定义”。函数的声 明一定要有函数名、函数返回值类型、函数参数类型,但不一定要 有形参的名称。 【考点 5】函数的调用 程序从上往下执行,当碰到函数名后,把值传给调用函数,当程序 得到了返回值或调用函数结束,再顺序往下执行。 【考点 6】函数的参数及值传递 形式参数简称形参,是定义函数时函数名后面括号中的参数。实在 参数简称实参,是调用函数时函数名后面括号中的参数。实参和形 参分别占据不同的存储单元。实参向形参单向传递数值。 “传值”与“传址”的区别:传数值的话,形参的变化不会改变实 参的变化。 传地址的话, 形参的变化就有可能改变实参所对应的量。 【考点 7】函数的递归调用 函数直接或间接地调用自己称为函数的递归调用。 递归调用必须有 一个明确的结束递归的条件。 在做递归题时可把递归的步骤一步步 写下来,不要弄颠倒了。 【考点 8】要求掌握的库函数 sqrt()算术平方根函数,fabs()绝对值函数,pow()幂函数,sin() 正弦函数 第七章 指针 【考点 1】指针变量 指针变量是用来存储地址的,而一般变量是存储数值的。指针变量 可指向任意一种数据类型,但不管它指向的数据占用多少字节,一 个指针变量占用四个字节。 【考点 2】指针变量的定义 格式为:类型名 *指针变量名。二维指针 int **p;可以理解为基 类型为(int *)类型。 【考点 3】指针变量的初始化 指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则 引用时会有副作用,如果不指向任何数据就赋“空值”NULL。 【考点 4】指针变量的引用 &是取地址符,*是间接访问运算符,它们是互逆的两个运算符。在 指针变量名前加间接访问运算符就等价它所指向的量。 【考点 5】指针的运算 *p++和(*p)++之间的差别:*p++是地址变化,(*p)++是指针变量所 指的数据变化。一个指针变量加一个整数不是简单的数学相加,而 是连续移动若干地址。当两个指针指向同一数组时,它们可以比较 大小进行减法运算。 第八章 数组 【考点 1】数组的定义 数组是一组具有相同类型的数据的集合,这些数据称为数组元素。 格式为:类型名 数组名[常量表达式]。数组的所占字节数为元素 个数与基类型所占字节数的乘积。 【考点 2】数组的初始化 第一维长度可以不写,其它维必须写。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int a[2][]={2,3,4};非法。数组初始化元 素值默认为 0, 没有初始化元素值为随机。 如在 int a[5]={0,1,2}; 中,元素 a[4]值为 0;而在 int a[5];中,元素 a[4]值为一个不确 定的随机数。 【考点 3】元素的引用 数组元素的下标从 0 开始,到数组长度减 1 结束。所以 int a[5]; 中数组最后一个元素是 a[4]。要把数组元素看作一个整体,可以 把 a[4]当作一个整型变量。 【考点 4】二维数组 数组 a[2][3]={1,2,3,4,5,6};中含 6 个元素,有 2 行 3 列。第一 行为 a[0]行,第 2 行为 a[1]行,a[0]、a[1]叫行首地址,是地址 常量。 *(a[0]+1)是第一行第一个元素往后跳一列, 即元素 a[0][1] 值为 2, *(a[0]+3)是第一行第一个元素往后跳三个, 即元素 a[1][0] 值为 4。 【考点 5】行指针 是一个指针变量, 占四个字节, 行指针指向一行连续数据, 形式为: int (*p)[2];,p 只能存放含有两个整型元素的一维数组的首地 址。注意(*p)两边的小括号不能省略,否则就成了指针数组,是若 干指针元素的集合。 【考点 6】数组名 数组名是数组的首地址。数组名不能单独引用,不能通过一个数组 名代表全部元素。数组名是地址常量,不能对数组名赋值,所以 a++是错误的。但数组名可以作为地址与一个整数相加得到一个新 地址。 【考点 7】元素形式的转换 助记:“脱衣服法则”a[2]变成*(a+2),a[2][3]变成*(a+2)[3] 再可变成*(*(a+2)+3)。 第九章 字符串 【考点 1】字符串常量及表示 字符串常量是由双引号括起来的一串字符,如”ABC”。在存储字 符串时,系统会自动在其尾部加上一个空值’\0’,空值也要占用 一个字节,也就是字符串”ABC”需要占四个字节。 【考点 2】字符数组 C 语言没有字符串变量,只能采用字符数组来存储字符串。数组的 大小应该比它将要实际存放的最长字符串多一个元素,从而存 放’\0’。 【考点 3】字符串赋值 可以用下面的形式进行赋值:char str[]=”Hello!”;或 char *p;p=”Hello!”; , 但 不 能 用 下 面 的 形 式 : char str[10];str=”Hello”;因为 str 是一个地址常量, 不能进行赋值 操作。 【考点 4】字符串的输入与输出 可以用 scanf 和 printf 函数,如 scanf(”%s”,str);,也可用专 门处理字符串的两个函数 gets 和 puts 函数, 还可以对字符数组逐 个元素进行赋值,但一定要在最后赋一个’\0’。使用 gets 函数 可以接收空格,使用 puts 函数在最后输出一个换行。【考点 5】字符串函数 要掌握的四个字符串函数:字符串拷贝函数 strcpy() ,求字符串 长度函数 strlen() ,字符串链接函数 strcat() ,字符串比较函 数 strcmp ( ) 使 用 这 些 函 数 需 在 预 处 理 部 分 包 含 头 文 。 件”string.h”。 字 符 串 长 度 要 小 于 字 符 数 组 的 长 度 , 例 : char str[10]=”Hello”;sizeof(str) 的 值 为 10 ( 数 组 长 度 ), strlen(str)的值为 5(字符串长度) 。这些函数是考试常用到的函 数,大家一定要熟练应用这几个函数。 第十章 结构体与共用体 【考点 1】结构体类型的说明 结构体是若干个类型数据的集合,结构体类型说明格式如下: struct 类型名 {类型 1 成员名 1;类型 2 成员名 2;??};,以上 整个部分是一个数据类型, 与整型的 int 是同样地位。 可用 typedef 把结构体类型替换成一个只有几个字母的简短标识符。 【考点 2】结构体变量的定义 结构体变量是用说明的结构体类型所定义的一个变量, 与结构体类 型不是一回事。 一个结构体变量所占字节数为其所有成员所占字节 数之和。如 struct stu{char name[10];} a,b;则表明定 义了两个结构体变量 a,b,每个变量占 14 个字节。a,b 与 int i,j; 中的变量 i,j 是同样地位。 【考点 3】结构体成员的引用 引用成员可用以下 3 种方式: (1)结构体变量名.成员名; (2)指 针变量名-&成员名: (*指针变量名).成员名。点(.)称为成 (3) 员运算符,箭头(-&)称为结构指向运算符。 【考点 4】链表 链表是由一个个结点构成的,一个结点就是一个结构体变量。每个 结点可以分为数据域与指针域两个部分, 数据域用来存放要存储的 数据,指针域用来指向下一个结点。链表是考试中的难点,在 C 语 言和公共基础部分都会考到,要领悟掌握。 【考点 5】共用体 共用体的使用格式与结构体相似,共用体定义的关键字为 union, 共用体所占字节数是所有成员中字节数最大的那个。 第十一章 文件 【考点 1】文件类型指针 文件指针是一个指向结构体类型的指针,定义格式为:FILE *指针 变量名。在使用文件时,都需要先定义文件指针。 【考点 2】文本文件与二进制文件 文本形式存放的是字符的 ASCII 码, 二进制形式存放的是数据的二 进制。 例如“100”如果是文本形式就是存储’1’、 ’0’、 ’0’ 三个字符的 ASCII 码(00) ,如果是二 进制形式就把 100 转化成二进制() 。 【考点 3】打开文件 文 件 的 打 开 形 式 如 下 : FILE * fp=fopen(“c:\\lab.c”,”rb”);。fopen 函数的前面一部分为 文件名,后面一部分为文件的使用方式。打开方式详见教材第 127 页,其中 r 代表读,w 代表写,a 代表添加,b 代表二进制位的。 【考点 4】文件函数 判断文件结束 feof 函数,移动文件指针位置 fseek 函数,获得文 件位置 ftell 函数,文件位置移到开头 rewind 函数,文件字符输 入输出 fgetc 函数和 fputc 函数,文件输入输出 fscanf 函数和 fprintf 函数,文件字符串输入输出 fgets 函数和 fputs 函数,读 写二进制文件 fread 函数和 fwrite 函数。 以上函数要求知道格式会用,清楚是用于二进制文件还是文本文 件,要把教材文件这章仔细复习下,不要在考试的时候把这些文件 函数搞混了。 第十二章 深入讨论 【考点 1】编译预处理 凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分 号, 不占运行时间。 宏替换仅是简单的文本替换, 如#define f(x) (x)*(x)和#define f(x) x*x 替换 f(2+2)时就有区别, 前者展开 为(2+2)*(2+2),后者为 2+2*2+2。 如果源文件 f2.c 中有#include”f1.c”可以理解为把源文件 f1.c 原样包含到 f2.c 中,使 f1.c 和 f2.c 融合到一起成为一个 C 程序 编译。 所以一个 C 程序必有主函数, 但一个 C 源文件未必有主函数。 【考点 2】标识符作用域 局部变量是在函数内或复合语句内定义的变量, 作用域为定义它的 函数内。局部变量有三种类型:自动 auto,寄存器 register 和静 态 static。 自动变量随着函数的使用与否创建消失;寄存器变量分配在 cpu 中,没有内存地址;静态变量占用固定存储单元,在程序执行过程 不释放,直到程序运行结束。 全局变量是在函数外定义的变量, 作用域从定义它的位置到整个源 文件结束为止,生存期为整个程序运行期间。全局变量都是静态变 量。 【考点 3】动态存储分配 malloc(size)用来创建连续 size 个字节存储区,返回值类型为 void *型。 malloc 函数常用于动态创建链表结点, int *p; p=(int 如 *)malloc(sizeof(int));。 calloc(n,size)创建 n 个同一类型的存储空间,可以理解为 n 个 malloc。 free(p)释放动态分配的存储单元。 第一章 数据结构与算法算法效率的度量――算法的复杂度:时间复杂度和空间复杂度。 算法时间复杂度:指执行算法所需要的计算工作量。通常,一个算 法所用的时间包括编译时间和运行时间。 算法空间复杂度:指执行这个算法所需要的内存空间。包括算法程 序所占的空间,输入的初始数据所占的空间,算法执行过程中所需 的额外空间。 空间复杂度和时间复杂度并不相关。 【考点 3】数据结构的基本概念 数据:数据是客观事物的符号表示,是能输入到计算机中并被计算 程序识别和处理的符号的总称,如文档,声音,视频等。 数据元素:数据元素是数据的基本单位。 数据对象:数据对象是性质相同的数据元素的集合。 数据结构: 是指由某一数据对象中所有数据成员之间的关系组成的 集合。 【考点 4】逻辑结构和存储结构 数据结构可分为数据的逻辑结构和存储结构。 数据的逻辑结构是对数据元素之间的逻辑关系的描述, 与数据的存 储无关,是面向问题的,是独立于计算机的。它包括数据对象和数 据对象之间的关系。 数据的存储结构也称为数据的物理结构, 是数据在计算机中的存放 的方式,是面向计算机的,它包括数据元素的存储方式和关系的存 储方式。 数据结构和逻辑结构的关系: 一种数据的逻辑结构可以表示成多种 存储结构即数据的逻辑结构和存储结构不一定一一对应。 常见的存储结构有:顺序,链接,索引等。采用不同的存储结构其 数据处理的效率是不同的。 【考点 5】线性结构和非线性结构 线性结构的条件(一个非空数据结构): (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 栈、队列、双向链表是线性结构,树、二叉树为非线性结构。 【考点 6】线性表及其顺序存储结构 线性表是由一组数据元素构成, 数据元素的位置只取决于自己的序 号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录;由 多个记录构成的线性表称为文件。 非空线性表的结构特征: (1)有且只有一个根结点 a1,它无前件; (2)有且只有一个终端结点 an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件, 也有且只有一个后件。 结点个数 n 称为线性表的长度,当 n=0 时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素所占的存储空间是连续的; (2) 线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 元素 ai 的存储地址为:ADR(ai)=ADR(a1)+(i-1)*k,ADR(a1)为第 一个元素的地址,k 代表每个元素占的字节数。 顺序表的运算:查找、插入、删除。 【考点 7】线性链表 线性链表是线性表的链式存储结构, 数据结构中的每一个结点对应【考点 1】算法的基本概念 算法:是指一组有穷的指令集,是解题方案的准确而完整的描述。 算法不等于程序,也不等于计算方法。 算法的基本特征: 确定性,算法中每一步骤都必须有明确定义,不允许有多义性; 有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤 后终止; 可行性,算法原则上能够精确地执行; 拥有足够的情报。 算法的组成要素: 一个算法由数据对象的运算和操作以及其控制结 构这两部分组成。 算法的基本运算和操作:算术运算,逻辑运算,关系运算,数据传 输。 算法的基本控制结构:顺序,选择,循环。 算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术。 【考点 2】算法的复杂度 于一个存储单元,这种存储单元称为存储结点,简称结点。结点由 两部分组成:(1) 用于存储数据元素值,称为数据域;(2) 用于存 放指针,称为指针域,用于指向前一个或后一个结点。 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据 结点的存储顺序与数据元素之间的逻辑关系可以不一致, 而数据元 素之间的逻辑关系是由指针域来确定的。 链式存储方式既可用于表示线性结构,也可用于表示非线性结构。 线性单链表中,HEAD 称为头指针,HEAD=NULL(或 0)称为空表。计算循环队列的元素个数:“尾指针减头指针”,若为负数,再加 其容量即可。 【考点 10】}

我要回帖

更多关于 2018计算机考试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信