收藏 分销(赏)

第2章-C数据类型.ppt

上传人:精**** 文档编号:2074370 上传时间:2024-05-15 格式:PPT 页数:30 大小:1.22MB
下载 相关 举报
第2章-C数据类型.ppt_第1页
第1页 / 共30页
第2章-C数据类型.ppt_第2页
第2页 / 共30页
第2章-C数据类型.ppt_第3页
第3页 / 共30页
第2章-C数据类型.ppt_第4页
第4页 / 共30页
第2章-C数据类型.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、第第第第2 2 2 2章章章章 C C C C数据类型数据类型数据类型数据类型1.2024/5/13 周一2/26本章学习内容本章学习内容 常量和变量,整型和实型常量和变量,整型和实型 标识符命名,变量的定义和赋值标识符命名,变量的定义和赋值 计算数据类型占用内存空间的大小计算数据类型占用内存空间的大小 .HIT-C Programming 2024/5/13 周一3/262.1 常量与变量常量与变量C C语言程序处理的数据形式语言程序处理的数据形式常量(常量(ConstantConstant)在程序中不能改变其值的量在程序中不能改变其值的量变量(变量(VariableVariable)其值在

2、程序执行过程中是可以其值在程序执行过程中是可以改变的改变的.HIT-C Programming 2024/5/13 周一4/26一个简单的一个简单的C程序例子程序例子#includeinclude /*/*函数功能函数功能函数功能函数功能:计算两个整数相加之和计算两个整数相加之和计算两个整数相加之和计算两个整数相加之和 入口参数入口参数入口参数入口参数:整型数据整型数据整型数据整型数据a a和和和和b b 返回值:返回值:返回值:返回值:整型数整型数整型数整型数a a和和和和b b之和之和之和之和*/intint AddAdd(intint a,a,intint b)b)returnretur

3、n(a+b);(a+b);/*/*主函数主函数主函数主函数*/mainmain()()intint x,y,sum=0;x,y,sum=0;printfprintf(Input two integers:);(Input two integers:);scanfscanf(%d%d,&x,&y);/*(%d%d,&x,&y);/*输入两个整型数输入两个整型数输入两个整型数输入两个整型数x x和和和和y*/y*/sum=sum=AddAdd(x,y);/*(x,y);/*调用函数调用函数调用函数调用函数AddAdd计算计算计算计算x x和和和和y y相加之和相加之和相加之和相加之和*/print

4、fprintf(sum=%dn,sum);/*(sum=%dn,sum);/*输出输出输出输出x x和和和和y y相加之和相加之和相加之和相加之和*/并列的两个函数并列的两个函数其中主函数是其中主函数是程序的入口程序的入口程序注释程序注释编译预处理命令编译预处理命令.HIT-C Programming 2024/5/13 周一5/26C程序常见符号分类程序常见符号分类 关键字(关键字(KeywordKeyword)又称保留字(又称保留字(C C Reserved WordReserved Word )A word that has A word that has special meaning

5、 special meaning in Cin C.HIT-C Programming 2024/5/13 周一6/26C程序常见符号分类程序常见符号分类 标识符(标识符(标识符(标识符(IdentifierIdentifier)系统预定义标识符(系统预定义标识符(系统预定义标识符(系统预定义标识符(C C Standard IdentifierStandard Identifier)A word having special A word having special meaning but may be meaning but may be redefined(but is not red

6、efined(but is not recommended!)recommended!)用户自定义标识符用户自定义标识符用户自定义标识符用户自定义标识符 变量,函数名,变量,函数名,变量,函数名,变量,函数名,.HIT-C Programming 2024/5/13 周一7/26C程序常见符号分类程序常见符号分类 运算符(运算符(运算符(运算符(OperatorOperatorOperatorOperator)详见附录详见附录详见附录详见附录C C C C 分隔符(分隔符(分隔符(分隔符(SeparatorSeparatorSeparatorSeparator)空格、回车空格、回车空格、回车空

7、格、回车/换行、逗号等换行、逗号等换行、逗号等换行、逗号等 其他符号其他符号其他符号其他符号 和和和和 标识函数体或语句块标识函数体或语句块标识函数体或语句块标识函数体或语句块 /*/*/*/*和和和和*/是程序注释的定界符是程序注释的定界符是程序注释的定界符是程序注释的定界符 常量(常量(常量(常量(ConstantConstantConstantConstant).HIT-C Programming 2024/5/13 周一8/26 在程序中不能改变其值的量在程序中不能改变其值的量在程序中不能改变其值的量在程序中不能改变其值的量 包括包括包括包括:整型整型整型整型(如如如如 0,67,-2

8、,0,67,-2,123L,123u,022,123L,123u,022,0 x1A0 x1A)默认为默认为默认为默认为intint实型实型实型实型(如如如如 2.3,1.2e-5,2.73F,2.3,1.2e-5,2.73F,2.73L2.73L)默认为默认为默认为默认为doubledouble2.1.1常量(常量(Constant)长整型长整型无符号整型无符号整型八进制八进制十六进制十六进制单精度单精度实型实型长双精度长双精度实型实型十进制小十进制小数数指数形指数形式式十进制十进制.HIT-C Programming 2024/5/13 周一9/26 在程序中不能改变其值的量在程序中不能改

9、变其值的量 包括包括:字符型字符型(如如 “z”,3,$,n )“z”,3,$,n )用用 开头的字符为转义字符开头的字符为转义字符,代表代表1 1个字个字符符字符串字符串(如如 “,1,5a)“,1,5a)枚举型枚举型2.1.1常量(常量(Constant).HIT-C Programming 2024/5/13 周一10/262.1.2变量(变量(Variable)变量的值在程序执行过程中是可以改变的变量的值在程序执行过程中是可以改变的 变量的属性变量的属性Name Name 变量名变量名Type Type 变量类型变量类型Value Value 变量的值变量的值Address Addre

10、ss 变量的存储单元变量的存储单元地址地址.HIT-C Programming 2024/5/13 周一11/26 变量的声明变量的声明变量的声明变量的声明 类型关键字类型关键字类型关键字类型关键字 变量名变量名变量名变量名;变量声明变量声明(Variable Declaration)使用变量的基本原则使用变量的基本原则使用变量的基本原则使用变量的基本原则变量必须先声明,后使用变量必须先声明,后使用变量必须先声明,后使用变量必须先声明,后使用所有变量必须在第一条可执行语句前声明所有变量必须在第一条可执行语句前声明所有变量必须在第一条可执行语句前声明所有变量必须在第一条可执行语句前声明 声明的顺

11、序无关紧要声明的顺序无关紧要声明的顺序无关紧要声明的顺序无关紧要 一条声明语句可声明若干个同类一条声明语句可声明若干个同类一条声明语句可声明若干个同类一条声明语句可声明若干个同类型的变量型的变量型的变量型的变量.HIT-C Programming 2024/5/13 周一12/26变量声明变量声明(Variable Declaration)声明变量是初始化变量的最好时机声明变量是初始化变量的最好时机声明变量是初始化变量的最好时机声明变量是初始化变量的最好时机不被初始化的变量,其值为随机数不被初始化的变量,其值为随机数不被初始化的变量,其值为随机数不被初始化的变量,其值为随机数结果会是什么?结果

12、会是什么?.HIT-C Programming 2024/5/13 周一13/26运算规则:运算规则:变量变量 表达式表达式 语法:语法:变量变量 =表达式表达式;规则:规则:左值和右值类型一致左值和右值类型一致Valid Example:Invalid Example:int x;int y;x=12;y=5.75;变量赋值变量赋值变量赋值变量赋值(Variable AssignmentVariable Assignment).HIT-C Programming 2024/5/13 周一14/262.3数据类型(数据类型(Data Type)(jk4-1)为什么要区分类型?为什么要区分类型?

13、变量的类型决定了变量的类型决定了数据的存储形式数据的存储形式合法的取值范围合法的取值范围占用内存空间的大小占用内存空间的大小可参与的运算种类可参与的运算种类 .HIT-C Programming 2024/5/13 周一15/26数据类型(数据类型(Data Type)数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型 int*int*无无 类类 型型 voidvoid整型整型实型(浮点型)实型(浮点型)字符型字符型 charchar枚举类型枚举类型 enum enum 布尔布尔 boolbool 数组类型数组类型 int a 5 int a 5 结构体类型结构体类型共用体类型共

14、用体类型单精度实型单精度实型双精度实型双精度实型基本整型基本整型 intint长整型长整型 longlong短整型短整型无符号整型无符号整型 unsigned intunsigned int长双精度实型长双精度实型.HIT-C Programming 2024/5/13 周一16/26基本数据类型基本数据类型(17jk1-2)intintintint整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占4 4 4 4个字节个字节个字节个字节TC 2.0TC 2.0TC 2.0TC 2.0,2 2 2 2个字节个字节个字节个字节 floa

15、tfloatfloatfloat单精度浮点数,单精度浮点数,单精度浮点数,单精度浮点数,4 4 4 4个字节个字节个字节个字节 doubledoubledoubledouble双精度浮点数,双精度浮点数,双精度浮点数,双精度浮点数,8 8 8 8个字节个字节个字节个字节 charcharcharchar字符,字符,字符,字符,1 1 1 1个字节个字节个字节个字节表示表示表示表示256256256256个个个个ASCIIASCIIASCIIASCII字符,或字符,或字符,或字符,或0255025502550255的整数的整数的整数的整数.HIT-C Programming 2024/5/13

16、周一17/26数据类型修饰符数据类型修饰符 shortshortshort intshort int,简写为,简写为shortshort,短整数,短整数,2 2个字节个字节 longlonglong intlong int,简写为,简写为longlong,长整数,长整数,8 8个字节个字节long doublelong double,长双精度(高精度)浮点数,长双精度(高精度)浮点数,1010个字节个字节 unsignedunsigned用来修饰用来修饰charchar、intint、shortshort和和longlong无符号整数(正整数和无符号整数(正整数和0 0).HIT-C Prog

17、ramming 2024/5/13 周一18/26不同类型取值范围不同不同类型取值范围不同 C C语言直接提供的任何类型都有取值范围语言直接提供的任何类型都有取值范围语言直接提供的任何类型都有取值范围语言直接提供的任何类型都有取值范围(附录附录附录附录2)2).HIT-C Programming 2024/5/13 周一19/26不同类型取值范围不同不同类型取值范围不同 Most significant bit(MSB)is sign(Most significant bit(MSB)is sign(最高位为符号位最高位为符号位最高位为符号位最高位为符号位).HIT-C Programming

18、 2024/5/13 周一20/262.4如何计算变量或数据类型如何计算变量或数据类型所占内存空间的大小所占内存空间的大小1 TB=1 024 GB1 TB=1 024 GB1 TB=1 024 GB1 TB=1 024 GB1 GB=1 024 MB1 GB=1 024 MB1 GB=1 024 MB1 GB=1 024 MB1 MB=1 024 KB1 MB=1 024 KB1 MB=1 024 KB1 MB=1 024 KB1 KB=1 024 B1 KB=1 024 B1 KB=1 024 B1 KB=1 024 B1 B=8 b1 B=8 b1 B=8 b1 B=8 b英文称谓英文称

19、谓中文称谓中文称谓换算方法换算方法bit(b)bit(b)位(比特)位(比特)Byte(B)Byte(B)字节字节1 B=8 b1 B=8 bKilobyte(KB)Kilobyte(KB)千字节千字节1 KB=1 024 B1 KB=1 024 BMegabyte(MB)Megabyte(MB)兆字节兆字节1 MB=1 024 KB1 MB=1 024 KBGigabyte(GB)Gigabyte(GB)吉字节吉字节1 GB=1 024 MB1 GB=1 024 MBTerabyte(TB)Terabyte(TB)太字节太字节1 TB=1 024 GB1 TB=1 024 GB.HIT-C

20、Programming 2024/5/13 周一21/26 一个位有多大?一个位有多大?只能是只能是0或者或者1,二进制,二进制 一个字节有多大?一个字节有多大?可以表示可以表示0255之间的无符号整数之间的无符号整数2.4如何计算变量或数据类型如何计算变量或数据类型所占内存空间的大小所占内存空间的大小.HIT-C Programming 2024/5/13 周一22/26不同类型占用的内存字节数不同不同类型占用的内存字节数不同 同种类型在不同的平台其占字节数不尽相同同种类型在不同的平台其占字节数不尽相同同种类型在不同的平台其占字节数不尽相同同种类型在不同的平台其占字节数不尽相同如如如如int

21、intintint在在在在16161616位、位、位、位、32323232位和位和位和位和64646464位系统上分别占位系统上分别占位系统上分别占位系统上分别占2 2 2 2、4 4 4 4和和和和8 8 8 8个字节个字节个字节个字节注意!注意!注意!注意!.HIT-C Programming 2024/5/13 周一23/26不同类型占用的内存字节数不同不同类型占用的内存字节数不同 不要对变量所占的内存空间字节数想当然不要对变量所占的内存空间字节数想当然用用sizeofsizeof获得变量或者数据类型的长度获得变量或者数据类型的长度 现象与危害现象与危害在平台间移植时会出现问题,导致数据

22、丢在平台间移植时会出现问题,导致数据丢失或者溢出失或者溢出注意!注意!注意!注意!.HIT-C Programming 2024/5/13 周一24/26sizeof到底是什么?到底是什么?C C C C语言的关键字,并非函数语言的关键字,并非函数语言的关键字,并非函数语言的关键字,并非函数计算计算计算计算类型类型类型类型占用的字节数占用的字节数占用的字节数占用的字节数 两种语法形式两种语法形式两种语法形式两种语法形式 sizeof(sizeof(sizeof(sizeof(类型类型类型类型)结果为结果为结果为结果为类型类型类型类型占用的字节数占用的字节数占用的字节数占用的字节数 sizeof

23、(sizeof(sizeof(sizeof(表达式表达式表达式表达式)结果为结果为结果为结果为表达式值所属类型表达式值所属类型表达式值所属类型表达式值所属类型占用的字节数占用的字节数占用的字节数占用的字节数 一般都使用一般都使用一般都使用一般都使用sizeof(sizeof(sizeof(sizeof(变量名变量名变量名变量名).HIT-C Programming 2024/5/13 周一25/26现场演示例现场演示例2.2在在VC下的运行结果下的运行结果#include#include main()main()printf(Data type Number of bytesn);printf

24、(Data type Number of bytesn);printf(-n);printf(-n);printf(char printf(char%dn,sizeof(char);%dn,sizeof(char);printf(int printf(int%dn,sizeof(int);%dn,sizeof(int);printf(short int printf(short int%dn,sizeof(short);%dn,sizeof(short);printf(long int printf(long int%dn,sizeof(long);%dn,sizeof(long);print

25、f(float printf(float%dn,sizeof(float);%dn,sizeof(float);printf(double printf(double%dn,sizeof(double);%dn,sizeof(double);.HIT-C Programming 2024/5/13 周一26/262.5变量的赋值和赋值运算符变量的赋值和赋值运算符简单赋值(简单赋值(Simple AssignmentSimple Assignment)语法语法:变量变量 =表达式表达式;Dont forget the semicolon!Dont forget the semicolon!Eve

26、ry assignment expression has a valueEvery assignment expression has a value.HIT-C Programming 2024/5/13 周一27/26语法语法:变量变量1 =变量变量2 =表达式表达式;多重赋值多重赋值多重赋值多重赋值Multiple AssignmentMultiple AssignmentDont forget the semicolon!Dont forget the semicolon!右结合:从右向左赋值右结合:从右向左赋值右结合:从右向左赋值右结合:从右向左赋值 变量变量1 =(变量变量2 =表

27、达式表达式);.HIT-C Programming 2024/5/13 周一28/26Example:int a,b;float x,y;.a=b=0;x=y=100.0;b?a?x?y?00100.0100.0多重赋值多重赋值多重赋值多重赋值Multiple AssignmentMultiple Assignment.HIT-C Programming 2024/5/13 周一29/26单精度实型和双精度实型的有效位数单精度实型和双精度实型的有效位数单精度实型和双精度实型的有效位数单精度实型和双精度实型的有效位数【例例2.3】#include main()float a;double b;a=123456.789e4;b=123456.789e4;printf(%fn%fn,a,b);.HIT-C Programming 2024/5/13 周一30/26 Questions and answersQuestions and answers.HIT-C Programming

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服