《C语言 第2章 类型、运算符与表达式(2.4~2.7).ppt》由会员分享,可在线阅读,更多相关《C语言 第2章 类型、运算符与表达式(2.4~2.7).ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章数据类型、运算符和表达式数据类型、运算符和表达式主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 22.4.1 2.4.1 变量和内存的概念变量和内存的概念 变量:变量:u程序运行过程中其值可以改变的量。程序运行过程中其值可以改变的量。u系统为程序中的每一个变量开辟存储单元系统为程序中的每一个变量开辟存储单元。变量名:变量
2、名:u字母开头,后跟字母、数字和下划线组成。字母开头,后跟字母、数字和下划线组成。uC C语言中的关键字不能作为变量名。语言中的关键字不能作为变量名。32.4.1 2.4.1 变量和内存的概念变量和内存的概念#include#define PI 3.1415926 void main()float r,s,ar;scanf(“%f”,&r);s=2*PI*r;ar=PI*r*r;printf(s=%7.2f,s);printf(ar=%7.2f“,ar);说明:说明:变量必须先定义后使用;变量必须先定义后使用;变量中存储的只能是一个变量中存储的只能是一个数据,往变量中存放数据数据,往变量中存放
3、数据的操作称为赋值。的操作称为赋值。变量改变的是其值,而不变量改变的是其值,而不是变量名。是变量名。42.4.2 2.4.2 变量赋初值变量赋初值 变量定义变量定义int a,b,c;float w;double z;char c1,c2;类型标识符类型标识符 变量名变量名1=1=常量常量11,变量名变量名2=2=常量常量22,;/*/*指定指定a,b,ca,b,c为整型变量为整型变量*/*/*指定指定w w为单精度实型变量为单精度实型变量*/*/*指定指定z z为双精度实型变量为双精度实型变量*/*/*指定指定c1,c2c1,c2为字符型变量为字符型变量*/52.4.2 2.4.2 变量定义
4、和赋初值变量定义和赋初值 变量赋初值变量赋初值int i=0;int a=5,b=5,c=5;float ep=0.001;char c=a;/*/*指定指定i i为整型变量,初值为为整型变量,初值为0*/0*/*/*指定指定a,b,ca,b,c的初值为的初值为5*/5*/*/*指定指定epep的初值为的初值为0.001*/0.001*/*/*指定指定c c的初值为的初值为a*/a*/6注意:注意:变量的变量的“名名”和变量的和变量的“值值”不同,变量的不同,变量的“名名”是该变量所代表的存储单元的标志,而变量的是该变量所代表的存储单元的标志,而变量的“值值”是指存储单元中的内容。是指存储单元
5、中的内容。如:如:intint a;a;a=5;a=5;a=10;a=10;?5107主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 互换互换82.6 2.6 运算符和表达式运算符和表达式C运运算算符符算术运算符:(算术运算符:(+-*/%+-+-*/%+-)关系运算符:(关系运算符:(=!=!=)逻辑运算符:(!逻辑运算符:(!&
6、|&|)位运算符位运算符 :(:(|&|&)赋值运算符:(赋值运算符:(=及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(*&)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(.-.-)下标运算符:(下标运算符:()其它其它 :(:(()-()-)9学习运算符应注意:学习运算符应注意:u运算符功能运算符功能u与运算量关系与运算量关系l要求运算量个数要求运算量个数l要求运算量类型要求运算量类型u运算符优先级别运算符优先级别u结合方向结合方向u结果的类型
7、结果的类型10计算机实现操作有两种方式:计算机实现操作有两种方式:运算:数学中所规定的各种基本运算,由运算:数学中所规定的各种基本运算,由运算符运算符来来实现。实现。函数:对于复杂的运算,需要编制函数:对于复杂的运算,需要编制子函数子函数来实现。来实现。u标准函数标准函数(库函数库函数);u用户自定义函数;用户自定义函数;11运算符与表达式运算符与表达式1.1.算术运算符和算术表达式算术运算符和算术表达式2.2.赋值运算符和赋值表达式赋值运算符和赋值表达式12+-*%加法运算或正号运算符加法运算或正号运算符加法运算或正号运算符加法运算或正号运算符减法运算或负号运算符减法运算或负号运算符减法运算
8、或负号运算符减法运算或负号运算符乘法运算符乘法运算符乘法运算符乘法运算符除法运算符除法运算符除法运算符除法运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符求余运算符,或称模运算符完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算完成现实世界的算术运算(+(+(+(+、)算术运算符算术运算符13关于求余运算关于求余运算:求余运算求余运算求余运算求余运算A%BA%BA%BA%B表示:求表示:求表示:求表示:求A A A A 除以除以除以除以 B B B B 的余数的余数的余数的余数求余运算求余运算求余运算求余运算要求要求要求要求%两侧都是整型数据两侧都
9、是整型数据两侧都是整型数据两侧都是整型数据。对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为对于除法,如果参加运算的两个数中有一个数为实数,则结果是实数实数,则结果是实数实数,则结果是实数实数,则结果是实数 (实数除法实数除法实数除法实数除法)例:例:例:例:8%5 8%5 8%5 8%5 的运算结果:的运算结果:的运算结果:的运算结果:3 8/5 3 8/5 3 8/5 3 8/5 的运算结果:的运算结果:的运算结果:的运算结果:1 1 1 15.6/2 5.6/2 5.6/2 5.6/2:2.800000 8.4
10、3/52.800000 8.43/52.800000 8.43/52.800000 8.43/5:1.6860001.6860001.6860001.68600014算术表达式:算术表达式:算算算算术术术术表表表表达达达达式式式式:用用用用算算算算术术术术运运运运算算算算符符符符和和和和括括括括号号号号将将将将运运运运算算算算对对对对象象象象连连连连接接接接起起起起来的式子称为算术表达式。来的式子称为算术表达式。来的式子称为算术表达式。来的式子称为算术表达式。运算符有优先级和结合性:运算符有优先级和结合性:计算表达式的值时,按照优先级的高低依次计算;计算表达式的值时,按照优先级的高低依次计算;
11、计算表达式的值时,按照优先级的高低依次计算;计算表达式的值时,按照优先级的高低依次计算;如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。如果运算符优先级相同,则按规定的结合方向进行。算术运算符的结合性算术运算符的结合性从左到右从左到右15(1)(1)求三个数的算术平均值求三个数的算术平均值求三个数的算术平均值求三个数的算术平均值代数表达式:代数表达式:代数表达式:代数表达式:aveave=算术表达式:算术表达式:算术表达式:算术表达式:aveave=(a+b+c)/3=(a+b+c)/3(2)(2)根据三
12、角形三边计算三角形面积根据三角形三边计算三角形面积根据三角形三边计算三角形面积根据三角形三边计算三角形面积代数表达式:代数表达式:代数表达式:代数表达式:算术表达式:算术表达式:算术表达式:算术表达式:sqrt(ssqrt(s*(s-a)*(*(s-a)*(s-bs-b)*()*(s-cs-c)(3)(3)根据半径计算圆的周长根据半径计算圆的周长根据半径计算圆的周长根据半径计算圆的周长代数表达式:代数表达式:代数表达式:代数表达式:s=2rs=2r算术表达式:算术表达式:算术表达式:算术表达式:s=2*3.14159*rs=2*3.14159*r算算术术表表达达式式16练习:练习:1.1.下列
13、运算符的操作数不能是下列运算符的操作数不能是floatfloat型的运算符是()。型的运算符是()。A.*B.%C.D./A.*B.%C.D./2.2.执行以下程序段,执行以下程序段,c c的值是(的值是()。)。intint a=1,b=2,c;a=1,b=2,c;c=a/b;c=a/b;A.0 B.1/2 C.0.5 D.1 A.0 B.1/2 C.0.5 D.1答案:答案:B、C答案:答案:A17算术运算符的算术运算符的优先级优先级+、-(-(-(-(加减运算符加减运算符加减运算符加减运算符)最低!最低!最低!最低!*、/、%第二级!第二级!第二级!第二级!-(-(-(-(负号运算符负号
14、运算符负号运算符负号运算符)无括号时我最高无括号时我最高无括号时我最高无括号时我最高!(、)()()()(括号括号括号括号)最优先!最优先!最优先!最优先!18自增自增(+)(+)和自减运算和自减运算(-)(-)+运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增运算符的作用:是使变量的值增 1 1 1 1。-运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减运算符的作用:是使变量的值减1 1 1 1。原始值原始值原始值原始值+1+1 +变量变量变量变量原始值原始值原始值原始值-1-1 -变量变量变量变量19自增自增(+)(+
15、)和自减运算和自减运算(-)(-)自增和自减运算只能应用于自增和自减运算只能应用于自增和自减运算只能应用于自增和自减运算只能应用于整型变量和指针型变量。整型变量和指针型变量。整型变量和指针型变量。整型变量和指针型变量。+和和和和 -可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意可以写在变量的左侧或右侧;而且其意义不同。义不同。义不同。义不同。“+变量名变量名变量名变量名”和和和和“-变量名变量名变量名变量名”:先做运算,后取值先做运算,后取值先做运算,后取值先做运算,后取值“变量名变量名变量名变量名 +”和和和和“变量名变量名变量名变量名
16、 -”:先取值,后做运算先取值,后做运算先取值,后做运算先取值,后做运算20自增自增(+)(+)和自减运算和自减运算(-)(-)举例举例N=I+N=I+N=I+N=I+变量变量变量变量NN010变量变量变量变量I I变量变量变量变量NN?变量变量变量变量I IN=+IN=+IN=+IN=+I变量变量变量变量NN0 01010变量变量变量变量I I变量变量变量变量NN?变量变量变量变量I I111110101111111121练习练习 :已知已知 i=7j=i+;j=?i=?j=+i;j=?i=?788822 若若 k 和和 j 为为 int 型变量,运算表达式型变量,运算表达式 j=3;k=+
17、j;j+;执行后,变量执行后,变量 k 的值为的值为_,变量变量 j 的值为的值为_。4 4 5 5练习练习23关于自增和自减运算符的说明:关于自增和自减运算符的说明:1.1.自自自自增增增增和和和和自自自自减减减减运运运运算算算算符符符符的的的的运运运运算算算算对对对对象象象象不不不不能能能能是是是是常常常常量量量量或或或或表表表表达达达达式式式式,只只只只能能能能是是是是单单单单个个个个变变变变量量量量。变变变变量量量量类类类类型型型型可可可可以以以以为为为为整整整整型型型型、指指指指针类型针类型针类型针类型。2.2.自增和自减运算符的自增和自减运算符的自增和自减运算符的自增和自减运算符的
18、结合方向结合方向结合方向结合方向是是是是“自右向左自右向左自右向左自右向左”。例例例例:-i+-i+-i+-i+等价于等价于等价于等价于 -(i+)-(i+)-(i+)-(i+);*i+i+i+i+等价于等价于等价于等价于*(i+)(i+)(i+)(i+);242、赋值运算符和赋值表达式、赋值运算符和赋值表达式1.1.赋赋值值:在在计计算算机机程程序序中中,要要完完成成这这样样一一种种操操作作将一个表达式的计算结果送到一个变量当中将一个表达式的计算结果送到一个变量当中。2.2.简单的赋值运算符:简单的赋值运算符:=3.3.赋值表达式:变量名赋值表达式:变量名 =表达式表达式4.4.赋值运算符的
19、结合性:赋值运算符的结合性:自右向左自右向左5.5.即:即:a=b=c a=b=c 相当于相当于 a=(b=c)a=(b=c)25 算术运算符与算术运算符与“=”结合在一起,形成复合的结合在一起,形成复合的赋值运算符。赋值运算符。复合的赋值运算符复合的赋值运算符例:例:i+=2 a%=3a*=b+5等价于等价于 i=i+2等价于等价于 a=a%3等价于等价于 a=a*(b+5)26主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的
20、混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 272.5 数据的混合运算数据的混合运算1、自动转换、自动转换运算转换运算转换赋值转换赋值转换2、强制类型转换、强制类型转换28 1 1、自动转换、自动转换运算转换运算转换在进行运算时,不同类型的数据要先在进行运算时,不同类型的数据要先自动转换自动转换成同成同一类型,然后进行运算。转换的规则按图所示。一类型,然后进行运算。转换的规则按图所示。intint char char,short short 高高低低longlongunsignedunsigneddouble floatdouble flo
21、at转换由编译系统自动完成。转换由编译系统自动完成。转换按数据长度增加的方向进行,转换按数据长度增加的方向进行,即按即按“向高看齐向高看齐”的原则提升的原则提升“较低较低”类型,以保证不降低精度。类型,以保证不降低精度。29(1 1)实型赋予整型,舍去小数部分。)实型赋予整型,舍去小数部分。(2 2)整型赋予实型,数值不变,但将以浮点形式存放,即增)整型赋予实型,数值不变,但将以浮点形式存放,即增 加小数部分(小数部分的值为加小数部分(小数部分的值为0 0)。)。(3 3)字符型赋予整型,由于字符型为一个字节,而整型为两)字符型赋予整型,由于字符型为一个字节,而整型为两 个字节,因此将字符的个
22、字节,因此将字符的ASCIIASCII码值放到整型变量的低八码值放到整型变量的低八 位中,高八位为位中,高八位为0 0。(4 4)整型赋予字符型,只把低八位赋予字符型变量。)整型赋予字符型,只把低八位赋予字符型变量。(5 5)doubledouble型赋予型赋予 floatfloat型,丢失的部分按四舍五入向前型,丢失的部分按四舍五入向前 进位。进位。1、自动转换、自动转换赋值赋值转换转换30注意:注意:一个一个longlong型或型或doubledouble型数据给一个型数据给一个intint型或型或floatfloat型变量赋值时,可能会引起数值溢出。型变量赋值时,可能会引起数值溢出。注意
23、:注意:如果赋值运算符两边的数据类型不相同,系如果赋值运算符两边的数据类型不相同,系统将进行类型转换,即把赋值号右边的类型换成左边统将进行类型转换,即把赋值号右边的类型换成左边的类型,如果右边表达式的数据类型长度比左边长时,的类型,如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。将丢失一部分数据,这样会降低精度。1、自动转换、自动转换赋值赋值转换转换31练习:练习:已知:已知:double a;float b;double a;float b;intint c;char d;c;char d;执行执行语句语句c=(c=(d+bd+b)*c-a;)*c-a;后,变量后,
24、变量c c的数据类型是的数据类型是()()。A.double B.floatA.double B.float C.C.intint D.char D.char正确答案:正确答案:C322 2、强制类型转换、强制类型转换强制类型转换运算符,将一个类型的变量值强制强制类型转换运算符,将一个类型的变量值强制转换为另一种类型。转换为另一种类型。一般格式为:一般格式为:(类型标识符类型标识符)表达式表达式 例:例:k=(k=(int)(int)xint)(int)x+(+(float)ifloat)i)(float)(xfloat)(x=85)=85)33注意:对一个变量进行强制转换后,得到一个新的注意
25、:对一个变量进行强制转换后,得到一个新的类型的数据,但原来变量的类型不变。类型的数据,但原来变量的类型不变。例:例:x x原为实型变量且值为原为实型变量且值为2.62.6,在执行,在执行 i=(i=(int)xint)x 后得到一个整数后得到一个整数 2 2,并把它赋给整型变量,并把它赋给整型变量 i i,但但 x x 仍为实型,值为仍为实型,值为2.62.6。2 2、强制类型转换、强制类型转换34练习:练习:若有定义:若有定义:float a=3.9,b=6.9;float a=3.9,b=6.9;intint c;c;执行语执行语句句c=a+(int)(a+b)%3/2;c=a+(int)
26、(a+b)%3/2;后,后,c c的值为(的值为()。)。A.3 B.3.9A.3 B.3.9 C.4 D.4.4 C.4 D.4.4正确答案:正确答案:A35主要内容主要内容2.1 预备知识预备知识2.2 常量和变量的概念常量和变量的概念2.3 各种数据类型的常量及变量各种数据类型的常量及变量2.4 变量赋初值变量赋初值2.5 不同类型数据之间的混合运算不同类型数据之间的混合运算2.6 常用运算符和表达式常用运算符和表达式2.7 输入函数与输出函数输入函数与输出函数 362.7 2.7 输入函数与输出函数输入函数与输出函数 输出输出计算机向外部输出设备计算机向外部输出设备(显示器显示器,打印
27、机等打印机等)输出数据输出数据输入输入从输入设备从输入设备(键盘键盘,鼠标鼠标,扫描仪等扫描仪等)向计算向计算机输入数据机输入数据在使用系统库函数时在使用系统库函数时,要用预编译命令要用预编译命令“#include#include”包含有关的头文件包含有关的头文件#include#include /*/*标准输入输出库函数标准输入输出库函数*/#includeinclude“stdio.hstdio.h”/*/*标准输入输出库函数标准输入输出库函数*/37 2.7.1 2.7.1 格式输出函数格式输出函数printfprintf printfprintf函数一般格式:函数一般格式:printf
28、printf(格式控制,输出表列格式控制,输出表列)格式控制格式控制是由是由双引号双引号括起来的字符串,包含三种信息:括起来的字符串,包含三种信息:1 1、格式说明:格式说明:由由“%”和格式字符组成,如和格式字符组成,如%d%d,%f%f等。等。它的作用是将输出的数据按照指定的格式输出。它的作用是将输出的数据按照指定的格式输出。2 2、普通字符普通字符:需要原样输出的字符。:需要原样输出的字符。3 3、转义字符转义字符:用于控制输出。:用于控制输出。输出表列输出表列是一些要输出的数据。是一些要输出的数据。38 2.7.1 2.7.1 格式输出函数格式输出函数printfprintf prin
29、tfprintf函数一般格式:函数一般格式:printfprintf(格式控制,输出表列格式控制,输出表列)普通字符普通字符 输出表列输出表列 printf(printf(“sumsum=%=%dndn”,sum);sum);格式说明格式说明 转转义字符义字符 printf(%d,%dnprintf(%d,%dn ,a,b);,a,b);39格式说明项格式说明项:由:由“%”与格式字符组成,其作用是将数据转换为与格式字符组成,其作用是将数据转换为指定的格式输出,按不同类型的数据有以下不同的格式字符:指定的格式输出,按不同类型的数据有以下不同的格式字符:u%d%d、%ld%ld,按整型数据的实际
30、长度输出。,按整型数据的实际长度输出。u%mdmd、%mldmld,m m为指定的输出字段的宽度,如数据的位数小于为指定的输出字段的宽度,如数据的位数小于m m,则左端补空;若数据位数大于,则左端补空;若数据位数大于m m,则按实际长度输出。,则按实际长度输出。u%c%c:用于输出一个字符。:用于输出一个字符。u%f%f:用于以小数形式输出实数(包括单、双精度);:用于以小数形式输出实数(包括单、双精度);u%m.nfm.nf、%m.nlfm.nlf,指定输出的数据共占,指定输出的数据共占 m m 位,其中包括位,其中包括 n n 位小数,如数据的位数小于位小数,如数据的位数小于m m,则左端
31、补空;若数据位数大于,则左端补空;若数据位数大于m m,按实际长度输出。小数位数被截断时按四舍五入输出。,按实际长度输出。小数位数被截断时按四舍五入输出。2.7.1 2.7.1 格式输出函数格式输出函数printfprintf 40intint a=-1,b=25,c=125;a=-1,b=25,c=125;long x=356142;long x=356142;printf(%d,%5dn,a,b);printf(%d,%5dn,a,b);printf(%5d,%2dn,c,c);printf(%5d,%2dn,c,c);printf(%ld,%dnprintf(%ld,%dn,x,x);,
32、x,x);输出结果为:输出结果为:例:例:412.7.2 2.7.2 格式输入函数格式输入函数scanfscanf scanfscanf函数一般格式:函数一般格式:scanfscanf(格式控制,地址表列格式控制,地址表列)scanfscanf函数的功能是按照指定的格式输入数据,可以函数的功能是按照指定的格式输入数据,可以输入任意类型的多个数据。输入任意类型的多个数据。格式控制格式控制与与printfprintf函数含义相同,它由若干个格式函数含义相同,它由若干个格式说明构成,其作用是控制转换输入数据的类型。说明构成,其作用是控制转换输入数据的类型。地址表列地址表列由若干个由若干个地址地址构成
33、,它们可以是变量的地构成,它们可以是变量的地址,也可以是字符串的首地址。址,也可以是字符串的首地址。42如何分隔数据如何分隔数据?用隐含的分隔符用隐含的分隔符:在输入数据中用空格或换行符分隔数据。在输入数据中用空格或换行符分隔数据。scanf(%d%d%d,&ascanf(%d%d%d,&a,&b,&c);,&b,&c);输入数据输入数据 3 4 53 4 5 或输入或输入 3 3 4 5 4 5 则则a=3,b=4,c=5a=3,b=4,c=5使用显示分隔符使用显示分隔符:在格式说明符中还可以有其它字符,在输入在格式说明符中还可以有其它字符,在输入字符时应输入与这些字符相同的字符。字符时应输
34、入与这些字符相同的字符。scanf(%d,%d,%d,&ascanf(%d,%d,%d,&a,&b,&c);,&b,&c);输入数据输入数据 3,4,53,4,5 则则 a=3,b=4,c=5 a=3,b=4,c=5 432.7.3 2.7.3 数学函数数学函数使用数学库中的函数时,应该首先用预处理命令使用数学库中的函数时,应该首先用预处理命令#include#include 指明要用到的数学函数的描述所在的头文件。指明要用到的数学函数的描述所在的头文件。调用数学函数调用数学函数时,要给出函数名,后面是一对圆时,要给出函数名,后面是一对圆括号,括号内是使用函数所需的参数,参数可以是括号,括号内
35、是使用函数所需的参数,参数可以是常量、变量或表达式。常量、变量或表达式。44例例:计算并打印:计算并打印2 2的的3 3次方的语句可以写成:次方的语句可以写成:printf(printf(“%7.2f%7.2f”,pow(2.0,3.0);,pow(2.0,3.0);调用的数学函数调用的数学函数powpow需要两个参数,这两个参数都需要两个参数,这两个参数都是是doubledouble型的,返回值也是型的,返回值也是doubledouble型的。型的。语句执行结果为:语句执行结果为:8.008.00。45常用数学函数常用数学函数函函 数数 名名功功 能能举举 例例fabs(xfabs(x)计算
36、计算x x的绝对值的绝对值fabs(-3.5)fabs(-3.5)等于等于3.53.5sqrt(xsqrt(x)计算计算x x的非负平方根的非负平方根sqrt(16.0)sqrt(16.0)等于等于4.04.0exp(xexp(x)计算指数函数计算指数函数e ex xexp(1.0)exp(1.0)等于等于2.718282.71828log(xlog(x)计算计算x x的自然对数的自然对数lnln x xlog(2.718282)log(2.718282)等于等于1.01.0log10(x)log10(x)以以1010为底的对数函数为底的对数函数loglog1010 x xLog10(10.0
37、)Log10(10.0)等于等于1.01.0powpow(x,yx,y)计算计算x xy ypow(2.0,3.0)pow(2.0,3.0)等于等于8.08.0sin(xsin(x)正弦函数正弦函数sin(0.0)sin(0.0)等于等于0.00.0cos(xcos(x)余弦函数余弦函数cos(0.0)cos(0.0)等于等于1.01.046变量的定义变量的定义intint a,b,ca,b,c;指定指定a a,b b,c c为整型变量为整型变量unsigned lowerunsigned lower指定指定lowerlower为无符号整型变量为无符号整型变量float xfloat x,y
38、y;指定指定x x,y y为实型变量为实型变量double zdouble z;指定指定z z为双精度实型变量为双精度实型变量char c1char c1,c2c2;指定指定c1c1,c2c2为字符型变量为字符型变量 课堂练习课堂练习471.定义一个无符号长整变量定义一个无符号长整变量 L1;unsigned short S1unsigned long L12.定义一个无符号短整变量定义一个无符号短整变量 S1;3.定义一个浮点类型变量定义一个浮点类型变量 F1;4.定义一个双精度变量定义一个双精度变量 D1;float F1double D1按要求写语句:按要求写语句:49写出下面算术表达式
39、的值:写出下面算术表达式的值:设设设设x=2.5x=2.5,a=10a=10,y=4.7y=4.7求表达式的值求表达式的值求表达式的值求表达式的值 x+a%3*(x+a%3*(int)(xint)(x+y)%2/4+y)%2/41.x=2.5x=2.5;a=10 a=10;y=4.7y=4.7;2.a%3a%3 10%3 1 10%3 1 3.(int)(xint)(x+y)+y)(int)7.2 7 (int)7.2 7 4.a%3a%3*(int)(xint)(x+y)+y)1*7 7 1*7 75.a%3a%3*(int)(xint)(x+y)+y)%2%2 7%2 17%2 16.a%
40、3a%3*(int)(xint)(x+y)+y)%2%2/4/4 1/4 01/4 07.x+x+a%3a%3*(int)(xint)(x+y)+y)%2%2/4/4 2.5+02.5+050思考题思考题:(简单程序设计):(简单程序设计)输入三角形的三边长,求三角形的面积。输入三角形的三边长,求三角形的面积。51分析分析:输入三角形的三边,用下述公式计算三角形输入三角形的三边,用下述公式计算三角形的面积:的面积:其中其中 s=(a+b+c)/2s=(a+b+c)/2/*功能:输入三角形三边,计算面积功能:输入三角形三边,计算面积*/#include#include void main()fl
41、oat a,b,c,s,area;printf(Please enter 3 sides of a triangle:n);scanf(%f,%f,%f,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2fn,a,b,c);printf(area=%7.2fn,area);5253要求:要求:1.1.深刻理解在计算机中各类型数据在内存中的存储形式、深刻理解在计算机中各类型数据在内存中的存储形式、取值范围和能够对它进行的操作;取值范围和能够对它进行的操作;2.2.深刻理解各基本类型作了
42、深刻理解各基本类型作了 shortshort、longlong、unsigned unsigned 扩展扩展之后与原类型之间的区别;之后与原类型之间的区别;3.3.深刻理解各种整型常量的形式,字符常量、转义字符和深刻理解各种整型常量的形式,字符常量、转义字符和符号常量的意义和作用。符号常量的意义和作用。4.4.熟练掌握每一种变量的定义格式;熟练掌握每一种变量的定义格式;5.5.深刻理解每一个算术运算符的功能、使用格式、计算结深刻理解每一个算术运算符的功能、使用格式、计算结果,尤其是果,尤其是 /、%、+、-;6.6.深刻理解赋值运算符(深刻理解赋值运算符(=)的意义、注意与数学中的等号)的意义
43、、注意与数学中的等号相区别;复合赋值运算符的执行过程和执行结果。相区别;复合赋值运算符的执行过程和执行结果。54小结小结1 1、在计算机中对数据进行描述:、在计算机中对数据进行描述:数据的基本类型:整型、字符型、浮点类型;数据的基本类型:整型、字符型、浮点类型;数据在在内存中的存储形式、取值范围和能够数据在在内存中的存储形式、取值范围和能够对它进行的操作;对它进行的操作;扩展基本类型:扩展基本类型:shortshort、longlong、unsigned unsigned 2 2、常量:各种整型常量的形式、字符常量、转义字符、符号常、常量:各种整型常量的形式、字符常量、转义字符、符号常量;量;3 3、变量:定义格式;、变量:定义格式;4 4、运算符:、运算符:算术运算符:算术运算符:/、%、+、-;优先级;优先级;赋值运算符:赋值运算符:=,与数学中的等号相区别;,与数学中的等号相区别;55