国家计算机二级C语言考试复习知识点_第1页
国家计算机二级C语言考试复习知识点_第2页
国家计算机二级C语言考试复习知识点_第3页
国家计算机二级C语言考试复习知识点_第4页
国家计算机二级C语言考试复习知识点_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 C语言基础知识一全国计算机等级考试问答 ( National Computer Rank Examination)全国计算机等级考试(简称NCRE)是由教育部考试中心举办,用于测试应试人员计算机应用知识与能力的等级水平考试。随着计算机技术在我国各个领域的推广、普及,越来越多的人开始学习计算机知识,许多用人部门已将具有一定的计算机知识与能力作为考核和录用工作人员的标准之一。因此,教育部决定举办全国计算机等级考试,其目的在于推进计算机知识的普及,促进计算机技术的推广应用,以适应社会主义经济建设的需要,为用人部门录用和考核工作人员服务。目前,全国计算机等级考试正日趋成为继高考后全国第二大考试

2、,尤其是计算机二级证书是计算机等级考试证书中用得最广泛的证书,它已和英语四六级一样成为社会用人单位对大学生的必备要求之一。(一)考试性质和目的1、什么是全国计算机等级考试?全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与能力的全国性计算机水平考试体系。2、为什么要举办NCRE?计算机技术的应用在我国各个领域发展迅速,为了适应知识经济和信息产业发展的需要,操作和应用计算机已成为人们必须掌握的一种基本技能。许多单位部门已把掌握一定的计算机知

3、识和应用技能作为干部录用、职务晋升、职称评定、上岗资格的重要依据之一。鉴于社会的客观需求,经原国家教委批准,原国家教委考试中心于1994年面向社会推出了NCRE,其目的在于以考促学,向社会推广和普及计算机知识,也为用人部门录用和考核工作人员时提供一个统一、客观、公正的标准。 (二)报考条件与报考对象1、谁可以报名参加考试? 考生不受年龄、职业、学历等背景的限制,任何人均可根据自己学习和使用计算机的实际情况,选考不同等级的考试。考生一次只能报考一个等级(含笔试和上机考试)的考试。如果一个级别中有不同类别,考生只能选择其中一类。考生一次考试只能在一个考点报名。考生可以不参加考前培训,直接报名参加考

4、试。 (三)报名及考试时间安排1、NCRE采取什么考试形式?考试时间如何规定?考试采用由全国统一命题,统一考试时间,纸笔考试和上机操作考试相结合的形式。纸笔考试中题型以选择题、填空题为主,其中四级含有论述题。纸笔考试时间:二级C90分钟、三级、四级为120分钟(四级只考笔试)。上机操作考试时间:二级C90分钟、三级60分钟,一级实行无纸化的上机考试,时间为90分钟。 2、NCRE每年考几次?各次考试是什么日期?NCRE每年开考两次,上半年开考一、二、三级,下半年开考一、二、三、四级。上半年考试时间为4月第二个星期六上午(笔试),下半年考试时间为9月倒数第二个星期六上午(笔试),上机考试从笔试的

5、当天下午开始。上机考试期限为五天,由考点根据考生数量和设备情况具体安排。3、如何报名?笔试和上机成绩只有单项合格有何规定?每次考试报名的具体时间由各省(自治区、直辖市)级承办机构规定。考生按照有关规定到就近考点报名。考生可携带身份证到就近考点报名。没有身份证的未成年人,可凭户口本,现役军人凭军人身份证件报名。上次考试的笔试和上机考试仅其中一项成绩合格的,下次考试报名时应出具上次考试成绩单,成绩合格项可以免考,只参加未通过项的考试。(五)考生报名缴费(四)考试等级划分1、NCRE等级如何构成?主要考核什么能力? 全国计算机等级考试目前共设置四个等级:一级:考核微型计算机基础知识和使用办公软件及因

6、特网(Internet)的基本技能。2008年下半年考试科目:一级MS-OFFICE、一级WPS 、一级B二级:考核计算机基础知识和使用一种高级计算机语言或数据库管理软件编写程序以及上机调试的基本技能。2005年下半年考试科目:编程类:C、Visual Basic、C+、Java,数据库类:FoxPro、Access。基础知识包括如下内容:数据结构与算法、程序设计方法、软件工程、数据库基础、新增的考试科目:二级Delphi语言程序设计(VF,VB将近年停考)。三级:分为”PC技术”、 “信息管理技术”、”数据库技术”和”网络技术”四个类别。”PC技术”考核PC机硬件组成和Windows操作系统

7、的基础知识以及PC机使用、管理、维护和应用开发的基本技能;”信息管理技术”考核计算机信息管理应用基础知识及管理信息系统项目和办公自动化系统项目开发、维护的基本技能;”数据库技术”考核数据库系统基础知识及数据库应用系统项目开发和维护的基本技能;”网络技术”考核计算机网络基础知识及计算机网络应用系统开发和管理的基本技能。四级:四级网络工程师、四级数据库工程师和四级软件测试工程师、考核计算机专业基本知识以及计算机应用项目的分析设计、组织实施的基本技能。2、是否必须通过第一(二、三)级,才能报考第二(三、四)级考试?没有规定考生必须通过第一(二、三)级才能报考第二(三、四)级,考生可根据自己的实际情况

8、选考不同的等级,但一次考试只能报考一个等级。考生一次考试只能在一个考点报名。(五)考试成绩的计算 1、如何计算成绩?是否有合格证书?该考试笔试、上机考试实行百分制计分,笔试以百分制通知考生,上机以等级分数通知考生成绩。等级分数分为”不及格”、”及格”、”良好”、”优秀”四等。100-90分为”优秀”,89-80分为”良好”,79-60分为”及格”,59-0分为”不及格”。笔试和上机考试成绩均在”及格”以上者,由教育部考试中心发合格证书。笔试和上机考试成绩均为”优秀”的,合格证书上会注明”优秀”字样,证书上没有良好,按及格对待。(六)证书获得者应具备的能力1、证书获得者具备什么样的能力?可以胜任

9、什么工作? 一级证书表明持有人具有计算机的基础知识和初步应用能力,掌握字、表处理、电子表格和演示文稿等办公自动化(Office或WPS)软件的使用及因特网(Internet)应用的基本技能,具备从事机关、企事业单位文秘和办公信息计算机化工作的能力。二级证书表明持有人具有计算机基础知识和基本应用能力,能够使用计算机高级语言编写程序和调试程序,可以从事计算机程序的编制工作、初级计算机教学培训工作以及计算机企业的业务和营销工作。二、新视野教育计算机等级考试培训班问答1、全国计算机等级考试证书有有效期吗?绝对没有,等级考试证书是终身有效的,详情可以访问等级考试官方网站(或)。(全国计算机等级考试教育部

10、考试中心官方网站的回答原话是:“等级考试的证书是终身有效的,等级考试的大纲会在每2-3年更新一次,但更新并不影响以前证书的效力,因此有些人的等级考试证书2年左右就会失效的说法是不正确的。”)2、我没有参加一级考试,能参加二级考试吗?全国计算机等级考试分为一至四级,考生可以任意选择考试等级,不是非要先考一级再考二级。一般来说,一级主要适合社会在职人员考试,二级适合在校大学生考试,二级对大学生找工作也是最有用的。三级和四级可以作为进一步学习的考试。3、有的专业会开设相关课程,有必要参加培训吗?二级考试所考核的内容基本属于基础知识,早点学习可以早点打牢基础,以便于进一步学习计算机知识,从而在以后的竞

11、争中处于有利地位。学校虽然有些专业的相关课程和计算机等级考试有一定的联系,但都不具有针对性。而且新大纲推出后,不少内容只有计算机专业才开设有关联的课程,但也不具备针对性。新大纲推出后等级考试通过率再创新低,参加专业培训势在必行。4、什么时候参加二级考试比较合算?一般来说,大一大二时学习和通过计算机二级考试比较划算。大二时主要精力用来考英语四六级,大三时专业课比较紧张,大四已经到了找工作的时候。相对来说,大一同学求知欲强、时间精力充沛、易于接受新东西,是学习的黄金时段,如果能较早的掌握必备的计算机知识,如大一就过国家二级,并掌握一些相关应用知识,这样就在竞争激烈且残酷的当今社会占尽先机,无疑在今

12、后的学习中将以更为轻松的心态,更为充沛的精力从事于你所钟爱的事业中。5、二级考试可以有多种语言选择,为什么要选择C语言呢?C语言被誉为最有“钱”途的语言,具有广泛的用途,受到社会的热烈追捧,如Linux、Unix操作系统均由C语言编写,Windows操作系统也有90的代码由C语言编写。C语言语法和C+、Java、C#等类似,可以方便进一步学习。在许多计算机考试中,C语言是必考内容,甚至是唯一考核内容,如计算机三级、四级的上机考核部分,程序员、高级程序员的下午试卷等。6、二级考试什么时候报名?什么时候参加考试?二级考试每年考两次,分别在上半年的4月份顺数第二个周六和下半年的9月份倒数第二个周六。

13、一般上半年4月份考试的报名时间从前一年11月中旬到第二年1月中旬均可。下半年9月份考试的报名时间一般从5月底到7月底。而一般在报名考试之前相关知识必须已经学得差不多了,因此,如果参加4月份的考试必须在下半年101月份学习,然后在寒假之后考前短暂的时间进行适当强化即可参加考试。参加9月份的考试必须在上半年36月份学习,然后在暑假之后考前短暂的时间进行适当强化即可参加考试。7、参加培训是否会影响到我们的正常上课?我们的授课时间均选在业余时间,不会与学校的正常教学产生冲突。8、二级(C语言)考试的考试内容是什么?根据新大纲的要求,二级(C语言)考试分为理论考试和上机考试两部分,必须都通过考试才能算合

14、格。考试内容分为C语言程序设计(顺序结构、选择结构、循环结构、函数、指针、数组、字符串、编译预处理、作用域、结构体、共用体、文件等)和公共基础(数据结构、程序设计、软件工程和数据库)。9、新视野IT培训有何特色?本中心和很多高校的网络中心、计算机学院、现代教育中心有合作关系,立足于在校大学生,弥补学校教育的不足,相辅相成。除主要培训最有“钱”途的语言C语言外,还注重引导学员,并向学员介绍国内外IT业发展的各种动态和发展趋势、社会上对IT人才各种需求信息等,力争让学员经过培训后有明确的学习目标,并掌握一套行之有效的方法,能举一反三,独立的走自己的道路。10、我没有计算机基础,可以参加培训吗?可以

15、,无需任何基础知识,完全从零开始,即使从来没有接触过计算机,也能够学好!11、大几参加培训比较好?一般大学的规划是:“大一通过计算机二级、大二通过英语四六级、大三专业课及考研、大四找工作及实践”,因此,一般大一最好,尤其是如果大一上学期参加学习准备考试,那么下学期4月份就可以参加考试了,如果大一下学期准备考试的话,那么要等到大二9月份才能考试,而大二已经开始准备英语四六级等其他事宜了。所以大一上学期学习等级考试最好,而且刚进大学,时间精力充沛,进取心强,是学习的黄金时段。二 教学重点,难点分析1. C语言概述知识点所占分值考核几率专家点评C语言概述0-1分 20%简单识记C语言程序的

16、构成0-1分 30%简单识记标识符1-2分  60%简单,属重点识记知识点常量1-2分   80%简单,属重点识记知识点变量2-3分100% 难度适中,重点理解重点掌握注意:从几年的试题分析看C语言的概述和程序的构成合起来考试已经是一个惯例了。2. 运算符与表达式知识点所占分值考核几率 专家点评C运算符简介0-1分 10%简单识记运算符的结合和优先级0-1分60%简单识记强制类型转换运算符0-1分30%简单识记逗号运算符和逗号表达式0-1分40%简单,属重点识记知识点基本的算术运算符1-2分100%简单,

17、属重点识记知识点算术表达式和运算符的1-2分100%难度适中,重点理解重点掌握优先级与结合、自增自减运算符2-3分100%难度适中,重点理解重点掌握赋值运算符和赋值表达式2-4分100%简单,重点掌握重点理解复合的赋值运算符1-2分80%偏难,不是重点赋值运算中的类型转换0-1分75%偏难,不是重点位运算符和位运算0-1分80%偏难,属重点识记知识点三 教学讲点1. C语言的基本构成和格式#include “stdio.h”main() int a,b,sum;/* 定义变量*/ a=10; /*把整数10赋值给变量a*/ b=20; /*把整数20赋值给变量b*/ sum=a+b; /*把两

18、数之和赋值给变量 sum*/ printf(“a=%d,b=%d,sum=%dn”,a,b,sum);/*输出计算结果*/(1).C程序由函数组成,一个程序必须且只能有一个主函数(main(),C程序总是从主函数开始执行,在主函数中结束。(2).定义函数时函数名后必须有一对小括号,函数体必须放在一对花括号内,在函数体中,函数体有两个部分:定义部分和执行部分。定义语句必须出现在执行语句之前,我们先定义了a,b,sum,然后才给它们赋值。(3).C语言中每条语句都以分号“;”结束,分号时C语句的一部分。即使是程序的最后一个语句也不例外。分号是语句结束的标志。(4). 一行可以写多条语句,一条语句也

19、可以分在多行上写,但是,不能将一个整体分开。 例如:i nt 是错误的,而int正确。(5). C语言的注释必须放在“/*”和“*/”之间,“/”和“*”之间不允许有空格。“/*”和“*/”之间不允许再插入“/*”或“*/”。注释可以出现在程序中的任意位置。注释部分不被执行。(6).C语言程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。但是过于“自由”的程序书写格式往往使人们很难读懂程序,初学者应该从一开始就养成好的习惯,是程序便于阅读。2. 标识符(1) 标识符只能由字母、数字和下划线组成。(2) 标识符的第一个字符必须是字母或下划线。(3) 标识符的大小写字母是有区别的,

20、如abc和ABC是两个完全不同的标识符。 (3) 标识符的分类:关键字:关键字是具有特定的含义的、专门用来说明C语言特定成分的一类标识符。详细的查阅附录二。预定义标识符:在C语言中它也有特定的含义。预定义标识符可以用位“用户表标识符”使用,只是这将使这些标识符失去了原来的意义。用户标识符:由用户根据需要定义的标识符被成为用户标识符。用户标示符用来给变量、函数、数组或者指针等命名。3. C语言的数据类型3.1数据可以分为常量和变量。常量是指在程序执行中不变的量,常量分为:整型常数、实型常数、字符常量、字符串常量。整型数据:进制间的转换3.11.二、八、十六进制转为十进制规则:“按权相加”3.12

21、.十进制转为二、八、十六进制规则:整数部分:基数除取余,逆序排列小数部分:基数乘取整,顺序排列3.13.二进制转为八、十六进制规则:三(四)合一,按序相拼(整数部分,从右向左取,小数部分从左向右取,位数不足补零)。3.14.八、十六进制转为二进制规则:一分三(四),按序相拼3.2整型数据在内存中的存放形式1字节8位,1Byte8bit字长:指CPU能同时处理的二进制位数。由CPU的型号而定。如:16位微机的字长就是16位或2字节。1GB=1024MB,1MB=1024KB,1KB=1024BB:表示字节,字节是表示存储容量的最小单位。位(bit):是计算机中信息表示的最小单位。3.21.正整数

22、在内存中用“原码”形式存放。(直接转换为二进制即可)。如:5 0000000000000101二字节能存放的最大数是:327670111111111111111对带符号数,最高位是符号位,用0表示正,用1表示负。3.22.负整数在内存中用“补码”形式存放。取补码的步骤:(1)忽略负号,求出原码。(2)将原码按位取反(0 、1 互换)。(3)在第二步的基础上加1。如:取-5的补码。(1)0000000000000101(2)1111111111111010(3)1111111111111011将补码转换成相应的整数的步骤:(1)将补码按位取反加1。(2)将步骤1得到的二进制数转换成十进制数,然后

23、加上负号即可。例如:1000000000000000按位取反加10111111111111111 1 1000000000000000转换成十进制:1×21532768 加负号:-32768几个特殊的带符号整数:1000000000000000 -327680111111111111111 327671111111111111111 -13.23.无符号整数:只有正整数,没有负整数,最高位不表示符号位,每一位均参与转换。二进制带符号整数无符号整数1111111111111111-1655351000000000000000-3276832768例2-12:若有:int a=-1; u

24、nsigned b=65535;则printf(“%d,%u,%d,%u”,a,a,b,b); 输出结果是:-1,65535,-1,65535数据益出问题:例2-13:若有int a=32767;则a=a+1的结果是:-32768例2-14:若有unsigned b=65536;则b的值是:0分析:32767:01111111111111111 +1100000000000000将100000000000000按照带符号数转为十进制为-3276865535:1111111111111111+11111111111111111+11000000000000000065536unsigned b=

25、655536;而b属于无符号整型,在内存中只占两字节,所以只能包括16位。 标准C没有具体要求规定各类型数据所占内存的字节数, 现以这次考试标准viusal c+6.0为例,说明各类型变量所占的位数。 类型所占位数所占字节数类型所占位数所占字节数short162unsigned int  324int 324unsigned long 324long324float 324unsigned short162double 64 83.3实型数据(浮点数)3.31.实型常量(1)

26、小数形式:由数字和小数点组成,必须有小数点,小数点的某一侧可以没有数字。如:.23 ,123.876 ,123. (2)指数形式:用“e”或“E”后接一个整数,表示以10为底的幂数。注意: “e”或“E”之前之后必须有数字,且之后的数字必须是整数。他们和前后的数字之间不能有空格。例如:例2-15:下列合法的常量是( )。A.-32169 B.0128 C.0XDEFG D.13E0.5例2-16:下列合法的实型常量是()。(A) 0Xff (B)124E (C) 1.23E5.0 (D) 3.E2 (E) 1.25E+2 (F).23e+02 3.32.实型变量单精度型 float 占 4 字

27、节双精度型 double 占 8 字节长双精度 long double 占 16字节(较少用)4. 表达式与运算符4.1算术运算符及其表达式:+ - * / %:(求余运算)注意:(1)%两边必须是整型数据。12.0%3 表达式是错误的。(2)求余(%)的方法是:忽略符号,求出余数,再将所得余数的符号定为与被除数相同。 例如:17%3 结果是:217%-3 结果是:2,-17%3 结果是:-2,-17%-3 结果是:-24.2强制类型转换强制类型表达式:(类型名)表达式注意:类型名(表达式)这种形式是C+的强制类型表达方式。5.赋值运算符及其表达式5.1.赋值运算符 = 格式:变量名=表达式功

28、能:将表达式的值赋给左边的变量。注:(1)赋值运算符左边只能是一个变量,不能是常量,也不能是表达式。a+b=3 4=3 是非法的表达式a=6 a+(b=3) 都是合法的表达式a=b=20 a=(b=10)/(c=2) 都是合法的表达式(2)实型数据赋给整型变量时,小数部分被舍去,整型数据赋给实型变量时,系统自动将整型数据转换为实型数据。例如:float a; int b;表达式a=10%3 的值是1.0表达式b=a=10%3的值是15.2.复合赋值运算符及其表达式:+= -= *= /= %= &= |= = >>= <<=例如:a+=3 相当于a=a+3,a/

29、=b+4 相当a/=(b+4) 或a=a/(b+4)例:若a=12,则执行表达式a+=a-=a+a后a的值是多少?分析:a+=a-=(a+a) /*a的值是12*/a+=a-=24 /*a的值是12*/a+=a=a-24 /*a的值是12*/a+=a=-12 /*a的值是12*/a+=-12 /*a的值是-12*/a=a+(-12) /*a的值是-12*/a=-24 /*a的值是-24*/5.3.自增、自减运算符及其表达式+ - 注意:(1)只能用于变量,不能用于常量和表达式。如:6+ (a+b)- 都是错误的。(2)当它们用于变量名前时,表达式的值为变量的值加一或减一。当位于变量名后时,表达

30、式的值为变量原来的值。不论位于变量名前还是变量名后,只要进行了自增、自减运算,变量的值都会在原来的基础上加1或减1。如:a=3 则 a+ 表达式的值是3 运算之后变量的值是 4a=3 则 +a 表达式的值是 4之后变量的值是 4a=3 则 a- 表达式的值是3 之后变量的值是 2a=3 则 -a 表达式的值是2 之后变量的值是 2(3)口诀: j=i+;这个表达式是先引用后增值。即:先把i的初始值给变量j,然后 i再自加1。 j=+i;这歌表达式是先增值后引用。即:i先自加1,然后再将我们自加后的值赋值给变量 j。 但是记住它们是一起执行的,就是说:例如j=i+先引用后增值实际上是一

31、起执行的,它们之间不存在先后关系,我们只是位了好记才用到了上面的方法。老师在上课的时候先不要说,但是你们必须知道。j=i-,j=-i和上面j=i+,j=+i的方法是一样。5.4逗号运算符及其表达式1.格式:表达式1,表达式2,表达式n注意:1.逗号表达式的值是整个逗号表达式中最后一个表达式的值。2.求值顺序是从左到右依次求解。例如:a(3,b1)的值是1 运算结束后a的值是1, b的值是 1。 第二章 顺序结构一教学重点、难点知识点所占分值考核几率专家点评C语句分类0-130% 简单识记字符输出函数putchar()1-270%难度适中,重点掌握字符输入函数getchar()1-27

32、0%难度适中,重点掌握格式输入函数printf() 3-4100%难度适中,重点理解重点掌握格式输出函数scanf()3-4100%难度适中,重点理解重点掌握二教学内容1.语句 C语句共分为5类:1.1控制语句1.2函数调用语句:printf(“this is a c statement”);1.3表达式语句每一个合法的表达式后加上分号(;)就构成了表达式语句。+a;i+j;语句和表达式的区别:表达式有唯一确定的值,而语句没有值。1.4赋值语句格式:赋值表达式;i=1,j2是逗号表达式i=1; j2;是两条赋值语句i+; i-;+i;-i;都是赋值语句等价于ii+1;或i=i-1;1

33、.5空语句:只有一个单独的分号构成的语句。如: ;就是一条空语句。1.6复合语句:用一对将若干语句括起来构成一条复合语句。2.输入输出语句在使用库函数时必须先用预编译命令#include<头文件名> 或 #include“头文件名”将相应的头文件包含到源程序中。如:#include<stdio.h> 2.1.printf()函数格式:printf(“格式控制”,输出列表);功能:按格式控制指定的格式输出数据。注意:格式控制包括以开头的“格式说明符”和原样输出的普通字符。如:printf(“ad,a+bd”,30,4+7);输出结果是:a30,a+b11(1)d格式d:按

34、实际长度输出十进制整数。md:输出占m列,若小于m列,左边补空格,若大于m列,按实际输出。-md:输出占m列,若小于m列,右边补空格,若大于m列,按实际输出。ld:输出长整型数据,输入输出长整型数据时必须用该格式。例如:printf(“%d,%6d,%-6d,%ld”,386,1234,3456,12345L);输出结果:386, 1234,3456 ,12345printf(“%2d”,12345);输出结果:12345(2)u格式 u:以无符号十进制形式输出整数。printf(“%u”,-1); 65535ptintf(“%u”,-32768);32768(3)o格式o:以无符号八进制形式

35、输出整数,不输出前导符0。printf(“%d,%o”,-1,-1); -1,177777(4)x或X格式x或X以无符号十六进制形式输出整数。不输出前导符0x或0X,小写对小写,大写对大写。printf(“%d,%x,%X,%x”,-1,-1,0xabc,0XAbc);-1,ffff,ABC,abc注:若要输出十六进制和八进制的前导符,则要用o和x、X格式。printf(“%#o,%#x,%#X”,-1,-1,0xaBc);0177777,0xffff,0XABC(5)c格式c用来输出一个字符,不输出单引号定界符。c和d可以相互转换。printf(“%c,%d”,a,a); a,97print

36、f(“%c,%d”,100,100); d,100(6)s格式用来输出一个字符串,不输出双引号和字符串结束符。s:输出字符串的有效字符。printf(“%s”,”china0yunnan”); china%ms:输出占m列,若小于m列,左边补空格,大于m列,按实际输出。printf(“%5s,%-5s,%2s”,”swfc”,”swfc”,”swfc”); swfc,swfc ,swfc%m.ns:输出占m列,只输出字符串的左n个字符到m列的右端。如:printf(“%7.5s”,”yunnan”); yunna(7)f格式:按小数形式输出实型数据。f:默认输出6位小数。如:printf(“%

37、f,%f”,543.12,5.4312e+2);543.120000,543.120000%m.nf:输出占m列,其中有n位小数。若超过m列,确保n位小数后按实际输出。注意四舍五入问题。如:printf(“%7.3f,%-7.3f,%4.2f”,3.1415726,3.1415926,314.5926);3.142,3.142 ,314.59(8)e格式以指数形式输出一个实数。小数点前只有一位非零数,5位小数,3位指数。如:printf(“%e,%e”,123.4,123.45e-7);234000e+002,1.234500e-005(9)g格式自动在f和e中选择较短的一种输出,对于小数部分

38、不输出无意义的0。如:printf(“%g,%g”,123.45,123.45e-2);123.45,1.2345printf(“%g”,123000000.0);23e+08小结:(1)表示输出一个。如:printf(“%d=%d”,10,10);%d=10(2)除了x,e,g大小写均可外,其它都只能小写。如:printf(“%d=%D”,20,20);20=%D(3)输出格式说明符所能操作的数据类型必须与输出项的类型一致。如:printf(“%d”,1.234);/*出错*/2.2. scanf()函数格式:scanf(“格式控制”,地址列表);注意:(1)可指定数据所占的列数,输入后由系

39、统自动截取相应的位数。如:scanf(“%3d%2d”,&a,&b);若输入:3863018则:a的值是:386b的值是:30若输入:3863 a的值是:386b的值是:3scanf(“%3c%2d”,&ch,&c);若输入:3863018则: ch的值是:3b的值是:30(2)*md:表示跳过m列不读。如:scanf(“%*3d%3d%4d”,&a,&b);若输入:123456则:a的值是:456b的值是:原来的值。(3)不能在scanf()函数中指定输入数据的小数位数。如:scanf(“%7.5f”,&a);/*出错*/在scanf(

40、)函数中,输入时普通字符原样输入。如:scanf(“a=%d,b=%d”,&a,&b);若要给a赋值5,b赋值10,正确的输入是:a5,b10scanf(“%d*,%d#,%d”,&a,&b,&c);若要让a,b,c分别得到1,2,3,正确的输入是:1*,2#,3<回车>若两个格式说明符之间没有其它字符,则在输入数据时,两数据之间要用回车或空格分隔,回车或空格可以是多个。但是,c格式除外。如:scanf(“%d%d”,&a,&b);若想让a的值为5,b的值为10。则正确的输入是:5 空格10<回车> 或 5<

41、回车> 10<回车>或5空格 空格 空格10<回车>(6)多个%c格式之间没有其它字符,仍然不能用回车或空格来分隔。如:scanf(“%c%c%c”,&a,&b,&c);若输入:a空格b空格c<回车>a的值是a,b的值是空格,c的值是b。(7)格式说明符所能操作的数据类型必须与对应变量的类型相同。如:int a; scanf(“%f”,&a); /*出错*/总结:1.普通字符原样输入,原样输出。2.对于d格式,指定宽度小于输出宽度,原样输出。3.#o,#x,#X表示要输出八进制的前导符数字0,和十六进制的前导符0x,0X

42、。4.x,X格式,小写对小写,大写对大写。5.*md:表示跳过相应的输入项。6.注意进制间的转换,以及无符号数和带符号数之间的转换。7.在scanf()函数中,给double类型变量输入数据时,应该使用lf类型说明符,而输出时,可以用lf,也可以用lf。第三章 选择结构一教学重点、难点知识点所占分值考核几率专家点评关系运算符及优先次序0-140% 简单识记关系表达式0-150%简单,属重点识记知识点逻辑运算符及优先级1-250%简单识记逻辑表达式1-250%简单,属重点识记知识点if语句的几种形式1-2100%简单识记if语句的嵌套1-2 100%难度适中,重点掌握条件运算

43、符0-1100%难度适中,重点掌握switch语句2-4100%简单,重点掌握重点理解语句标号0-110%偏难,不是重点goto1-210%简单识记二教学内容1.关系运算与逻辑运算1.1逻辑值真(非零值) 假(零)1.2关系运算符及其表达式< <= > >= = !=关系运算符优先级别低于算术运算符,高于赋值运算符。( < <= > >=)优先级别高于(= !=)如:a>b+c 等价于a>(b+c)a=b<c等价于a=(b<c)a=b<c等价于a=(b<c)4=4 表达式的值为“真”。44 表达式不合法关系表达

44、式的值只有1和0,其中1表示“真”,0表示“假”。1.3逻辑运算符及其表达式&& 逻辑“与” | 逻辑“或” !逻辑“非”优先级别:! && |运算规则:逻辑&&:遇假则假逻辑|:遇真则真逻辑!:真假互换逻辑表达式的值:1(真)、0(假)例如:3>4 结果是:03&&4结果是:1!3&&4结果是:00|3结果是:1注意:在求解逻辑与(&&)表达式时,若&&运算符左边表达式的值为0(假),则不再进行&&右边表达式的运算,且将整个&&表达式的值定为0

45、;在求解逻辑或(|)表达式时,若|左边表达式的值为非0值(真),则不再进行|右边表达式的运算,且将整个逻辑|表达式的值定为1(真)。2.if语句2.1if语句格式:1) if(表达式) 2)if(表达式) 语句1; 语句1; else 语句2; 称为:全if 单if注意:(1)if 后的表达式必须用()括起,else后没有表达式。(2)if和else都只能控制紧跟它的一条语句,若要控制多条语句,必须用一对括起构成一条复合语句。2.2执行方式:2.21 if语句的执行方式:首先判断表达式的值是否为“真”,若“真”,则执行语句部分。如果表达式的值为“假”,则“跳过”语句部分执行if语句后面的其它语

46、句。2.22 if-else语句的执行方式:首先判断表达式的值是否为“真”,若“真”,则执行语句部分。如果表达式的值为“假”,则执行else语句后面的语句。例1:main()int m=5; if(m+>5) printf(“m=%d”,m); else printf(“m=%d”,m-);例2:main()int m=5; if(+m>5) printf(“m=%d”,m); else printf(“m=%dn”,m-); printf(“m=%d”,m); 2.3 if 语句的嵌套if(表达式1) if(表达式2) 语句1; else 语句2;else if(表达式3) 语句

47、3; else 语句4;else总是与前面最近的且未配对的if语句配对,组成一对if-else语句。if(表达式1) if(表达式2) 语句1;else if(表达式3) 语句2; else 语句3;第一个else语句有的同学会把它误以为和第一个if配对,但是实际的情况是和第二个if语句配对,即: if(表达式1) if(表达式2) 语句1;else if(表达式3) 语句2; else 语句3;例1请分析下列程序的输出结果。main() int s,t,a,b; sanf(“%d%d”,&a,&b); s=1;t=1; if(a>0) s=s+1;if(a>b)

48、t=s+1; else if(a=b) t=s;else t=2*s;printf(“%dn”,t);若运行时输入5 10 回车,则程序的执行结果是?main() int s,t,a,b; sanf(“%d%d”,&a,&b); s=1;t=1; if(a>0) s=s+1;if(a>b) t=s+1; else if(a=b) t=s;else t=2*s;printf(“%dn”,t);若运行时输入5 10 回车,则输出结果是?例2分析下列程序的输出结果main() int a=4,b=3,c=5,t=0; if(a<b) t=a;a=b;b=t; if(

49、a<c) t=a;a=c;c=t; printf(“%d %d %dn”,a,b,c);main() int a=4,b=3,c=5,t=0; if(a<b) t=a;a=b;b=t; if(a<c) t=a;a=c;c=t; printf(“%d %d %dn”,a,b,c);联想交换的思想:若要交换a和b的值,通常的做法是:t=a;a=b;b=t;3.条件运算符和条件表达式条件运算符:? :是唯一一个三目运算符。优先级别高于赋值运算,结合方向自右向左。格式:表达式1 ?表达式2 :表达式3执行方式:先求“表达式1”的值,若其值为“真”,求出“表达式2”的值作为整个条件表达

50、式的值;若其值为“假”,求出“表达式3”的值作为整个表达式的值。例如:max=a>b?a:b;相当于:if(a>b) max=a; else max=b; a>b?a:c>d?c:d 相当于a>b?a:(c>d?c:d)注意:表达式1、2、3的值不要求具有相同的类型,最后结果的类型为表达式2、3中较高类型的一种。如:(x=6)>(y=5)?1:1.5 表达式的值是 1.0而不是1。4.switch语句格式:switch(表达式) case 常量表达式1:语句1;break; case 常量表达式2:语句2;break; case 常量表达式n:语句n;

51、break;default :语句n+1;break;说明:(1) switch、case、default、break都是关键字。花括号里面的语句叫做switch语句体。Switch语句体中可以没有break语句和default部分。(2) Switch语句的圆括号中表达式的值必须是整型或是字符型,不能为实型。case后的表达式可以是求得整型量的常量表达式,但是常量表达式中不能含有变量。(3) 执行Switch语句时,首先计算Switch后圆括号的表达式的值,然后将这个值与语句体中case后的常量表达式的值相比较,如果某个常量表达式的值与之相等,则执行该case后的语句块;如果没有任何一个常量

52、表达式的值与之相等,则执行default后的语句块。(4) 在执行的时候如果遇到break语句,则跳出switch语句。如果执行完一个case或者default语句块后没有遇到break,则继续顺序往下执行,知道遇到break语句或者语句体被执行完毕为止。(5) default最多只能有一个,通常出现在switch语句的最后部分,但也可以出现在case之间或所有的case之前。第四章 循环结构一教学重点、难点知识点所占分值 考核几率专家点评while语句2-3100%重点理解重点掌握do.while语句2-3100%重点理解重点掌握for语句5-7100%重点理解重点掌握循环嵌套4-

53、6 100%重点理解重点掌握循环比较0-120%简单识记break语句2-370% 难度适中,重点掌握continue语句2-350%难度适中,重点掌握注意:循环在这一章中的知识点比较少,但是它贯穿了整个的C语言的章节中,老师在教学中一定要把它它当做重点中的重点来抓!二教学内容 1.while语句格式: while(表达式)循环体语句注意:1.1.while是C语言的关键字。1.2.while后必须有小括号将表达式括起,里面的表达式是C语言中任意的表达式,作用是控制循环。其值为“真”(非0)则执行循环体语句,否则跳出while循环。1.3.while语句也只能控制紧跟它的一条语句。若需要控制多条语句,必须用括起,构成一条复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论