柳州职业技术学院C语言程序设计及应用C程序基本语法2.1标识符介绍关键字、预定义标识符和用户标识符2.2常量与变量介绍常量与变量的基本概念及分类、关键字等。2.3简单数据类型介绍数据类型的分类、表示方法及使用。2.3运算符与表达式介绍C语言中的运算符和表达式的概念及使用。2.4类型转换介绍变量的数据类型的转换。柳州职业技术学院C语言程序设计及应用2.1标识符1.C语言系统的32个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeofstructswitchtypedefunionunsignedvoidvolatilewhile柳州职业技术学院C语言程序设计及应用2.预定义标识符指在C语言中预先定义并具有特定含义的标识符,如C语言提供的库函数名字(printf)和编译预处理命令(define)等这类标识符可重新定义为他用,但是一旦重新定义,将会失去预先定义的原意.建义用户不要将这些标识符另作他用3.用户定义标识符由用户根据需要定义的标识符.通常用来给变量、函数、数组等命名。定义标识符应做到“见名知意”命名规则:标识符可由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。(区分大小写)柳州职业技术学院C语言程序设计及应用2.2常量:在程序执行过程中,其值不能改变的量1.普通常量根据不同的数据类型分为:(1)整型常量:如12、0、-3等。(2)实型常量:如4.6、-1.23等。(3)字符常量:如‘a’、‘b’等。(4)字符串常量:如“Howareyou?”2.符号常量在命令行中用define进行定义(尾部不能加;)#define符号常量名常量值如:#definePI3.1415926柳州职业技术学院C语言程序设计及应用2.3变量:在程序执行过程中,其值可以改变的量称为变量。变量的三要素:变量名、变量类型和变量值C语言规定,变量必须先定义后使用任何变量都有取值范围,由该变量的类型决定变量定义通常放在函数体内的前部,也可放在函数的外部或复合语句的开头任何变量都有它的的作用范围,对于局部变量,在定义或说明它的函数体或分程序内是可见的,而超出该范围是不可见的.外部变量的作用域是整个程序,外部静态变量的作用域是定义它的文件,并从定义时起对于同名变量,在子域中可见的是该子域所定义的变量,正超出子域后,该变量被恢复[存储类型]数据类型变量名[=初值],…..柳州职业技术学院C语言程序设计及应用auto(自动):自动分配和释放存储单元变量的自动类型register(寄存器):存于CPU,无地址存储类型静态类型static(静态):在程序运行期间一直保存extern(外部):变量是一个已在外部定义的全局变量存储类型确定了变量在内存中的存储位置局部变量既可以是自动类型,也可以是静态类型;全局变量只能是静态类型可用extern扩展全局变量的作用域,用static限制全局变量作用域的扩展动态存储区(堆栈)静态存储区程序代码区存放程序调用时的返回地址及自动型局部变量存放全局变量及静态型的局部变量柳州职业技术学院C语言程序设计及应用intp=1,q=5;floatf1(a)inta;{intb,c;….}charc1,c2;charf2(x,y)intx,y;{inti,j;…}main(){inta,b;…{intp;p=a+b;…}…}a,b,c有效x,y,i,j有效局部变量p有效a,b有效全局变量c1,c2的作用范围全局变量p,q的作用范围柳州职业技术学院C语言程序设计及应用简单数据类型所谓数据类型是按被定义变量的性质、表示形式、占据存储空间的多少、构造特点来划分的。数据类型汇总柳州职业技术学院C语言程序设计及应用2.2.1整数类型1.整型常量的表示方法整型常量就是整常数。C语言中使用的整常数有八进制(以0开头)、十六进制(以0x开头)和十进制三种。2.整型变量的分类类型名称占用字节数值范围int4-2^31~(2^31-1)short[int]2-32768~32767long[int]4-2^31~(2^31-1)unsigned[int]40~(2^32-1)unsignedshort[int]20~65535unsignedlong[int]40~(2^32-1)柳州职业技术学院C语言程序设计及应用3.整型变量的定义inta,b,c=78;/*a,b,c为整型变量*/longx,y=40000;/*x,y为长整型变量*/unsignedintp=10,q;/*p,q为无符号整型变量*/可在整型常量后加字母l(或L)代表长整型数据4.整数在内存中的存放正整数在内存中以二进制原码形式存放.负整数在内存中以二进制补码形式存放.柳州职业技术学院C语言程序设计及应用2.2.2浮点类型1.浮点型常量的表示方法浮点型也称为实型。浮点型常量也称为实数或者浮点数。浮点数采用十进制数形式或指数形式表示。2.浮点型变量的分类单精度(float型),占4个字节,数值范围-10^38~10^38,提供7位有效数字双精度(double型),占8个字节,数值范围-10^38~10^38,提供15-16位有效数字3.浮点型变量的分类floatx,y;/*x,y为单精度浮点型量*/doublea,b,c;/*a,b,c为双精度浮点型量*/所有的float型数据在运算中都自动转换成double型数据柳州职业技术学院C语言程序设计及应用2.2.3字符类型1.字符常量字符常量是用单引号括起来的一个字符。例如:‘a’、‘b’、‘=’、‘+’、‘?’等都是合法的字符常量。2.字符型变量(char),只能存放一个字符(ASCII码)例如:chara,b;(‘A’的ASCII码为65,‘a’的ASCII码为97,‘0’的ASCII码为48)3.转义字符:以“\”开头的字符序列‘\n’表示换行,’\r’表示回车,’\t’表示横向跳格,’\b’表示退格,’\\’表示反斜杠\ddd表示1-3位八进制数代表的字符\xhh表示1-2位十六进制数代表的字符柳州职业技术学院C语言程序设计及应用3.字符串字符串常量是由一对双引号括起的字符序列。例如:“CHINA”、“Cprogram”、“$12.5”存放字符串时,在每一个字符串的结尾加一个字符串结束标志’\0’,因此字符串长度为字符个数加1字符串如果需要存放在变量中,需要使用字符串数组或字符指针来存放如charc[]=“abc”;char*p=“xyz”;柳州职业技术学院C语言程序设计及应用运算符及其优先级优先级运算符类型运算符结合方向1括号算符(),[],-,.自左至右2单目运算符!,~,++,--,-,(类型),*,&,sizeof自左至右3乘除取模运算符*,/,%自左至右4加减运算符+,-自左至右5移位运算符,自左至右6关系运算符,,=,=自左至右7相等运算符==,!=自左至右8按位与运算符&自左至右9按位异或运算符^自左至右10按位或运算符|自左至右11逻辑与运算符&&自左至右12逻辑或运算符||自左至右13条件运算符?:自右至左14赋值运算符=,*=,/=,%=,+=,-=,=,=,&=,^=,|=自右至左15逗号运算符,自左至右柳州职业技术学院C语言程序设计及应用设a=3,b=3,求下列表达式的值及计算后变量a,b的值!a&&++a&&b++示例:0执行后,表达式的值为0,变量a,b的值均为3对于逻辑表达式,自左至右计算每一个操作数,当该操作数的值可以确定整个逻辑表达式的值时,其后面的操作数不再计算柳州职业技术学院C语言程序设计及应用6-21-1200设a=3,b=5,c=-1,d=7,求下列表达式的值(c+d)*(a-b)%2c&&!(cb)||dc1示例:柳州职业技术学院C语言程序设计及应用类型转换2.4.1自动类型转换数据类型转换图柳州职业技术学院C语言程序设计及应用2.4.2强制类型转换强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(float)a:把a转换为float型。(int)(x+y):把x+y的结果转换为int型。柳州职业技术学院C语言程序设计及应用练习1.已知a=5,i=57,以下表达式的值是_______i10&&i%2||i%3?a++:a--2.基本整型变量的取值范围是________,若将整数123456正确无误地存放在一个变量a中,应采用的语句是______________.3.若有”inta=1,b=2,c=3;”,则执行”c=(a+=a+10),a=b,a=b++”后,a,b,c的值分别为_______,_______,_______4.若有”floata=3.1;”,则运算表达式”a+=a+1.5,a++,a+2.5”后,表达式的值为_____,变量a的值为_____