计算机c语言ppt课件.ppt
《计算机c语言ppt课件.ppt》由会员分享,可在线阅读,更多相关《计算机c语言ppt课件.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022-8-11 程序由算法和数据构成程序由算法和数据构成, 数据是算法的处理对象。 要学习程序设计,首先要了解处理对象数据的特点。本章中我们讨论C语言中基本数据类型和基本的运算方法。 2022-8-122.1 基本数据类型基本数据类型 通过上一章的学习,我们知道不同的数据通过上一章的学习,我们知道不同的数据在计算机中的表示方法是不同的(如:定点数、浮在计算机中的表示方法是不同的(如:定点数、浮点数、字符数据等),这是由计算机的二进制存储点数、字符数据等),这是由计算机的二进制存储特性所决定的。在程序中要指定数据的类型,以便特性所决定的。在程序中要指定数据的类型,以便编译系统能够按指定类型确
2、定其表示方法、字节个编译系统能够按指定类型确定其表示方法、字节个数、以及运算方式。数、以及运算方式。 2022-8-13 在上述类型中,虚线框中的类型又称为导出类型,在上述类型中,虚线框中的类型又称为导出类型,定义这类数据时要用到基本类型。在定义这类数据时要用到基本类型。在C语言的程序中,对语言的程序中,对于所用到的数据必须事先进行定义即于所用到的数据必须事先进行定义即先定义,后使用先定义,后使用。2022-8-14表表2-1中,给出了中,给出了Turbo C的基本类型名和长度以及取值范围。的基本类型名和长度以及取值范围。需要指出的是:需要指出的是:(1)在)在Turbo C中中: char与
3、与signed char型型数据在长度、取值范围都一致,故数据在长度、取值范围都一致,故两者是等价的。与此情况相同的还有两者是等价的。与此情况相同的还有: short 与与 signed short型、型、 int 与与 signed int型、型、 long 与与 signed long型型。(2)在)在Turbo C中中int与与short型数据在长度、取值范围是一型数据在长度、取值范围是一致的。致的。(3)需要指出的是一般)需要指出的是一般: char型与型与signed char型或型或unsigned char型型二者之一相二者之一相同。同。 int型与型与short型或型或long
4、型型二者之一相同。二者之一相同。 具体如何,视不同编译系统而定。具体如何,视不同编译系统而定。(4)在)在C语言中,字符型数据存放的是字符的语言中,字符型数据存放的是字符的ASCII码值码值。有符字符型数据用一个字节的最高位作为符号位,低七。有符字符型数据用一个字节的最高位作为符号位,低七位表示字符的位表示字符的ASCII码值。无符字符型用一字节的全部八码值。无符字符型用一字节的全部八位表示字符的位表示字符的ASCII码值。利用这个存储特点,码值。利用这个存储特点,C语言允许语言允许字符型数据以其字符型数据以其ASCII码值(整型数)参加数值运算码值(整型数)参加数值运算。 在在Turbo C
5、中,中, float型型数据的存储格式为:数据的存储格式为: 阶码占阶码占8位,尾数占位,尾数占23位,一位符号位;位,一位符号位; double型型数据的存储格式为:数据的存储格式为: 阶码占阶码占11位,尾数占位,尾数占52位,一位符号位。位,一位符号位。Turbo C采用的是采用的是IEEE标准的浮点数据存贮格式。标准的浮点数据存贮格式。详见(美国)电子和电气工程师协会网站详见(美国)电子和电气工程师协会网站 http:/standards.ieee.orgThe Institute of Electrical and Electronics Engineers2022-8-15 从表中
6、可以看出:从表中可以看出:C语言中基本数据类型很语言中基本数据类型很多,短的、长的、有符的、无符的,变化丰富。多,短的、长的、有符的、无符的,变化丰富。初学者可能感到比较困难,其实从数据的存储形初学者可能感到比较困难,其实从数据的存储形式上来看,归纳起来实质上只有式上来看,归纳起来实质上只有两大类型的数两大类型的数据据 整型整型数据和数据和实型实型数据,即数据,即定点整数定点整数和和浮点浮点数数。2022-8-162.2 常量与变量常量与变量2.2.1 常量常量 所谓所谓“常量常量”是指在程序运行过程中,是指在程序运行过程中,其值不能被其值不能被改变的量。改变的量。 C语言中常量有语言中常量有
7、整型常量整型常量、实型常量实型常量、字符型常量字符型常量、字符串常量字符串常量、符号常量符号常量和枚举常量和枚举常量。 本节将介绍上述除本节将介绍上述除枚举常量枚举常量外的所有常量,枚举常量外的所有常量,枚举常量在第九章中介绍。在第九章中介绍。 2022-8-17 1. 整型常量整型常量 整型常量又简称整数,它有三种形式:十进制整整型常量又简称整数,它有三种形式:十进制整数、八进制整数、十六进制整数。数、八进制整数、十六进制整数。十进制整数十进制整数 十进制整数由09十个数字、正号、负号组成,正负号只能出现在最左边,表示一个正数时,正号可以省略,多位数时,最左边的数字不能为0。例如: 123
8、597 425 0 0是合法的整数。而0932是非法的整数表示方法。 2022-8-18八进制整数八进制整数 八进制整数必须以0(零)开头并由07八个数字、正号、负号组成,正负号只能出现在最左边,表示一个正数时,正号可以省略 。例如:0123 0404045300是合法的八进制整数。而0128是非法的。2022-8-19十六进制整数十六进制整数 十六进制整数十六进制整数必须以必须以0 x(0X)开头)开头,由由09, a,b,c,d,e,f(或(或A,B,C,D,E,F)这十六个符号和正负号组)这十六个符号和正负号组成,正负号只能出现在最左边,表示一个正数时,正成,正负号只能出现在最左边,表示
9、一个正数时,正号可以省略号可以省略 。例如:。例如:0 x123 0Xfa10 x9a120 x0是合法的十六进制数。是合法的十六进制数。0 x12g x897a25b是非法的十六进制数是非法的十六进制数。2022-8-110整型常量的后缀整型常量的后缀U和和L U和和L分别是分别是unsigned 和和long的第一个字母,可以跟在整型的第一个字母,可以跟在整型常量的后面,以指明该整数为长整型常数(常量的后面,以指明该整数为长整型常数(long型)、无符整型)、无符整型常数(型常数(unsigned型)以及无符长整型整数(型)以及无符长整型整数(unsigned long型)。使用时型)。使
10、用时U和和L可以小写。例如:可以小写。例如:长整型数:长整型数: 32768l 0761L 0 xd1dL无符整型数:无符整型数: 32768u 0 x2a7U 0277U无符长整型数:无符长整型数: 555ul0 xabcLU0722ul 当一个整型常数的值是在当一个整型常数的值是在3276832767之间,则该整型之间,则该整型常量为常量为int型,当它的值超过型,当它的值超过3276832767而在而在21亿亿21亿亿之间时,则该整型常量为之间时,则该整型常量为long 型。通过使用型。通过使用L和和U后缀,可以使后缀,可以使在在3276832767之间的之间的int型常量成为型常量成为
11、long型常量或使有符常型常量或使有符常量成为无符常量。量成为无符常量。2022-8-1112. 实型常量实型常量 实型常量又称浮点型常量,它有两种表实型常量又称浮点型常量,它有两种表示方法:十进制小数形式和指数形式。示方法:十进制小数形式和指数形式。十进制小数形式十进制小数形式 十进制小数由十进制小数由09十个数字、小数点、十个数字、小数点、正号、负号组成,正负号只能出现在最左边。正号、负号组成,正负号只能出现在最左边。表示一个正数时,正号可以省略。例如:表示一个正数时,正号可以省略。例如:123.5032.45 .0 0.是合法的实型常量。是合法的实型常量。2022-8-112指数形式指数
12、形式指数的一般形式如下:指数的一般形式如下:整数部分整数部分 .小数部分小数部分en其中其中 中内容为可选,但中内容为可选,但“整数部分整数部分”和和“小数部分小数部分”二者至少选其一,不可全无。二者至少选其一,不可全无。en为指数部分,为指数部分,e可可大写,大写,n是一个是一个13位位的十进制整数(第一位可为的十进制整数(第一位可为0),),2e2表示表示2102,。例如:。例如: 123.5E3 0.45e4 1E012 0e5是合法的指数形式。是合法的指数形式。-E5-1E2.05.e50.8Ek是非法的指数形式是非法的指数形式。2022-8-113实型常量的后缀实型常量的后缀F和和L
13、 因为实型常量缺省的类型为双精度实型,为因为实型常量缺省的类型为双精度实型,为了达到存储、精度、类型转换的需要,可用后缀了达到存储、精度、类型转换的需要,可用后缀F和和L。F和和L分别是分别是float 和和long double的第一个的第一个字母,可以跟在实型常量的后面,以指明该实数字母,可以跟在实型常量的后面,以指明该实数为单精度实数(为单精度实数(float型)或长双精度实数(型)或长双精度实数(long double型)。使用时型)。使用时F和和L可以小写。例如:可以小写。例如:单精度实数:单精度实数: 32.768f1F1.2e3F长双精度实数:长双精度实数: 1.2e309l0.
14、1L5.L2022-8-1143. 字符型常量字符型常量 字符字符常量是用常量是用一对单引号一对单引号括起来的一个字符,括起来的一个字符,如:如: a , A , $ ,等。空字符也是字符,它,等。空字符也是字符,它包含包含0个字符,它的值是个字符,它的值是0,可以表示为,可以表示为 ,也可,也可以表示为以表示为 0 ,程序中总是用,程序中总是用 0 表示空字符。表示空字符。 在在C语言中还有另外一种字符常量,称为语言中还有另外一种字符常量,称为转义转义字符字符,它是以反斜线(它是以反斜线()开头的字符串)开头的字符串,通常也把,通常也把它们称为控制字符,因为它们中的大多数具有控制它们称为控制
15、字符,因为它们中的大多数具有控制功能,如功能,如 n代表换行符,在代表换行符,在printf函数中使用它可函数中使用它可以实现换行的功能。以实现换行的功能。C语言中的转义字符见表语言中的转义字符见表2-2。 ASCII码码转义字符转义字符 含含 义义 十进制十进制 八进制八进制 十六进制十六进制 0 空字符空字符 0 0 0 x00 a 响铃响铃 7 7 0 x07 b 退格,从当前位置向前移动一格退格,从当前位置向前移动一格 8 10 0 x08 f 换页,从当前位置换到下一页开头换页,从当前位置换到下一页开头 12 014 0 x0c n 换行,从当前位置换到下一行开头换行,从当前位置换到
16、下一行开头 10 012 0 x0a r 回车,从当前位置换到本行的开头回车,从当前位置换到本行的开头 13 015 0 x0d t 水平制表,水平换到下一水平制表,水平换到下一tab位置位置 9 011 0 x09 反斜线字符反斜线字符 92 134 0 x5c 单引号字符单引号字符 39 047 0 x27 双引号字符双引号字符 34 042 0 x22 ddd 1到到3位八进制数对应的字符位八进制数对应的字符 0255 255 000377 377 0 x000 xff0 xff xhh 1到到2十六进制数对应的字符十六进制数对应的字符 0255 255 000377 377 0 x00
17、0 xff0 xff 表表2- 22022-8-115 在在C语言中,字符常量是一个整数,其值是语言中,字符常量是一个整数,其值是它所对应的它所对应的ASCII码的值码的值(见附录见附录), 字符型数据可以与数值型数据通用,即可以字符型数据可以与数值型数据通用,即可以进行算术运算进行算术运算。 如:如: a 的值是的值是97, A 的值是的值是65, 的值的值是是39等。也可以用等。也可以用ddd或或xhh来表示一个字符。以下来表示一个字符。以下都是表示水平制表符:都是表示水平制表符: t 011 11 x09 x9 而而 a 也可以写成以下形式:也可以写成以下形式: 141 x61 例2.1
18、2022-8-116main() printf(Hello,Cn); printf(1101451541541575410312); printf(12/4=3tis a stringn); (exmp21.c)运行结果:运行结果: Hello,C Hello,C 12/4=3 is a string2022-8-1174. 字符串常量字符串常量 字符串常量是由双引号括起来的一串字符。如字符串常量是由双引号括起来的一串字符。如: 1234 、中国,北京中国,北京 等。等。 值得注意的是:值得注意的是:字符是用单引号括起来的,而字字符是用单引号括起来的,而字符串是用双引号括起来的。符串是用双引号
19、括起来的。a 是字符,而是字符,而a是字符是字符串串。字符串可以为空串即包含。字符串可以为空串即包含0个字符的串,表示为个字符的串,表示为 。C语言规定:在每一个字符串后,系统自动加一语言规定:在每一个字符串后,系统自动加一个个 0,作为字符串的结束标志符,以便判字符串的,作为字符串的结束标志符,以便判字符串的长度。由于这个原因,字符串的长度比实际长度大长度。由于这个原因,字符串的长度比实际长度大1。空串的长度为空串的长度为1,而不是,而不是0。2022-8-118在使用字符串时,应当注意以下情况:在使用字符串时,应当注意以下情况: (1) 单引号作为字符串的组成字符时,可以直接使用。单引号作
20、为字符串的组成字符时,可以直接使用。例如:例如: printf( It s my book n );执行后输出为:执行后输出为:It s my book (2)一个字符串不能分写在两行或多行上,如果非要写在两)一个字符串不能分写在两行或多行上,如果非要写在两行上,则可在前一行的字符串尾部加一个反斜线行上,则可在前一行的字符串尾部加一个反斜线 或者把不同或者把不同行上的字符串分别用双引号括起来。行上的字符串分别用双引号括起来。例如:例如: printf(“C programming language is powerfuln”);或者:或者: printf(“C programming” “ l
21、anguage is powerfuln”); (exmp21.c)2022-8-119 5. 符号常量符号常量 符号常量是代表一个字符序列的标识符(又称宏符号常量是代表一个字符序列的标识符(又称宏名)。一旦定义了一个符号常量,则它就与该字符序列名)。一旦定义了一个符号常量,则它就与该字符序列是等价的。是等价的。 在在C语言中,定义符号常量的方法有三种:语言中,定义符号常量的方法有三种: 一是使用编译预处理的宏替换功能一是使用编译预处理的宏替换功能 #define ; 二是使用类型限定符二是使用类型限定符 const 说明并初始化说明并初始化; 三是使用枚举类型来定义。三是使用枚举类型来定义。
22、 在此只介绍在此只介绍 #define 定义一个符号常量,格式如下:定义一个符号常量,格式如下: #define 标识符标识符 字符序列字符序列2022-8-120 #define 标识符标识符 字符序列字符序列 其中:字符序列可以由任意字符组成,还可以是已经定义过的符号常量。 符号常量应先定义后使用,它的定义可以出现在程序中的任何位置,习惯上尽量放在程序的前面,并且符号常量(宏名)用大写字母书写,以示与其它标识符的区别。 需要指出的是:当一个标识符被定义成符号常量,则在编译时,编译预处理首先将程序中所有该标识符用相应的字符序列来替换,然后再进行后续处理。例如: #define PI 3.14
23、159 #define SPACE 例2.2 2022-8-121 #define STR1 This is a main() #define STR2 joke #define M STR1 STR2 printf(M); /* 或者或者 printf(STR1 STR2); */ (exmp22.c) 运行结果:运行结果: This is a joke2022-8-122 另外,需要时还可使用 #undef 来取消已经定义了的符号常量。取消定义后,该符号常量(宏名)还可再定义并使用。例如: define M “ This is a joke” printf(M); printf(“n”);
24、 #undef M #define M “ This is not a joke ” printf(M); (exmp22.c)执行后输出为:执行后输出为: This is a joke This is not a joke2022-8-1232.2.2 变量变量 所谓所谓“变量变量”是指在程序运行过程中,其值是指在程序运行过程中,其值可以被可以被改变改变的量。的量。 变量用变量用变量名变量名来表示,当程序运行时,系来表示,当程序运行时,系统为每一个变量分配一个内存单元并在变量名和该内统为每一个变量分配一个内存单元并在变量名和该内存单元地址间建立一一对应的关系,引用该变量名时,存单元地址间建立
25、一一对应的关系,引用该变量名时,实际上就是引用该实际上就是引用该变量名所对应地址单元的内容变量名所对应地址单元的内容。如图如图2-2所示:所示:2022-8-124 数据数据是有不同类型的,它们的长度、表示方是有不同类型的,它们的长度、表示方法也各不相同,因此变量也应有不同的类型,用法也各不相同,因此变量也应有不同的类型,用以存放各种类型的数据。以存放各种类型的数据。 常量的类型常量的类型是通过书写形式确定的即是隐含是通过书写形式确定的即是隐含说明的。说明的。 变量的类型变量的类型则需要预先定义。则需要预先定义。 在程序执行时,系统为已经定义的不同类型在程序执行时,系统为已经定义的不同类型的变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 语言 ppt 课件
限制150内