具有丰富的数据类型是C语言的一个特色数据类型丰富意

上传人:人*** 文档编号:568677607 上传时间:2024-07-26 格式:PPT 页数:22 大小:228.50KB
返回 下载 相关 举报
具有丰富的数据类型是C语言的一个特色数据类型丰富意_第1页
第1页 / 共22页
具有丰富的数据类型是C语言的一个特色数据类型丰富意_第2页
第2页 / 共22页
具有丰富的数据类型是C语言的一个特色数据类型丰富意_第3页
第3页 / 共22页
具有丰富的数据类型是C语言的一个特色数据类型丰富意_第4页
第4页 / 共22页
具有丰富的数据类型是C语言的一个特色数据类型丰富意_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《具有丰富的数据类型是C语言的一个特色数据类型丰富意》由会员分享,可在线阅读,更多相关《具有丰富的数据类型是C语言的一个特色数据类型丰富意(22页珍藏版)》请在金锄头文库上搜索。

1、具有丰富的数据类型是C语言的一个特色数据类型丰富意Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望2.1 数据类型数据类型数据类型总表数据类型总表C C数数据据类类型型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typedef字符类型字符类型char枚举类型枚举类型enum整整 型型实型实型单精度型单精度型float双精度型双精度型double数组数组结构体结构体struct共用体共用体union短整型短整型short长整型长整型long整型整

2、型int数据类型决定:数据类型决定:1. 数据占内存字节数数据占内存字节数2. 数据取值范围数据取值范围3. 其上可进行的操作其上可进行的操作21、基本类型:、基本类型:有符号整形:有符号整形:int 、 short int 、long int 无符号整形无符号整形: unsigned int 、unsigned short int、 unsigned long int字符型:字符型: char 实型:单精度实型:单精度 float 和双精度和双精度 double 枚举类型:枚举类型:enum 2、构造类型、构造类型数组类型数组类型结构类型结构类型 struct 共用体共用体 union 3、

3、指针类型、指针类型4、空类型、空类型 void 32.2 常量与变量常量与变量标识符标识符定义:用来标识变量、常量、函数等的字符序列定义:用来标识变量、常量、函数等的字符序列组成:组成:只能由只能由字母字母、数字数字、下划线下划线组成,且组成,且第一个字母第一个字母必须是字母或下必须是字母或下划线划线大小写敏感大小写敏感不能使用关键字不能使用关键字长度:最长长度:最长32个字符个字符命名原则:命名原则:见名知意见名知意不宜混淆不宜混淆 如如l与与I, o与与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_

4、1_2_3 char ab _above -above $123M.D.John3days#33char$123ab-above42、基本数据类型及其变量、常量、基本数据类型及其变量、常量1)、变量、变量 变量具有以下特性:变量具有以下特性:名字:注意命名原则。名字:注意命名原则。类型:说明顺序为类型:说明顺序为 类型名类型名 变量名变量名值值 : 可变可变地址:对应于内存区域中首字节地址。地址:对应于内存区域中首字节地址。长度:(长度:(size 、byte )2)、常量、常量 :程序运行时其值不变的量。:程序运行时其值不变的量。常量也有变量的其它属性,如:整形常量,字符型常量。常量也有变量

5、的其它属性,如:整形常量,字符型常量。常量的表示:常量的表示:5整形常量整形常量:十进制:十进制: 如如 234 、 -678 、 0八进制:八进制: 以以0开头如开头如 012 、 0123 、-013十六进制:以十六进制:以 0x 开头如开头如 0x12 、 0x2f实形常量实形常量: 0.123 、.123、 123.0、123e3、123E3 (注意注意:123 e 3 错错)字符形常量字符形常量:例如:例如: a 3 $ * 转义字符:转义字符: n 表示换行符表示换行符 t 表示换跳格符表示换跳格符 ddd 1-3位位8进制数所表示的字符进制数所表示的字符 xhh 1-2位位16进

6、制数所表示的字符进制数所表示的字符 、 b等。等。6例例1: char a ; a=B; printf(“%c”, a );字符常量的值是该字符的字符常量的值是该字符的ASCII码值码值ASCII : American Standard Code for Information Interchange 例如:关于例如:关于ASCII的示例。的示例。7main( )int i; char c1,c2; c1=a; c2=b;i=2; printf(%c %c %dn,c1,c2,c1); c1=65; printf(%c %dn,c1,c1); /* A 65 */ c1=c1+i; print

7、f(%c %dn,c1,c1); /* C 67 */8#define PI 3.14159 ( 举例举例 )字符串常量字符串常量:注意字符串的形式。:注意字符串的形式。例如:例如:How are you ? 的存放格式。的存放格式。a 与与 a 的存储以及采用的存储以及采用printf( )的输出上的区别。的输出上的区别。9字符常量与字符串常量不同字符常量与字符串常量不同&字符串常量字符串常量定义:用双引号定义:用双引号(“”)(“”)括起来的字符序列括起来的字符序列存储:存储:每个字符串尾每个字符串尾自动自动加一个加一个 0 0 作为字符作为字符串结束标志串结束标志h e l l o 0例

8、例 字符串字符串“hello”“hello”在内存中在内存中a a 0例例 a“a”例例 空串空串 “”0例例: char ch; ch=“A”; 例例: char ch; ch=A; 103、变量的定义、变量的定义在程序中使用的变量:在程序中使用的变量:先定义后引用先定义后引用。例如:。例如:main( ) float x ; /* 定义单精度实型变量定义单精度实型变量 x */ int i ; /* 定义整形变量定义整形变量 i */ x=3.6 ; /* 引用变量引用变量 x */ i = 3 ; /* 引用变量引用变量 i */定义性说明定义性说明:命名、指定类型、分配空间、赋初值:命

9、名、指定类型、分配空间、赋初值(可选可选)11引用性说明的格式引用性说明的格式:extern 类型名类型名 变量名变量名 ; main( ) int i , j=0; /* 列举赋初值上的问题列举赋初值上的问题 */ extern int k; k=99; int k;124、C 语言中的运算符和表达式语言中的运算符和表达式1)、运算符运算符(共共44个个):2)、表达式表达式 表达式的定义:表达式的定义:例如:例如:a + b * c 、 a b 、 a 、 a=10 、 6 算术运算符:算术运算符:+ 、- 、* 、/ 、%6/5 、6/5.0 、 -7/4、7/-4 、6%5 、5 %

10、6 -7 % 4 =-3 、7 % - 4 = 3 符号与被除数的符号相同。符号与被除数的符号相同。13运算符的优先级和结合规则运算符的优先级和结合规则( 参见附录参见附录III )强制类型转换运算符强制类型转换运算符 int a=4; double x , y; x=(double) a; a=(int) (x+y); /* 注意注意:a=(int) x+y 不同不同 */赋值运算符与赋值表达式赋值运算符与赋值表达式 C语语言言中中常常用用的的赋赋值值运运算算符符“=”,例例如如 a=b是是一一个个赋赋表表达达式。式。14扩展的赋值运算符:扩展的赋值运算符:+、-例如例如:a+ , +a ,

11、a- , -a 还有:还有:+= 、-=、*= 、/=、%=等。例如:等。例如:a*=b+2 15自增、自减运算符自增、自减运算符+ -+ -作用:使变量值加作用:使变量值加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)例例 j=3; k=+j; j=3; k=+j; j=3; k=j+; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d

12、”,+j); j=3; printf(“%d”,j+); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=4,j=4/k=3,j=4/k=3,j=4/4/4/3/3/c=20,a=4/c=20,a=4/c=15,a=4/c=15,a=416自增、自减运算符自增、自减运算符+ -+ -作用:使变量值加作用:使变量值加1 1或减或减1 1种类:种类:前置前置 +i, -i ( +i, -i (先执行先执行i i+1+1或或i-1i-1,再

13、使用再使用i i值)值)后置后置 i+,i- ( i+,i- (先使用先使用i i值值, ,再执行再执行i i+1+1或或i-1i-1)说明:说明:+ - + - 不能用于常量和表达式不能用于常量和表达式, ,如如5+5+,(a+b)+(a+b)+ -+ -结合方向:结合方向: 自右向左自右向左优先级:优先级:- + - -* / % -+ - + - -* / % -+ - (2) (3) (4)(2) (3) (4)例例 -i+ -i+ -(i+) -(i+) i=3; printf(“%d”,-i+); i=3; printf(“%d”,-i+); /-3/-3 例例 j+k; (j+)

14、+k; j+k; (j+)+k;例例 -i+ -i+ i=3; printf(“%d”,-i+); i=3; printf(“%d”,-i+); 17逗号运算符与逗号表达式逗号运算符与逗号表达式例如:例如:a=3+6,b=a+1,a+b再如:再如:b=a=3+6,b=a+1,a+b 注意:表达式的值、注意:表达式的值、 a的值、的值、 b的值的值但:但: b=(a=3+6,b=a+1,a+b) 注意:注意:a的值、的值、 b的值的值注意:表达式有自己的类型,即计算结果的类型。注意:表达式有自己的类型,即计算结果的类型。例如例如3: int a , b; char ch ; ch=(a=3+6,

15、b=a+1,a+b,a);18例如例如4:#include stdio.hmain( ) int a,b,x; x=(a=2+1,b=a+1,a+b); printf(n x=%d,x); x=a=2+1,b=a+1,a+b; printf(n x= %d,x); 195、数据类型的转换、数据类型的转换1、类型的自动转换、类型的自动转换在在表表达达式式中中,遇遇到到多多种种类类型型的的混混合合运运算算总总是是将将其其它类型转换为表达式中宽度最高的那一个类型。它类型转换为表达式中宽度最高的那一个类型。 int unsigned int long unsigned long float doubl

16、e表表达达式式中中的的char 、short(unsigned short 除除外外)都都无无条件地转换为条件地转换为 int 。赋值类型的自动转换:赋值类型的自动转换:赋值号右边的类型转换为左边的类型。赋值号右边的类型转换为左边的类型。202、类型的强制转换、类型的强制转换 格式:(类型名)(表达式)格式:(类型名)(表达式)例如例如5:main( ) int a,b,x; float f; x=(a=2+1,b=a+1,a+b); printf(n x=%d,x); x=a=2+1,b=a+1,a+b; printf(n x=%d,x); f=x; printf(n f=%f %f %d,

17、(float)x,f,x); printf(“%dn”,(int)f % 2); /* 对对f 进行强制转换进行强制转换 */21注意注意:表表达达式式中中参参与与计计算算的的常常量量或或变变量量类类型型的的转转换换是是临临时时的的,其原类型和值均不变,如上例其原类型和值均不变,如上例5 中中X 的值。的值。当当把把数数据据长长度度长长的的存存入入长长度度短短的的变变量量时时,将将截截去去超超长长的部分,有可能造成数据精度降低。的部分,有可能造成数据精度降低。类类型型转转换换将将占占用用系系统统的的时时间间,过过多多的的转转换换将将影影响响程程序序的运行效率。的运行效率。作业:作业: 3 、6、7、9、10、1222

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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