谭浩强PPT学习教案_第1页
谭浩强PPT学习教案_第2页
谭浩强PPT学习教案_第3页
谭浩强PPT学习教案_第4页
谭浩强PPT学习教案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1谭浩强谭浩强大写字母、小写字母、阿位伯数字、下划线、标点符号和运算符大写字母、小写字母、阿位伯数字、下划线、标点符号和运算符2. 标识符标识符(区分大小写区分大小写)用来标识常量、变量、函数及文件名字的字符系列用来标识常量、变量、函数及文件名字的字符系列标识符的标识符的构成规则构成规则:(不能使用关键字)不能使用关键字)以字母以字母(大小写均可大小写均可)或以下划线开头或以下划线开头随后可跟若干个随后可跟若干个(包括包括0个个)字母、数字、下划数字母、数字、下划数标识符的长度各个系统不同,最好不要超过标识符的长度各个系统不同,最好不要超过8个字符个字符例:判断下列标识符号合法性sum

2、Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33charab$123第1页/共27页 也称保留字,它是也称保留字,它是C语言中具有特定含义,专门用做语言特语言中具有特定含义,专门用做语言特定成分的标识符。定成分的标识符。 main , int , char, float ,struct 注意注意:所有关键字都有固定的意义,不能用作其它所有关键字都有固定的意义,不能用作其它所有关键字都必须小写所有关键字都必须小写如如else 和和 ELSE是代表不同的意义是代表

3、不同的意义 第2页/共27页C C数数据据类类型型基本类型基本类型构造类构造类型型指针类型指针类型空类型空类型void定义类型定义类型typedef字符类型字符类型char枚举类型枚举类型enum整整 型型实型实型单精度型单精度型float双精度型双精度型double数组数组结构体结构体struct共用体共用体union短整型短整型short长整型长整型long整型整型int数据类型决定:数据类型决定:1. 数据占内存字节数数据占内存字节数2. 数据取值范围数据取值范围3. 其上可进行的操作其上可进行的操作第3页/共27页类型类型 符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整

4、型整型字符型字符型实型实型有有无无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127无无unsigned char80255说明说明:数据类型所占字节数随机器硬件不同而不同数据类型所占字节数随机器硬件不同而不同,上表以上表

5、以IBM PC机为例机为例:第4页/共27页 一般用大写字母一般用大写字母 是宏定义预处理命令,不是是宏定义预处理命令,不是C语句语句 直接常量直接常量: : 整型常量整型常量 实型常量实型常量 字符常量字符常量 字符串常量字符串常量如如 #define PRICE 30常量常量 定义:程序运行时其值不能改变的量(即常数)定义:程序运行时其值不能改变的量(即常数) 分类分类: : 符号常量符号常量: :用标识符代表常量用标识符代表常量 定义格式:定义格式: #define#define 符号常量符号常量 常量常量例例 符号常量举例符号常量举例(ch2_1.c)#define PRICE 30v

6、oid main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);运行结果:运行结果:total=300第5页/共27页&整型常量(整常数)整型常量(整常数) 三种形式:三种形式: 十进制整数:由数字十进制整数:由数字0 09 9和正负号表示和正负号表示. .如如 123,-456,0123,-456,0 八进制整数:由数字八进制整数:由数字0 0开头开头, ,后跟数字后跟数字0 07 7表示表示. .如如0123,0110123,011 十六进制整数:由十六进制整数:由0 x0 x开头开头, ,后跟后跟0 09

7、,a9,af,Af,AF F表示表示. . 如如0 x123,0Xff0 x123,0Xff例 12 与 12L例 30000 为int型 65536 为long int 型 整型常量的类型整型常量的类型 根据其值所在范围确定其数据类型根据其值所在范围确定其数据类型 在在整常量后加字母整常量后加字母l l或或L L,认为它是认为它是long int 型常量型常量问题:0123 = ( )100 x123 = ( )100Xff = ( )1083291255问题:0123 = ( )100 x123 = ( )100Xff = ( )10第6页/共27页&实型常量(实数或浮点数)实型常量(实数

8、或浮点数) 表示形式:表示形式: 十进制数形式:(必须有小数点)十进制数形式:(必须有小数点) 如如0.123, 0.123, .123, 123.0, 0.0, 123.123, 123.0, 0.0, 123. 指数形式:(指数形式:(e e或或E E之前必须有数字;指数必须为之前必须有数字;指数必须为整数)如整数)如12.312.3e3 ,123E2, 1.23e4 , e3 ,123E2, 1.23e4 , e-5e-5 , , 1.2E-3.51.2E-3.5 e3,e0.3e3,e0.3 实型常量的类型实型常量的类型 默认默认doubledouble型型 在在实型常量后加字母实型常

9、量后加字母f f或或F F,认为它是认为它是float float 型型第7页/共27页9&字符常量字符常量 定义定义: :用用单引号单引号括起来的单个括起来的单个普通字符普通字符或或转义字符转义字符. 字符常量的字符常量的值值:该字符的:该字符的ASCIIASCII码码值值 转义字符及其含义:转义字符含义nvradddtbf“xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如 101 -A 102 -B 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n1

10、0如 a A ? n 101 转义字符转义字符: :反斜线后面跟一个字符或一个代码值表示反斜线后面跟一个字符或一个代码值表示例 转义字符举例(ch2_001.c,ch2_004.c) void main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);运行结果:(屏幕显示)A B CI say:”How are you?”C ProgramTurbo C例 void main() printf(“Yb=n”); 运行结果:屏幕显示:=第8页/共27页 字符常量与字符串常

11、量不同字符常量与字符串常量不同&字符串常量字符串常量 定义:用双引号定义:用双引号( (“”) )括起来的字符序列括起来的字符序列 存储:存储:每个字符串尾每个字符串尾自动自动加一个加一个 00 作为作为字符串结束标志字符串结束标志h e l l o 0例例 字符串字符串“hellohello”在内存中在内存中a a 0例例 a“a”例例 空串空串 “”“”0例: char ch; ch=“A”; 例: char ch; ch=A; 第9页/共27页编译程序根据变量定义为其分配指定字节的内存单元.地址int a=1, b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数 变量初始化

12、变量初始化:定义时赋初值定义时赋初值 例: int a,b,c; float data;决定分配字节数和数的表示范围合法标识符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1; 变量的使用:变量的使用:先定义,后使用先定义,后使用例1 int student; stadent=19; /Undefined symbol stadent in function main 例2 float a,b,c; c=a%b; /Illegal use of floating point in functio

13、n main 变量定义位置:变量定义位置:一般一般放在函数开头放在函数开头main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);变量定义可执行语句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);第10页/共27页&实型变量实型变量 floatfloat:占占4 4字节,提供字节,提供7 7位有效数字位有效数字 doubledouble:占占8 8字节,提供字节,提供15151616位有效数字位有效数

14、字&字符型变量字符型变量 字符变量存放字符字符变量存放字符ASCIIASCII码码 charchar与与intint数据间可进行算术运算数据间可进行算术运算例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/例例 a=a=D D; /; /* * a=68; a=68; * */ / x= x=A A+5; /+5; /* * x=65+5; x=65+5; * */ / s= s=! !+ +G G / /* * s=33+71; s=33+71; * */ /没有没有字符串变量字符串变

15、量,用字符数组存放,用字符数组存放void main( ) int a,b,c,d; unsigned u; a=12;b=-23;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d”,c,d); void main( ) int a,b; a=32767; b=a+1; printf(“a=%d,b=%d”,a,d); 第11页/共27页例 /*ch2_003.c*/ #define PRICE 12.5 void main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+

16、a; printf(“total=%f,ch1=%cn”,total,ch1); 宏定义变量定义输出结果运行结果:total=37.500000, ch1=d第12页/共27页第13页/共27页doublefloatlongunsignedintchar,short低低高高说明说明:必定的转换必定的转换运算对象类型不同时转换运算对象类型不同时转换例例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubl

17、edoubledouble10+a +i*f - d/l例例 int i; float f; double d; long l;1.float型数据在运算时一律先转换成型数据在运算时一律先转换成double型型;2. 不同类型进行混合运算时不同类型进行混合运算时,按照类型级别由低到高的顺序转换按照类型级别由低到高的顺序转换.第14页/共27页例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生较高类型向较低类型转换时可能发生第15页/共

18、27页C运运算算符符算术运算符算术运算符:(:(+ - + - * * / % + - / % + -)关系运算符:(关系运算符:( = != = !=)逻辑运算符:(!逻辑运算符:(! & |& |)位运算符位运算符 :(:( | & | &)赋值运算符赋值运算符:(:(= = 及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符逗号运算符:(:(, ,)指针运算符:(指针运算符:(* * & &)求字节数求字节数 :(:(sizeofsizeof)强制类型转换强制类型转换:(类型):(类型)分量运算符:(分量运算符:(. -. -)下标运算符:(下标运算符:()其它其它 :

19、(函数调用运算符:(函数调用运算符( )( ))第16页/共27页第17页/共27页例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%-10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%-10 = 1 5%1 = 0 5.5%2 ()第18页/共27页例例 j=3; k=+j; j=3; k=+j; j=3; k=j+; j=3; k=j+; j=3; printf( j=3; printf(“%d%d”,+j); ,+j); j=3; printf( j=3; printf(“%d%d”,j+); ,j+

20、); a=3;b=5;c=(+a) a=3;b=5;c=(+a)* *b; b; a=3;b=5;c=(a+) a=3;b=5;c=(a+)* *b; b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4第19页/共27页 自增、自减运算符自增、自减运算符+ -+ - 作用:使变量值加作用:使变量值加1 1或减或减1 1 种类:种类: 前置前置 +i, -i (+i, -i (先执行先执行i i+1+1或或i-1i-1,再使用再使用i i值)值) 后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再执行再执行i i+1+1或或i-1i-1) 说明:

21、说明: + - + - 不能用于常量和表达式不能用于常量和表达式, ,如如5+5+,( (a+b)+a+b)+ + -+ -结合方向:结合方向: 自右向左自右向左 优先级:优先级: + - - + - - -* * / % -+ - / % -+ - (2) (3) (4)(2) (3) (4)例例 - -i+ i+ -(i+) -(i+) i=3; printf( i=3; printf(“%d%d”,-i+); ,-i+); /-3/-3 例 j+k; (j+)+k;例例 - -i+i+ i=3; printf( i=3; printf(“%d%d”,-i+); ,-i+); 应避免出现歧

22、义应避免出现歧义(k+)+(k+)+(k+) (k=3)(k+)+(k+)+(k+) (k=3) printf(printf(“%d,%d%d,%d”,i,i+); /,i,i+); /* * i=3 i=3 * */ /第20页/共27页l 赋值表达式的值与变量值相等赋值表达式的值与变量值相等,且可嵌套且可嵌套例例 float f; int i; i=10; f=i;则则 f=10.0例例 int i; i=2.56; /结果结果i=2;例例: a=b=c=5: a=b=c=5 a=(b=5) a=(b=5) a=5+(c=6) a=5+(c=6) a=(b=4)+(c=6) a=(b=4)

23、+(c=6) a=(b=10)/(c=2) a=(b=10)/(c=2)/表达式值为表达式值为5 5,a,b,ca,b,c值为值为5 5/ b=5;a=5/ b=5;a=5/表达式值表达式值1111,c=6,a=11c=6,a=11/表达式值表达式值1010,a=10,b=4,c=6a=10,b=4,c=6/表达式值表达式值5 5,a=5,b=10,c=2a=5,b=10,c=2l 赋值转换赋值转换规则规则:使赋值号右边表达式值使赋值号右边表达式值自动自动转换成其左边变量的类型转换成其左边变量的类型第21页/共27页l 复合赋值运算符复合赋值运算符 种类种类:+= -= += -= * *=

24、/= %= /= %= = = = &= = |= &= = |= 含义:含义: exp1 op= exp2exp1 op= exp2 exp1 = exp1 op exp2exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例例: : a=12; a=12; a+=a-=a a+=a-=a* *a a例例: int a=2; : int a=2; a%=4-1; a%=4-1; a+=a a+=a* *=a-=a=a-=a* *=3; =3; 例例: :3=x-2*y; a+b=3; 第22页/共27页1.1.实型数据赋给整型变量时实型数据赋给整型变量时, ,舍弃实数的小数部分;舍弃实数的小数部分;2.2.整型的数据赋给单、双精度变量时,数值不变,但以浮点整型的数据赋给单、双精度变量时,数值不变,但以浮点形式存储到变量中;形式存储到变量中;3.3.长度相同的有符号与无符号整型数,原样赋值,但数值有长度相同的有符号与无符号整型数,原样赋值,但数值有时会变化时会变化. .4.4.短数据赋给长变量,若最高位为短数据赋给长变量,若最高位为1 1,则变量高字节补,则变量高字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论