C语言第二讲数据类型运算符表达式.ppt
《C语言第二讲数据类型运算符表达式.ppt》由会员分享,可在线阅读,更多相关《C语言第二讲数据类型运算符表达式.ppt(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2 2章章 类型、运算符与表达式类型、运算符与表达式基本数据类型;基本数据类型;常量和变量;常量和变量;标识符命名;标识符命名;常用运算符和表达式;常用运算符和表达式;运算符的优先级与结合性运算符的优先级与结合性2023/1/161Types,Operators and Expressions2本本章章只只对对基基本本类类型型中中的的前前三三类类进进行行学学习习。C语言的数据类型语言的数据类型 是一种特殊的类型。表示一个量在内存中的地址。是一种特殊的类型。表示一个量在内存中的地址。函数调用后,不需要向调用者返回任何值,则可将该函数调用后,不需要向调用者返回任何值,则可将该函数定为空类型。函
2、数定为空类型。3 intint整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占整数,在目前绝大多数机器上占4 4个字节个字节个字节个字节TC2.0TC2.0中是中是中是中是2 2个字节个字节个字节个字节 floatfloat单精度浮点数,一般占单精度浮点数,一般占单精度浮点数,一般占单精度浮点数,一般占4 4个字节个字节个字节个字节 doubledouble双精度浮点数,一般占双精度浮点数,一般占双精度浮点数,一般占双精度浮点数,一般占8 8个字节个字节个字节个字节 charchar字符,一般占字符,一般占字符,一般占字符,一般占1 1个字节个字节个字节个字
3、节用来表示用来表示用来表示用来表示256256个个个个ASCIIASCII字符,或者字符,或者字符,或者字符,或者02550255的整数的整数的整数的整数2-1基本数据类型(基本数据类型(Data Type)4数据类型修饰符数据类型修饰符 shortshort int,短整数,一般短整数,一般2个字节个字节长。常简写为长。常简写为short longlong int,长整数,一般是,长整数,一般是4个字节个字节长。常简写为长。常简写为longlong double,高精度浮点数,一,高精度浮点数,一般般10个字节长。个字节长。5 signed用来修饰用来修饰char、int、short和和lo
4、ng,说明他们是,说明他们是有符号有符号的整数(正整数、的整数(正整数、0和负整数)。一般缺省都是有符号的,和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略所以这个修饰符通常省略 unsigned用来修饰用来修饰char、int、short和和long,说明他们是,说明他们是无符号无符号的整数(正整数和的整数(正整数和0)6常量和变量:常量和变量:数据在程序中的书写方式数据在程序中的书写方式2-2常量与变量常量与变量在程序在程序运行运行过程中过程中值不变值不变的量的量-常量常量在程序在程序运行运行过程中过程中值可发生改变值可发生改变的量的量-变量变量(一)常量(一)常量按类型分为:整型
5、常量、实型常量、字符常量、按类型分为:整型常量、实型常量、字符常量、字符串常量、符号常量和枚举常量字符串常量、符号常量和枚举常量7(二)变量(二)变量命名规则命名规则命名规则命名规则:变量名由标识符表示,只能由变量名由标识符表示,只能由变量名由标识符表示,只能由变量名由标识符表示,只能由字母字母字母字母、数字数字数字数字和和和和下划线下划线下划线下划线三种字符组成,且第一个字符必三种字符组成,且第一个字符必三种字符组成,且第一个字符必三种字符组成,且第一个字符必须为须为须为须为字母字母字母字母或或或或下划线下划线下划线下划线。例如:下列标识符中,合法的变量名有:例如:下列标识符中,合法的变量名
6、有:M.D.John12%gf1add_ce36age&5thclasslotus-1-2-3cd*ef(在程序在程序运行运行过程中过程中值可发生改变值可发生改变的量的量)8变量必须先定义,后使用。变量必须先定义,后使用。目的:目的:1.保证程序中变量名使用正确保证程序中变量名使用正确2.编译时为其分配相应的存储单元编译时为其分配相应的存储单元3.编译时据此检查该量运算是否合法编译时据此检查该量运算是否合法9说明:说明:1.变量要变量要“先定义,后使用先定义,后使用”定义格式:定义格式:类型说明符类型说明符 标识符标识符1,1,标识符标识符2 2 标识符标识符n n例如:例如:intx,y,z
7、;floata,b,c,d;使用变量的基本原则使用变量的基本原则101.1.所有变量必须在第一条可执行语句前定义所有变量必须在第一条可执行语句前定义2.2.声明的顺序无关紧要声明的顺序无关紧要3.3.一条声明语句可声明若干个同类型的变量,一条声明语句可声明若干个同类型的变量,变量名之间用逗号分隔变量名之间用逗号分隔4.变量定义后,即占用内存,可向其存入各变量定义后,即占用内存,可向其存入各种数据,并可通过变量名使用数据种数据,并可通过变量名使用数据5.5.声明变量,是初始化变量的最好时机声明变量,是初始化变量的最好时机使用变量的基本原则使用变量的基本原则11 charesc=a;inti=1;
8、intsum=0;floateps=1.0e-5;不被初始化的变量,其值为危险的随机数不被初始化的变量,其值为危险的随机数12变量赋初值变量赋初值可以在定义变量的同时使变量初始化。可以在定义变量的同时使变量初始化。但不可以在定义的同时连续赋值。但不可以在定义的同时连续赋值。例如:例如:inta=3;inta,b,c=5;inta=3,b=3,c=3;inta=b=c=3;136.选变量名时,要做到选变量名时,要做到“见名知意见名知意”例如:例如:namest_agexmnlclasssum7.大小写字母是两个不同的字符,变量名习大小写字母是两个不同的字符,变量名习惯用小写字母表示惯用小写字母表
9、示使用变量的基本原则使用变量的基本原则14(一)整型常量(一)整型常量(由若干个数字组成)由若干个数字组成)整型常量的几种表示形式:整型常量的几种表示形式:十进制、八进制、十六进制十进制、八进制、十六进制整型常量的类型确定:整型常量的类型确定:长整型常量:常量后跟长整型常量:常量后跟L或或l来表示来表示无符号整型常量:常量后跟无符号整型常量:常量后跟U或或u来表示来表示无符号长整型常量:常量后跟无符号长整型常量:常量后跟LU或或lu来表示来表示一、一、整型数据整型数据151.十进制整数:以十进制整数:以非非0开头,由数字开头,由数字09组成,可带正负号组成,可带正负号18、-31长整型常数长整
10、型常数:123l、123L、123456l、123456L无符号型整数:无符号型整数:123u、123U如:如:162.八进制整数:八进制整数:以数字以数字“0”开始的整型常数开始的整型常数,由数字由数字0 07 7组成,可带正负号组成,可带正负号如:如:八进制整型数:八进制整型数:012,03,04八进制长整型数八进制长整型数:012433L010和和10大小不一样大小不一样因为八进制并不常用,所以此种表示法因为八进制并不常用,所以此种表示法比较少见,因而常被用错比较少见,因而常被用错173.十六进制整数:十六进制整数:以以“0 x”或者或者“0X”开始的开始的整型常数整型常数,由由AF和和
11、af组成,组成,可带正负号可带正负号如:如:十六进制长整型数十六进制长整型数:0 x12,0 x3,0 x4十六进制长整型数:十六进制长整型数:0X12DFL十六进制的形式比较常用十六进制的形式比较常用,尤其在进,尤其在进行位一级的控制的时候行位一级的控制的时候18(二)整型变量(二)整型变量整型变量分为:整型变量分为:基本型(基本型(int)、短整型短整型(short)、长整型长整型(long)、无符号整型无符号整型(unsigned)不同类型的变量所分配的字节数不同,即不不同类型的变量所分配的字节数不同,即不同数据类型所表示的数的范围是不同的同数据类型所表示的数的范围是不同的 19不同类型
12、的量可以参与运算并相互赋值,类型转不同类型的量可以参与运算并相互赋值,类型转换是由编译系统自动完成的。换是由编译系统自动完成的。类型符类型符取值范围取值范围字节数字节数int-32768-327672shortint:2longint-2147483648-21474836474unsignedlong0-42949672954unsignedint0-65535220二、二、实型数据实型数据实数在实数在C语言中又称为浮点数语言中又称为浮点数(一)实型常量(一)实型常量两种表现形式:两种表现形式:1、十进制数形式、十进制数形式自然表示法自然表示法如如123.456,0.982、指数形式、指数形
13、式科学表示法科学表示法如:如:1.234e12e指数符号,指数符号,e前必须有数字,前必须有数字,e必须为整数必须为整数。21v十进制小数形式:十进制小数形式:123.45、456.78v指数形式指数形式1e-2、4.5e3v单精度实型常数:单精度实型常数:123.45f、456.78F、1e-2f、4.5e3Fv长双精度型常数:长双精度型常数:123.45l、456.78L、1e-2l、4.5e3L实型常量的类型确定:实型常量的类型确定:实型常量隐含按双精度处理实型常量隐含按双精度处理单精度实型常量:常量后跟单精度实型常量:常量后跟F或或f来表示来表示长双精度实型常量:常量后跟长双精度实型常
14、量:常量后跟L或或l来表示来表示22(二)实型变量(二)实型变量如:如:floata;doubled;类型符类型符取值范围取值范围字节数字节数float3.4e-38-3.4e384double1.7e-308-1.7e3088两种:单精度(两种:单精度(float)、双精度、双精度(double)23注:注:一般,一般,单精度(单精度(float)类型提供类型提供7 7位位有效数字有效数字双精度双精度(double)类型提供类型提供1616位位有效数字有效数字如:如:floata;doubleb;a=1234.667789/*实际机器中实际机器中a=1234.667*/b=1234.6677
15、89/*实际机器中实际机器中a=1234.667789*/24三、三、字符型数据字符型数据(一)字符常量(一)字符常量用单引号引起的用单引号引起的单个单个字符字符.如如 a,A,5,%,$单引号内只能有一个字符,除非用单引号内只能有一个字符,除非用“”开头开头就是一个普通整数,也可以参与各种数就是一个普通整数,也可以参与各种数学运算学运算每个字符具有一个每个字符具有一个0255之间的数值,可从之间的数值,可从ASCII表表查出查出注意:注意:5和和5的区别,的区别,A和和A的区别的区别字符的数学运算在密码学内用得比较多字符的数学运算在密码学内用得比较多25转义字符转义字符一种特殊形式的字符常量
16、,以反斜线一种特殊形式的字符常量,以反斜线“”开开头的字符序列,表示特定的控制功能头的字符序列,表示特定的控制功能一些特殊字符(无法从键盘输入或者在一些特殊字符(无法从键盘输入或者在C语言语言里有它用)用转义字符表示里有它用)用转义字符表示26二、字符变量二、字符变量一个字符变量只能存放一个字符,字符型一个字符变量只能存放一个字符,字符型变量占变量占 1 1 个字节个字节 定义形式:定义形式:char变量名表;变量名表;如:如:charperson;person=m;在在字字符符型型变变量量的的存存储储单单元元中中,存存储储的的不不是是字字符符,而而是该字符对应的是该字符对应的ASCII码值码
17、值。优点:优点:1、可以字符形式或数值(整数)形式输出、可以字符形式或数值(整数)形式输出2、可以参与运算。、可以参与运算。27(一)(一)字符串常量:用双引号括起的一串字符字符串常量:用双引号括起的一串字符.如如 ABCABC ,123123 中国中国 注:注:C C语言规定,在每个字符串的结尾,系统自语言规定,在每个字符串的结尾,系统自动加一个字符串结束标志动加一个字符串结束标志0,不起任何控制不起任何控制动作,也不显示动作,也不显示四、四、字符串型数据字符串型数据28I am a string表示空字符串表示空字符串转义字符也可以在字符串中使用转义字符也可以在字符串中使用引号只作为字符串
18、开始和结束的标志引号只作为字符串开始和结束的标志C语言内部用语言内部用0表示字符串的结束表示字符串的结束除注释外,是唯一可以出现中文的地方除注释外,是唯一可以出现中文的地方x和和x是不同的是不同的里定义了一系列专门的字符串处理里定义了一系列专门的字符串处理函数函数29字符常量与字符串常量的区别字符常量与字符串常量的区别 字符常量字符常量字符串常量字符串常量单引号单引号双引号双引号1个字符个字符多个字符多个字符字符变量字符变量字符数组字符数组一个字节一个字节字符串中字节数字符串中字节数+1(0结束标志)结束标志)引用形式:引用形式:存放内容:存放内容:赋值对象:赋值对象:占用空间:占用空间:例如
19、:例如:a a 不同不同1个字节个字节2个字节个字节30五、五、符号常量及符号常量及const常量常量符号常量由符号常量由宏宏来定义来定义宏:无参宏、有参宏宏:无参宏、有参宏无参宏的定义形式:无参宏的定义形式:#define标识符标识符字符串字符串1、符号常量、符号常量用一个符号代表一个常量用一个符号代表一个常量例如例如例如例如:#:#definePI3.1415926definePI3.141592631五、五、符号常量及符号常量及const常量常量有参宏的定义形式:有参宏的定义形式:#define标识符标识符(参数参数)字符串字符串1、符号常量、符号常量用一个符号代表一个常量用一个符号代表
20、一个常量例如例如例如例如:#defineS(x)4*(x)*x+1#defineS(x)4*(x)*x+132说明:说明:符号常量必须符号常量必须先定义先定义后才能用它表示后才能用它表示一个数值一个数值符号常量的值在其作用域内不能改变,符号常量的值在其作用域内不能改变,也不能再也不能再被赋值被赋值符号常量名习惯用符号常量名习惯用大写大写字母表示字母表示33例:例:#definePI3.14159main()floatr,s,v;scanf(“%f”,&r);s=2*PI*r;v=PI*r*r;printf(“s=%f,v=%fn”,s,v);34例:例:#include#defineS(x)4
21、*(x)*x+1main()intk=5,j=2;printf(%dn,S(k+j);程序运行后的输出结果是程序运行后的输出结果是程序运行后的输出结果是程序运行后的输出结果是:352、const常量常量用用const修饰定义的变量为常量修饰定义的变量为常量const float pi=3.1425926;常量只能在定义时赋值,常量只能在定义时赋值,不能不能再改变其值再改变其值常数、常数、const常量常量、宏常量和枚举常量,宏常量和枚举常量,均用来表示一个永远不会改变的数。均用来表示一个永远不会改变的数。36 TC2中中int的范围是的范围是-3276732767 如果我们给它一个小于如果我们
22、给它一个小于-32767或者大于或者大于32767的数会如何呢?的数会如何呢?现场编程测验现场编程测验小蛇能吞下小蛇能吞下大象吗?大象吗?超出取值范围会怎样?超出取值范围会怎样?372.3C运算符及表达式运算符及表达式 算术运算符,自增、自减运算符算术运算符,自增、自减运算符 赋值运算符赋值运算符 ,逗号运算符,逗号运算符 位式运算符及特殊运算符、关系运算符位式运算符及特殊运算符、关系运算符 逻辑运算符,条件运算符等。逻辑运算符,条件运算符等。使用时注意优先级别及使用时注意优先级别及结合性结合性 381 1、运算符(运算符(5 5种):种):+(+(加加):3+43+4、+3+3 -(-(减减
23、):3-53-5、-5-5 *(*(乘乘):3*53*5 /(/(除除):5/25/2、5.0/2 5.0/2(此二种形式,结果不同)(此二种形式,结果不同)一、算术运算符和算术表达式一、算术运算符和算术表达式395%35%3的值为的值为2 2;-5%3 -5%3的值为的值为-2-2;5%(-3)5%(-3)的值为的值为2 2;-5%(-3)-5%(-3)的值为的值为-2-2;12.3%3 12.3%3 若若a%b a%b 的结果为的结果为0 0,则有,则有a a能被能被b b整除整除%(%(取取余余)()(取取余余运运算算的的操操作作数数只只能能是是整整数数,且结果的符号与且结果的符号与前一
24、操作数前一操作数的符号相同的符号相同)如:如:一、算术运算符和算术表达式一、算术运算符和算术表达式402 2、算术表达式算术表达式(1 1)定义:)定义:用算术运算符和括号将操作数连用算术运算符和括号将操作数连 接起来的式子。接起来的式子。格式:格式:包括:常量、变量、函数包括:常量、变量、函数(2 2)优先级:优先级:()()*、/、%+%+、-(3 3)结合性:结合性:从左至右;从左至右;(4 4)表达式的值:表达式的值:数值型数值型(intint、longlong、unsignedunsigned、floatfloat、double)double);4199.599.5 +5 +52.5
25、2.54.0 4.0-1.5-1.512.012.0/3/3 例:知:例:知:float a=2.0;int b=6,c=3;float a=2.0;int b=6,c=3;求:求:a*b/c-1.5+a+fabs(-5)a*b/c-1.5+a+fabs(-5)?5104.5104.5(doubledouble)(5)类型转换类型转换+97(+97(int)int)423 3、取负运算符、取负运算符C C语言的取负运算符为语言的取负运算符为“”(负号),它是一元运算符。(负号),它是一元运算符。例:例:-5-5-5.36-5.3643+使变量的值自加使变量的值自加1;-使变量值自减使变量值自减
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第二 数据类型 运算 表达式
限制150内