C语言程序设计的初步知识.ppt
《C语言程序设计的初步知识.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计的初步知识.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第2 2章章 C C语言程序设计的初步知识语言程序设计的初步知识本章要点本章要点:标识符命名规则标识符命名规则常量和变量常量和变量基本数据类型基本数据类型常用运算符及表达式常用运算符及表达式运算符的优先级及结合性运算符的优先级及结合性本章难点本章难点:不同类型数据间的混合运算不同类型数据间的混合运算运算符的优先级运算符的优先级自增自增(+)自减自减(-)运算符的使用运算符的使用22.1 C语言的数据类型语言的数据类型整型整型字符型字符型实型实型(浮点型浮点型)枚举类型枚举类型单精度型单精度型双精度型双精度型数组类型数组类型结构体类型结构体类型共用体类型共用体类型构造类型构造类型基本类型基本
2、类型指针类型指针类型空类型空类型数据类型数据类型32.2 2.2 常量、变量和标识符常量、变量和标识符标识符标识符C语言中的标识符可以分为系统定义标识符和用户定义标语言中的标识符可以分为系统定义标识符和用户定义标识符。识符。1.系统定义标识符系统定义标识符1)关键字关键字 关键字是关键字是C语言系统使用的具有特定含义的标识符,语言系统使用的具有特定含义的标识符,不能作为预定义标识符和用户定义标识符使用。不能作为预定义标识符和用户定义标识符使用。C语语言定义了言定义了32个关键字,如表个关键字,如表2.1所示。所示。2)预定义标识符预定义标识符 预定义标识符也是具有特定含义的标识符,包括系统预定
3、义标识符也是具有特定含义的标识符,包括系统标准函数名和编译预处理命令等,如标准函数名和编译预处理命令等,如scanf、printf、define和和 include等都是预定义标识符。等都是预定义标识符。4表表2.1 C语言中的关键字语言中的关键字auto breakcasecharconstcontinue defaultdo doubleelseenumexternfloatforgotoif intlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsigned unionvoidvolatilewhile关键字必须
4、用小写字母;不允许使用关键字为变量、数组和函数等操作对象关键字必须用小写字母;不允许使用关键字为变量、数组和函数等操作对象命名。命名。5 2.2.用户定义标识符用户定义标识符 用户定义标识符用于对用户使用的变量、数组和函数用户定义标识符用于对用户使用的变量、数组和函数等操作对象进行命名。例如将一个变量命名为等操作对象进行命名。例如将一个变量命名为a,将一个,将一个数组命名为数组命名为date,将一个函数命名为,将一个函数命名为fun等。等。用户标识符命名时要注意:用户标识符命名时要注意:(1)C语言对英文字母的大小写敏感,即同一字母的大小语言对英文字母的大小写敏感,即同一字母的大小写被认为是两
5、个不同的字符。例如写被认为是两个不同的字符。例如total与与TOTAL是不同是不同的标识符。的标识符。(2)标识符必须由字母或下划线开头,并且除了标识符必须由字母或下划线开头,并且除了字母字母、数数字字和和下划线下划线外,不能含有其他字符。外,不能含有其他字符。(3)标识符的命名要见名知意,即通过变量名就知道变量标识符的命名要见名知意,即通过变量名就知道变量值的含义。值的含义。(4)标识符的有效长度随系统而异,但至少前标识符的有效长度随系统而异,但至少前8个字符有个字符有效。如果超长,则超长部分被舍弃。效。如果超长,则超长部分被舍弃。62.2.2 常量常量1.定义:在程序执行期间,其值不可改
6、变的量称为常量定义:在程序执行期间,其值不可改变的量称为常量2.类型:类型:数值常量数值常量 例如:例如:5,-10,3.14等等符号常量符号常量 即用一个符号代表一个常量即用一个符号代表一个常量例例2.1 用标识符代表常量。用标识符代表常量。#define PI 3.1415926main()float s,r;r=5;s=PI*r*r;printf(%f,s);7说明说明:符号常量必须符号常量必须先定义先定义后才能用它表示一个数值。后才能用它表示一个数值。符号常量的值在其作用域内不能改变,也不能再符号常量的值在其作用域内不能改变,也不能再被赋值。被赋值。符号常量名习惯用符号常量名习惯用大写
7、大写字母表示。字母表示。82.2.3 变量变量1.变量概念变量概念:程序执行期间值可以改变的量。程序执行期间值可以改变的量。命名规则命名规则:变量名由标识符表示,只能由变量名由标识符表示,只能由字母字母、数字数字和和下划线下划线三种字符组成,且三种字符组成,且第一个字符必须为字母或下划第一个字符必须为字母或下划线。线。例如:以下为不合法的变量名:例如:以下为不合法的变量名:M.D.Jess ,1add,age&,5th,lotus-1-2-3,cd*ef,int2.变量的定义变量的定义要使用变量,必须为变量命名。变量名是用户自己定义的标识要使用变量,必须为变量命名。变量名是用户自己定义的标识符
8、,习惯上由小写字母组成。符,习惯上由小写字母组成。变量定义的一般格式为:变量定义的一般格式为:数据类型标识符数据类型标识符 变量名变量名1,变量名变量名2,变量名变量名n;int a;/*定义了整型变量定义了整型变量a*/93.变量的初始化变量的初始化C语言允许在定义变量的同时给变量赋值,这称为变量的语言允许在定义变量的同时给变量赋值,这称为变量的初始化。变量初始化的一般格式为:初始化。变量初始化的一般格式为:数据类型标识符数据类型标识符 变量名变量名1=初值初值1,变量名变量名2=初值初值2,变量变量名名n=初值初值n;C语言允许在定义变量的同时初始化变量,如:语言允许在定义变量的同时初始化
9、变量,如:int a=2;/*指定指定a为整型变量为整型变量,初值为初值为2*/float f=3.45;/*指定指定f为实型变量为实型变量,初值为初值为3.45*/char c=A;/*指定指定c为字符变量为字符变量,初值初值A*/也可以使被定义的变量的一部分赋初值,如:也可以使被定义的变量的一部分赋初值,如:int a=1,b=-3,c;10在在C C语言中,变量必须强制定义,其目的是:语言中,变量必须强制定义,其目的是:1、凡未被事先定义的,不作为变量名。、凡未被事先定义的,不作为变量名。2、每一个变量被指定为一确定的类型,在编译时就能为、每一个变量被指定为一确定的类型,在编译时就能为
10、其分配相应的存储单元。其分配相应的存储单元。3、指定每一个变量为一确定的类型,在编译时据此检查、指定每一个变量为一确定的类型,在编译时据此检查 该变量所进行的运算是否合法。该变量所进行的运算是否合法。*选变量名时,要做到选变量名时,要做到“见名知意见名知意”例如:例如:name st_age xm nl class sum*大小写字母是两个不同的字符,大小写字母是两个不同的字符,C变量名习惯变量名习惯 用用小写小写字母表示。字母表示。*建议变量名的长度不要超过建议变量名的长度不要超过8个字符。个字符。注意注意:112.3 2.3 整型数据整型数据整型常量整型常量1.1.整型常量的形式整型常量的
11、形式十进制整数十进制整数:由数字(:由数字(0-9)和正负号表示)和正负号表示 例如:例如:123、-456、0 等等八进制整数:以八进制整数:以0开头数是八进制数开头数是八进制数 例如:例如:0123 即(即(123)8=(83)10 (123)8=1 82+2 81+3 80=(83)10十六进制整数:以十六进制整数:以0 x或或0X开头,开头,例如:例如:0 x123 即即(123)16=(291)10main()int a=0123;b=0 x123;/*0123是八进制数是八进制数,0 x123是十六进制是十六进制*/printf(a=%d,b=%d,a,b);程序运行结果为:程序运
12、行结果为:a=83,b=29112n进制数十进制乘权求和,顺序输出除基数取余,逆序输出二进制八进制(十六进制)三(四)位变一位一位变三(四)位原码、反码、补码正数的原码、反码、补码相同负数的原码为该数二进制最高位为1负数的反码:除符号位外,按位取反负数的补码:反码加一13142.2.整型常量的类型整型常量的类型 我们已知整型变量可分为我们已知整型变量可分为int、short int、1ong int和和unsigned int、unsigned short、unsigned long等类别。等类别。(1)一个整常量,如果其值在一个整常量,如果其值在-32 768+32 767范围内,则认为范围
13、内,则认为它是它是int型。可以将它赋值给型。可以将它赋值给int型和型和1ong int型变量。型变量。(2)一个整常量,如果其值超过了上述范围,而在一个整常量,如果其值超过了上述范围,而在-2 147 483 6482 147 483 647范围内,则认为它是范围内,则认为它是1ong int型。型。(3)如果某一计算机系统的如果某一计算机系统的C版本确定的版本确定的short int 与与int型数据型数据在内存中占据的长度相同,则它的表示范围与在内存中占据的长度相同,则它的表示范围与int型相同。型相同。(4)常量中无常量中无unsigned型,但一个非负值的整常量可以赋值给型,但一个
14、非负值的整常量可以赋值给unsigned型整变量,只要它的范围不超过变量的表示范围型整变量,只要它的范围不超过变量的表示范围即可。即可。(5)在一个整常量后面加一个字母在一个整常量后面加一个字母l或或L则认为是则认为是1ong int型常量,型常量,例如例如123l、432L,这往往用于函数调用中。,这往往用于函数调用中。15整型变量的分类整型变量的分类 基本型:以 intint 表示 短整型:以 short intshort int 或 shortshort 表示 1.类型 长整型:以 long intlong int 或 longlong 表示 (123l、123L)无符号基本型(unsi
15、gned intunsigned int)无符号型 无符号短整型(unsigned shortunsigned short)无符号长整型(unsigned longunsigned long)(-3276832767)一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围扩大一倍。int i;/*变量i 的数值范围:-3276832768 */unsigned int j;/*变量j的数值范围:065535 */1.1.整型变量的类型整型变量的类型16 整整型变量的字长型变量的字长short型型 字长字长16位(位(2个字节)。个字节)。long 型型 字长字长32位(位(4个字节
16、)。个字节)。int 型型 随随编编译译程程序序而而定定(可可以以是是2个个字字节节,也也可可以以是是4个字节)个字节)C要求要求 long型数据长度不短于型数据长度不短于int型,型,short型不长于型不长于int型。型。(short=int=long)long 型型可可以以得得到到大大范范围围的的数数据据,但但同同时时会会降降低低运运算算速度速度,因此除非不得已因此除非不得已,不要随便使用不要随便使用long型。型。17整型数据的溢出:整型数据的溢出:main()main()int a,b;int a,b;a=32767;b=a+1;a=32767;b=a+1;printf(“”%d,%
17、d”,a,b);printf(“”%d,%d”,a,b);运行结果:运行结果:32767,-3276732767,-32767改进:将变量改进:将变量a a和和b b改成改成longlong型,型,并按并按%ld%ld 格式输出。格式输出。182.2.整型变量的定义整型变量的定义 前面已提到,前面已提到,C规定在程序中所有用到的变量都必须规定在程序中所有用到的变量都必须在程序中指定其类型,即在程序中指定其类型,即“定义定义”。这是和。这是和BASIC、FORTRAN不同的,而和不同的,而和PASCAL相类似。例如:相类似。例如:int a,b;/*指定变量指定变量a,b为整型为整型*/unsi
18、gned short c,d;/*指定变量指定变量c,d为无符号短整型为无符号短整型*/1ong e,f;/*指定变量指定变量e,f为长整型为长整型*/对变量的定义,一般是放在一个函数的开头部分对变量的定义,一般是放在一个函数的开头部分(也可以放在也可以放在程序中间,但作用域只限于某一部分程序程序中间,但作用域只限于某一部分程序)。例例2.4 整型变量的定义与使用。整型变量的定义与使用。main()int a,b,c,d;/*指定指定a,b,c,d为整型变量为整型变量*/unsigned u;/*指定为无符号整型变量指定为无符号整型变量*/a=20;b=-40;u=10;c=a+u;d=b+u
19、;printf(c=%d d=%d,c,d);运行结果为:运行结果为:c30,d=-30192.42.4实型数据实型数据实型常量实型常量1.1.实型常量实型常量的形式的形式(两种两种):十进制数形式:十进制数形式:由数字和小数点及正负号组成。由数字和小数点及正负号组成。(注意:必须有小数点)(注意:必须有小数点)例如:例如:3.14 8.6 -23.3.14 8.6 -23.指数形式:指数形式:由由数字、小数点、字母数字、小数点、字母e e或或E E及及正负号正负号组成。组成。(注:(注:e e或或E E之前必须有数字,且后指数必须为整数)之前必须有数字,且后指数必须为整数)例如:正确例如:正
20、确:3.5E-5 2e3 :3.5E-5 2e3 错误:错误:E2 3.6e3.5 .e6E2 3.6e3.5 .e62.2.实型常量的类型实型常量的类型 多数多数C C编译系统对实型常量按双精度编译系统对实型常量按双精度(double)(double)类型处理,以类型处理,以提高运算精度。此时系统为实型常量分配提高运算精度。此时系统为实型常量分配8 8个字节的存储空间。个字节的存储空间。如果在实型常量后加字母如果在实型常量后加字母f f或或F F,则强调表示该数是,则强调表示该数是floatfloat型型常量,这时系统会为其分配常量,这时系统会为其分配4 4个字节的存储空间。个字节的存储空间
21、。202.4.2 实型变量实型变量实型变量可分为:实型变量可分为:单精度单精度(float型)型)如:如:float x ,y ;双精度型双精度型(double型)型)如:如:double a ,b ,c ;说明:说明:1.float 型变量在内存中占型变量在内存中占4个字节;个字节;double 型变量在内存中占型变量在内存中占8个字节。个字节。2.单精度实数提供单精度实数提供7位有效数字;双精度实数提供位有效数字;双精度实数提供1516位有效位有效数字。数字。3.一个实型常量不分一个实型常量不分float 和和 double 型,型,一个实型常量一个实型常量 可以赋给一个可以赋给一个flo
22、at 型或型或 double 型变量,并根据变量的类型截型变量,并根据变量的类型截取实型常量中相应的有效位数字。取实型常量中相应的有效位数字。例如:例如:float a;double b;a=123456.789e5;b=123456.789;213.5 3.5 字符型数据字符型数据字符常量字符常量 1.1.字符常量:用字符常量:用单引号单引号括起来的一个字符。括起来的一个字符。例如:例如:a B#!a B#!2 2.转义字符转义字符:指不能用符号直接表示的字符常量。:指不能用符号直接表示的字符常量。将反斜杠(将反斜杠()后面的字符转变成另外的意义。后面的字符转变成另外的意义。如如n中的中的“
23、n”不代表字母不代表字母n而作为而作为“换行换行”符。符。例如:例如:n 换行换行 t 横向跳格(水平制表)横向跳格(水平制表)b 退格退格 反斜杠字符反斜杠字符 r 回车回车 f 换页换页 a 报警报警 0 空字符空字符main()printf(Yb=n);运行结果:运行结果:程序运行时在屏幕上显示结果:程序运行时在屏幕上显示结果:=程序运行时在打印机上输出结果:程序运行时在打印机上输出结果:22 注意:注意:字符常量首尾的单引号是定界符,不占存储空间。字符常量首尾的单引号是定界符,不占存储空间。在在C语言中,语言中,a和和a是不同的。前者代表字符常量,后是不同的。前者代表字符常量,后者代表
24、一个标识符。者代表一个标识符。a和和A是不同的字符常量。前者存储的是小写字是不同的字符常量。前者存储的是小写字母母a的的ASCII码值为码值为97,后者存储的是大写字母,后者存储的是大写字母A的的ASCII码值为码值为65。转义字符代表一个字符,在内存中只占一个字节的存储转义字符代表一个字符,在内存中只占一个字节的存储空间。空间。转义字符转义字符0就是就是ASCII码值为码值为0的字符,常用于表示的字符,常用于表示字符串结束的标志符。字符串结束的标志符。ddd形式的转义字符是用形式的转义字符是用ASCII码码(八进制数八进制数)表示的表示的一个字符,例如一个字符,例如101代表字符代表字符A,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 初步 知识
限制150内