4.jidaochap3程序设计语言初步副本

上传人:大米 文档编号:579244465 上传时间:2024-08-26 格式:PPT 页数:116 大小:1.22MB
返回 下载 相关 举报
4.jidaochap3程序设计语言初步副本_第1页
第1页 / 共116页
4.jidaochap3程序设计语言初步副本_第2页
第2页 / 共116页
4.jidaochap3程序设计语言初步副本_第3页
第3页 / 共116页
4.jidaochap3程序设计语言初步副本_第4页
第4页 / 共116页
4.jidaochap3程序设计语言初步副本_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《4.jidaochap3程序设计语言初步副本》由会员分享,可在线阅读,更多相关《4.jidaochap3程序设计语言初步副本(116页珍藏版)》请在金锄头文库上搜索。

1、 1第三章第三章 程序设计语言初步程序设计语言初步寂寂挖挖桃桃岩岩咯咯忆忆为为仓仓旋旋枚枚沸沸潞潞厅厅涪涪送送青青泳泳呕呕疹疹矾矾龟龟沃沃煎煎众众泻泻微微唐唐巾巾蕴蕴渝渝柬柬仰仰4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 2程序设计语言程序设计语言:用于书写计算机程序的语言,用:用于书写计算机程序的语言,用于表达和描述要加工的数据以及求解问题的步于表达和描述要加工的数据以及求解问题的步骤和过程。是根据预先定义的规则(语法)、骤和过程。是根据预先定义的规则(语法)、由一个有限字母表上的字符构

2、成的字符串的总由一个有限字母表上的字符构成的字符串的总体。体。程序设计语言的基本成分程序设计语言的基本成分: 数据成分。用以描述程数据成分。用以描述程 序中所涉及的数据。序中所涉及的数据。 运算成分。用以描述程序中所包含的运算。运算成分。用以描述程序中所包含的运算。 控制成分。用以表达程序中的控制构造。控制成分。用以表达程序中的控制构造。 传输成分。用以表达程序中数据的传输。传输成分。用以表达程序中数据的传输。 貌貌咽咽脐脐绳绳锌锌灼灼王王筑筑摆摆溉溉套套治治皱皱咎咎帐帐讶讶震震超超右右玻玻设设概概励励并并聂聂外外侨侨扶扶孤孤骂骂辣辣裁裁4.jidao-chap3 程程序序设设计计语语言言初初

3、步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 3提纲提纲标识符标识符 数据类型数据类型变量变量常量常量输入和输出输入和输出表达式表达式语句语句函数函数本章结合本章结合C语言语言向大家介绍结构向大家介绍结构化程序设计语言化程序设计语言的基本概念的基本概念 数据成分数据成分传输成分传输成分运算成分运算成分控制成分控制成分弥弥悯悯扬扬赐赐撇撇销销恐恐长长柿柿证证摊摊醒醒拾拾杂杂捕捕忍忍田田燥燥炉炉粪粪细细登登筛筛呸呸皇皇掸掸涪涪士士旺旺哼哼罩罩览览4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程

4、序序设设计计语语言言初初步步 - 副副本本 4先聊点先聊点C语言语言评评褂褂史史茄茄痘痘禾禾扒扒悠悠煞煞冠冠吃吃贯贯纷纷承承砸砸偷偷鸯鸯呀呀剥剥驻驻臆臆憎憎纬纬祭祭柴柴贬贬检检海海痴痴鲸鲸胆胆溶溶4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 5扭扭傻傻曝曝寇寇勾勾问问煽煽轧轧鸿鸿隶隶忙忙樱樱蓬蓬甘甘慎慎躁躁昂昂垮垮譬譬挝挝屡屡连连膘膘跨跨陕陕心心烧烧滴滴蒂蒂淑淑菌菌拙拙4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言

5、言初初步步 - 副副本本 6数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件地址总线 实例:编一个程序,从键盘读入两个整数,实例:编一个程序,从键盘读入两个整数,要求在屏幕上输出相乘运算结果。要求在屏幕上输出相乘运算结果。处理步骤:处理步骤:1.控制部件发命令从键盘读控制部件发命令从键盘读取数据并存储到内存储器中取数据并存储到内存储器中(输入输入)。)。2.控制部件发命令从内存储控制部件发命令从内存储器中取出这两个数置入运算器中取出这两个数置入运算部件的寄存器中,让运算器部件的寄存器中,让运算器执行乘法运算,运算结

6、果写执行乘法运算,运算结果写回存储器中(回存储器中(处理处理)。)。3.控制部件发命令将存储在控制部件发命令将存储在内存储器中的结果输出到显内存储器中的结果输出到显示器上(示器上(输出输出)。)。需要考虑的问题:需要考虑的问题:1.输入输入:如何从键盘读取这两个数并将其存放:如何从键盘读取这两个数并将其存放到内存中?程序如何约束输入的必须是整数?到内存中?程序如何约束输入的必须是整数?2.处理处理:计算时如何读取内存中的这两个数?:计算时如何读取内存中的这两个数?如何实现计算?计算结果如何写回内存?如何实现计算?计算结果如何写回内存?3.输出输出:如何将内存中的计算结果输出到显示:如何将内存中

7、的计算结果输出到显示器?器?键键滥滥粘粘帘帘柞柞谦谦乳乳足足撂撂谢谢囱囱堤堤掉掉躯躯愧愧聪聪揩揩效效俊俊惺惺哲哲库库郑郑夷夷萨萨减减典典龟龟邀邀功功忍忍吸吸4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 7数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件内存中数据内存中数据的存取的存取:变量、变量、常量、常量、数据类型数据类型输入输入:输入输入语句语句输出输出:输出输出语句语句地址总线 计算的实现计算的实现:运算符

8、运算符表达式表达式语句语句函数函数血血绦绦嘱嘱臼臼拭拭教教凳凳毛毛俺俺较较痰痰距距樱樱谷谷午午刑刑忧忧因因济济楞楞乞乞归归捐捐逝逝卢卢比比倒倒黑黑亭亭萨萨戍戍琐琐4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 8标识符标识符是由程序员定义的单词,用来给程序是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。中的数据、函数和其他用户自定义对象命名。程序设计语言本身会定义一些专用名称,称程序设计语言本身会定义一些专用名称,称之为之为保留字保留字或或关键字关键字,它们,它们具有特

9、定含具有特定含义,程序员不能另做他用。如:程序员不能另做他用。如:C C语言规定了语言规定了3232个关键字。个关键字。3.1 标识符标识符鹏鹏卿卿擒擒修修宪宪震震自自棘棘攫攫蛰蛰糖糖桔桔倒倒春春屯屯臂臂房房刮刮辐辐酗酗寄寄上上既既劝劝拖拖祁祁驻驻翻翻披披强强囊囊跃跃4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 9C语言规定的语言规定的32个关键字:个关键字:auto double int struct break else long switch case enum register ty

10、pedefchar extern return union const float short unsigned continue for signed void default goto sizeof volatiledo if static while蔷蔷蔬蔬筋筋帐帐鲍鲍剂剂橡橡间间生生鸥鸥缘缘券券旦旦盏盏轿轿茧茧戮戮寓寓晰晰絮絮骗骗萧萧甜甜俱俱黍黍苏苏综综磕磕诵诵鸥鸥渝渝吃吃4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 10#include main() int number1; /*

11、变量声明变量声明*/ int number2; int result; printf(“please input the two numbers:n”); /*显示提示信息显示提示信息*/ scanf(“%d%d”,&number1,&number2); /*从键盘读取从键盘读取2个整数个整数*/ result = number1 * number2; /*赋值运算赋值运算*/ printf(“the result is : %dn ”, result); /*输出结果输出结果*/ return 0; 用户自定义用户自定义标识符标识符C语言语言关键字关键字3.1 标识符标识符弦弦犹犹占占轴轴缔

12、缔岁岁伶伶粱粱投投莆莆需需徐徐砸砸脊脊勒勒钻钻倍倍巢巢瞩瞩蚊蚊轧轧揽揽众众怔怔哺哺泥泥顿顿亭亭抬抬徘徘轴轴鹤鹤4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 11u 不同的程序设计语言标识符格式可能不同。不同的程序设计语言标识符格式可能不同。u C C语言规定:语言规定:标识符由大写字母标识符由大写字母A A到到Z Z、小写字、小写字母母a a到到z z、数字、数字0 0到到9 9和下划线组成,且第一个字符和下划线组成,且第一个字符必须是字母或下划线,随后的字符必须是字母、必须是字母或下划线,

13、随后的字符必须是字母、数字或下划线。且大小写敏感数字或下划线。且大小写敏感,如,如ageage和和AgeAge是两是两个不同的标识符。个不同的标识符。u PASCAL语言规定:和语言规定:和C语言类似,只是要求第语言类似,只是要求第一个字符只能是字母(比一个字符只能是字母(比C语言约束更强)。语言约束更强)。3.1 标识符标识符思考:以下哪些是合法的思考:以下哪些是合法的C语言标识符语言标识符age,_class_no , name1, name1,2name,#age黍黍统统煞煞碱碱虏虏祈祈轿轿呀呀敲敲繁繁笨笨噬噬忙忙悯悯韭韭蓝蓝甜甜诗诗益益碱碱这这更更冰冰硕硕苟苟奄奄莫莫趴趴妇妇特特稳稳陋

14、陋4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 12数据数据是计算机处理的对象。是计算机处理的对象。数据依据其本身的特点可以归为不同的类:数据依据其本身的特点可以归为不同的类:整数、整数、小数、字符、字符串小数、字符、字符串等。等。(高级程序语言特点:按照人对于数据的表达方式)(高级程序语言特点:按照人对于数据的表达方式) 程序设计语言应该具备区分各种类型数据的能力,程序设计语言应该具备区分各种类型数据的能力,于是引入了数据类型的概念。于是引入了数据类型的概念。数据类型包括两层含义:定义了一

15、系列的值数据类型包括两层含义:定义了一系列的值( (属于属于该类型的数据能够取值的范围该类型的数据能够取值的范围)以及能应用于这)以及能应用于这些值上的一系列操作(些值上的一系列操作(数据操作数据操作)。)。 3.2 数据类型数据类型狭狭澄澄绣绣琉琉猜猜沽沽瘁瘁吭吭靖靖虱虱澎澎疼疼剂剂哉哉便便惭惭躬躬封封掖掖姥姥淆淆女女也也秆秆园园寡寡卫卫驱驱忍忍吠吠畜畜新新4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 13u整数是由符号和一个或多个数字组成的正数、整数是由符号和一个或多个数字组成的正数、0

16、 0或负数,又称为带符号的自然数或负数,又称为带符号的自然数 ,如,如+12,-38+12,-38。u注意:在数学中,整数是一个无限集合,但对注意:在数学中,整数是一个无限集合,但对于计算机来说,只能表示它的一个有限子集于计算机来说,只能表示它的一个有限子集(取决于存储空间的大小)(取决于存储空间的大小) 。整型整型3.2 数据类型数据类型程序设计语言一般包含四种程序设计语言一般包含四种标准数据类型标准数据类型:整型、字符型、浮点型和布尔型整型、字符型、浮点型和布尔型(补充)(补充)。诲诲础础免免睡睡询询皆皆蛔蛔维维蹬蹬沈沈迷迷熙熙糯糯称称冰冰索索栋栋循循渤渤暗暗篓篓粟粟祝祝踏踏衰衰饺饺郭郭隅

17、隅值值眉眉燃燃歹歹4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 143.2 数据类型整型数据类型整型整型数据占用的内存单元数:整型数据占用的内存单元数:uC语言中整型数据细分为四类:语言中整型数据细分为四类:short int、int、long int和和long long int。(和教材不同)(和教材不同)uC语言标准没有规定每一种整数类型占用的内语言标准没有规定每一种整数类型占用的内存空间大小(存空间大小(即数的范围即数的范围),只是约束到:),只是约束到:short int和和int

18、至少要占据至少要占据16位(位(2字节),而字节),而long数据至少要有数据至少要有32位(位(4字节);且数据长度字节);且数据长度上,上,short int=int=long int = long long int 。 u每一种整数类型占用的内存字节数由编译器根每一种整数类型占用的内存字节数由编译器根据所用机器的硬件情况来决定。据所用机器的硬件情况来决定。虑虑精精蛙蛙铲铲咳咳科科爷爷韵韵盲盲听听群群硕硕华华娥娥啼啼缺缺株株蹲蹲寿寿鸡鸡啄啄表表磐磐禹禹箭箭献献黔黔徊徊彤彤熊熊麓麓皋皋4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序

19、序设设计计语语言言初初步步 - 副副本本 15整型数据所允许的运算包括:整型数据所允许的运算包括: 二目算术运算二目算术运算 :+ +、- -、* *、/ /、(取余、(取余) ) ; 注意:两个整数进行二目运算后结果还是整数注意:两个整数进行二目运算后结果还是整数 如:如:125 / 10 = 12125 / 10 = 12(余数余数5 5被舍弃被舍弃), , 125 % 10 = 5 125 % 10 = 5 单目算术运算单目算术运算 :取负值等;:取负值等; 关系运算关系运算: ,= ,=,= =(= =(相等),相等), != !=(不相等)(不相等)C C语言中关系运算结果为语言中关

20、系运算结果为1 1(真)或(真)或0 0(假)(假) 3.2 数据类型整型数据类型整型械械俩俩捉捉氧氧洼洼状状阁阁祟祟嘎嘎沛沛眨眨穷穷名名倚倚线线请请菲菲拙拙标标玄玄吊吊样样锭锭逐逐漫漫阔阔饰饰碗碗哨哨趣趣吕吕揣揣4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 16字符型字符型u字符数据包括字符数据包括26*2个字母(大小写)个字母(大小写)+10个数字个数字+其它显示符号,总共其它显示符号,总共95种;还有种;还有33种控制符号,种控制符号,总共总共128种符号;种符号; u字符型数据在内存

21、中的存储:实际存放的是一字符型数据在内存中的存储:实际存放的是一个整数值。多数计算机系统采用个整数值。多数计算机系统采用ASCII(American Standard Code for Information Interchange)标准编码模式来对字)标准编码模式来对字符进行编码符进行编码 。每个字符占用。每个字符占用8位内存(位内存(1个字节)个字节);3.2 数据类型数据类型辈辈鳖鳖恿恿仙仙庞庞牵牵份份嗜嗜住住彪彪合合粹粹食食倘倘逢逢彭彭祥祥欲欲碑碑脂脂庚庚骗骗逾逾叁叁毡毡彼彼痪痪姓姓擦擦夺夺擅擅鸿鸿4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao

22、-chap3 程程序序设设计计语语言言初初步步 - 副副本本 17ASCII表表L H 000000010010001101000101011001110000NULDLE SP0Pp 0001SOHDC1!1AQaq 0010STXDC2“2BRbr 0011ETXDC3#3CScs 0100EOTDC4$4DTdt 0101ENQNAK%5EUeu 0110ACKSYN&6FVfv 0111BELETB,7GWgw 1000BSCAN)8HXhx 1001HTEM(9IYiy 1010LFSUB*:JZjz 1011VTESC+;Kk 1100FFFSNn 1111SIUS/?O_oDEL

23、2000H2002H2004H2003H2001H01000001存储空间存储空间该存储区该存储区存放字符存放字符A思考:若从键盘上输入字符存储到内存,字符思考:若从键盘上输入字符存储到内存,字符到二进制编码的转换是由什么部件来实现的?到二进制编码的转换是由什么部件来实现的?瓣瓣骨骨豌豌狂狂摈摈呛呛札札悬悬倾倾谩谩艇艇耐耐至至葬葬坠坠嘛嘛晚晚氮氮麓麓悍悍喜喜烂烂逃逃骚骚挪挪殆殆痈痈傍傍洪洪疗疗镶镶议议4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 18ASCIIASCII(A A)=65 =6

24、5 A A的的ASCIIASCII值是值是6565ASCIIASCII(a a)=97 =97 规律:大写字母的规律:大写字母的ASCIIASCII编码编码3232小写字母的小写字母的ASCIIASCII编码编码 3.2 数据类型字符型数据类型字符型凌凌奴奴忆忆哪哪路路刚刚十十蜕蜕田田峨峨队队瘴瘴铣铣厌厌务务俩俩驾驾喳喳紫紫胳胳输输棉棉碧碧含含阿阿他他脓脓泅泅学学嫁嫁语语荣荣4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 193.2 数据类型字符型数据类型字符型关系运算关系运算(按照(按照AS

25、CII大小):大小):,=, = =,!=例如:例如:A a 结果为真,因为结果为真,因为A的的ASCII是是65 ,a的的ASCII是是97 ,6597字符型所允许的运算包括(字符型所允许的运算包括(将字符型数据当作整型将字符型数据当作整型数据对待数据对待):): 算术运算算术运算:ch2=ch1-32 (ch2=ch1-32 (若若ch1ch1值为值为b b, ,则则ch2ch2为为B B) ) ch2=ch1-1 ( ch2=ch1-1 (若若ch1ch1值为值为b b, ,则则ch2ch2为为a a) ) ch2=ch1 ch2=ch11 (1 (若若ch1ch1值为值为b b, ,则

26、则ch2ch2为为c c) ) 檄檄耿耿闺闺帘帘嚷嚷邓邓埠埠晾晾浙浙淑淑锻锻欧欧薄薄调调刚刚燥燥丑丑姻姻父父佣佣切切静静债债艺艺三三滩滩敷敷量量恰恰值值恃恃芝芝4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 20浮点型浮点型u 浮点型是带小数部分的数字类型浮点型是带小数部分的数字类型 ,如,如3.14,1.575E5(科学计数法,即(科学计数法,即 1.575* )。u抽象地讲,浮点型数据的值域是全体实数,但是由抽象地讲,浮点型数据的值域是全体实数,但是由于计算机表示方面的原因,计算机只能表示

27、它的一个于计算机表示方面的原因,计算机只能表示它的一个有限子集。有限子集。u 同样由于计算机表示方面的原因,实数在计算机同样由于计算机表示方面的原因,实数在计算机内部的表示有时是不准确的。例如,存储圆周率时,内部的表示有时是不准确的。例如,存储圆周率时,只能表示成近似的值。只能表示成近似的值。3.2 数据类型数据类型良良颈颈烙烙瘁瘁腥腥掇掇疵疵祸祸底底欢欢焰焰识识烈烈酱酱亨亨痞痞沤沤娃娃厢厢胆胆窑窑剧剧剃剃复复抬抬博博哥哥糕糕森森汪汪个个拉拉4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 21

28、3.2 数据类型数据类型uC语言支持三种不同长度的浮点数据类型:语言支持三种不同长度的浮点数据类型:float、double和和long double。 其中其中float一般占一般占32位位(字节);字节);double一般占一般占64位(位( 8字节),字节), long double占占96位(位( 12字节)。字节)。u三者区别:越后面的类型运算精度越高,值域三者区别:越后面的类型运算精度越高,值域越大,但占用的内存单元越多。越大,但占用的内存单元越多。耀耀错错绍绍刺刺恋恋眷眷决决倪倪极极么么任任央央长长拜拜指指寅寅榷榷载载势势千千遮遮伞伞科科藉藉颧颧篇篇来来琶琶豪豪套套韧韧貌貌4.j

29、idao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 22浮点型所允许的运算包括:浮点型所允许的运算包括: 二目算术运算二目算术运算 :+ +、- -、* *、/ /;浮点型数据进行二目运算结果还是浮点型。浮点型数据进行二目运算结果还是浮点型。 如:如:12.0/5.0=2.412.0/5.0=2.4 单目算术运算单目算术运算 :取负值:取负值 关系运算关系运算: ,= ,=,= = =,!=!= 3.2 数据类型浮点型数据类型浮点型注意:要避免做两个实数相等或不相等的比较。由于计算注意:要避免做两个实数

30、相等或不相等的比较。由于计算机表示方面的近似性,会使得本来应该相等的两个数不等。机表示方面的近似性,会使得本来应该相等的两个数不等。建议在比较两个浮点数建议在比较两个浮点数X和和Y是否相等时使用是否相等时使用|X-Y|,其中其中是一个绝对值较小的正浮点数。是一个绝对值较小的正浮点数。狡狡翻翻傍傍左左湃湃骸骸扬扬库库碳碳滨滨碎碎湃湃逃逃祭祭恕恕绿绿刺刺数数赋赋锑锑草草讫讫找找攀攀眨眨揖揖临临米米诣诣撂撂冗冗挂挂4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 233.2 数据类型布尔型(补充)数据

31、类型布尔型(补充)布尔类型数据布尔类型数据:取值只有两种,真(取值只有两种,真(True)或)或者假(者假(False)。允许的运算包括:与、或、非。)。允许的运算包括:与、或、非。绝大多数程序设计语言中有绝大多数程序设计语言中有布尔类型布尔类型这种数据这种数据类型,如类型,如Pascal语言。但是语言。但是C语言没有定义这语言没有定义这种数据类型。种数据类型。布尔型布尔型蛛蛛幽幽非非眯眯泼泼靴靴刚刚帽帽绑绑哭哭诞诞毖毖吱吱此此喂喂财财郡郡爱爱莎莎阂阂琶琶通通问问窘窘桓桓络络鹤鹤李李文文阔阔虎虎途途4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-cha

32、p3 程程序序设设计计语语言言初初步步 - 副副本本 24标准类型是原子的、不可再分的。程序员可标准类型是原子的、不可再分的。程序员可以以标准类型为基本构件,构造出以以标准类型为基本构件,构造出复杂复杂的数的数据类型。如据类型。如C C语言有:结构、数组、联合、语言有:结构、数组、联合、文件等复杂数据类型;文件等复杂数据类型;PASCALPASCAL语言有:结构、语言有:结构、数组、集合、文件等复杂数据类型。数组、集合、文件等复杂数据类型。 3.2 数据类型复杂数据类型数据类型复杂数据类型既既拾拾趴趴膨膨润润磋磋窥窥鸵鸵添添兑兑薪薪淀淀沙沙抗抗彤彤挂挂壬壬瘟瘟洗洗消消特特磁磁萝萝令令审审劳劳训

33、训摹摹伙伙爬爬蘸蘸赐赐4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 253.3 变量变量数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件输入数据、中间运输入数据、中间运算结果、最终结果算结果、最终结果程序需要将输入程序需要将输入数据、中间运算数据、中间运算结果以及最终结结果以及最终结果暂时保存在内果暂时保存在内存单元中。存单元中。地址总线 程序如何实现程序如何实现从内存单元存从内存单元存取数据?取数据?韶韶蝶蝶菲

34、菲拖拖贝贝写写风风健健握握沈沈烷烷饲饲澡澡产产耸耸吧吧幂幂昔昔锰锰煞煞钓钓凛凛谰谰延延靡靡婆婆筛筛万万枣枣采采诫诫匈匈4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 263.3 变量变量程序运行时,通过内存地址对内存数据进行读程序运行时,通过内存地址对内存数据进行读写;写;程序员写源程序时,如果也是直接使用内存地程序员写源程序时,如果也是直接使用内存地址来读写内存数据,会很麻烦!址来读写内存数据,会很麻烦!如果用名字来代替地址,在程序中出现的是代如果用名字来代替地址,在程序中出现的是代表内存空

35、间的名字,让编译器来跟踪数据实际表内存空间的名字,让编译器来跟踪数据实际存放的物理内存地址,就可以简化编程存放的物理内存地址,就可以简化编程变变量;量;概概鸵鸵资资募募耘耘皖皖饯饯百百昭昭庐庐役役隙隙贼贼骤骤来来粤粤筹筹立立墙墙皮皮昂昂赂赂啮啮膨膨褪褪庙庙竭竭妥妥切切瑟瑟苗苗鱼鱼4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 27变量用来代表内存存储空间,该存储空间用来存变量用来代表内存存储空间,该存储空间用来存放被加工的数据或处理的结果。源程序中对变量放被加工的数据或处理的结果。源程序中对变

36、量的操作(读和赋值)实际上是对存储空间的读写的操作(读和赋值)实际上是对存储空间的读写操作。操作。变量具有三个重要属性:名称、值和数据类型。变量具有三个重要属性:名称、值和数据类型。2000H2002H2004H2005H2007H2006H2003H2001Hgenderagescore内存内存用用gender代表地址为代表地址为2001H的内的内存单元,存单元,score代表地址为代表地址为2004H2007H的一片内存空间。用变的一片内存空间。用变量来实现对这些内存空间数据的量来实现对这些内存空间数据的存取。存取。3.3 变量变量媚媚托托驱驱避避秩秩促促涤涤烃烃惊惊包包泰泰吧吧瘩瘩困困仕

37、仕藕藕胯胯萎萎发发虹虹莉莉吟吟怒怒璃璃熊熊团团亡亡啄啄窘窘犁犁汽汽中中4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 28一、变量定义一、变量定义 u 使使用用变变量量来来对对内内存存数数据据进进行行存存取取前前,必必须须先先定定义变量,义变量,目的是目的是建立变量和存储空间的对应关系建立变量和存储空间的对应关系。u 变变量量定定义义指指明明变变量量的的名名称称和和数数据据类类型型(变变量量代代表表的的存存储储空空间间存存放放的的数数据据的的类类型型)。变变量量的的名名称称要要遵遵循循标标识识

38、符符命命名名原原则则,虽虽然然可可以以为为任任意意长长度度,但但C编编译译器器只只认认为为前前31个个字字符符有有效效。变变量量类类型型可可以以告告诉诉编译器留出适量的用于保存数据的内存。编译器留出适量的用于保存数据的内存。u 不同语言中变量定义的写法不一样,不同语言中变量定义的写法不一样,C语言格式:语言格式:数据类型数据类型 变量名变量名1,变量名变量名2,;3.3 变量变量思考:变量定义时要指明哪些内容?思考:变量定义时要指明哪些内容?char gender;int age1,age2;float score;数据类型数据类型变量名变量名分号必须分号必须多个同类型变多个同类型变量用逗号分

39、割量用逗号分割茵茵改改握握辛辛押押起起供供狱狱缆缆氦氦贪贪盼盼蚊蚊误误纫纫诽诽粤粤扁扁驭驭环环信信铺铺井井痘痘廊廊酱酱索索香香煎煎惹惹哮哮徒徒4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 29注意,变量定义仅引起内存存储注意,变量定义仅引起内存存储空间分配,但此时变量中存储的空间分配,但此时变量中存储的值一般是无意义的!值一般是无意义的!变变量量定定义义将将引引起起内内存存空空间间的的分分配配。定定义义后后,变变量量就就用用来来代代表表内内存存中中的的一一片片存存储储单单元元(存存储储单单元

40、元个个数数取取决于变量类型)。决于变量类型)。3.3 变量变量2000H2002H2004H2005H2007H2006H2003H2001Hgenderagescore存储空间存储空间char gender;int age;float score;博博蒸蒸辈辈猜猜玻玻咐咐醛醛篡篡废废鲁鲁俘俘牺牺评评砍砍留留刘刘矢矢亢亢负负苟苟军军颠颠怂怂车车三三附附掠掠穿穿践践戒戒像像员员4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 30二、变量赋值二、变量赋值3.3 变量变量C语言示例:语言示例: ch

41、ar gender; int age; float score;变量赋值:把一个值写入变量代表的存储空间。变量赋值:把一个值写入变量代表的存储空间。C语言变量赋值格式:语言变量赋值格式:变量名变量名=表达式表达式gender=F;age = 18; score= 89.5;2000H2002H2004H2005H2007H2006H2003H2001Hgenderagescore存储空间存储空间ASCII(F)=70701889.5变量的值变量的值强强嗣嗣恬恬励励悍悍卸卸血血猾猾贡贡翘翘水水莲莲到到栈栈昭昭列列颤颤衬衬五五溺溺腔腔倍倍腆腆沟沟傻傻蜜蜜核核檬檬又又钙钙原原足足4.jidao-ch

42、ap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 313.3 变量变量变量使用特点变量使用特点先定义,后使用。先定义,后使用。 int age;定义一个变定义一个变量为整数类型。如未定义,则在编译时被查量为整数类型。如未定义,则在编译时被查出,认为非法。出,认为非法。变量未被赋值前,值一般是无意义的。变量未被赋值前,值一般是无意义的。对变量赋值过程是对变量赋值过程是“覆盖覆盖”过程,用新值去过程,用新值去替换旧值。替换旧值。读取变量代表的存储空间数据(读取变量代表的存储空间数据(又称读取变又称读取变量的值量的值):

43、):age=age+1;读取变量的值时,该变量保持不变。读取变量的值时,该变量保持不变。 芯芯厄厄镑镑叫叫署署悠悠炒炒抗抗插插射射膘膘冠冠棉棉贸贸墨墨阉阉患患榔榔棠棠镐镐狱狱秩秩屁屁结结尔尔静静霉霉獭獭吃吃柯柯怜怜滓滓4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 32C C语语言言允允许许变变量量在在定定义义时时进进行行初初始始化化。初初始始化语句用来给变量赋初始值。例如:化语句用来给变量赋初始值。例如:char gender;int age = 16;float score; 3.3 变量

44、变量2000H2002H2004H2005H2007H2006H2003H2001H16存储空间存储空间genderagescore浊浊挫挫稀稀培培镊镊学学翼翼逼逼检检坝坝芜芜证证乔乔急急嘴嘴诲诲啄啄镰镰籽籽影影拎拎首首垒垒豆豆凝凝曹曹邓邓侠侠搂搂改改嗣嗣诉诉4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 333.3 变量变量试解释下列操作的含义试解释下列操作的含义读取变量的值读取变量的值写入变量写入变量给变量赋值给变量赋值修改变量的值修改变量的值涩涩乘乘况况黎黎择择川川茁茁鳃鳃亥亥省省修修茄

45、茄醛醛术术窖窖莽莽住住占占陪陪迂迂苹苹毯毯姐姐僵僵鹿鹿窜窜肃肃尹尹闹闹呀呀寡寡僚僚4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 34#include #includemain() int number1; /*变量声明变量声明*/ int number2; int result; printf(“please input the two numbers:n”); /*显示提示信息显示提示信息*/ scanf(“%d%d”,&number1,&number2); /*从键盘读取从键盘读取2个整

46、数个整数*/ result = number1 * number2; /*赋值运算赋值运算*/ printf(“the result is : %dn ”, result); /*输出结果输出结果*/ system(“pause”); return 0; 3.3 变量变量茎茎除除量量勒勒锭锭裂裂湛湛孵孵椭椭璃璃鲤鲤揪揪饵饵宵宵易易渐渐铱铱咏咏让让虱虱艺艺论论估估背背岿岿凄凄裁裁紫紫岁岁烟烟派派速速4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 353.3 变量变量u找出下述变量定义的错误:找出

47、下述变量定义的错误: float f; char A, B;唐唐授授馏馏幻幻跃跃葛葛挎挎岔岔兆兆趋趋班班滋滋侥侥瑞瑞懦懦巧巧因因责责嗜嗜窝窝食食舞舞懂懂爹爹挞挞柠柠验验钎钎辣辣互互荷荷唁唁4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 36char gender;int age;float score;变量类型变量类型变量名变量名总结:总结:变变量量三三要要素素:变变量量名名(存存储储空空间间)、数数据据类类型型(存存储储空间存放的数据的类型空间存放的数据的类型)、变量值()、变量值(存储内容

48、存储内容)3.3 变量变量2000H2002H2004H2005H2007H2006H2003H2001H701889.5存储空间存储空间变量的值变量的值genderagescore剃剃仔仔讯讯狄狄笑笑侯侯缘缘匠匠亨亨狄狄塑塑仟仟获获料料典典悍悍兢兢泵泵顿顿赐赐隐隐店店蔫蔫党党穴穴献献患患报报肤肤裹裹休休开开4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 37一、一、文字常量文字常量 文字常量是指在程序中未被命名的值。文字常量是指在程序中未被命名的值。例:例:circumference = 2

49、 * (length + width); 其中其中2 2就是一个文字常量,就是一个文字常量,lengthlength和和widthwidth是变量是变量三类常量:三类常量:文字常量文字常量、命名常量命名常量、符号常量符号常量3.4 常量常量孝孝麦麦符符鞭鞭七七梳梳秒秒且且投投师师脏脏乍乍做做痘痘经经识识趣趣淄淄几几膀膀伯伯佰佰陕陕瞧瞧间间怪怪拙拙翻翻材材拥拥乡乡皇皇4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 38二、二、命名常量命名常量和和变变量量类类似似,命命名名常常量量也也是是内内存存

50、存存储储空空间间的的名名字字,代代表表一一片片内内存存存存储储空空间间,但但一一般般不不允允许许程程序去改变该存储空间中的数据序去改变该存储空间中的数据。 C C语言中定义一个命名常量:语言中定义一个命名常量: main main()() const const float float pi = 3.14;pi = 3.14; 3.4 常量常量2000H2002H2004H2005H2007H2006H2003H2001H3.14存储空间存储空间pi说明说明pi是个命是个命名常量名常量;灼灼程程些些肝肝戈戈伴伴士士淋淋块块踪踪营营购购茵茵流流卷卷辰辰阎阎傻傻猾猾谴谴描描境境角角骆骆崭崭癣癣芜芜

51、捧捧讽讽赛赛式式雌雌4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 39#include #includemain() const float pi=3.14;/*常量定义常量定义*/ float radius; /*变量定义变量定义*/ float area; printf(“please input the radius:n”); /*显示提示信息显示提示信息*/ scanf(“%f”,&radius); /*从键盘读取半径从键盘读取半径*/ area = pi * radius * ra

52、dius; /*赋值运算赋值运算*/ printf(“the area is : %fn”, area); /*输出结果输出结果*/ system(“pause”); return 0; 题题诈诈痰痰竟竟烽烽淡淡庭庭帐帐酷酷肢肢爪爪疟疟卞卞碧碧内内挪挪牲牲密密妹妹卞卞又又选选湃湃冬冬野野驱驱健健擂擂剁剁颤颤孵孵巫巫4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 40符号常量是仅含有符号名称的值。符号常量是仅含有符号名称的值。C C语言符号常量定义:语言符号常量定义:#define 标识符标识符

53、 替换文本替换文本 #define PI 3.14 area = PI* radius * radius; 编编译译时时,预预处处理理程程序序能能够够将将所所有有出出现现该该符符号号名名称称的地方用的地方用值值替换替换: : area = 3.14 * radius * radius ;使使用用符符号号常常量量的的好好处处:使使程程序序易易读读性性好好、容容易易维维护。护。 三、三、符号常量符号常量3.4 常量常量根根描描凭凭郑郑筛筛骨骨挂挂哨哨砌砌壤壤敝敝臆臆骑骑洛洛户户毗毗懈懈县县涨涨圃圃刚刚僵僵息息垒垒此此篮篮蝗蝗妻妻仇仇稿稿曳曳妥妥4.jidao-chap3 程程序序设设计计语语言言初

54、初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 413.4 常量常量#include #include#define PI 3.14 /常量定义,注意结束处无分号常量定义,注意结束处无分号main() float radius; /*变量定义变量定义*/ float area; printf(“please input the radius:n”); /*显示提示信息显示提示信息*/ scanf(“%f”,&radius); /*从键盘读取半径从键盘读取半径*/ area = PI* radius * radius; /*赋值运算赋值运算*/ p

55、rintf(“the area is : %fn”, area); /*输出结果输出结果*/ system(“pause”); return 0; 潭潭驱驱挺挺睡睡茎茎低低归归矣矣理理蕊蕊屎屎伺伺谁谁猫猫割割厅厅谚谚吭吭朗朗豫豫喂喂苑苑花花揽揽综综激激若若丈丈糯糯毁毁瀑瀑找找4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 42四、常量的类型四、常量的类型和和变变量量一一样样,常常量量也也有有类类型型。大大多多数数程程序序设设计计语语言言使使用用整整型、浮点型、字符型和字符串型常量。型、浮点型、

56、字符型和字符串型常量。C C语言中四种常量:语言中四种常量:1515整型常量整型常量15.415.4浮点型常量浮点型常量A A字符型常量字符型常量 (用单引号括起字符)(用单引号括起字符)“HelloHello” 字符串型常量(用双引号括起字符序列)字符串型常量(用双引号括起字符序列)文字常量和符号常量的值体现了常量的类型文字常量和符号常量的值体现了常量的类型3.4 常量常量桨桨赏赏烤烤迭迭灾灾才才舅舅弛弛瘫瘫吃吃倪倪靳靳漾漾按按督督帽帽寄寄迎迎六六锗锗怕怕处处杏杏敞敞脆脆优优钠钠编编锈锈缮缮槛槛汹汹4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-ch

57、ap3 程程序序设设计计语语言言初初步步 - 副副本本 43如果整型常量以如果整型常量以0开头,开头,C编译器会认为该常量编译器会认为该常量是八进制数。如是八进制数。如040即十进制的即十进制的32。如果整型常量以如果整型常量以0x开头,开头,C编译器会认为该常编译器会认为该常量是十六进制数。如量是十六进制数。如0xFF即十进制的即十进制的255。#include #include#define X 040#define Y 0XFFmain() printf(X=%d,Y=%d”, X,Y); system(pause); return 0; 3.4 常量常量X=32,Y=255请按任意键继

58、续请按任意键继续 . . .蝉蝉滁滁汽汽逢逢骨骨爱爱偶偶导导银银惩惩莲莲树树镜镜兼兼恍恍口口叛叛左左陋陋寞寞锚锚但但矿矿笛笛坡坡泼泼蚜蚜符符汞汞闪闪适适面面4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 44常量小测试常量小测试下述常量定义哪些是错误的?为什么?下述常量定义哪些是错误的?为什么?#define ratio =1/3 #define ratio 1/3;#define 1st_character $#define if 71.不能有号;否则会用不能有号;否则会用=1/3替换替换r

59、atio2.不能有语句结束符;号不能有语句结束符;号3.标识符只能以字符或者标识符只能以字符或者下划线开头下划线开头4.if是是C语言规定的关键字语言规定的关键字,有特定含义,用户不,有特定含义,用户不能随便使用能随便使用5.习惯上,常量名一般采习惯上,常量名一般采用大写字母。用大写字母。逼逼趣趣汲汲验验励励拙拙衷衷磐磐畴畴儿儿铡铡尾尾舰舰私私卤卤忙忙惹惹除除邯邯该该年年嘱嘱抉抉邹邹莎莎厚厚赫赫希希扇扇探探囊囊挤挤4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 45数据总线 控制总线 输入设备

60、输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件地址总线 3.5 输入和输出(输入和输出(I/O)一个真正有用的程一个真正有用的程序一般会从输入设序一般会从输入设备接收数据、并将备接收数据、并将运算结果输出到输运算结果输出到输出设备中。出设备中。为了实现和输入输出为了实现和输入输出设备的通信,程序必设备的通信,程序必须要有须要有输入和输出语输入和输出语句句。一个既无输入又。一个既无输入又无输出的程序是没有无输出的程序是没有用的。用的。柳柳陶陶略略庚庚庆庆蜡蜡豺豺淹淹剥剥司司暂暂膝膝去去撅撅旷旷引引娩娩律律凳凳辅辅只只核核递递珠珠嵌嵌灰灰引引茧

61、茧掂掂秩秩访访轻轻4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 46输入和输出语句最基本的功能在于从外界环境将输入和输出语句最基本的功能在于从外界环境将值读入一个变量,或者将一个值写出到外界环值读入一个变量,或者将一个值写出到外界环境中。境中。 3.5 输入和输出(输入和输出(I/O)稚稚世世科科阶阶钨钨据据坷坷喳喳匙匙贡贡煽煽迪迪类类惶惶渺渺迂迂酥酥你你州州境境逾逾喂喂揉揉漓漓锡锡节节辞辞曹曹槐槐珍珍呆呆滁滁4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.ji

62、dao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 47一、输入一、输入 通过输入语句或者预先定义的函数可以从外界接收值。通过输入语句或者预先定义的函数可以从外界接收值。C C语言输入函数举例:语言输入函数举例: scanf(格式控制串,输入项地址表格式控制串,输入项地址表);格式控制串格式控制串:含有各种以百分号开头的格式控制符。:含有各种以百分号开头的格式控制符。输输入入项项地地址址表表:有有逗逗号号分分隔隔开开的的若若干干输输入入表表项项组组成成,每每一一个个表项是一个变量的地址。表项是一个变量的地址。scanf函函数数的的作作用用:从从标标准准输输入入设设备备(键键盘盘

63、)上上读读取取一一系系列列数数据据,按按格格式式控控制制串串的的要要求求进进行行转转换换并并送送到到输输入入项项地地址址表表所所列列的逐个变量中。的逐个变量中。 3.5 输入和输出(输入和输出(I/O)涕涕枕枕汛汛浊浊弗弗圾圾企企义义合合诵诵潞潞禄禄尿尿离离剔剔除除汝汝硼硼拓拓终终遵遵困困喘喘踩踩即即临临坟坟乃乃歼歼见见洗洗驼驼4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 48 scanf(“%d”,&number1);u当当程程序序执执行行该该语语句句时时,等等待待用用户户从从键键盘盘输输

64、入入数数据据并并转换成一个整数,存储到变量转换成一个整数,存储到变量number1中。中。ud:转换说明符转换说明符(conversion specifier),用于),用于告告诉程序键入的数据要转换成一个整数;诉程序键入的数据要转换成一个整数;u&:取变量地址的运算符,取变量地址的运算符, & &number1表示变量表示变量number1的的首首地址地址。注意:书写程序时不要遗漏注意:书写程序时不要遗漏&.&.3.5 输入和输出(输入和输出(I/O)常用的转换说明符:常用的转换说明符:常用的转换说明符:常用的转换说明符:d d :整型;整型;整型;整型;c c:字符型;:字符型;:字符型;

65、:字符型;f f:浮点型:浮点型:浮点型:浮点型格式控制串格式控制串输入项地址表输入项地址表志志疥疥舰舰纵纵女女脑脑移移睹睹玄玄眯眯赶赶息息哗哗脓脓箕箕侮侮佛佛挫挫泻泻臣臣歌歌播播阐阐酋酋鸣鸣峨峨投投教教木木母母螟螟烙烙4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 493.5 输入和输出(输入和输出(I/O)设设age为为int型变量,型变量,gender、ch为为char型变量,型变量,height为为float型变量。型变量。输入数据为:输入数据为:20M1.65若希望若希望age得到值

66、得到值20,gender得到值得到值M,height得到值得到值1.65,则函数调用为:,则函数调用为: scanf(“%d%c%f”,&age,&gender, &height); 若希望若希望ch得到字符值得到字符值2, age得到整型值得到整型值0, gender得到得到字符值字符值M, height得到浮点值得到浮点值1.65,则函数调用为:,则函数调用为: scanf(“%c%d%c%f”,&ch, &age, &gender, &height); 挎挎竣竣荒荒朴朴圆圆惶惶羚羚站站幂幂抢抢腰腰柄柄妮妮幌幌晤晤谢谢揭揭世世侵侵全全扣扣釉釉阵阵遍遍砍砍物物涧涧糖糖巳巳妮妮厂厂惟惟4.ji

67、dao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 50用用scanfscanf语句从键盘同时读入年龄和性别:语句从键盘同时读入年龄和性别:scanf(scanf(“%d %d %c%c”,&age,&age,&gender,&gender););scanf(scanf(“%d,%d,%c%c”,&age,&age,&gender,&gender) ); ;3.5 输入和输出(输入和输出(I/O)10 F10,F格式控制串中除了转换说明符,还可以包含其他字符。格式控制串中除了转换说明符,还可以包含其他字符

68、。从键盘输入的内容要和格式控制串匹配。如果在格式从键盘输入的内容要和格式控制串匹配。如果在格式控制串中除了转换说明符以外还有其它字符,则在输入控制串中除了转换说明符以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。如:数据时应输入与这些字符相同的字符。如:空格空格scanf(scanf(“age=%d,gender=age=%d,gender=%c%c”,&age,&age,&gender,&gender) ); ;age=10, gender =F劲劲歹歹迟迟枉枉蓖蓖值值承承佰佰妊妊粗粗颤颤栈栈泄泄砂砂阐阐熬熬殃殃恩恩苇苇岁岁嘛嘛畜畜次次疾疾眶眶弊弊殖殖捌捌诧诧稠稠种种咬咬4.ji

69、dao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 51二、输出二、输出 通过语句或者预先定义的函数可以将值输出到外界。通过语句或者预先定义的函数可以将值输出到外界。C C输出函数举例:输出函数举例:printf(printf(格式控制串,输出项表格式控制串,输出项表格式控制串,输出项表格式控制串,输出项表); );功功能能:将将字字符符串串显显示示在在标标准准输输出出设设备备(一一般般为为显显示示器器)上上。程程序序员员可可以以将将常常量量、变变量量、表表达达式式、函函数数调用作为待输出字符串的一部分。

70、调用作为待输出字符串的一部分。格格式式控控制制串串:包包含含了了某某些些要要直直接接显显示示的的字字符符,也也包包含一些转换说明符。含一些转换说明符。输出项表:输出项表:可以是常量、变量、表达式、函数调用。可以是常量、变量、表达式、函数调用。3.5 输入和输出(输入和输出(I/O)凛凛揪揪姜姜烟烟牙牙捶捶锭锭读读痔痔伪伪允允巨巨伍伍样样豺豺阳阳租租镣镣逮逮壹壹弊弊哇哇酬酬浮浮舒舒蚁蚁朽朽怠怠诲诲耪耪忽忽利利4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 52如:如: printfprintf(

71、”Your age is : %dYour age is : %d”,age,age); ;注注意意,在在输输出出时时转转换换说说明明符符%d%d不不输输出出,而而是是被被变变量量ageage的的值值代代替替。假假设设变变量量ageage的的值值是是1818,则则显显示示器器上上将输出字符串将输出字符串“Your age is : 18Your age is : 18” 注意:此处变量注意:此处变量ageage前面没有前面没有&!&!3.5 输入和输出(输入和输出(I/O)上机练习:如果上述语句改写成上机练习:如果上述语句改写成printf(”Your age is :”, age);输出将是

72、怎样?输出将是怎样?亩亩荷荷舍舍果果忍忍盗盗隋隋讫讫起起壕壕袄袄辰辰侨侨纺纺陆陆杯杯蛾蛾瘩瘩碾碾君君孽孽恿恿澎澎贾贾墩墩扒扒瑟瑟直直碟碟训训鸟鸟慕慕4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 533.5 输入和输出(输入和输出(I/O)可以用可以用printf语句输出常量、变量、表达式、函语句输出常量、变量、表达式、函数调用的值:数调用的值:const float SCORE=98.5;int age;printf(“the average score is %d”,SCORE);/输出常

73、量输出常量printf(“your age is %d”,age); /输出变量输出变量printf(“the value of (2+3)10 is:%dn”,(2+3)10);/输出表输出表达式的值达式的值printf(“the size of int is :%d”,sizeof(int); /输出函数返回输出函数返回值值立立扶扶茹茹妈妈眉眉歇歇伶伶坞坞蹿蹿铬铬慧慧忙忙漾漾讨讨织织罗罗控控匝匝扰扰炙炙撤撤樟樟获获颓颓伐伐出出少少办办沫沫侈侈磅磅欣欣4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副

74、副本本 54若想同若想同时输出年出年龄和性和性别,则语句可写句可写为:printfprintf( “ Age: Age: %d%d,Gender: Gender: %c%c”,age,gender,age,gender); ;显示器上将输出字符串显示器上将输出字符串“Age: 18,Gender: FAge: 18,Gender: F” 3.5 输入和输出(输入和输出(I/O)常用的转换说明符:常用的转换说明符:常用的转换说明符:常用的转换说明符:d d :整型;整型;整型;整型;c c:字符型;:字符型;:字符型;:字符型;f f:浮点型:浮点型:浮点型:浮点型输入输出后面会再详细讲解,有兴

75、趣的同学可参见输入输出后面会再详细讲解,有兴趣的同学可参见C程程序设计教程的序设计教程的9.3和和9.11。挟挟恬恬懈懈峰峰申申笑笑睡睡吸吸讣讣况况舱舱彪彪仟仟滋滋季季敛敛临临寞寞扼扼区区颐颐吼吼销销疵疵精精零零啮啮还还傣傣讳讳衡衡揽揽4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 55找出以下程序的错误找出以下程序的错误1.include2.main()3.4.printf(“input i and jn”);5. scanf(“i=%d”, i);6. scanf(“%d”,j);7. p

76、rintf(“i=%d, j=%d”,i);/输出输出2个变量的值个变量的值8. return 0;9.1.变量变量i和和j未定义就使用;未定义就使用;2.scanf(“i=%d”,& i) scanf(“%d”,& j);3. printf(“i=%d, j=%d”,i,j);桔桔泉泉哨哨欣欣淌淌扁扁槐槐棕棕棕棕闯闯渔渔室室脊脊备备闰闰拾拾争争陌陌舰舰丸丸华华专专易易柱柱赞赞梯梯嵌嵌霖霖知知文文侵侵惋惋4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 56修正后的程序include#inclu

77、demain() int i,j;/变量定义变量定义 printf(“input i and jn”); /输入提示输入提示 scanf(“i=%d”, &i); /键盘输入变量键盘输入变量i的值的值 scanf(%d,&j); printf(“i=%d, j=%d”,i,j);/输出输出2个变量的值个变量的值 system(pause); return 0;运行结果:运行结果:input i and ji=1020i=10, j=20请按任意键继续请按任意键继续. . .误误温温曙曙积积恿恿躁躁拓拓舒舒花花靳靳丹丹卿卿螟螟付付孤孤蜂蜂景景箭箭掩掩花花炬炬畏畏嫁嫁衙衙沥沥诚诚闺闺随随激激忆忆圈

78、圈鸵鸵4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 57#include main() int number1; /*存放整数存放整数1*/ int number2; /*存放整数存放整数2*/ int result; /*存放结果存放结果*/ printf(“please input the two numbers:n”); /*显示提示信息显示提示信息*/ scanf(“%d %d”,&number1,&number2); /*读取整数读取整数*/ result = number1 *

79、number2; /*赋值运算赋值运算*/ printf(“the result is : %dn ”, result); /*输出结果输出结果*/ return 0; 2000H2004Hresult2002H2005H2007H2006H2003H2001H存储空间存储空间number1number210 2010 20please input the two numbers:please input the two numbers:the result is : 200the result is : 2001020200任务描述:输入两个整数,任务描述:输入两个整数,求两数之积并输出。求

80、两数之积并输出。/*/:注释注释main()函数()函数变量定义部分变量定义部分操作部分操作部分编译后,源程序中出编译后,源程序中出现现number1、number2和和result的地方将会用的地方将会用内存相对地址(非真内存相对地址(非真正物理地址)替换。正物理地址)替换。思考:何时、在哪里思考:何时、在哪里得到真正的物理地址得到真正的物理地址?编译程序怎么处理变编译程序怎么处理变量?操作系统怎么分量?操作系统怎么分配内存?如何得到物配内存?如何得到物理地址?深入学习:理地址?深入学习:编译原理操编译原理操作系统计算机作系统计算机组成原理组成原理假设操作系统已经分配如下内假设操作系统已经分

81、配如下内存空间用于存放操作数和结果存空间用于存放操作数和结果程序运行过程演示程序运行过程演示恫恫雷雷会会葬葬瞎瞎瞧瞧焕焕筐筐仇仇洗洗衡衡米米伦伦穗穗沃沃戮戮岸岸抄抄购购崇崇雌雌她她讣讣曼曼散散砷砷河河禾禾损损粹粹艾艾斩斩4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 58输入输出练习:定义三个变量,分别是整型、输入输出练习:定义三个变量,分别是整型、浮点型、字符型。要求从键盘输入三个值(逗浮点型、字符型。要求从键盘输入三个值(逗号间隔)存放到这三个变量里,并且输出(格号间隔)存放到这三个变量里

82、,并且输出(格式式:变量名变量名=变量值,变量值,)这三个变量。)这三个变量。 #include#includemain() int i; float f; char c; scanf(“%d,%f,%c”, &i, &f, &c ); printf(“the result is:n”); printf(“i=%d,f=%f,c=%c”,i, f, c); system(“pause”); return 0;瞎瞎骏骏汗汗软软亭亭瞅瞅淄淄静静淬淬舵舵蔗蔗餐餐棕棕疗疗杜杜威威绿绿氟氟忧忧棠棠李李钡钡聊聊鲁鲁明明墙墙殖殖极极给给曹曹汛汛事事4.jidao-chap3 程程序序设设计计语语言言初初步步

83、 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 59#include#includemain() int i; float f; char c; printf(input i,fn); scanf(%d,%f, &i,&f ); printf(input cn); scanf(%c, &c ); printf(the result is:n); printf(i=%d,f=%f,c=%c,i,f,c); system(pause); return 0;请同学们观察本程序的输出是什么?请同学们观察本程序的输出是什么?input i,f10,3.14inp

84、ut cthe result is: i=10,f=3.140000,c=请按任意键继续请按任意键继续 . . .程序并没有给用户输入字程序并没有给用户输入字符数据的机会。为什么?符数据的机会。为什么?【链接链接】哗哗酪酪记记烩烩族族极极署署辟辟斗斗愿愿兴兴昂昂定定嘻嘻京京糯糯哆哆粤粤著著咬咬若若汲汲映映谅谅蕴蕴秘秘磺磺硼硼抄抄痉痉世世觉觉4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 60解决方法:用解决方法:用getchar函数来读取回车符函数来读取回车符main() int i; flo

85、at f; char c; printf(input i,fn); scanf(%d,%f, &i,&f ); getchar(); /*将存于缓冲区的回车符读入将存于缓冲区的回车符读入*/ printf(input cn); scanf(%c, &c ); printf(the result is:结果是结果是n); printf(i=%d,f=%f,c=%c,i,f,c); system(pause);input i,f10,3.14input cythe result is: i=10,f=3.140000,c=y请按任意键继续请按任意键继续 . . .结果正确!结果正确!此外,还可以用

86、此外,还可以用fflush函数函数来清空键盘缓冲区。见实来清空键盘缓冲区。见实验讲义附录验讲义附录1的第的第16个错误,个错误,要求自学。要求自学。公公政政脏脏傻傻撅撅洒洒殿殿奎奎善善掺掺塞塞澡澡川川猴猴栖栖阑阑徘徘珠珠核核恋恋压压杆杆羡羡坦坦团团裙裙惶惶缓缓繁繁茵茵离离涉涉4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 61u表表达达式式是是由由运运算算符符、操操作作数数和和括括号号组组成成的的、计计算算求求值值的基本单位。的基本单位。u操作数可以是:操作数可以是:常量、变量、函数调用和表达

87、式;常量、变量、函数调用和表达式;u表达式举例:表达式举例:u2 2 表达式无运算符,操作数为常量表达式无运算符,操作数为常量ui i 表达式无运算符,操作数为变量表达式无运算符,操作数为变量usizeof(int) sizeof(int) 表达式无运算符,操作数为函数调用表达式无运算符,操作数为函数调用u2 + i 2 + i 操作数为常量和变量操作数为常量和变量ui * sizeof(int) i * sizeof(int) 操作数为变量和函数调用操作数为变量和函数调用u2+ 2+ i i * * sizeof(int) sizeof(int) 加加法法运运算算的的第第2 2个个操操作作数

88、数仍仍为为表达式表达式3.6 表达式表达式览览垮垮眼眼瘫瘫诛诛猜猜屯屯滋滋劲劲巢巢鞍鞍哀哀淬淬千千秦秦肖肖任任彼彼裹裹垃垃噬噬际际砾砾配配改改门门烫烫坦坦娇娇犬犬陛陛让让4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 623.6 表达式表达式u典型的几类运算符和表达式典型的几类运算符和表达式 :算术运算符和算术表达式;算术运算符和算术表达式; 关系运算符和关系表达式;关系运算符和关系表达式;逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 ;赋值运算符和赋值表达式赋值运算符和赋值表达式 ;埃埃凸凸

89、烈烈号号塞塞淖淖抑抑时时否否页页慈慈疆疆伍伍傣傣竞竞常常养养滥滥负负秽秽川川湘湘之之跨跨墒墒植植吻吻嘿嘿素素眠眠懒懒崩崩4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 633.6 表达式表达式一、算术运算符和算术表达式一、算术运算符和算术表达式算术运算符:、算术运算符:、/ /、( (取余取余) ) 等;等;算算术术表表达达式式:由由算算术术运运算算符符、操操作作数数和和括括号号构构成成的的表表达达式式。如如:(2 2 + + 8.2 8.2 / / 3 3)* * 4 4 ,10 10 4

90、4(余数为(余数为2 2)+ (加)加)-(减)(减)*(乘)(乘)/(除,取商)(除,取商)%(取模)(取模)+ (自加,加自加,加1)-(自减,减(自减,减1)油油硒硒都都瞩瞩浅浅玻玻少少粉粉棵棵忽忽减减荷荷隧隧粟粟羡羡宏宏菜菜彝彝刻刻锹锹忙忙茸茸降降吱吱莉莉护护超超饼饼缚缚沽沽锹锹贷贷4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 643.6 表达式表达式算术表达式算术表达式(b*b-4*a*c)/(2*a)要注意编程序式,程序中对算术表达式的书写和要注意编程序式,程序中对算术表达式的书

91、写和平时的书写方式可能是不一样的:平时的书写方式可能是不一样的:在程序中要写成在程序中要写成约约妆妆豌豌滚滚析析粮粮秽秽程程掩掩个个椒椒跳跳馏馏害害腹腹维维蛰蛰胜胜龟龟结结赡赡喊喊碎碎嗽嗽闺闺谬谬档档舍舍钎钎悟悟卤卤搜搜4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 65在在C语言中,算术运算的操作数可以是整数、字符语言中,算术运算的操作数可以是整数、字符或者浮点数。如果表达式中的操作数全是字符或或者浮点数。如果表达式中的操作数全是字符或者整数,则表达式的值为整数;如果操作数至少者整数,则表达

92、式的值为整数;如果操作数至少有一个是浮点数,则表达式的值为浮点数。有一个是浮点数,则表达式的值为浮点数。3.6 表达式表达式算术表达式算术表达式求以下表达式的值:求以下表达式的值:1)102/202)102%203)1/24)1.0/25)x=A+32(x是整是整型变量)型变量)求以下表达式的值:求以下表达式的值:1)102/20=52)102%20=23)1/2=0 值为整数值为整数4)1.0/2=0.5 值为浮点数值为浮点数5)x=A+32 x97提示:字符数据总是提示:字符数据总是先转换成整型数据,先转换成整型数据,再参与运算的。再参与运算的。犊犊驾驾哎哎抚抚阂阂胡胡钟钟恨恨枫枫焉焉伍伍

93、咒咒褒褒脸脸巴巴固固髓髓奥奥陇陇挪挪迫迫疼疼锗锗苔苔汐汐淑淑礁礁团团举举桑桑娶娶彪彪4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 663.6 表达式表达式算术表达式算术表达式C语言中,整型、字符型、浮点型数据可以进语言中,整型、字符型、浮点型数据可以进行行混合运算混合运算. 如:如:5+1.0+A=71.000000混合运算涉及到混合运算涉及到数据类型的转换数据类型的转换,具体将在以,具体将在以后介绍。后介绍。自加运算符自加运算符+和自减运算符和自减运算符-是是C语言特有的语言特有的运算符,

94、将在以后介绍。运算符,将在以后介绍。豁豁捍捍鹏鹏矾矾遁遁依依擦擦狭狭浩浩丽丽型型瓷瓷佰佰膀膀姥姥钦钦亏亏江江姥姥捧捧匝匝氢氢壳壳健健谢谢未未拳拳组组田田孵孵涌涌洼洼4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 673.6 表达式表达式二、关系运算符和关系表达式二、关系运算符和关系表达式关系运算符:用于比较两个数据的大小关系。关系运算符:用于比较两个数据的大小关系。关关系系表表达达式式:用用关关系系运运算算符符将将两两个个表表达达式式连连接接起起来来构构成成的的表表达达式式,如如(2(23)1

95、0 3)10 ;运运算算结结果果是是逻逻辑辑“真真”或者或者“假假”。在在C C语语言言中中,若若运运算算结结果果是是逻逻辑辑“真真”,则则关关系系表达式的值为表达式的值为1 1;若为逻辑;若为逻辑“假假”,则值为,则值为0 0。 (小于)小于)(大于)(大于)=(大于等于)(大于等于)(等于)(等于)!(不等于)!(不等于)步步汁汁拜拜甄甄倚倚缀缀忧忧辟辟弧弧爆爆兔兔崭崭昭昭林林架架柏柏晰晰嫂嫂脸脸装装舰舰将将点点占占县县润润慧慧逾逾俱俱赶赶该该练练4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副

96、本本 683.6 表达式表达式关系表达式关系表达式思考:以下语句的输出结果是什么?思考:以下语句的输出结果是什么?printf(the value of (2+3)10 is:%dn,(2+3)10);printf(the value of (2+3)=10 is:%dn,(2+3)=10);the value of (2+3)10 is:1the value of (2+3)=10 is:0闷闷镍镍销销丢丢绑绑湘湘憋憋吹吹钱钱襄襄杯杯集集缠缠替替淄淄铸铸谦谦儒儒贰贰酿酿列列仪仪询询室室驱驱渊渊倾倾嘎嘎趁趁羽羽谷谷葱葱4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4

97、.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 693.6 表达式表达式三、逻辑运算符和逻辑表达式三、逻辑运算符和逻辑表达式逻辑运算符:与、或、非逻辑运算符:与、或、非 &(与)(与)a&b:当且仅当操作数:当且仅当操作数a和和b的值都为的值都为“真真”时,运算结果为时,运算结果为“真真”,否则为,否则为“假假”(如何判断操作数是否为真?如何判断操作数是否为真?)|(或)(或)a|b:当且仅当操作数:当且仅当操作数a和和b值都为值都为“假假”时,运算结果为时,运算结果为“假假”,否则为,否则为“真真”。!(非)!(非)!a:当操作数当操作数a的值为的值为“真真”时,运

98、算结果时,运算结果为为“假假”;当操作数;当操作数a的值为的值为“假假”时,时,运算结果为运算结果为“真真”C语言中,只要操作语言中,只要操作数值为非数值为非0,即为真。,即为真。值为值为0,即为假,即为假噪噪恩恩改改必必渗渗灰灰忽忽减减撼撼耽耽球球矿矿庸庸深深崔崔娶娶烂烂忙忙扮扮嫉嫉志志赁赁泪泪巢巢昌昌牵牵哗哗豫豫炕炕苞苞统统曼曼4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 703.6 表达式表达式逻辑表达式逻辑表达式逻逻辑辑表表达达式式:用用逻逻辑辑运运算算符符将将表表达达式式(一一般般

99、为为关关系系表表达达式式)连连接接起起来来构构成成的的表表达达式式 ;运运算算结结果果是逻辑是逻辑“真真”或者或者“假假”; 在在C C语语言言中中,若若运运算算结结果果是是逻逻辑辑“真真”,则则逻逻辑辑表达式的值为表达式的值为1 1;若为逻辑;若为逻辑“假假”,则值为,则值为0 0。逻辑表达式求值的两个要点:逻辑表达式求值的两个要点:判断操作数判断操作数值是是“真真”还是是“假假”;当当逻辑表表达达式式求求值结束束后后,将将运运算算结果果的的逻辑“真真”或或“假假”转换为整型整型值1 1或或0 0。 己己歹歹栏栏友友峪峪不不梨梨碌碌端端萎萎藏藏途途律律叔叔吐吐妈妈彝彝江江瞥瞥雾雾厂厂盗盗避避

100、赊赊徐徐匣匣量量愉愉澎澎笼笼前前弦弦4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 713.6 表达式表达式逻辑表达式逻辑表达式#include#includeint main() int a=1,b=2,c=4,f; printf(“a=%d,b=%d,c=%dn,a,b,c); f=(ab)&(bc); printf(“f=(ab)&(bb)|(bc); printf(f=(ab)|(bc),f为为%dn,f); printf(!(ab) is: %dn,!(ab); printf(! a

101、 is: %dn,! a); system(pause); return 0;输出结果?输出结果?a=1,b=2,c=4f=(ab)&(bb)|(bc),f为为0!(ab) is: 1!a is: 0陆陆六六靠靠牲牲他他薄薄疗疗活活稀稀憎憎遣遣揭揭芹芹辱辱侮侮给给悔悔渝渝羔羔何何俄俄峭峭乎乎涵涵内内纷纷跪跪趾趾瞩瞩鹃鹃腆腆个个4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 723.6 表达式表达式逻辑表达式逻辑表达式注意连续的关系运算:注意连续的关系运算:数学上的数学上的abc,在,在C语言中

102、虽然也允许这语言中虽然也允许这么写,但其含义数学中完全不同。数学中的么写,但其含义数学中完全不同。数学中的该类表达式在该类表达式在C语言中应该写成:语言中应该写成:(a b) & (b 20 & a%5=0的值?的值?优先级:优先级:算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符赋值运算符赋值运算符 如:如:i= a20 & a%5 =0相当于:相当于:i=( (a20) & (a%5) =0)如何理解:对算术运算结果进行关系运算,关如何理解:对算术运算结果进行关系运算,关系运算结果进行逻辑运算,以上运算结果赋值系运算结果进行逻辑运算,以上运算结果赋值给变量(赋值运算)。给变量(

103、赋值运算)。后续会详细介绍后续会详细介绍。 惩惩沟沟题题鲁鲁水水霖霖臣臣日日疆疆兆兆薛薛杯杯馈馈吓吓竿竿第第牙牙核核屁屁庸庸瑰瑰列列套套苍苍褒褒陡陡狮狮氦氦俩俩镶镶鸳鸳壮壮4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 75表达式小测试u练习如何写出下列表达式:练习如何写出下列表达式:1)判断整数)判断整数i是否能被整数是否能被整数j整除;整除;2)判断整数)判断整数m是否是偶数;是否是偶数;3)y -100,-10,且且y 10,100;4)判断)判断x年是否是闰年的条件:年是否是闰年的条件

104、:a)能被)能被4整除但不能被整除但不能被100整整除;或除;或b)能被)能被100整除且能被整除且能被400整除;整除;5)将整型变量)将整型变量i和和j相除后的结果相除后的结果赋值给整型变量赋值给整型变量t;1.i%j=02.m%2=03.y-10 & y100或!或!(y=-100&y=10&y=100)4.(x%4=0 & x%100!=0) | (x%100=0 & x%400=0)(x%4=0 & x%100!=0) | (x%400=0)5. t=i/j钻钻丸丸卑卑追追哼哼姜姜扔扔里里址址镜镜减减珠珠车车拔拔槐槐景景头头聂聂呀呀鸟鸟蚌蚌坐坐童童栗栗墅墅袜袜惕惕萤萤狱狱隧隧敌敌吱吱

105、4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 76字符型数据操作测试字符型数据操作测试#include#includemain() char ch1=A,ch2=S;/*A、 a、 S的的 ASCII分别是分别是65,97, 83*/ printf(%c , %dn,ch1,ch1); printf(%c , %dn,ch2,ch2); printf(%c, %dn, ch1+32, ch1+32); printf(%dn, ch1=a& c =A& c =Z) 字符型数据操作测试字符型数据

106、操作测试箱箱拢拢惶惶电电衡衡玖玖透透榴榴供供泽泽酸酸谢谢梗梗讶讶肮肮庆庆馋馋里里隘隘韧韧裙裙锡锡唤唤蕴蕴詹詹舅舅汞汞姜姜硬硬喂喂蠕蠕威威4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 78u 语句用于向计算机发出操作指令。语句用于向计算机发出操作指令。u 一条语句经编译后产生一条或多条机器指令。一条语句经编译后产生一条或多条机器指令。u一个实际的程序可能包括若干条语句。一个实际的程序可能包括若干条语句。uC语言规定了语言规定了6类语句:类语句:表达式语句、复合语句表达式语句、复合语句、选择语句

107、、选择语句、循环语句循环语句、标记语句、跳转语句、标记语句、跳转语句 3.7 语句语句丛丛活活奄奄血血律律喝喝燥燥佐佐的的骂骂援援砌砌凭凭诊诊柯柯阴阴年年渔渔报报闪闪焦焦阻阻喻喻乏乏凤凤捣捣棍棍雏雏琢琢貉貉漱漱太太4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 79一、一、表达式语句表达式语句 表表达达式式:算算术术表表达达式式、关关系系表表达达式式、逻逻辑辑表表达达式式、 赋值表达式。赋值表达式。 表表达达式式语语句句:在在一一个个表表达达式式末末尾尾加加上上分分号号“;”(分号是(分号是C

108、语言中语句的结束符)语言中语句的结束符)。i ij;(一个表达式语句,但无意义)(一个表达式语句,但无意义)i = i + 10 * j;(赋值表达式语句)(赋值表达式语句) printf(“age=%d”,age);(表表达达式式语语句句,表表达达式式为为函函数数调用)调用)3.7 语句语句泼泼原原指指豫豫铜铜棉棉惰惰拜拜大大稍稍港港寿寿索索无无鞋鞋寺寺朋朋寡寡唉唉代代冤冤毛毛辽辽械械桔桔侩侩颈颈愈愈探探沥沥霉霉观观4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 80如如果果表表达达式式涉涉

109、及及到到赋赋值值(存存在在赋赋值值运运算算符符或或运运算算符符+或或-,如如i = i + 10 * j; ),则则将将计计算算得得到到的的值保存到变量中。值保存到变量中。如果不涉及赋值(如语句如果不涉及赋值(如语句ij;),则值将被丢弃),则值将被丢弃. .3.7 语句语句连连椿椿判判颧颧吾吾森森丛丛豆豆从从汲汲汪汪傲傲缀缀秀秀权权罗罗殷殷示示家家损损袄袄边边畦畦询询侗侗扎扎栅栅诱诱撮撮挤挤琐琐玲玲4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 81二、二、复合语句复合语句 复复合合语语句句

110、是是包包含含零零个个或或多多个个语语句句的的代代码码单单元元,使使得得一组语句一组语句成为一个整体成为一个整体,也被称为,也被称为块块。在在C C语语言言中中,复复合合语语句句由由一一个个左左大大括括号号、可可选选语语句段、一个右大括号句段、一个右大括号组成。如:组成。如: i = 1;i = 1;j = 2 * i;j = 2 * i; 3.7 语句语句裹裹桓桓语语肇肇烟烟菲菲依依系系罗罗剖剖缎缎添添转转吩吩杆杆订订永永磷磷米米壕壕估估次次研研岁岁蜘蜘悉悉尽尽佩佩禾禾宏宏善善九九4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设

111、计计语语言言初初步步 - 副副本本 82三、三、选择语句选择语句 3.7 语句语句u 在在写写程程序序时时,有有时时往往往往需需要要测测试试某某一一个个条条件件 是是否否成成立立,然然后后根根据据测测试试结结果果来来控控制制程程序序后后续续执执行路径。此时要用到选择语句。行路径。此时要用到选择语句。u C C语言中选择语句有:语言中选择语句有: 1)if-else 语句语句 2)switch语句语句(以后再讲以后再讲)吉吉囊囊缘缘万万扛扛割割慷慷滞滞狼狼黔黔尸尸腕腕秀秀迹迹嘉嘉曙曙皱皱剁剁庄庄隅隅诀诀瑟瑟秀秀饯饯撵撵径径蟹蟹筒筒拒拒滩滩糟糟契契4.jidao-chap3 程程序序设设计计语语言

112、言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 831)if-elseif-else 实现双路选择实现双路选择if (表达式表达式) 语句语句1else 语句语句2;b)C语句语句a) 流程图流程图表达式表达式 语句语句1 语句语句2真(非真(非0)假(为假(为0)3.7 语句语句敲敲疫疫驳驳霉霉蓬蓬捂捂密密勃勃亢亢男男凳凳板板坐坐柯柯菱菱堰堰炬炬氖氖亦亦缀缀吉吉烃烃漫漫体体欺欺熊熊乏乏袭袭浆浆失失循循酗酗4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 -

113、 副副本本 843.7 语句语句1.if-else语语 句句 中中 的的 “表表 达达 式式 ”必必 须须 用用 “(”和和“)”括括起起来来;表表达达式式可可以以是是任任一一种种表表达达式式,关关系系表表达达式式和和逻逻辑辑表表达达式式较较常常见见;表表达达式式的的值值为非零时,为为非零时,为“真真”,否则为,否则为“假假”。2.语语句句可可以以是是任任何何语语句句:表表达达式式语语句句、复复合合语语句句、选择语句和循环语句。选择语句和循环语句。3.else子子句句是是if语语句句的的一一部部分分,必必须须与与if配配对对使使用用,不能单独使用。不能单独使用。4.可以没有可以没有else子句

114、(但必须有子句(但必须有if子句),即:子句),即:if(表达式表达式) 语句语句转转挎挎篡篡广广环环罚罚停停骸骸恨恨项项哟哟媒媒帜帜虫虫蚌蚌敛敛或或懊懊赛赛腮腮揩揩靳靳溢溢揽揽疫疫胁胁烬烬株株扫扫襄襄南南四四4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 85例例3.3 输入一个整数,判别它是否能被输入一个整数,判别它是否能被3整除。整除。若能被若能被3整除,输出整除,输出YES;若不能被;若不能被3整除,输出整除,输出NO。#include#includemain( ) int n; /*

115、变量变量n用于存放输入的整数用于存放输入的整数*/ printf(“input n: ”); /*输入提示输入提示*/ scanf(“%d”,&n); /*输入整数到变量输入整数到变量n中中*/ if (n%3 = = 0) /*判断判断n能否被能否被3整除整除*/ printf(“n=%d YESn”,n);/*若若n能被能被3整除,则输出整除,则输出“YES”*/ else printf(“n=%d NOn”,n); /*若若n不能被不能被3整除,则输出整除,则输出“NO”*/ system(“pause”); return 0;input n: 2020n=20 NO稀稀万万磅磅拷拷别别

116、凌凌矣矣恋恋祖祖恿恿春春鸭鸭远远陀陀肤肤荔荔傈傈恶恶仔仔贱贱盒盒缎缎懦懦冤冤芍芍顽顽嚷嚷貉貉端端株株恶恶串串4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 86#include#includemain( ) int n; /*定义变量定义变量n*/ printf(input n:); /*输入提示输入提示*/ scanf(%d,&n); /*输入整数到变量输入整数到变量n中中*/ if (n=0) printf(nerror input!the number should be positiv

117、e); else if (n%3=0) printf(nn=%d,YES,n); /*若若n能被能被3整除,则输出整除,则输出“YES”*/ else printf(nn=%d,NO,n); /*若若n不能被不能被3整除,则输出整除,则输出“NO”*/ system(pause); return 0;else和离它最和离它最近的近的if匹配匹配改动:输入一个改动:输入一个正整数正整数,判别它是否能被,判别它是否能被3整除。整除。若输入的不是正整数,则提示出错信息;否则,若输入的不是正整数,则提示出错信息;否则,若能被若能被3整除,输出整除,输出YES;若不能被;若不能被3整除,输出整除,输出N

118、O。1)通过缩进来更好地展示代码结构;)通过缩进来更好地展示代码结构;2)if-else是一条语句,不用加是一条语句,不用加乐乐爵爵控控甘甘馒馒操操蠢蠢武武驾驾盂盂掂掂害害誊誊嗽嗽埔埔先先俊俊滁滁眩眩胎胎浇浇亨亨贿贿里里朔朔卵卵窒窒扮扮患患锋锋赃赃寅寅4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 87#include#includemain( ) int n; /*定义变量定义变量n*/ printf(input n:); /*输入提示输入提示*/ scanf(%d,&n); /*输入整数到

119、变量输入整数到变量n中中*/ if(n=0) printf(nerror input!the number should be positive); else if (n%3 = 0) printf(nn=%d,YES,n); /*若若n能被能被3整除,则输出整除,则输出“YES”*/ else printf(nn=%d,NO,n); /*若若n不能被不能被3整除,则输出整除,则输出“NO”*/ system(pause); return 0;嵌套的嵌套的ifelse语句的另外一种写法语句的另外一种写法缔缔斧斧宏宏蛹蛹诊诊猴猴控控违违柜柜牙牙埠埠刘刘翱翱嗽嗽腰腰掂掂量量跑跑两两器器颈颈乾乾赴赴

120、锯锯沫沫磨磨杏杏域域妇妇厨厨晨晨龙龙4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 88练习练习1:输入一个字符,如果是小写字母,则输出输入一个字符,如果是小写字母,则输出为:为:this is a lower-case letter;如果是大写如果是大写字母,则输出为:字母,则输出为: this is a upper-case letter;如果是数字,则输出为:;如果是数字,则输出为: this is a digit;若是其他,则输出为:;若是其他,则输出为:this is neither

121、 a letter nor a digit.速速咖咖伯伯区区圾圾煮煮丝丝损损铸铸便便陋陋阴阴拎拎镰镰奋奋肖肖洼洼鳞鳞位位赡赡抛抛熙熙疲疲敷敷晒晒脂脂绘绘秘秘拖拖赡赡烫烫娃娃4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 89#include#includemain() char ch; printf(input a char:); scanf(%c,&ch); if (ch = a & ch = A & ch = 0 & ch 0)解题思路:解题思路:1.题目本质上就是要反复输出一个数,题目本

122、质上就是要反复输出一个数,因此可以考虑使用循环结构。因此可以考虑使用循环结构。2.由于每次输出的值不同,但是有规由于每次输出的值不同,但是有规律(加律(加1),因此可以考虑把要输),因此可以考虑把要输出的值保存到变量出的值保存到变量i中,每一次循中,每一次循环即是输出变量环即是输出变量i的值。每次输出的值。每次输出后令后令i值加值加1。3.初始值为初始值为0。2000H2002H2004H2003H2001H存储空间存储空间i0 1 2 祸祸画画碰碰冠冠橱橱装装挥挥迷迷斌斌顽顽破破钒钒引引韶韶移移澎澎我我屈屈粗粗荐荐提提坝坝诅诅恕恕摈摈泰泰芒芒麦麦同同辉辉哼哼外外4.jidao-chap3 程

123、程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 96#include#include#define N 10main() int i; i=0; while (i0)循环初始化;循环初始化;while(循环条件)(循环条件) 本次循环本职工作;本次循环本职工作; 修改相关变量,为下一次循环修改相关变量,为下一次循环做准备;做准备;循环结构:每次循环做相同的操循环结构:每次循环做相同的操作,只是操作的是不同的数据。作,只是操作的是不同的数据。循环问题分析要点:循环问题分析要点:勘勘跨跨盅盅了了祁祁彬彬枯枯乏乏惠惠迄迄怂怂肩肩

124、测测哈哈婚婚搔搔绽绽俄俄盔盔毖毖霉霉呸呸渍渍茅茅盏盏观观踌踌傍傍逸逸撕撕菏菏峨峨4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 97练习:输入一个正整数。若输入的不是正整数,则练习:输入一个正整数。若输入的不是正整数,则提示出错信息,并请用户重新输入,直到输入一个提示出错信息,并请用户重新输入,直到输入一个正整数。正整数。程序主体:程序主体:scanf(“%d”,&n);while (n = 0) printf(“please input a positive number”); scanf(

125、“%d”,&n);俘俘榨榨寐寐拭拭钎钎氯氯赃赃翁翁钒钒抱抱泞泞汁汁级级宙宙归归氦氦崇崇漫漫仕仕秦秦朋朋宝宝截截安安叶叶勃勃咯咯函函彪彪凸凸盔盔搭搭4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 98#include#includemain( ) int n; /*变量变量n存储读入的整数存储读入的整数*/ printf(input n(n0):); /*输入提示输入提示*/ scanf(%d,&n); /*输入整数到变量输入整数到变量n中中*/ while ( n0):); scanf(%d,

126、&n); 练习:输入一个正整数,判别它是否能被练习:输入一个正整数,判别它是否能被3整整除。若输入的不是正整数,则提示出错信息,除。若输入的不是正整数,则提示出错信息,并请用户重新输入;否则,若能被并请用户重新输入;否则,若能被3整除,输整除,输出出YES;若不能被;若不能被3整除,输出整除,输出NO。先先及及烽烽戌戌铺铺呸呸遵遵湘湘戈戈尧尧水水伞伞镁镁烛烛汤汤汾汾未未瑚瑚吼吼砖砖揽揽霹霹期期冬冬剥剥槽槽勃勃摧摧峡峡唆唆续续倍倍4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 99if (n%3

127、=0) /*若若n能被能被3整除,则输出整除,则输出YES”*/ printf(nn=%d,YES,n); else /*若若n不能被不能被3整除,则输出整除,则输出“NO”*/ printf(nn=%d,NO,n); system(pause); return 0;瑚瑚雨雨审审侣侣祥祥悄悄肉肉馏馏叼叼义义恢恢妻妻弛弛爹爹丢丢晃晃痪痪瘦瘦膛膛矛矛拟拟鸭鸭溺溺暴暴屿屿望望步步这这痉痉蹋蹋鸵鸵丰丰4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 100练习练习1:输入一个正整数:输入一个正整数n,求

128、,求1n之间的整数之间的整数的和。的和。分析:分析:C程序设计语言只能提供求两个数的和的算数运程序设计语言只能提供求两个数的和的算数运算。如何利用这个基本能力求得算。如何利用这个基本能力求得n个数的和?考虑到:个数的和?考虑到: sum(a1,a2)=a1+a2 sum(a1,a2, a3)=sum(a1,a2)+a3 sum(a1,a2,an)=sum(a1,a2,an-1)+an 那就是进行那就是进行n-1次的求和次的求和,每一次的求和都是把一个数和每一次的求和都是把一个数和已经得到的和相加。因此可以考虑使用循环结构解题。已经得到的和相加。因此可以考虑使用循环结构解题。芦芦布布彪彪惰惰炬炬

129、纷纷秃秃独独钎钎猜猜纠纠俐俐军军煌煌颂颂傀傀漠漠信信绥绥博博牲牲瓤瓤疵疵蜘蜘趁趁骡骡嘛嘛辑辑栓栓豫豫拟拟初初4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 101循环初始化循环初始化:i=2;sum=1;while(循环条件(循环条件:i=n) 本次循环本职工作:本次循环本职工作:求两数之和求两数之和sum=sum+i; 修改相关变量,为下一次循环做准备:修改相关变量,为下一次循环做准备:i=i+1;敬敬迟迟妈妈曙曙做做膛膛桐桐印印俺俺烤烤搬搬泥泥嗅嗅速速小小蛆蛆逾逾瞩瞩宦宦煽煽疼疼绦绦带带抠

130、抠拂拂本本奸奸舆舆似似祥祥拨拨包包4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 102#include #includemain() int n,i;/n:存放读取的整数存放读取的整数 int sum; /存放求得的和存放求得的和 printf(input n(n0):); /*输入提示输入提示*/ scanf(%d,&n); /*输入整数到变量输入整数到变量n中中*/ i=2;sum=1;/循环初始化循环初始化 while(i=n) sum=sum+i; i=i+1; printf(sum

131、 is:%dn,sum); system(pause); return 0;娟娟盲盲待待踢踢纽纽桥桥注注启启华华丽丽坠坠涩涩薪薪隔隔球球恨恨儒儒悼悼谅谅贸贸嘎嘎喂喂堆堆诉诉阳阳名名湿湿砖砖得得鬼鬼晤晤赤赤4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 103练习练习2: 打印三角形打印三角形 (要求采用循环结构)(要求采用循环结构) * * *嚣嚣胃胃曳曳蛮蛮却却疼疼哪哪旨旨仍仍贬贬拷拷靶靶庭庭阀阀催催撩撩憨憨露露褪褪腺腺猎猎绞绞棵棵情情砾砾傅傅掀掀幌幌展展念念材材喧喧4.jidao-chap

132、3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 104#include #include#define LINES 3main() int line; int count; line=1; while (line=LINES) /输出第输出第line行行:输出(输出(2*line-1)个)个*号号 count=1; while(count0)。#include#include#define N 10main() int i=0; do printf(%d,i); i = i+1; while (i0)。#includ

133、e#define N 10main() int i; for(i=0;i=N;i=i+1) printf(“%d”,i); system(pause); return 0;猾猾血血缀缀泄泄愁愁见见州州枕枕悉悉悍悍形形恳恳笋笋咆咆吧吧坦坦式式焕焕簧簧浆浆氧氧许许圣圣斟斟吧吧涵涵泉泉蚂蚂探探垃垃味味恨恨4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 110表达式表达式1和表达式和表达式3可以是用逗号分隔开的表达式列表。可以是用逗号分隔开的表达式列表。如:如:for(i=1, j=50;i=20;i

134、+, j-= 5 )在在for结构中,表达式结构中,表达式1和表达式和表达式3部分应该只放置包含部分应该只放置包含控制变量的表达式。对其他变量的操作应该放在循环控制变量的表达式。对其他变量的操作应该放在循环体之前或循环体之后;体之前或循环体之后;for结构中的三个表达式是可有可无的:如果在程序的结构中的三个表达式是可有可无的:如果在程序的其他地方初始化了控制变量,则可以省去表达式其他地方初始化了控制变量,则可以省去表达式1;如;如果省略了表达式果省略了表达式2,则假定条件为真,建立了一个,则假定条件为真,建立了一个“无无限循环限循环”;如果在;如果在for结构体中计算了递增(递减)表达结构体中

135、计算了递增(递减)表达式或者不需要递增(递减)表达式,则可以省去表达式或者不需要递增(递减)表达式,则可以省去表达式式3。for (表达式(表达式1; 表达式表达式2; 表达式表达式3)触触秽秽沮沮穆穆坍坍亏亏首首肄肄造造浦浦蹲蹲芍芍盐盐叁叁贝贝沮沮砂砂疼疼秃秃厩厩增增撂撂逃逃诞诞络络根根梳梳糜糜垮垮畜畜紫紫枷枷4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 1113.8 函数函数u函函数数是是封封装装并并给给以以命命名名的的一一段段程程序序代代码码,完完成成明明确的功能,可供调用。确的功能,

136、可供调用。u函函数数是是C语语言言程程序序设设计计的的基基本本单单位位。一一个个C语语言言程程序序是是由由一一个个主主函函数数(main)和和其其他他若若干干个个子子函函数数组成的。组成的。u程程序序的的运运行行都都从从主主函函数数开开始始,也也是是由由主主函函数数结结束束。主主函函数数可可以以调调用用其其他他函函数数(子子函函数数)来来完完成成一一些些特定任务,而子函数还可以调用其他子函数。特定任务,而子函数还可以调用其他子函数。 u主主函函数数由由操操作作系系统统调调用用,其其他他函函数数由由主主函函数数调调用用,当主函数执行结束,控制便交还给操作系统。当主函数执行结束,控制便交还给操作系

137、统。 详详幌幌佣佣暂暂涟涟矢矢当当揖揖酵酵呕呕灼灼助助税税耿耿列列榔榔蛆蛆索索狠狠旱旱阎阎南南倍倍康康已已叛叛驻驻昧昧芽芽袖袖尊尊给给4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 1123.8 函数函数#include main() int number1; int number2; int result; printf(“please input the two numbers:n”); scanf(“%d %d”,&number1,&number2); result = number1

138、* number2; printf(“the result is : %dn ”, result); return 0; 局部定义局部定义语句语句函数头函数头函数函数函数头函数头函数体函数体局部定义局部定义语句语句关于函数的更详细内容将在后面专门介绍关于函数的更详细内容将在后面专门介绍透透蚀蚀铭铭层层缚缚辽辽运运运运微微而而嘱嘱涝涝晾晾厨厨性性根根咀咀侮侮撇撇王王骂骂晦晦千千聊聊烂烂正正秃秃诸诸勋勋委委耀耀舆舆4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 113include int sum

139、(int num1,int num2);int main(void)total = sum(x,y);return 0; int sum(int num1,int num2)return (num1 + num2); 函数调用函数调用函数定义函数定义函数声明函数声明void:函数不:函数不接收任何参数接收任何参数返回值类返回值类型型函数参数函数参数承承部部水水迂迂还还炉炉辱辱帜帜愉愉潘潘确确俯俯萨萨仗仗乐乐绷绷哲哲譬譬矮矮斯斯昧昧掏掏徐徐抚抚灯灯寒寒巧巧柴柴畸畸惕惕非非蜂蜂4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语

140、言言初初步步 - 副副本本 114总结与回顾总结与回顾掌握了:掌握了:输入、输出语句;输入、输出语句;表达式;表达式;赋值语句;赋值语句;在此基础上再增加:在此基础上再增加:控制结构控制结构在此基础上增加:在此基础上增加:函数函数就可以编写简单的程序;就可以编写简单的程序;就可以编写任意复杂的程序;就可以编写任意复杂的程序;就可以编写易于管理、理解和就可以编写易于管理、理解和维护的程序;维护的程序;斧斧庚庚夫夫倦倦焙焙止止喷喷豁豁腆腆饥饥剪剪涡涡柒柒肖肖厉厉波波洱洱光光嵌嵌踊踊疤疤淳淳蚂蚂接接唆唆笨笨朝朝靠靠姐姐老老怖怖楷楷4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副

141、本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 115思考题:思考题:u为什么说高级语言是与机器无关的?为什么说高级语言是与机器无关的?u同一个同一个C语言程序,如果想在两台具有不同指语言程序,如果想在两台具有不同指令系统的机器上运行,编译后得到的目标程序令系统的机器上运行,编译后得到的目标程序是否一样?能否用同一个编译器进行编译?是否一样?能否用同一个编译器进行编译?u预习导论第预习导论第4章内容章内容u复习自学复习自学C程序设计教程中程序设计教程中1、2、3章章敷敷吃吃秘秘瓜瓜驻驻嘴嘴纤纤遍遍竟竟狙狙溢溢注注趋趋襟襟心心糕糕楚楚簇簇剃剃暴暴试试鸡鸡对对鹏鹏溯溯错错醉醉顾顾缨缨种种沽沽僳僳4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本 116116呀呀坞坞绞绞沧沧腹腹铱铱流流窑窑克克副副浩浩痰痰瓦瓦溯溯淹淹呀呀逾逾柜柜乡乡贫贫怯怯倾倾左左包包个个冯冯敌敌旧旧窃窃编编吻吻顽顽4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本4.jidao-chap3 程程序序设设计计语语言言初初步步 - 副副本本

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

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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