




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黑龙江计算机等级考试网 内部资料0804二级C语言知识点汇总1、c语言程序的构成和格式 0704X15(1)C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。(2)一个函数由两部分组成(3)一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)每个语句和数据定义的最后必须有一个分号。(6)C语言本身没有输出语句。输入和输出的操作是有库函数scanf和printf等函数来完成的。(7)可以用/*/对C程序中的任何部分作注释。2、标识符、常量和变量 0704X13 0709X12(1)标识符1)关键字:在程序中都代表着固定的含义,不能另作他用2)预定义标识符:在程序中预先定义并具有特定含义的标识符,并且允许把它重新定义另作他用,但会失去原有的意义。3)用户标识符:由用户根据需要定义的标识符。(2)常量:在程序运行过程中,其值不能被改变的量。符号常量:用标示符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量(3)变量:在程序运行过程中,其值可以改变的量称为变量。变量名和变量值变量名 每个变量都必须有一个名字变量名,变量命名遵循标识符命名规则。定义变量名:C语言规定标识符只能由字母、数字、下划线三种字符组成,且第一个字符必须是字母或下划线。注意:大写字母和小写字母被认为是两个不同的字符。sum和SUM是两个不同的变量名。C语言规定:对所有用到的变量要“先定义,后使用”。a)凡未被事先定义的,不作为变量名。b)每一个变量被指定为一确定类型3、整型数据 0704X13整型常量的表示方法C整常数有三种表示方法:(1)十进制整数。如123,0.,56(2)八进制整数。以0开头的数是八进制。 如0123表示八进制123。 (3)十六进制整数。以0x开头的数是十六进制数。如0x123 整型变量a)整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。b)整型变量的分类基本整型,以int 表示 值的范围是 -215-(215- 1)即-3276832767短整型, 以short int 表示,或以short表示长整型, 以long int 表示,或以 long 表示。以上三类都可以加上修饰符unsigned,以指定是“无符号数”。如果加上修饰符signed,则指定是“有符号数”。如果缺省,则隐含为有符号(signed)。类 型占位数的范围signed int32-2147483648-2147483647-231-(231-1)Unsigned int320-42949672950-(232-1)signedshort int16-32768-32767-215-(215-1)Unsigned short int160-655350-(216-1)Long int32-2147483648-2147483647-231-(231-1)Unsigned long int320-42949672950-(232-1)整型常量的类型一个整常量后面加一个字母u或U,认为是unsigned int型,如12345u,在一个整常量后面加一个字母l或L,则认为是long int型常量。 4、实型数据 0704X13实型常量的表示方法:实数又称为浮点数,有两种表示形式:(a)十进制小数形式:由数字和小数点组成(注意必须有小数点)。如:123、123、1230、00。(b)指数形式:注意字母e或E之前必须有数字,且e后面的指数必须为整数。如123e3代表123103。规范化的指数形式:字母e或E之前的小数部分中,小数点左边应有一位(且只有一位)非零的数字。如2.345E2,而23.45E1不是,一个实数在用指数形式输出时,是按照规范化的指数形式输出return(z); 浮点型变量a)实型数据在内存中的存放形式:一个实型数据一般在内存中占4个字节(32位)。按照 指数形式存储,分为小数部分和指数部分b)实型变量的分类:C实型变量分为单精度(float型)和双精度型(double型)两类。类型比特数有效数字数值范围float326-7-10381038double6515-16-10308103085、算术运算符和算术表达式基本的算术运算符+ - * / %说明:(1)如果双目运算符两边运算数的类型一致,则所得到的结果类型与运算数的类型一致。(2)如果双目运算符两边运算数的类型不一致,系统将自动进行类型转换,使运算符两边类型达到一致后,再进行运算。(3)所有实型数的运算均以双精度方式进行。强制类型转换强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。在使用强制转换时应注意以下问题:(1)类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。(2)无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。6、赋值运算符和赋值表达式 0704X17在c语言中,赋值号“=”是一个运算符,称为赋值运算符,赋值表达式形式如下:变量名=表达式说明:(1)赋值运算符的优先级只高于逗号运算符,且结合性是从右向左。(2)赋值运算符不同于数学中的“等于号”。 (3)赋值运算符左侧只能是变量,不能是常量或表达式赋值运算中的类型转换-自动转换自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:(1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算(2)转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。(3)char型和short型参与运算时,必须先转换成int型。(4)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。7、自加、自减运算符 0704X18使变量的值增1或减1 ,如:+I, -I (在使用I之前,先使I 的值加(减)1)l+ , I- - (在使用I之后,使I的值加(减)1)8、数据输出-printf函数 0704X19Printf函数是C语言提供的标准输出函数,它的作用是在终端设备(或系统隐含指定的输出设备)上按指定格式进行输出. printf函数的一般调用形式如下: printf(格式控制,输出项表)注意:在VC6.0环境下,再调用输出的库函数之前要求在源程序中出现包含头文件stdio.h的命令行:#include如果在printf函数调用之后加上” ; ”,就构成了输出语句.例如: printf(“a=%d,b=%d”,a,b);其中printf是函数名;在圆括号中用双引号括起来的字符串,如”a=%d,b=%d”称为格式控制串;a,b是输出项表中的输出项,它们都是printf函数的参数.printf函数中常用的格式说明1.格式字符c输出一个字符d或i输出带符号的十进制整型数,%ld为长整型o以八进制格式输出整型数X或x以十六进制格式输出整型数u以无符号十进制形式输出整型数f以带小数点的数学形式输出浮点数E或e以指数形式输出浮点数G或g由系统决定采用%f格式还是采用%e格式输出,以使输出宽度最小s输出一个字符串,直到遇到“0”p输出变量的内存地址%也就是%形式,输出一个%2.长度修饰符 (在%和格式字符之间)如:长整型数要加l (long)3.输出数据所占的宽度1)在%与格式字符之间插入一个整数,指定输出宽度。说明:a.指定输出的宽度不够,不影响输出(原样输出)b.指定的输出宽度大于数据实际所需,则数据右对齐,左边补以空格.2) 对于float或double类型的实型数,可用“m.n”的形式在指定宽度的同时指定小数的位数.“m”用以指定输出数据总的所占宽度,“n”表示精度(对于e,E或f,“n”用以指定输出数据小数位所占位数。) 说明: a,当输出数据的小数位多于n指定的宽度时,截去右边多余的小数,并对截去的第一位小数做四舍五入处理; b.当输出数据的小数位数少于“n”指定的宽度时,在小数的最右边添0。c.当输出数据所占的宽度大于“m”指定的宽度时,小数位仍按上述规则处理,整数部分并不丢失。d 另外,也可用“.整数2”的形式。此时输出数据宽度有系统决定。%.0则不输出小数点和小数部分 e 对于整数,则是用来指定必须输出的数字个数。f 对于字符串用来指定最多输出的字符个数注意 :输出数据的实际精度并不取决于格式控制中的域宽和小数的位宽,而是取决于数据在计算机内的存储精度。如系统对float类型的数据提供7位有效数字。4.输出数据左对齐在宽度前加一个“-”号可实现数据左对齐5.使输出的数字总是带有+号或-号可以在%和格式字符间(或指定的输出宽度前)加上一个“+”号实现。6. 在输出的数据前加前导07. 在输出的8进制数前添加0,在输出的16进制数前添加0x调用printf函数时的注意事项1.格式说明与输出项从左到右类型要一一匹配.如不匹配,系统不报错,数据错误.(特别提醒) 2.在格式控制串中,格式说明与输出项的个数应匹配.3.在格式控制串中,除了合法的格式说明外,可以包含任意字符(“原样照印”)4.如果需要输出百分号%,则应该在格式控制串中用两个连续的百分号%来表示.5.在输出语句中改变输出变量的值,如:i=5,printf(“%d%dn”,i, i+);则不能保证先输出i的值,然后再求i+,并输出. 6.printf函数的返回值通常是本次调用中输出字符的个数.9、输出输入-scanf函数 0704X16 0709T06Scanf函数的一般形式:scanf(格式控制,输入项表);scanf格式说明c输入一个字符d输入带符号的十进制整型数,%ld为长整型o以八进制格式输入整型数x以十六进制格式输入整型数u以无符号十进制形式输入整型数f(lf)以带小数点的数学形式输入浮点数e(le)以指数形式输入浮点数s输入一个字符串,直到遇到“0”(1)在格式控制中,格式说明的类型和输入项的类型,应该一一对应匹配。如果类型不匹配,系统并不给出出错信息,但不可能得到正确的数据。(2)在scanf函数中的格式字符前可以用一个整数指定输入数据所占宽度。但不可以对实型数指定小数位的宽度。(3)在格式控制串中,格式说明的个数应该与输入项的个数相同。多余的数据项并没从终端接受新的数据;若格式说明的个数多于输入项的个数时,scanf函数同样也结束输入。(4)当输入的数据少于输入项时,程序等待输入,直到满足要求为止。当输入的数据多于输入项时,多余的数据并不消失,而是留作下一个输入操作时的输入数据从键盘中输入数据1)输入数值数据:输入的数值之间可以用间隔符隔开(空格 制表,回车)2)如果在%后有一个“*”,表示跳过它指定的列数。3)在格式控制串中可以插入其他字符如提示语句 标点符号等使用scanf函数应该注意的问题(1)scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。如 scanf(“%d%d”, x, y); 是错误的(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置输入与这些字符相同的字符(3)在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入:(4)在输入数据时,遇以下情况时该数据认为结束:1)遇空格,或按“回车”或“跳格”键2)按指定的宽度结束,如“%3d”只取3列3)遇非法输入 如scanf(“%d%c%f”, &x, &y,&z);10、复合语句和空语句复合语句复合语句使用“”和“”括起来的语句组,语法上被视为一条语句。空语句空语句由一个分号构成,但它是一个c语句,程序执行空语句时不产生任何操作,但不正确地使用分号,会使程序产生错误的运行结果。11、关系运算和逻辑运算 0704X21关系运算符所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。C语言提供6种关系运算符 、 、 = 、 = = 、 !=关系优先次序 1)前四种关系运算符相同,后两种也相同 2)关系运算符优先级低于算术运算符 3)关系运算符的优先级高于赋值运算符关系表达式定义:用关系运算符将两个表达式连接起来的式子。关系表达式的值是一个逻辑值,“真”或“假”。以1代表“真”,以0代表“假”逻辑运算符及其优先次序&逻辑与(相当于其他语言中的and)|逻辑或(相当于其他语言中的OR)!逻辑非(相当于其他语言中的NOT)。 “&”和“|”双目(元)运算符“,它要求有两个运算量(操作数),如(ab)&(xy),(ab)|(xy)。 “!”是“一目运算符”,只要求有一个运算量。逻辑表达式判断一个量是否为“真”,以代表“假”,以非代表“真”。注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。12、if语句 0704X20 0704X40 0709X21 0709T07定义:if语句是用来判定所给定的条件是否 成立, 根据判定的结果(真或假)决定执行给出的两种操作之一。形式:1 if(表达式)语句2 if(表达式)语句 else语句3 if(表达式)语句 else if (表达式)语句 else if(表达式) 语句 else if(表达式m ) 语句m else 语句n说明:1)三种形式的if语句中在if后面都有“表达式”,一般为逻辑表达式或关系表达式。2)第二、三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。3)在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“”将几个语句括起来成为一个复合语句。if 语句的嵌套一般形式:if ( ) if ( ) 语句 else 语句else if ( ) 语句 else 语句条件运算符若if 语句中,在表达式为“真”和“假”时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。条件表达式的一般形式为:表达式?表达式:表达式?运算符?:唯一的三目运算符说明:(1)条件运算符的执行顺序:先求解表达式,若为非(真)则求解表达式,此时表达式的值就作为整个条件表达式的值。若表达式的值为(假),则求解表达式,表达式的值就是整个条件表达式的值。(2)条件运算符优先于赋值运算符,因此上面赋值表达式的求解过程是先求解条件表达式,再将他的值赋给(3)条件运算符的结合方向为“自右至 左”。(4)条件表达式中,表达式的类型可以与表达式和表达式的类型不同13、switch语句与选择结构 0704X23 0704T09switch语句的一般形式:switch(表达式) case 常量表达式1:语句组;break; case 常量表达式2:语句组;break; . case 常量表达式n:语句组;break; default:语句组;break; 说明:1)switch 是关键字,switch后的称为是switch语句体2)其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。3)关键字case 与常量表达式后必须有空格4)必要时语句可以省略不写和下一语句结构相同5)Default 的位置可以在任何位置,最后执行执行过程:(1)当switch后面“表达式”的值,与某个case后面的“常量表达式”的值相同时,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执行switch语句的下一条。(2)如果没有任何一个case后面的“常量表达式”的值,与“表达式”的值匹配,则执行default 后面的语句(组)。然后,再执行switch语句的下一条。注意:(1) switch后面的“表达式”,可以是int、char和枚举型中的一种。(2) 每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。(3)case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句。 14、语句标号和goto语句语句标号形式语句标号:语句; goto语句标号;注意:语句标号必须符合命名规则Goto为无条件转向语句Goto 语句标号;作用:把程序的执行转向语句标号的位置,这个语句必须与goto 语句在同一个函数15、while语句 0709T08while一般形式与执行过程1一般形式: while 语句当表达式为非0时,执行while语句中的内嵌语句。2执行过程:1)求解“循环继续条件”表达式。如果其值为非0,转2);否则转3)。2)执行循环体语句组,然后转1)。表达式语句3)执行while语句的下一条。需要注意:1)循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句的形式出现,如果不加花括弧,则while语句的范围只到while后面第一个分号处。2)在循环体中应有循环趋向于结束的语句。16、do-while语句 0709X191一般格式 do 循环体语句组; while (表达式); /*本行的分号不能缺省*/当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。 2执行过程 (1)执行循环体语句组。 (2)计算“循环继续条件”表达式。如果“循环继续条件”表达式的值为非 0(真),则转向(1)继续执行;否则,转向(3)。 (3)执行do-while的下一条语句。 do-while循环语句的特点是:先执行循环体语句组,然后再判断循环条件。17、for 语句 0704X24适用范围:不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况。完全可以代替while语句。1for语句的一般格式for(表达式1;表达式2;表达式3) 循环体语句组; for (i=1;i=100;i+) sum=sum+i;2for语句的执行过程: (1)求解“变量赋初值”表达式。(2)求解“循环继续条件”表达式。如果其值非0,执行(3);否则,转至(4)。(3)执行循环体语句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练-人教版8年级数学上册《分式》专项练习试题
- 员工关系培训体系构建
- 江苏省苏州昆山、太仓市2026届九年级化学第一学期期中教学质量检测模拟试题含解析
- 军训培训班级汇报
- 2026届山东省滨州市邹平双语学校化学九年级第一学期期中经典试题含解析
- 湖北省恩施土家族苗族自治州利川市2026届英语九年级第一学期期末检测试题含解析
- 西宁市重点中学2026届化学九年级第一学期期中联考模拟试题含解析
- 2026届河北省唐山市名校九年级英语第一学期期末达标检测试题含解析
- 广西壮族自治区桂平市2026届九上化学期中综合测试试题含解析
- 2026届江西省九江市修水县英语九上期末监测试题含解析
- 2025年省农垦集团有限公司人员招聘笔试备考附答案详解(完整版)
- 基于核心素养的幼儿园教学评价体系
- 2025至2030中国X光安检机行业项目调研及市场前景预测评估报告
- 2025年市中区畜牧兽医、动物检疫站事业单位招聘考试真题库及答案
- 幼儿园小班数学活动《认识1和许多》课件
- 直播运营基本知识培训课件
- 小学主题班会《立规矩改》课件
- 2025年遂宁社区专职工作人员招聘考试笔试试题含答案
- 孕期阴道炎课件
- 教师发展学校三年规划
- 安全生产培训学校申请书范文
评论
0/150
提交评论