第1章C/C++语言概述

上传人:z**** 文档编号:258615313 上传时间:2022-02-23 格式:PPT 页数:38 大小:201KB
返回 下载 相关 举报
第1章C/C++语言概述_第1页
第1页 / 共38页
第1章C/C++语言概述_第2页
第2页 / 共38页
第1章C/C++语言概述_第3页
第3页 / 共38页
第1章C/C++语言概述_第4页
第4页 / 共38页
第1章C/C++语言概述_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《第1章C/C++语言概述》由会员分享,可在线阅读,更多相关《第1章C/C++语言概述(38页珍藏版)》请在金锄头文库上搜索。

1、第1章C/C+语言概述 1.1 从C到C+的程序结构 1.2 程序书写规范1.3 数据类型1.4 运算符和表达式1.5 基本语句 1.6 函数1.7 指针和引用1.8 作用域和存储类型 1.9 预处理 1.1从C到C+的程序结构 C+程序是由预处理命令、语句、函数、变量(对象)、输入与输出以及注释等几个基本部分组成的。代码中的main表示主函数,每一个C+程序都必须包含一个且只能包含一个main函数。main函数体是用一对花括号“”和“”括起来的,函数体中包括若干条语句,每一条语句都以分号“;”作为结束的标志。C+用标准输入输出的头文件iostream.h替代了C语言的stdio.h,用cin

2、、cout和操作运算符、等实现并扩展了C语言的scanf和printf函数功能。 1.2程序书写规范 标识符命名 标识符是用来标识变量名、函数名、数组名、类名、对象名、类型名、文件名等的有效字符序列。标识符命名需要遵守其合法性、有效性和易读性的原则。(1)合法性C+规定标识符由大小写字母、数字字符(09)和下划线组成,且第一个字符必须为字母或下划线。任何标识符中都不能有空格、标点符号、运算符及其他非法字符。标识符的大小写是有区别的,并且不能和系统的关键字同名。(2)有效性 标识符的长度最好不要超过32个,有的编译系统只能识别前32个字符,前32个字符相同的两个不同标识符被有的系统认为是同一个标

3、识符。(3)易读性 做到“见名知意”就可以达到易读性的目的。许多程序员采用“匈牙利标记法”来定义标识符。这种方法是:在每个变量名前面加上表示数据类型的小写字符,变量名中每个单词的首字母均大写。 1.2程序书写规范缩进和注释 程序在书写时不要将程序的每一行都由第一列开始,应在语句前面加进一些空格,称为“缩进”,或是在适当的地方加进一些空行,以提高程序的可读性。每个花括号占一行,并与使用花括号的语句对齐。花括号内的语句采用缩进书写格式,缩进量为四个字符(一个默认的制表符)。注释是为了提高程序的可读性。注释本身对编译和运行并不起作用。在程序中,凡是放在“/*.*/”之间或以“/”开头行尾的内容都是注

4、释的内容,其中,/*.*/注释方式可以出现在程序中的任何位置。一般来说,注释应在编程的过程中进行,且注释内容一般有:源程序的总体注释、函数注释及其他的少量注释。一般不要陈述那些一目了然的内容,以免影响注释的效果。 1.3数据类型 1.3.1基本数据类型 C/C+的基本数据类型有字符型(char)、整型(int)和浮点型(float、double)三种。这些基本数据类型还可用short、long、signed和unsigned来修饰。需要注意的是:(1)C+可以有布尔型(bool),在计算机内,编译系统将true表示成整数1,false表示成整数0,因此也可把布尔型看成是一个整型。(2)无符号(

5、unsigned)和有符号(signed)的区别在于数值最高位的含义。有符号类型最高位是符号位,其余各位表示数值大小;无符号类型的各个位都用来表示数值大小;相同基本数据类型的signed和unsigned的数值范围是不同。例如,无符号字符型值的范围为0255,有符号字符型值的范围为 -128 -127。(3) char、short、int和long可统称为整型。默认时,char、short、int和long本身是有符号(signed)的。1.3.2常量整型常量整型常量可以用十进制、八进制和十六进制来表示。十进制整型常量即十进制整数;八进制整型常量是以0开头的数;十六进制整型常量是以0 x或0X

6、开头的数,它由0至9、A至F或a至f组成。 1.3数据类型注意 :(1) 整型常量中的长整型(long)要以L或小写字母l作为结尾。(2)整型常量中的无符号型(unsigned)要以U或u作为结尾。浮点型常量 浮点型常量即实数,它有十进制数或指数两种表示形式。十进制数形式是由整数部分和小数部分组成的(注意必须有小数点)。指数形式采用科学表示法,它能表示出很大或很小的浮点数。注意字母E(或e)前必须有数字,且后面的指数必须是整数。浮点型常量以F(或f)结尾的表示单精度类型(float),以L(或小写字母l)结尾的,表示长双精度类型(longdouble)。若浮点型常量没有任何说明,表示双精度类型

7、(double)。字符常量字符常量是用单引号括起来的一个字符。C/C+可以用一个“”开头的字符来表示特殊含义的字符常量。例如n,代表一个换行符,而不是表示字母n。这种将反斜杠()后面的字符转换成另外意义的方法称为转义表示法,n称为转义字符。 1.3数据类型字符串常量 C+可以使用字符串常量。字符串常量是一对双引号括起来的字符序列。例如:“Hello, World!n”。字符串常量中还可以包含空格、转义字符或其他字符。并且必须在同一行书写,若一行写不下,则需要用来连接。字符常量和字符串常量主要的区别:(1)字符常量用单引号括起来的,仅占一个字节;字符串常量是用双引号括起来的,至少占用两个字节。“

8、a”是字符串常量,它的长度不是1而是2,除字符a之外,末尾还有个0字符。每个字符串的末尾都有一个这样的字符。(2)字符常量实际上是整型常量的特殊形式,它可以参与常用的算术运算;而字符串常量则不能。符号常量在C+中,除了用C语言的#define定义符号常量外,还常常用const来定义符号常量。1.3数据类型1.3.3变量变量的定义定义变量是用下面的格式: ;(1)可以将同类型的变量定义在一行语句中,不过变量名要用逗号(,)分隔。但在同一个程序块中,不能有两个相同的变量名。(2)注意在C+中没有字符串变量类型,字符串是用字符类型的数组或指针来定义的。 (3) 与C语言相比,C+变量的定义比较自由。

9、变量的初始化程序中常需要对一些变量预先设置初值,这一过程称为初始化。在C/C+中,可以在定义变量时同时使变量初始化。C+变量的初始化还有另外一种形式,它与C语言不同。例如: int nX(1), nY(3);表示nX和nY是整型变量,它们的初值分别为1和3。 1.3数据类型1.3.4数据类型转换 自动转换 自动转换是将数据类型从低到高的顺序进行转换强制类型转换 强制类型转换是在程序中通过指定数据类型来改变图所示的类型转换顺序,将一个变量从其定义的类型改变为另一种新的类型。强制类型转换有两种格式:() () 这里的“类型名”是任何合法的C/C+数据类型,通过类型的强制转换可以将“表达式”转换成指

10、定的类型。 1.3数据类型1.3.5数组 数组的定义定义一个数组可按下列格式进行: .后面的常量表达式用于确定数组的维数和大小。一般表示某维大小的常量表达式中不能包含变量,但可以包括常量和符号常量,其值必须是一个确定的整型数值,且数值大于1。 数组元素的引用 引用格式: .数组的赋值数组中的元素既可以在数组定义的同时赋初值,也可以在定义后赋值。对于二维或多维数组需要说明的是: (1)初始化数组的值的个数不能多于数组元素个数,初始化数组的值也不能通过跳过逗号的方式来省略。(2)对于二维数组来说,如果对全部元素都赋初值,则定义数组时对第一维的大小可以忽略,但第二维的大小不能省。 (3)只对部分元素

11、赋初值,可有两种说明方式:一种是以“行”为单位,依次列出部分元素的值;另一种是以数组元素的排列顺序依次列出前面部分元素的值。字符数组 C/C+语言中,一个字符串是用一个以空字符0作为结束符的字符串来表示的。 1.3数据类型1.3.6结构体定义结构体 结构体定义的格式为:struct ;.;结构变量名列表; 结构体定义是以关键字struct作为标志的,应是一个有效的标识符。在结构体中的每个成员都必须通过“成员定义”来确定成员名及其类型。注意:结构体的成员变量类型既可以是基本数据类型,也可以是其他合法的类型。例如: struct STUDENTPERSONone;/ 用已定义的结构体类型声明成员f

12、loat eng, phy, math, poli;/ 英语、物理、数学和政治的成绩;1.3数据类型1.3.6结构体结构体变量的初始化和引用 结构体变量的初始化的一般形式是在变量后面加上:=; 例如:struct POINT int x; int y; spot = 20, 40 ; / 依次使spot中的x为20, y为40或POINT pt1=100, 200;/ 使pt1中的x为100, y为200POINT pt2=100;/ 只是使pt2中的x为100当一个结构体变量定义之后,就可引用这个变量。使用时,遵循下列规则:(1)只能引用结构体变量中的成员变量,使用格式:.。(2)若成员本身

13、又是一个结构体变量,引用时需要用多个成员运算符一级一级地找到要访问的成员。 1.3数据类型1.3.7共用体共用体和结构体最大的区别是:共用体在任一时刻只有一个成员处于活动状态,且共用体变量所占的内存长度等于各个成员中最长成员的长度,而结构体变量所占的内存长度等于各个成员的长度之和。共用体中各个成员所占内存的字节数各不相同,但都是从同一地址开始的。这种多个成员变量共用一个内存区的技术,能有效地降低程序所占的内存空间。定义一个共用体可用下列格式:union ;.; 共用体变量名列表;/ 注意最后的分号不要忘记。 共用体除了关键字(union)不同外,其使用方法均与结构体相同。 1.3数据类型1.3

14、.8枚举类型 枚举类型是一系列有标识符的整型常量的集合,增加程序代码的可读性。格式:enum枚举变量;/注意最后的分号不要忘记。enum是关键字,枚举常量表中的枚举常量名之间要用逗号分隔。默认时,系统为每一个枚举常量都对应一个整数,并从0开始,逐个增1。例如:enum Colors Black , Blue, Green=4, Cyan, Red=8, Yellow, White one; 则各枚举常量对应的整数依次为0,1,4,5,8,9,10。枚举变量最终的值只能等于该枚举类型中的某个枚举常量,而不能用一个整型数值直接赋值,并且不要在定义枚举类型的同时,再对枚举常量、枚举变量及枚举类型名重

15、新定义。 1.3.9用typedef定义类型使用关键字typedef可以将已有的类型名用新的类型名来代替,格式:typedef; 1.4运算符和表达式 1.4.1算术运算符 算术运算符包括双目的加减乘除四则运算符、求余运算符以及单目的正负运算符。算术运算符如下所示: +(正号运算符,如+4,+1.23等)-(负号运算符,如-4,-1.23等)*(乘法运算符,如6*8,1.4*3.56等)/(除法运算符,如6/8,1.4/3.56等)%(模运算符或求余运算符,如40%11等)+(加法运算符,如6+8,1.4+3.56等)-(减法运算符,如6-8,1.4-3.56等) 注意 :(1)两个整数相除,

16、将保留整数部分,不是四舍五入;进行浮点数除法,结果是浮点型。如7/5.0、7.0/5、7.0/5.0的结果都是1.4。(2) 求余运算要求参与运算的两个操作数都是整型,其结果是两个数相除的余数。例如40%5的结果是0,40%11的结果是7。要理解负值的求余运算,例如40%-11结果是7,-40%11结果是-7,-40%-11结果也是-7。 1.4运算符和表达式1.4.2赋值运算符复合赋值 10种复合赋值运算符:+=,-=,*=,/=,%=,&=,|=,=,= 注意: (1)在复合赋值运算符之间不能有空格。(2) 复合运算符的优先级和赋值符的优先级一样,在C/C+的所有运算符中只高于逗号运算符,而且复合赋值运算符的结合性也是从右至左的。 多重赋值 多重赋值是指在一个赋值表达式中出现两个或更多的赋值符(“=”) 例如:nNum1 = nNum2 = nNum3 = 100;赋值符的结合性是从右至左的,上述的赋值是这样的过程:首先对赋值表达式nNum3=100求值,即将100赋值给nNum3,同时该赋值表达式取得值100;然后将该值赋给nNum2,这是第二个赋值表达式,该赋值表达式也取得值1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号