C语言ch031顺序设计和常量变量

上传人:无*** 文档编号:202937992 上传时间:2023-04-23 格式:PPT 页数:31 大小:448KB
收藏 版权申诉 举报 下载
C语言ch031顺序设计和常量变量_第1页
第1页 / 共31页
C语言ch031顺序设计和常量变量_第2页
第2页 / 共31页
C语言ch031顺序设计和常量变量_第3页
第3页 / 共31页
资源描述:

《C语言ch031顺序设计和常量变量》由会员分享,可在线阅读,更多相关《C语言ch031顺序设计和常量变量(31页珍藏版)》请在装配图网上搜索。

1、C C语言语言ch031ch031顺序设计和顺序设计和常量变量常量变量第三章 最简单的C程序设计-顺序程序设计2023/4/232内容n n3.1 3.1 顺序程序设计举例顺序程序设计举例顺序程序设计举例顺序程序设计举例n3.2 数据的表现形式及其运算数据的表现形式及其运算n3.3 C语句语句n3.4 数据的输入输出数据的输入输出2023/4/233n 例3.1 有人用华氏温度计测量出当前温度(如 69F),今要求把它转换为摄氏温度(如 20C)。输入输入fahr的值的值输出输出celsius的值的值N-S图图2023/4/234#include/*将指定华氏温度转换为摄氏温度将指定华氏温度转

2、换为摄氏温度*/int main(void)float fahr;/华氏温度华氏温度 float celsius;/摄氏温度摄氏温度 fahr=64.0f;celsius=(5.0f/9.0f)*(fahr 32.0f);printf(fahr=%fncelsius=%fn,fahr,celsius);return 0;float:单精度浮点型,可以带有小数部分的数。:单精度浮点型,可以带有小数部分的数。3_1.cQ:5.0改为改为5会怎样?会怎样?整数除法操作将舍弃小数部分整数除法操作将舍弃小数部分2023/4/235ncelsius=(5.0f/9)*(fahr-32);n如果如果5.0f

3、去掉去掉f,出现警告,出现警告warning C4244:=:conversion from double to float,possible loss of datan原因:常量原因:常量5.0默认为默认为double类型。类型。n另,整数和浮点数之间的转换开销比较大,应尽量避另,整数和浮点数之间的转换开销比较大,应尽量避免。免。2023/4/236例例3.2 计计算存款利息。有算存款利息。有1000元,想存一年。有三种方元,想存一年。有三种方法可法可选选:(1)活期,年利率活期,年利率为为r1 (2)一年期定期,年利率一年期定期,年利率为为r2 (3)存两次半年定期,年利率存两次半年定期,

4、年利率为为r3 请请分分别计别计算出一年后按三种方法所得到的本息和。算出一年后按三种方法所得到的本息和。2023/4/237n解解题题思路:确定思路:确定计计算本息和算本息和的的公式公式。从数学知从数学知识识可知:若存款可知:若存款额为额为p0,则则:(1)活期存款一年后本息和活期存款一年后本息和为为:p1=p0(1+r1)(2)一年期定期存款,一年后本息和一年期定期存款,一年后本息和为为:p2=p0(1+r2)(3)两次半年定期存款,一年后本息和两次半年定期存款,一年后本息和为为:2023/4/238输入输入p0,r1,r2,r3的值的值计算计算 p1=p0(1+r1)计算计算 p2=p0(

5、1+r2)计算计算输出输出p1,p2,p32023/4/239#include/计算计算一年一年存款存款本息本息int main(void)double principle=1000.0;/本金本金 double rateCurrent=0.0035;/活期利率活期利率 double rate12M=0.0325;/一年定期利率一年定期利率 double rate6M=0.0305;/六个月定期利率六个月定期利率 double piCurrent;/活期本息活期本息 double pi12M;/一年期本息一年期本息 double pi6M;/两次六个月本息两次六个月本息 /分别计算三种存款方式

6、的一年后本息和分别计算三种存款方式的一年后本息和 piCurrent=principle*(1+rateCurrent);pi12M =principle*(1+rate12M);pi6M =principle*(1+rate6M/2)*(1+rate6M/2);printf(本金本金:¥%fnn,principle);printf(存活期存活期,一年后本息和一年后本息和:¥%fn,piCurrent);printf(存一年定期存一年定期,一年后本息和一年后本息和:¥%fn,pi12M);printf(存两次半年定期存两次半年定期,一年后本息和一年后本息和:¥%fn,pi6M);return

7、0;3_2.c2023/4/2310内容n3.1 顺序程序设计举例顺序程序设计举例n n3.2 3.2 数据的表现形式及其运算数据的表现形式及其运算数据的表现形式及其运算数据的表现形式及其运算n n3.2.1 3.2.1 常量和变量常量和变量常量和变量常量和变量n3.2.2 数据类型数据类型n3.2.3 整型数据整型数据n3.2.4 字符型数据字符型数据n3.2.5 浮点型数据浮点型数据n3.2.6 怎样确定常量的类型怎样确定常量的类型n3.2.7 运算符和表达式运算符和表达式n3.3 C语句语句n3.4 数据的输入输出数据的输入输出2023/4/23113.2.1 常量和变量1.常量常量(C

8、onstant)2.变量变量3.常变量常变量4.标识符标识符2023/4/23123.2.1 常量和变量-1.常量n常量:在程序运行常量:在程序运行过过程中,其程中,其值值不能被改不能被改变变的量。的量。n用来表示字面的或固定的用来表示字面的或固定的值值2023/4/2313Datatypeexamplemeaningint i=3;integerlong l=3;long integerintegerunsigned long ul=3UL;unsigned longint i=0 xA;hexadecimalint i=012;octal numberfloating point floa

9、t pi=3.14159floatfloat pi=3.141Ffloatdouble pi=3.1415926535897932384Ldoubledouble x=12.34e3指数形式,(代表12.34103)character A nx41 0101 character specified in hex specified in octal stringhello world hello worldstring literal same as hello world 常量常量2023/4/2314八进制与十六进制常数n以数字以数字0开始的整型常数是八进制数开始的整型常数是八进制数n01

10、0和和10大小不一样大小不一样n因为八进制并不常用,所以此种表示法比较少见,因为八进制并不常用,所以此种表示法比较少见,因而常被用错因而常被用错n以以0 x或者或者0X开始的整型常数是开始的整型常数是十六进制十六进制nAF和和af用来表示十进制的用来表示十进制的1015n0 x11,0 x05,0 xFA,0 xFFn十六进制的形式比较十六进制的形式比较常用常用,尤其在进行位一级的控,尤其在进行位一级的控制的时候制的时候2023/4/2315ASCII码nAmerican Standard Code for Information Interchange(美国标准美国标准信息交换代码信息交换代

11、码),见,见P377 附录附录BnQ:我们知道,所有的数据在存储和运算时都要使用我们知道,所有的数据在存储和运算时都要使用二进制数表示,那么字像二进制数表示,那么字像a、b、c、d这样的这样的52个字个字母(包括大写)、以及母(包括大写)、以及0、1等数字还有一些常用的等数字还有一些常用的符号(例如符号(例如*、#、等)用哪些二进制数字表示呢等)用哪些二进制数字表示呢?n要想互相通信而不造成混乱,那么大家就必须使用要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则。相同的编码规则。ASCII码就是大家都遵守的编码码就是大家都遵守的编码标准。标准。n注意:注意:5和和5的区别,的区别,A

12、和和A的区别的区别a1 1 0 0 0 0 12023/4/2316转义字符n 一些特殊字符(无法从键盘输入或者在一些特殊字符(无法从键盘输入或者在C语言里有它语言里有它用)用转义字符表示用)用转义字符表示2023/4/2317一个字节和两个字节n一个字节有多大?一个字节有多大?n可以表示数字可以表示数字0255n保存一个字符(英文字母、数字、符号),保存一个字符(英文字母、数字、符号),ASCII编码编码n两个字节有多大?两个字节有多大?n两个字节保存一个汉字两个字节保存一个汉字nGB2312,6763字字nGB13000.1,20902字字nGB18030,27533字字nBIG5,130

13、00字字n两个字节保存一个宽字符,两个字节保存一个宽字符,UNICODE编码编码2023/4/2318字符串(String)常量n用用双引号双引号括起来的由括起来的由0个个或或多个多个字符组成的字符序列字符组成的字符序列nI am a stringn表示空字符串,与表示空字符串,与 不同不同n转义字符也可以在字符串中使用转义字符也可以在字符串中使用n引号只作为字符串开始和结束的标志引号只作为字符串开始和结束的标志nC语言内部用语言内部用0表示字符串的结束表示字符串的结束n除注释外,是唯一可以出现中文的地方除注释外,是唯一可以出现中文的地方nx和和x是不同的是不同的n里定义了一系列专门的字符串处

14、理函数里定义了一系列专门的字符串处理函数2023/4/2319符号常量-#definen#define PI 3.1416 /用符号名用符号名PI代表一个常量代表一个常量 /注意行末没有分号注意行末没有分号n预编译后,符号常量全部替换成字面常量预编译后,符号常量全部替换成字面常量n优点优点n含义清楚,应做到含义清楚,应做到见名知意见名知意n一改全改一改全改2023/4/2320/*pizza.c-在这个比萨饼的例子中使用定义常量在这个比萨饼的例子中使用定义常量*/#include#define PI 3.14159int main(void)double area,circum,radius;

15、printf(What is the radius of your pizzza?n);scanf(%Lf,&radius);area=PI*radius*radius;circum=2.0*PI*radius;printf(Your basic pizza parameters are as follows:n);printf(circumference=%.2f,area=%.2fn,circum,area);return 0;2023/4/2321#define 宏定义n#define MSG“hi,everyone”n#define PI 3.1415926n#define可以带参数可

16、以带参数n#define add3(x,y,z)(x)+(y)+(z)大写小括号223.2.1 常量和变量-2.变量n变量变量=存储单元存储单元+变量名变量名+变量值变量值n我们使用变量名来引用存储单元的值,变量名对应存储我们使用变量名来引用存储单元的值,变量名对应存储单元的地址单元的地址n如如int a=0,b=0;b=a+3;2023/4/23233.2.1 常量和变量-3.常变量nC99nconst int PI=3.1416;nQ:常变量常变量与符号常量有什么不同与符号常量有什么不同n作用一样作用一样n常变量更容易调试常变量更容易调试n常变量只能在定义时赋值,然后常变量只能在定义时赋值

17、,然后不能不能再改变其值再改变其值n常数、常量、宏和枚举常数、常量、宏和枚举,都可以用来表示一个,都可以用来表示一个永远不永远不会改变的数会改变的数n前者不建议直接使用,而用后三者代替前者不建议直接使用,而用后三者代替n后三者的工作机理是完全不同的,达到的效果也不后三者的工作机理是完全不同的,达到的效果也不尽相同尽相同2023/4/23243.2.1 常量和变量-4.标识符(Identifiers)n用户自定义的符号叫标识符用户自定义的符号叫标识符n如变量名、函数名、宏和类型名如变量名、函数名、宏和类型名n标识符由标识符由字母、数字和下划线字母、数字和下划线组成组成n首首字符字符必须为字母或下

18、划线必须为字母或下划线,不可不可以是数字以是数字n关键字(关键字(keyword)不可作为标识符)不可作为标识符nint,float,for,while,if等(教材等(教材378页)页)n大小写敏感大小写敏感,即,即int x;int X;声明了两个不同的变量声明了两个不同的变量n某些功能的变量采用习惯命名某些功能的变量采用习惯命名n如:如:for语句所采用的语句所采用的循环变量循环变量习惯用习惯用i,j,k2023/4/2325标识符举例nint money$owed;(incorrect:cannot contain$)nint total_count(correct)nint scor

19、e2(correct)nint 2ndscore(incorrect:must start with a letter)nint long(incorrect:cannot use keyword)2023/4/2326命名风格n变量名命名风格的选择主要依照习惯。变量名命名风格的选择主要依照习惯。n比如在比如在Unix/Linux下,下,variable_name或或variablename的形式多见;的形式多见;n而在而在Windows下,广泛采用的是基于下,广泛采用的是基于VariableName形形式的匈牙利命名法。式的匈牙利命名法。nJava语言里常用语言里常用variableName

20、形式。形式。n#define和和const:VARIABLE_NAME2023/4/2327这一章我们学到了n各种类型常量、转义字符各种类型常量、转义字符,ASCII码码n#define constn变量先声明后使用变量先声明后使用n标识符的命名规则标识符的命名规则2023/4/2328作业nP82 习题习题1 习题习题2n有挑战才有收获有挑战才有收获n每周保证每周保证100行代码量行代码量n要求:每个程序上机调试、要求:每个程序上机调试、0 error 0 warningn自己动手自己动手3分钟,胜过老师讲分钟,胜过老师讲30分钟分钟2023/4/2329实验安排n每次实验之前通知实验时间每次实验之前通知实验时间n地点:电子楼地点:电子楼201n带课本带课本2023/4/2330结束结束

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!