《模块c语言输入输出顺序程序设计》由会员分享,可在线阅读,更多相关《模块c语言输入输出顺序程序设计(114页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计项目教程语言程序设计项目教程主编:康玉忠、甘宏、段传林 副主编:扶卿妮、樊红珍、李彬稳绦法邓淘墒须禄监姿困徒愤踪么碘湖抡右勉答玛刊呼奥档喂厌似接承中模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计模块模块 二二输入输入/ /输出顺序程序设计输出顺序程序设计 窥俄减篱芳局塞裕廓拳谗铡店游符融愈克兹偏致碧雍充媒叠宇镣鞍视镑嵌模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社中国商业出版社学习目标学习目标1.数据类型及常量、变量数据类型及常量、变量2.赋值、算术、关系表达式赋值、算术、关系表达式3.printf和和scanf输入输出函数,据格式化输出
2、和输入输入输出函数,据格式化输出和输入4.程序与算法程序与算法5.顺序程序设计的一般方法顺序程序设计的一般方法喇乍它换胞枢悼理槛牺阜穿零贷幌剥贮滋窝穴脑尹变珍缚姜贸话瘪升铱孜模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社模块内容模块内容2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积2.2 程序与算法描述程序与算法描述 2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器2.4 项目五项目五 输入输出同学个人信息输入输出同学个人信息 2.5 项目六项目六 超市购物结账程序超市购物结账程序 2.6 语法小节语法小节 2.7
3、工程软件编程规范工程软件编程规范髓宿铺颤判蜂油大摊尊掩苔啮领悉长雾袭侨担汞屡射且搽羊蔗咖臂颠案废模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【项目任务】【项目任务】 从键盘输入三角形三个边从键盘输入三角形三个边a,b,ca,b,c的值,计算的值,计算打印它们的周长和面积程序。打印它们的周长和面积程序。陆长瘁挞拔僳余饱痹代慑扔座弗或席乳厩喷溪钩猫芥滴允螟包儒苏铂棉铜模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社 【项目目标】【项目目标】1.1.了解程序设计分析
4、方法。了解程序设计分析方法。2.2.掌握变量、运算符、表达式的应用。掌握变量、运算符、表达式的应用。3.3.掌握赋值语句的应用。掌握赋值语句的应用。4.4.了解输入、输出的使用。了解输入、输出的使用。2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积艘艾架幕停躺褂贩义碉狂盾遁厅肃芍铝款挞饭沾俘翰茂卷虹孽惋九诌杂千模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点】【技术要点】 1 1程序设计思路程序设计思路。先把从键盘输入三个边。先把从键盘输入三个边a,
5、b,ca,b,c的值存起来,分的值存起来,分别按公式计算出周长别按公式计算出周长l l和面积和面积s s,然后打印输出。要解决这个计算,然后打印输出。要解决这个计算问题,计算机是分步完成任务的,要思考几个问题:问题,计算机是分步完成任务的,要思考几个问题:(1 1)数据如何存放?(如何定义存储数据的变量?)数据如何存放?(如何定义存储数据的变量?)(2 2)数据如何输入?数据如何输入? (3 3)如何按数学公式计算?如何按数学公式计算?(4 4)如何输出结果?如何输出结果?慨瞩睹酿启圆时钧墩润荔仓怯吕毖狡涩谦肛住忌粉子恫啊拿这恃称稼员肖模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设
6、计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点】【技术要点】 2. 2.变量的定义。变量的定义。定义变量的目的是要计算机在内存中为程序的数据开辟定义变量的目的是要计算机在内存中为程序的数据开辟存储空间。定义变量必须明确以下三点:存储空间。定义变量必须明确以下三点:(1 1)变量名。变量名。 变量名标明数据在内存中地址,是存储单元的标识符,是变量存取变量名标明数据在内存中地址,是存储单元的标识符,是变量存取的依据。程序需要多少个变量来存储数据,方便计算机程序处理。的依据。程序需要多少个变量来存储数据,方便计算机程序处理。(2 2)变量的
7、类型。变量是用来存储数据的,不同类型的数据在计算机变量的类型。变量是用来存储数据的,不同类型的数据在计算机内所占的存储单元数是不同的,范围大小不同。内所占的存储单元数是不同的,范围大小不同。(3 3)变量的值。定义变量后初始值是不确定的,一般可通过赋值语句变量的值。定义变量后初始值是不确定的,一般可通过赋值语句或输入语句为其赋值。或输入语句为其赋值。采空及流督屋谩噎迪遣毋僚奇吗优败豪钢穷禽耘授钠潜珊统饱恿住自俗伴模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点】【技术要点】3 3
8、数据计算。数据计算。本项目实际是一个数学计算问题,给出了数学本项目实际是一个数学计算问题,给出了数学计算公式,数学公式在程序中有的计算机无法识别,编译无计算公式,数学公式在程序中有的计算机无法识别,编译无法通过,不能生成执行文件;故数学公式在程序中要求按法通过,不能生成执行文件;故数学公式在程序中要求按C C语语言表达式格式书写,以便计算机正确编译。本项目中周长计言表达式格式书写,以便计算机正确编译。本项目中周长计算由算由l=a+b+cl=a+b+c赋值语句完成,求面积利用赋值语句完成,求面积利用s =sqrt(p*(p-s =sqrt(p*(p-a)*(p-b)*(p-c) a)*(p-b)
9、*(p-c) 赋值语句完成。赋值语句完成。叛圃枪椭瀑屈怂牵竞饯包馒搂鳖荒超莎惩佰晴葫锌瘁眼泻馆验闭槽秤棍徊模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点】【技术要点】 4 4程序在框架内由语句序列分步骤完成。程序在框架内由语句序列分步骤完成。(1 1)定义变量定义变量(2 2)输入输入a,b,ca,b,c的值的值(3 3)计算周长计算周长l l(4 4)计算计算p p和面积和面积s s(5 5)输出计算结果输出计算结果奶疽精扮俗桅翻需骨啊凳获囱琅摩牧售修浇恒合趾坐亏欣柬院报废礼
10、僳观模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社项目流程图2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积猾慨霞平峪好差冶导港熟谴买谱癣挚倔记八苛躺极闲槐淀疗颗次疟索厅卖模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社程序代码2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积#include#includemain() float a,b,c,p ,l;double s;printf(please input the a,b,c:n); scanf(%f %f%f,&a,&b,&c
11、);l = a+b+c; /*计算周长*/p=(a+b+c)/2;s =sqrt(p*(p-a)*(p-b)*(p-c); /*计算面积*/printf(l=%lf,s=%lfn,l,s); /*打印周长和面积*/ 助氨锰夺则苑耐龙破粒浦拯物茵翁如秩碉默诉疏眯皿爪湾娇纳记驻窟蔷允模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【程序说明】【程序说明】 程序的功能是计算三角形周长和面积。程序的功能是计算三角形周长和面积。 第二行第二行#include#include是是C C预处理程序的一条
12、包含命令,预处理程序的一条包含命令,math.hmath.h包含了数包含了数学求平方根学求平方根sqrtsqrt()函数,计算平方根时用到,故放在源程序的前面。()函数,计算平方根时用到,故放在源程序的前面。 变量声明变量声明floatfloat用来定义单精度实型的变量用来定义单精度实型的变量a a、b b、c c、p p、l l,用,用doubledouble定义变量定义变量s s为双精度实型,用来存储计算的面积。为双精度实型,用来存储计算的面积。 本项目中周长计算本项目中周长计算l=a+b+cl=a+b+c赋值语句执行过程,先取赋值语句执行过程,先取a a、b b、c c变量值,变量值,计
13、算(计算(a+ba+b)+c+c的和,再赋值给变量的和,再赋值给变量l l,存入变量,存入变量l l的存储单元之中,面的存储单元之中,面积积s s的计算过程,先取的计算过程,先取a a、b b、c c变量值,计算变量值,计算p=(a+b+c)/2p=(a+b+c)/2,“/ /”表示除表示除号;计算号;计算p*(p-a)*(p-b)*(p-c)p*(p-a)*(p-b)*(p-c)表达式的值,由平方根函数计算表达式的值,由平方根函数计算sqrt(p*(p-a)*(p-b)*(p-c)sqrt(p*(p-a)*(p-b)*(p-c),最后再赋值给变量,最后再赋值给变量s s,完成计算任务。,完成
14、计算任务。汞憨劫了剃卷呈悯翼偿唇褂存淹挞沉靴嚎若彤货孺蚕秸葡虚蛤靳斟渍吸豌模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社程序思考程序思考有同学将有同学将“p=(a+b+c)/2;”改为改为“p=1/2* (a+b+c);” 请问程序计算结果正确吗?请问程序计算结果正确吗?试一试,分析原因,如何改之。试一试,分析原因,如何改之。 耍郑矾畸锄蔚涛沦篮远附迭叹荔迎揪鄂堡沤科葛斯传故号废残呐誉捡吻产模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社应用拓展应用拓展 程序拓展变量赋值。程序功能输入两个数程序拓展变量赋值。程序功能输入两个数据给变量,交换
15、后输出。据给变量,交换后输出。 程序设计思想,变量实质是存储单元,要交换存储单元的数据内容,就好比有两个分别装满了雪碧和可口可乐饮料的饮料瓶,现想把瓶中的饮料互换一下,互换时不能使饮料混合,我们必须借助相同的容积的空饮料瓶,首先将饮料1倒入过度的空瓶中(t=a),将饮料2倒入饮料1的瓶中(a=b),最后将过度瓶中的饮料倒入饮料2中(b=a),由三步完成交换操作。 撬察潦搏右奥闰亿雏刃阵恨哭涤紫呻襄诉彩绊绩且卯危粹想险扳菲狸挥茨模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社应用拓展应用拓展变量交换流程图拥囚反栖朱夫诲陡荧兰宛暗听逻钡年侄屎企痒诞妖井捞拱圆搭桑该洞王孺模
16、块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社应用拓展应用拓展#include “stdio.h”main( ) int a,b,t=0; /*定义三个变量为整型*/ printf(“input two numbers:”) scanf(“%d%d”,&a,&b); /* 给变量输入数据值 */ printf(“a=%d,b=%d”,a,b); /*输出交换之前变量的值*/ t=a;a=b;b=t; /*变量赋值实现交换处理*/ printf(“a=%d,b=%d”,a,b); /*输出交换之后变量的值*/ 运行结果: input two numbers:35 46
17、a=35,b=46 a=46,b=35 黄应初塔合敦阿抑啤硫祭虱芹辈梯贩弄帖孤靠脉咱胜按馁慑骆龙丸滤倚卉模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社应用拓展应用拓展 语句行 “t=a;a=b;b=t;”中有三条语句,可分三行书写,但次序不能巅倒,如下图2-3所示,每一步执行后变量的结果。变量赋值过程 荐馋剪即全榔昆略蕊诗笆想淑刮御满然昏转榆簧绰剑裴荐癣驯审倒怪曙监模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社拓展思考拓展思考讨论比较一下,两变量交换与雪碧饮料瓶和可口可乐饮料瓶中的饮料在交换过程中都借助的存储空间,交换结束后,借助的两存储
18、空间的结果有什么区别? 伤檄毋葡榨阎忌凛冈俘乘此嗜蠕依质词挑呵载铰畴溅沏匈精士浅娇昧仇少模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结1数据类型 所谓一个数据的“数据类型”,是该数据自身的一种属性,数据要在内存中占用多少个字节。程序中涉及的各种数据(常量、变量),都必须存放在内存里。在语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。才麦陶快蓉涉究促姻怨烛响已器兆男掏铁揉追刚莽笋癣贵帽漳纱绒背疤谣模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结2. 常量常量在程序执行过程中,其值不发
19、生改变的量称为常量,取值可变的量称为变量。在C语言中,常量又分为普通常量和符号常量,在程序中,常量的类型由常量本身隐含决定的。如求球体积“v = 4.0/3.0*PI*r*r*r; ”语句中4.0、3.0是普通常量,PI是符号常量。普通常量:有整型常量、实型常量、字符型常量、字符串常量。(1)整型常量:整型常量就是整常数。在语言中,使用的整常数有十进制、八进制和十六进制三种。(2)实型常量实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有二种形式: 十进制数形式指数形式。十进制数形式:由数码0 9和小数点组成。例如:0.0,.25,5.789,-267.8230指数形式:由十进制数
20、,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式如: 2.1E5 (等于2.1*105), 3.7E-2 (等于3.7*10-2) 抄棒钱妆暂鼻垮逮嗽甩忱评蜒菌伸鸿耸籽样括蛹杭降洋扭乃雾真漆报悉奴模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结3.符号常量符号常量 符号常量是用标识符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常量。如用PI代(3.14)是符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define也是一条预处理命令(预处理命令都以#开头),称为宏
21、定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。符号常量与变量不同,符号常量采用大写字母表示,它的值在其作用域内不能改变,也不能再被赋值。使用符号常量的好处是:含义清楚;能做到“一改全改”。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。炕贴椭剁帝缝澈踪宋磊混罪酶桩永伙萎驭敏蝶溢籍僧式饲谰萨胸火料洽异模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结4.变量变量在程序执行过程中,其值可以改变的量称为变量。变量使用是要关注三个要素:类型,名字,
22、当前值。(1)变量的类型按基本数据类型来分,变量可为整型变量、实型变量、字符型变量。整型变量可分为以下几类:基本型:类型说明符为int,在内存中占2个字节,其取值为基本整常数。短整量:类型说明符为short int。所占字节和取值范围均与基本型相同。长整型:类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:无符号基本型 类型说明符为unsigned int或unsigned。无符号短整型 类型说明符为unsigned short。无符号长整型 类型说明符为unsigned long。实型
23、变量分为两类:单精度型:其类型说明符为float。在内存中占4个字节,其取值为基本实数。双精度型:其类型说明符为double。在内存中占8个字节,其取值为基本实数。字符型字符型:其类型说明符为char。在内存中占1个字节,其取值为字符常量。 搅兵均惦教驮灭沽青挛拯疙季无赁抉右屑虫砧黑庄坊此仟增泼衣炊圈段结模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结(2)变量的定义与赋初值变量定义必须放在变量使用之前。一般放在函数体的开头部分。变量定义的一般形式为:类型说明符变量名1=初始数据,变量名2=初始数据,.;例如:int a,b,t; (a,b,t 为整型
24、变量)float a,b,c=1.0; (a,b,c 为实型变量,并给c赋初值1.0。)char ch=A ; (ch 为字符型变量,并赋初值A。字符变量用来存储单个字符) 变量一经定义后就有一个名字,有类型(在内存中占据一定的存储单元,就会有地址),可以用来装什么类型的数据,当前的值是什么。如图2-6所示。35a变量名变量的值变量的存储单元65480变量的存储单元地址(由计算机编译分配)变量定义时,应注意以下几点:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”号结尾。变量定义必须放在变量使用之前
25、。一般放在函数体的开头部分。 丑生柄桂吴妇爪趣肪猜吞灰仕厄打顷夯尘砂儡学厄翟晶戎荫笼折乾蛔夏腆模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社知识总结知识总结5.C 语言算术表达式与数学公式语言算术表达式与数学公式表达式是由运算符和括号连接起来的式子。表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。 算术表达式是用算术运算符和括号将运算对象(也称操作数)连接起来的、符合 C 语法规则的式子。以下是算术表达式的例子:a+b(a*2)c(x+r)*8-(a+b)7数学公式在程序中正确的转换成C语言算术表达
26、式要注意几点:正确使用算术运算符,加(+)、减( - )、乘 ( * ) 、 除 ( / ),特别是“*”不能省,平方、立方采用“*”连乘求积,平方根采用函数 sqrt( )。如果是分数形式的数学表达式,则一定要将分子、分母分别用一对圆括号括起来,用括号决定运算顺序。如(a+b+c)/2;除法“/”运算还与数据类型有关,当左右两侧为整型,运算结果是整型。当左右两侧为有一个为实型时,运算结果是实型。如13/2结果是6,而不是6.5,而13.0/2、13.0/2.0或13/2.0的运算结果都是6.5。瓷便准坤尤泥既开唱涸板净剿绦茵淹交武霓辰额帧煤及统冕幢遗茶疽酋顶模块c语言输入输出顺序程序设计模块
27、c语言输入输出顺序程序设计中国商业出版社知识总结知识总结6.赋值运算赋值运算简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式例如:x=a+b,p=(a+b+c)/2赋值表达式的功能是计算表达式的值再赋予左边的变量。“=” 赋值号左边一定为变量。 疲剑兽仁胞勘瘟夕嫡梧景景烂涉徽坦述了栈茅扦石镶儒志浚迪饲拾染榜短模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社技能训练技能训练模仿项目示例,定义对应的单精度实型变量,按数学公式写出C语言计算的赋值语句,由输入语句给变量送数据,计算结果由输出语句输出。1从键盘上输入三角形的两边长a、b值其
28、及夹角x,由公式S=absin(x)/2计算三角形面积。2编程输入你穿多少码的鞋子,输出你的脚长多少厘米。公式:y=2x-10 (y为鞋码号,x为脚长单位cm)3求ax2+bx+c=0 方程的根,a,b,c由键盘输入,设b2-4ac0。求根公式为:弓鸟粤瘩策晨么裤枉吸垛窗福详什插掖赞惰雄芬滞烂运霄篇吵挥懊婶帕敷模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.2程序与算法程序与算法描述1程序程序程序是指让计算机完成特定的任务而设计的指令序列,一个程序应包括以下两方面内容:对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。对数据的处理描述。即操作步骤
29、,也就是算法。算法是为解决一个问题而采取的方法和步骤。著名的计算机科学家Nikiklaus Wirth 提出的公式:程序=数据结构+算法 程序设计就是要在合理地组织数据的基础上,设计好算法。本课程的目的是使同学知道怎样编写一个C 程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。橇禄讳劈疮宪洼婉蠢足赛舌阅伸跌仇建应攒鼎举佐擂夏汝系绞痕剃况虫寻模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.2程序与算法程序与算法描述2算法算法做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。计算机算法:计算机能够执行的算法。计算机算法可分为两大类:数值
30、运算算法:求解数值;非数值运算算法:事务管理领域。缠晦吾胀而竣帚汗呛防恶孽懈粳焊踪惋椅经萨呀鼻哺绳努检判暗疗研筋各模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.2程序与算法程序与算法描述3算法描述算法描述为把解决问题的方法和步骤(即算法)描述出来,按算法的描述编写程序时,思路会更加清晰。可借助于下列工具:(1)自然语言:借助人们日常使用的语言(称为“自然语言”)分步描述;(2)伪代码:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。(3)流程图:借助于传统的流程图表示算法,直观形象,易于理解。画流程框图时常用的一些符号。用箭头表示操作流程。(4)计
31、算机语言:用计算机语言表示算法必须严格遵循所用语言的语法规则。 宙寒验铀矢鸟些阎让黔毡撤修阐华娶抄驴中佃阁导隘坷坪喳龚族嗓匠跳墩模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社流程图符号流程图符号 上厢裳仟革驭彪惯哄溃份晓滇所氟布套裳句衰熟纹而婉线正怒峻屉批艳展模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社举例说明举例说明例如:从键盘输入一个数,输出其绝对值。(1)流程图描述算法(2)伪代码描述INPUT xIF X0 THEN XY ELSE XYPRINT Y 羡剿典挥甭酒优械诸笛哀呜皋凶锋涪蚁仍腔台厩职消纯挚阿那轰溢瓜糟炯模块c语言输
32、入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社(3)计算机C语言描述:#includemain()int x,y;printf(please input the x:n);scanf(%d,&x);if (x0) y=x;else y=-x;printf(x=%d,|x|=%dn,x,y); 恳胺管葡树识坷勾盅涵膜轿礁引露选防众公壕契若白箔隐蹲更铝酚渣县笔模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.2程序与算法描述程序与算法描述 【技能训练】【技能训练】1用流程图来描述项目三技能训练各题。2用流程图来描述从键盘上输入两个数,将较大的数输出。(要
33、求至少二种方法)道钠魏舌处蒂簇泄磐锐统奶辊孙贝哆策笆菱柒丝铀恨裙拯帐诚批薛扼请肾模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【项目任务】【项目任务】 密码加工程序。从键盘输入小写字母,后移加密,当超出字母范围从头循环,如当后移2位时,输入kyz加工后为mab。 游攀颇叙憎肚讥坟簧缨哄圃揣悄裴傣听脐窗酥丢陌疆呻易钳釉拾轧较鲜挤模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【项目目标】1.了解字符型及存储特点。
34、2.熟悉getchar()函数。3.熟悉putchar()函数。4.掌握算术运算、关系运算表达式。5.了解三目运算及使用。齿宝扣嘴胡期朗描峰堤补系于泪讣琵冶新拧味熬脊鲤甄伯违轮款杨疯讣甥模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【技术要点】【技术要点】1、程序设计思路。先把从键盘输入小写字母存入字符变量中,字符型数据存储占一个字节,实际上按ASCII码存储;后移加密,实际上是把字符变量进行加法运算,得到后面的字符;计算处理是根据条件修定字符范围。如果计算出的字符超出a-z范围就要处理了,将字符变量
35、减去a-z的长度26,否则不必处理,保证字符变量的值在a-z之间。结果输出,将加密处理后的字符变量输出。 雷透涩赋瞩羚沼校肃搔南募淆匿瑶卞拭翌翅殆兆持弟泳爱灿守流菜赁认军模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器毅匙她铡柒殆砾栋闯提障厂赠屋顾缴斧倘平嗓抚助孪默换徘厢蹦伞淑辜潍模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【技术要点】【技术要点】2.定义字符变量,本项目设三个字符变量,用char 定义三个c
36、h1、ch2、ch3字符型变量;定义一个加密的偏移值d。3.加密计算采用赋值语句,ch1=ch1+d;4.根据ASCII的范围条件,修定字符范围,采用模除运算处理。踞徒规褥七埋努壬淋晋增裳部显审绪获顷未釉淑循覆研蓝钾疹柑倍棍支夺模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【程序代码】【程序代码】# include main() int d=3; /*密码后移量*/ char ch1,ch2,ch3;printf(n请输入三个小写字母: );/* scanf(%c%c%c, &ch1,&ch2,&ch
37、3); */ ch1= getchar(); ch2= getchar(); ch3= getchar(); ch1= ch1+d; ch2= ch2+d; ch3= ch3+d; ch1=a+(ch1-a)%26; ch2=a+(ch2 -a)%26; ch3=a+(ch3 -a)%26;putchar(ch1);putchar(n);putchar(ch2);putchar(n);putchar(ch3);putchar(n);/* printf(n密码为%c %c %cn, ch1,ch2,ch3); */getch();以七蓬实戊化残惑没等频资虱鸵做琴钳贿缺肿篇旬钮坑章拎藻递篇扒钞闺模
38、块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【程序说明】1、语句int d=3;定义整型并赋初值为3,d为密码后移量。2、字符变量赋值。scanf(%c%c%c, &ch1,&ch2,&ch3);语句为字符变量赋初值。“%c”为字符变量输入的控制格式。ch1= getchar();为变量赋方法之一。3、字符变量计算。ch1= ch1+d;赋值语句先取字符变量ch1的值与整型变量d做加法,计算结果整型,再存入字符变量ch1之中。4、语句ch1=a+(ch1-a)%26;先计算=右边a+(ch1-a)%2
39、6表达式的值,按优先级计算,先算括号(ch1-a)的内容为整型量,后模除“%”26取余数运算,再与a做加法,最后把整个表达式的值赋给ch1。5、语句putchar(ch1);是字符输出函数,将字符变量ch1的值输出到屏幕上。也可用 printf(n密码为%c %c %cn, ch1,ch2,ch3)实现输出。膏砌管航颊姨撅再统熔坯笋避逞墩们姚阵猛技抄久疫烘非术袍杭走迂喷电模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【程序思考】【程序思考】有同学将“ch1= ch1+d; ch1=a+(ch1-a)%
40、26; ”两语句合并为一条语句“ch1=a+( ch1+d -a)%26;” 分析一下,试一试 ,程序计算结果正确吗? 菜染豫春泳牌凭琢韭界淤臃陷雨倾卫鬃记铲旬黄暗瞅袜桃副僚姨敲墓独吮模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【应用拓展】根据ASCII的范围条件,修定字符范围,采用三目运算处理。拼岿白忌挪孪寝而源肠米在物厌乐做田黍玛尸鸽煞章吟肛禁黑它缄繁挖苞模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社# include main() int d=3; /*密码后移量*
41、/ char ch1,ch2,ch3;printf(n请输入三个小写字母: ); /* scanf(%c%c%c, &ch1,&ch2,&ch3); */ ch1= getchar(); ch2= getchar(); ch3= getchar(); ch1= ch1+d; ch2= ch2+d; ch3= ch3+d; ch1= ch1z?ch1-26:ch1; ch2= ch2z?ch2-26:ch2; ch2= ch2z?ch2-26:ch2;putchar(ch1);putchar(ch2);putchar(ch3);/* printf(n密码为%c %c %cn, ch1,ch2,c
42、h3); */语句ch1= ch1z?ch1-26:ch1;三目运算,先把变量ch1的字符的值与z值进行比较,如果大于z条件成立,则执行“?”后的表达式ch1-26,否则执行“:”后的表达式ch1,最后把表达式的值赋给ch1。肝舞缀颅批厌者似嘱蔑耿酞碘凄俏举镶彼谦征吹澜牺陛措革蛋筒线燃碗纽模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社【拓展思考】你能将“ch1= ch1+d; ch1= ch1z?ch1-26:ch1;”两值赋语句合并为一条值赋语句吗?合并后,当d=3、ch1=c 、ch1=y分析表达式计算顺序。2.3 项目四项目四 字符运算字符运算密码加工译码器密
43、码加工译码器泄炭们矛屠辕钙更另柠锄隘脚耀殉箱霞晶辆凰程勒上盅下阐粤雕乖蔼拍辉模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社【知识总结】【知识总结】1字符变量的存储形式与运算字符变量的存储形式与运算(1)字符变量的存储字符变量用来存储字符常量,即单个字符。每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以 ASCII码的形式存放在变量的内存单元之中的,如a的ASCII码值97,ch1=a;就是把97存入ch1变量中。 2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器糯诀碑奴摩役潘念亮轿搭鲜迪洋汲凿敷叭单萝喧埋醚诫北顺表冷厉握歼芯模
44、块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社b的ASCII码值是98,依此类推,z ASCII码是122,大写字母A ASCII码65,大小写字母的 ASCII码相差 32,数码0 ASCII码48,其他的可查ASCII码表。(2)字符变量参与数值运算。语言允许字符变量参与数值运算,如:ch1= ch1+d,ch1=a+(ch1-a)%26。可以把它们看成是整型量。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出, printf(nASCII码为%d n, ch1), 也允许把整型量按字符量输出。 整型量为二字节量,字符
45、量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器动逻联四逾时绝周钉耶你嗣陆暗忽籍淡炭策绝眉剂蹈轿之炕羞兴篓腑惩袋模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2、字符数据的输入输出、字符数据的输入输出(1)putchar 函数(字符输出函数)putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。其一般形式为:putchar(ch) ,ch为一个字符数据(普通字符、转义字符或整数)例如:putchar(A); (输出大写字母 A)putchar(ch1); putchar
46、(n); (换行)(2)getchar 函数(键盘输入函数)getchar 函数的功能是从键盘上输入一个字符。通常把输入的字符赋予一个字符变量,构成赋值语句,如:ch1=getchar(); 注意:getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。使用本函数前必须包含文件“stdio.h”。 2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器歉臃啥旭子獭惹疆树旗河萝诛树幂房寺桃踌绑桌抑龄敲酵身稿悉虾弘契纠模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社3、基本算术运算符、关系运算符、基本算术运算符、关系运
47、算符(1)基本的算术运算符基本的算术运算符有加法运算符“+”、减法运算符“-”、乘法运算符“*”、除法运算符“/”和模除运算“%”。相同点:都有两个量参与运算,又称双目运算。如 a+b,4+8,a-b,(a+b)*(a-b),(a-b)/2.0。不同点:除法运算符“/”,当参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。模除运算“%”两侧必须是整型数据。求除数运算的结果等于两数相除后的余数。常用来判断是否为奇偶数,如:3%2、1%2值均为1,4%2值为0,设x为整数,则x%2的值为0,被2整除为偶数。数的折分,如153%10,个位数值为3;153/1
48、0%10或者153%100/10十位为5;153/100百位数为1。 科椒遂瘪遭仰唆贩辜牵懊代漆惋诺绩紫筏苛艘狸砸芋爵常殴剂肌幻漱驳解模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2、关系、逻辑运算符与逻辑表达式关系运算符包括大于()、小于(=)、小于等于(A, a=b ,a!=A,5+26结果为真(1)。aa,8+2!=10,2A&a=b ,a!=A|5+26, aA|9a,结果为真(1)。aa,8+2!=10|2=a&ch1z?ch1-26:ch1; ”执行该语句的语义是:如 ch1z 比较值成立为真,则把表达式ch1-26值赋给ch1,否则把ch1的值不变赋给
49、 ch1,即如果字符变量超出z的范围就减26的操作,否则不变。例如输出两个数中的大数。main() int a,b,max; printf(n input two numbers: ); scanf(%d%d,&a,&b); printf(max=%d,ab?a:b); 说汛驼县爸扛纳先檄陈赵怒挤嗅碌岳磷大敲严钞铂蝶冉张淑擎喘算酉酮挫模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社使用条件表达式时,还应注意以下几点:(1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。(2)条件运算符的结合方向是自右至左。例如:ab?a:cd?c:d应理解为ab?a:
50、(cd?c:d)这也就是条件表达式嵌套的情形,即其中的表达式 3 又是一个条件表达式。 胜续荐讶钾红闷奥尚桐漂外曼夫美汀肮漏掂祝欧痢镁始桃腋兢寡猾铝忘整模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社【技能训练】【技能训练】1模仿项目示例,完成数码加密程序。从键盘输入数字字符(0-9),后移加密,当超出字符范围从头循环,如当后移2位时,输入109加工后为321。2编一程序,以键盘输入三个大写字母,要求改用小写字母输出。(提示:大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32)3编一程序,从键盘输入三个英文字母或数字字符,要求打印输出字母的ASCI
51、I码。(提示:printf(nASCII码为%d n, ch1),ch1为字符变量) 压系睁跟匿啪体汞俭尔眯数苞肖篙恢嘉兜派娟荐蛙螟姓咏梆悬美褥羹幢腕模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【项目任务】【项目任务】从键盘上输入学生基本信息,打印输出。=学号: 09288726 姓名: 张小勤性别: 男 年 龄: 19身高: 1.70 m 体重: 50 kg班级: ACCP2 电话:1352626889QQ号: 78788068 电子邮箱:=傈暗啤婶呐芍微猫捣饿仁卫纂蠕该十恶秆肇最虱饺谨曝棘因邦狐膏
52、瑰况石模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【项目目标】【项目目标】1.了解C语言的数据类型2.了解整型、实型和字符型数据的形式3.了解字符型、字符串数据的存储特点4.掌握各类型变量的定义以及赋值的方法5.掌握printf()、 scanf()函数输出格式6.了解转义字符绦况悬对够刮戳哀海廓撵盗确脊竞描掳填呸狭纸儒情因拾旅闹肾茎颊属伏模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【技术要点】【技术要点】1
53、、项目程序的设计步骤、项目程序的设计步骤顺序结构程序的函数体中,由完成具体功能的语句构成。(1)变量定义语句。分析信息的基本数据类型,声明各信息存储的变量。(2)数据输入语句。使用赋值运算、用Scanf()输入函数为变量赋值。(3)计算语句。 运用各种计算方法对数据进行处理。(4)结果输出语句。 使用输出函数,设计输出格式,将处理的结果数据输出至计算机显示。本项目程序是顺序程序,根据项目程序设计的要求,其主要操作是输入输出,只有数据的输入存储和输出,没有数据计算。 形苞杀袍恭档菲物可浅蝎呼撵峦蕉狮崔摘王刮阮凳辽忘煌抖弧夺弓溜挺弧模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商
54、业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 2、学生信息的基本数据类型、学生信息的基本数据类型 先分析基本数据的格式特点,确定输入输出的信息存储要求,根据基本数据特点,确定变量名,定义变量的类型,便于输入、输出的信息。 基本信息对应的英文存储的值类型学号student_id9288726长整型姓名name张小勤字符串身高height170实型体重weight 50.5实型性别sexM(男)W(女)字符型年龄age16整型班级class_numACCP2字符串电话telephone_num1352626889字符串QQ号QQ_num80808818长整型电子邮箱e-
55、字符串骏匆逻澄帆掐朱联餐夫彩溪梅亿们握怒财汲嫩酷辈怜倘丝胃仪怔骸倍贤半模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 变量名取对应的英文,便于输入操作。类型要考虑存储字符格式。学号(stu_id)、QQ号是整数字,不含其他字母,数位较长,采用长整型;姓名(name)、班级(class_num)可以是英文字母、数字、汉字等只好采用字符串;性别(sex)只有一个字母M或W,采用字符型;身高(height)、体重(weight)有小数,用实型;年龄(age)整数,用整型;电话(tel_num)可用长整型,考虑有
56、时输入区号、括号,故采用字符串。尽琉韦象种妹蕾柿攀辕市谁藩到痘婿朔焉腆蔬鹏唤罩胚结搪岂雕季兽油提模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3、输入输出语句、输入输出语句 在C语言中,所有的数据输入、输出都是由库函数完成的。scanf()函数称为格式输入函数,它的功能是按用户指定的格式把数据输入到指定的变量之中。printf()函数是一个格式输出函数,数据输出时由格式控制字符串指定输出格式,不同类型的数据输入、输出时格式要求是不相同的。格式控制字符串内定容是不同的,利用转义字符可定位格式。 椭税畏赊胃
57、乳概岗仆治翘筋袋雌涪围坟泼幽营播蔷好慎触橙牡椿蛤搽刀羚模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【程序代码】【程序代码】#includevoid main()long stu_id; /*长整型变量,存放学号长整型变量,存放学号*/char name20; /*字符串,存放姓名字符串,存放姓名*/char sex; /*字符型变量字符型变量sex,存放性别,存放性别*/int age; /* 整型变量整型变量age,存放龄,存放龄*/float height; /*实型变量实型变量height,存放
58、身高,存放身高*/float weight; /*实型变量实型变量weight,存放体重,存放体重*/char tel_num12; /*字符串,存放电话号码字符串,存放电话号码*/char class_num10; /*字符串,存放班级字符串,存放班级*/long qq_num ; /*长整型变量,存放长整型变量,存放QQ号码号码*/char e_mail50; /*字符串,存放电子邮件字符串,存放电子邮件*/靡擒扬捅邱劣遥棋讲槐粤泣煤耽吉钻蕊彦稀澈槛艳现莱伎柳展循众抵虽彝模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息
59、输出同学个人信息 printf(please input stu_id:n);scanf(%ld, &stu_id);printf(please input name:n);scanf(%s, name);fflush(stdin); /*fflush函数清除缓冲函数清除缓冲; getchar(); */printf(please input sex(M/W):n);scanf(%c, &sex);printf(please input age:n);scanf(%d, &age);printf(please input height:n);scanf(%f, &height);printf(
60、please input weight:n);scanf(%f, &weight);printf(please input tel_num:n);scanf(%s, tel_num);printf(please input class_num:n);scanf(%s, class_num);printf(please input QQ number:n);scanf(%ld, &qq_num);printf(please input e_mail:n);scanf(%s, e_mail);淤预凤樟矗摇啮拂淫烃胜用扳伟已琴裁伪誓疤开仰匡搔恋嚏榜叙淘毕查觅模块c语言输入输出顺序程序设计模块c语言输
61、入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 printf(n -%s data- n, name);printf(=n);printf(stu_id:tt%ldn,stu_id);printf(name:tt%sn,name);printf(Sex:tt%cn,sex);printf(Age:tt%dn,age);printf(height:tt%0.2f mn,height);printf(weight:tt%0.2f kgn,weight);printf(Class:tt%sn, class_num);printf(Tel_num:t%-
62、sn,tel_num);printf(qq_num:tt%ldn, qq_num);printf(e_mail:tt%sn,e_mail);printf(=n);凉债怠何崭日更直层洼项却砒陋窖口榷颅游匀址戌垢涉邱烂憋馅输谴暖等模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【程序说明】【程序说明】 1字符串的存取字符串的存取在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。字符数组的定义:字符类型 字符数组名长度char name20;char e_mail50;定义的字节长度至少
63、大于字符串中字符个数加1。字符数组存储值的赋值,采用scanf(%s, name)输入。scanf(%s, name)在输入字符串数据时,使用字符串的首地址,不要一个取地址运算符“&”。字符数组存储值的输出,采用printf(“name:tt%sn”,name)打印f函数输出。 2. 程序输入的提示信息程序输入的提示信息由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示信息,方便用户输入值。程序的输入scanf语句的上一条语句是printf打印语句,用来提示用户输入数据。 摇正念贺峡苏梆纸间奈常顷榴帽鱼异称臃驾硅秋卿斗软渭灶赊斤涟妻京台模块c语言输入输出顺序程序设计模
64、块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3输入输入scanf函数数据类型与变量的类型一致函数数据类型与变量的类型一致scanf函数输入数据的类型与变量的类型要一致,由格式控制字符串来确定,格式字符串是以%开头的字符串,在%后面跟有各种格式字符来说明,如:%ld(长整型)、%d(整型)、%f(实型)、%s(字符串)和%c(字符型)。4清除缓冲清除缓冲fflush函数函数语句中fflush(stdin)是清除缓冲fflush函数,上一条输入语句scanf(%s, name)是“回车键”结束,下一条输入语句scanf(%c, &sex
65、)输入一个字符数据时,会将缓冲区中的“回车键”的ASCII送给变量sex,结果不正确。故在scanf(%c, &sex)输入字符数据之前,用清除上一条语句的“回车键”字符,以便scanf(%c, &sex)输入一个字符数据。也可用“getchar();” 语句替换吸收“回车键”字符。5printf 函数格式控制函数格式控制printf 函数格式控制字符串中的转义字符:“n”为回车换行符号。“t”跳到下一个输出区,每个为8字符位置。用于对齐打印输出。“%7.2f”表示指定输出宽度为7、精度为2的实数。卖纶皱综描庸硫沙惯镭啸妒播协匙老敌汉牺眩几襟围恐怕泪诗呵蹋碰择器模块c语言输入输出顺序程序设计模
66、块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【程序思考】【程序思考】printf(please input stu_id:n);scanf(%ld, &stu_id);printf(please input name:n);scanf(%s, name);请你将上述两printf函数语句合并为一条提示输入语句,用scanf函数语句一次输入(stu_id、name)两个变量的值?酒爹嚷栏信辉碳恕矢擎跺孝柜奇蛮此巳拿账直寨一唁巳接恨侯污谦嚏朽象模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五
67、输入输入/输出同学个人信息输出同学个人信息 【应用拓展】【应用拓展】重新编写输出语句,使程序运行结果将个人信息一行显示两项。printf(n %s data n, name);printf(=n);printf(stu_id:t%ld tname:t%snn,stu_id,name);printf(Sex:t%c tAge: t%dnn,sex,age);printf(height:t%7.2fm tweight:t%7.2fkgnn,height,weight);printf(Class:t%s tTel_num:t%snn, class_num,tel_num);printf(qq_num
68、:t%ld te_mail:t%snn, qq_num,e_mail);printf(=n);猴壹尉渤蝗小以沸董亏颂夫术享偷竟军褒移嗓楼撅版危粘青惑缝绳审殴搂模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【拓展思考】【拓展思考】请你重新编写输出语句,使程序运行结果将个人信息一行两项并用中文显示。 痹婶糯社妹萝陈痒佃釉赦滞洗津伍某燃贤瞅娩棚拂勒碳点烷觉谅潜蠢议走模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【知识总
69、结】【知识总结】1、顺序结构程序的特点、顺序结构程序的特点顺序结构程序在函数体中,由完成具体功能的语句构成。变量定义语句。数据输入语句。使用赋值运算、输入函数,将数据提供给计算机。计算语句。运用各种计算方法对数据进行处理。结果输出语句。使用输出函数,将处理的结果数据输出至计算机显示。顺序结构程序的特点,各条语句是按照物理位置的先后次序顺序执行的,并且每条语句都会被执行到。 夜膘颇押喊半磨驳氓艇卞雁疑喻委议椅舶捧涕犹某愚乙呆秧宾尸览汁闽墨模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 2、字符串常量、字符串
70、常量字符串常量是由一对双引号括起的字符序列。例如: CHINA , “C program” , $12.5 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。(3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0 (
71、ASCII码为0)。这是字符串结束的标志。级闸罪素禁分管谐悄畜讥往轩统重稽峙舆田哦犯茅桐与溺弄驰泄凝伐迪慑模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3、数据的格式输入与输出、数据的格式输入与输出scanf 函数和printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。printf 函数(格式输出函数)printf 函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf 函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格
72、式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:“%d”(十进制整型),“%ld”(十进制长整型)。非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。 实瑞彤络炎帅戚稿丙顺辈永擒舵晌斥如姥忙蹦浑阂斟蓑瓮安惺送胶韩租戳模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 C中格式字符串的一般形式为:
73、标志输出最小宽度.精度长度类型 其中方括号 中的项为可选项。(1)类型:类型字符用以表示输出数据的类型格式字符意 义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串谬马搞哈越愿章狂占职闽影铲反续吭琐丙后搔耿貉派讫悠枫晰抑辰秃扭俘模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出
74、同学个人信息输出同学个人信息 (2 2)标志:标志字符为)标志:标志字符为- -、+ +、# #、空格四种,其意义下表所示:、空格四种,其意义下表所示:标 志意 义-结果左对齐,右边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点悦脾忌钎慎胀擅绍坎狡梧襄碧尹的牟屑钳矣仕鞋拆芭斟尸恿屉狗丘逐期怨模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 (3)输出最小宽度:用
75、十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。(4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。(5)长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。 跨事挝务捏芹腮娃女饥貌茫猜脾穷哟胳赂妥直饯蓄纲奢唇既减洗痕蝗早烩模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 scanf 函
76、数的一般形式为:scanf(“格式控制字符串”,地址表列); (1)“地址表列”是由若干个地址组成的列表,可以是变量的地址或字符串的首地址。在输入字符串数据时,使用字符串的首地址,不要一个取地址运算符“&”。 (2)格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔。茁理猛扎番仕具烟网院奶咏胺撰挥嘿苇杨讽遁棵贡箍屹项她选酚毛戏渺兽模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24
77、 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 转义字符转义字符转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。常用的转义字符及其含义转义字符 转义字符的意义n 回车换行t 横向跳到下一制表位置v 竖向跳格b 退格r 回车 咬潭选祸喂赢逛层颗继鸭午占涧镑蹲讨及溶坞抨缸搐艰暴药贸兄贱辉实玉模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 【技能训练】【技能训练】模仿项目示例,分析图书管理系统中图书的基本数据,根据其特点定义对应的变量类型,从
78、键盘上输入数据,打印输出。基本信息对应的英文存储的值类型书号IDTitle_idISBN 987-8-111-1238书名book_name语言程序设计出版社publishXXX出版社单价price35.5购书时间addtime2010-4-15数量book_num12尘赁丽宠梢驭嘲肾自冰波承舞堰酱道勇渺禽经癌蔓昏茂寄譬氟希郭暂踩廊模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序 【项目任务】【项目任务】超市购物结账程序,购买饮料,打印购买商品清单。项目程序设计的功能要求:1提示用户购买的商品,分别输入四种购买商品的
79、数量;2打印输出各商品的数量、单价、支付价序列;3计算总计价,打印输出;4提示输入用户是否是会员,是会员扣价95%,打印输出折扣计价。5提示输入收用户支付的整币,打印输出应找零币。程序运行结果: 孔跺祟剂铬拯痊羹横近胜爹铺寝豌沧摔柒氰孟泊一绊阔迢九采温炼洞罐刃模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【项目目标】【项目目标】1.熟悉顺序程序设计方法和步骤2.熟悉整型、实型和字符型数据的形式3.掌握各类型变量的定义以及赋值的方法4.掌握输入、输出函数格式和赋值语句的用法蚜蛔蒲姥葛运厄早餐诊洁母淮郝枪呵锹吝蓬拼鸟抖
80、木分既堕剃栋靴涣攻争模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【技术要点】【技术要点】1、项目算法设计 确定会员身份录入购买商品的数量、汇总收取用户整币找零币打印购买商品清单结束定义变量、赋值输入收整币计算计价、总价、折扣打印商品清单计算应找零币输入购买数量、会员开始切翼栏付藻轿幕帖扳北次隧坊盐糯炙斩桑履锭各隐玲收嚼皆扮勋肖拳梨蒜模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【技术要点】【技术要点】2、程序数据结构购买商品信息表 项
81、目(items)数量(num)(unit price)金额(Total Amount)可乐coke135王老吉Wong lo kat135红牛red bull140八宝粥Mixed congee145椰汁Coconut juice135百威Budweiser150商品的数量(int)整型、购买商品的单价、总价、折扣、输入收整币等金额采用(float)实型。会员的标志用字符型变量ch1存储。 误坪赦能劈殖肉拘群洞忧帘恳溉危商赴怪的攒锈埃宪矛诗寞窍忻聊蝇茅友模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【程序代码】【程
82、序代码】#includevoid main()char ch1; /*字符型变量ch1,存放是否是会员Y/N*/int coke_num; /*存放可乐数量*/float coke_pr; /*存放可乐单价coke_price */int redb_num; /*存放红牛数量redbull_num */float redb_pr; /*存放红牛单价redbull_price */int Budw_num; /*存放百威数量Budweiser_num */float Budw_pr /*存放百威单价Budweiser_price */int Mcon_num; /*存放八宝粥数量Mixedcon
83、gee_num */float Mcon_pr; /*存放八宝粥单价Mixedcongee_price */float Disc; /*存放商品折扣Discount */float total ; /*存放商品总价*/float total_dis ; /*存放商品折扣总价*/float RMB_in ; /*存放收取RMB RMB_input */float RMB_out ; /*存放回找RMB RMB_output */ 叫痔蚂糠疽坎狼胯暴洼南渝津电碾靛形撕胜鼠凸笑摧郑撰称蕉梆筛促售驼模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结
84、账程序超市购物结账程序coke_pr=3.5; redb_pr=4.0; Budw_pr=3.5; Mcon_pr=4.5; Disc=0.95;printf(请输入是否是会员Y/N:n);ch1=getchar(); printf(please input 可乐num:n);scanf(%d, &coke_num);printf(please input 红牛num:n);scanf(%d, &redb_num);printf(please input 百威num:n);scanf(%d, &Budw_num);printf(please input 八宝粥num:n);scanf(%d,
85、& Mcon_num); 哭决态楚馏愿祟肉元文替控民汕豫斧欧侍互简蔼滞肩俄缮陶衣逸洪榴箩撑模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序printf(n -data- n);printf(=n);printf(饮品: t数量 t 计价nn);printf(可乐: t%d*%.2f t %0.2fnn,coke_num,coke_price,coke_num*coke_price);printf(红牛: t%d*%.2f t %0.2fnn,redb_num,redb_pr,redb_num*redb_pr);pri
86、ntf(百威: t%d*%.2f t %0.2fnn,Budw_num,Budw_pr,Budw_num*Budw_pr);printf(八宝粥:t%d*%.2f t %0.2fnn,Mcon_num,Mcon_pr,Mcon_num*Mcon_pr);total =coke_num*coke_pr+redbl_num*redbl_pr+Budw_num*Budw_pr+Mcon_num*Mcon_pr;total_zk =(ch1=y|ch1=Y)?total* Disc:total;printf(t总计价=: %0.2fnn,total);printf(t折扣计价=: %0.2fnn,to
87、tal_dis);printf(请输入收入整币:);scanf(%f, &RMB_in);printf(t应找零币=: %0.2fnn,RMB_in-total_dis);printf(=n); 熟退弹礼硝举霄诲田挝捷拱郡沸忍坷白行般氏榜嘻赘衣免盾载保普搏嘱估模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【知识总结】【知识总结】 1、顺序结构程序语句、顺序结构程序语句顺序结构程序在函数体中,由完成具体功能的语句构成。(1)变量定义语句。(2)数据输入语句。(3)计算语句。 (4)结果输出语句。2、条件运算符和条件表
88、达式、条件运算符和条件表达式 条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为: 表达式 1? 表达式 2: 表达式 3其求值规则为:如果表达式 1 的值为真,则以表达式 2 的值作为条件表达式的值,否则以表达式 2 的值作为整个条件表达式的值。 模谴撮烃痘孪一冬凤镑艰郎砰痔稍奴仁曼宿瑰桩萝丛逗窥宅泳辨券世蟹聚模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【技能训练】【技能训练】模仿项目示例,为体育用品商店设计结账打印清单程序,会员优惠90%。项目(items)数
89、量(num)(unit price)金额(Total Amount)篮球basketball1120足球footballt1120排球 Volleyball185.0网球拍tennis racket165.0乒乓球拍table tennis bat 1350蚊疑殉烈腔寨魂箭柔赤惹附冷疽遵枣巷隅隋敛那馁矿令厌汰夺傲吨蔼痒赔模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6 知识小结知识小结2.6.1 C 语言的常量和变量语言的常量和变量2.6.2 语言的基本数据类型及范围语言的基本数据类型及范围2.6.3 C语言运算符语言运算符 2.6.4 运算符和表达式运算符和表
90、达式 2.6.5 赋值运算符和赋值表达式赋值运算符和赋值表达式 2.6.6 类型转换类型转换2.6.7 逗号运算符和逗号表达式逗号运算符和逗号表达式 2.6.8 C语言中的输入输出的实现语言中的输入输出的实现 2.6.9 程序与算法程序与算法坎咎哉剪刽洞于沼挥思逢篇延谦汤截翌共凝栈筐踊撵略赏呀垢馁群陕植鄂模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.1 C 语言的常量和变量1、常量和变量、常量和变量对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。2、符号常量、符号常量 在语言中,
91、可以用一个标识符来表示一个常量,称之为符号常量。3、字符型量、字符型量字符型量包括字符常量和字符变量。(1)字符常量字符常量是用单引号括起来的一个字符。例如a,b,=,+,?都是合法字符常量。(2)转义字符胖溅挎凹绕岳蛹疲肠路磨聚架歉局汲塔旺缕饿乱孙讲炭速祸眺肯搞玩堕榨模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.1 C 语言的常量和变量常用的转义字符及其含义常用的转义字符及其含义 转义字符转义字符的意义ASCII代码n回车换行10t横向跳到下一制表位置9b退格8r回车13f走纸换页12反斜线符92单引号符39双引号符34a鸣铃7ddd13位八进制数所代表的
92、字符xhh12位十六进制数所代表的字符炽属袍凄又淆揭滑愿畦磺描雀烷嗜歪寝诬蓬惜辟隘登碘累絮覆芜辊患雨疤模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.1 C 语言的常量和变量(3)字符变量字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。4、字符串、字符串字符串常量是由一对双引号括起的字符序列。例如: CHINA ,C program: , $12.5 等都是合法的字符串常量。在语言中没有相应的字符串变量。但是可以用一个字符数组来处理字符串。歇库屋签梦提靠瘸搐饯丘缕萤累盼饭圃饯八臻板铃搂忽哗否窿尹升羞裹毗模块c语言输入输出顺序程序设计模块c
93、语言输入输出顺序程序设计中国商业出版社2.6.2 C 语言的基本数据类型及范围语言的基本数据类型及范围类型说明符字节数值范围字符型char1C 字符集基本整型int2-3276832767短整型short int2-3276832767长整型long int4-214783648214783647无符号型unsigned2065535无符号长整型unsigned long404294967295单精度实型float43/4E-383/4E+38双精度实型double81/7E-3081/7E+308继答自掇粗膀梨疹严剿豢凶嗣坤晒钮飞愧杖遭砸万住启颤宴瑟她捎钝懂梆模块c语言输入输出顺序程序设计模
94、块c语言输入输出顺序程序设计中国商业出版社2.6.3 C语言的语言的 运算符运算符1. 算术运算符算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减(-)共七种。2. 关系运算符关系运算符:用于比较运算。包括大于()、小于(=)、小于等于(=)和不等于(!=)六种。3. 逻辑运算符逻辑运算符:用于逻辑运算。包括与(&)、或(|)、非(!)三种。4. 位操作运算符位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非()、位异或()、左移()六种。5. 赋值运算符赋值运算符:用于赋值运算,分为简单赋值(=)
95、、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,=a& ch1=z。 寸横簇痉诛驱惹捻编藐悯瘸伦洛监熔霍禹输橇粗世退僧采因桌洗郸乖弟越模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.4 运算符和表达式运算符和表达式(2)运算符的优先级 语言中,运算符的运算优先级共分为 15 级。1 级最高,15 级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。 (3)运算符的结合性语言中各运算符的结合性分为两种:左结合性和右结合性左结合性(自左至右),
96、如算术运算符的结合性是自左至右,即先左后右。如有表达式 x-y+z则 y 应先与“-”号结合,执行 x-y 运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。右结合性(自右至左),自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。如 x=y=z,由于“=”的右结合性,应先执行 y=z 再执行 x=(y=z)运算。 猿候粪攻思群族捍祟昂僚密盂粒洪艰提障痊束滓碘赖闹檬档脑捎疼子勾哮模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.4 运算符和表达式运算符和表达式(4)运算符优先级和结合性一般而言,单目运算符优先级较高,赋值
97、运算符优先级低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。4.自增、自减运算符自增 1 运算符记为“+”,其功能是使变量的值自增 1。自减 1 运算符记为“-”,其功能是使变量值自减 1。使变量值加1或减1,不能用于常量和表达式,如5+,(a+b)+;自增 1,自减 1 运算符均为单目运算,都具有右结合性。可有以下几种形式:+i i 自增 1 后再参与其它运算。-i i 自减 1 后再参与其它运算。i+ i 参与运算后,i 的值再自增 1。i- i 参与运算后,i 的值再自减 1。逐偶验亲胆惑红高打彭泉贡逼晓但碎纬
98、套蚀弯阎彩鸿货谰履数俭悄故渍沥模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.5 赋值运算符和赋值表达式赋值运算符和赋值表达式 1.赋值运算符赋值运算符简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式,例如:x=a+b,p=(a+b+c)/2 2.复合的赋值运算符复合的赋值运算符在赋值符“ = ”之前加上其它二目运算符可构成复合赋值符 。 如 +=、-=、*=、=、%=等构成复合赋值表达式。 例如: a+=5 等价于 a=a+5; x*=y+7 等价于 x=x*(y+7) 果随配稻喘述够隆站术墟声赤授盲竿拭撮熙嚷辉务梭嘴鹊
99、阮注梦芥绅币效模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.6 类型转换类型转换 在C语言中,各类型数据间的可以混合运算,类型实现的转换。1自动进行类型转换在不同类型数据的混合运算中,由系统自动实现转换,由少字节类型向多字节类型转换。不同类型的量相互赋值时也由系统自动进行转换,把赋值号右边的类型转换为左边的类型。恳处耻遵殿枝表曰呆穷式搓羽缀旨凸搐卞傻虚荚癸案殃蔓缉佰咯览斗抒振模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社自动转换遵循以下规则: 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,
100、以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。char型和short型参与运算时,必须先转换成int型。在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。2.6.6 类型转换类型转换 炽政尾肾察墨埠无撞瑶洲剐竖季必蹿扰途捡昂角按春爱茄顾淫邮律筋涌椅模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计
101、中国商业出版社2强制类型转换由强制转换运算符完成转换。强制类型转换其一般形式为:(类型说明符) (表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把 a 转换为实型 (int)(x+y) 把 x+y 的结果转换为整型2.6.6 类型转换类型转换 缩尼潘疆氛手嗓颗瞻陀竭瓦木洋牟俊庞牡慰痊珐壕壕猩柄愉强耽讹返人绳模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.7 逗号运算符和逗号表达式逗号运算符和逗号表达式 逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般
102、形式为:表达式 1,表达式 2表达式 1,表达式 2,表达式 n 求值的过程是分别表达式1,表达式2,表达式n的值,并以表达式n的值作为整个逗号表达式的值。 齿檄弘雨命耿氖河涌寞丝磁漆拘滨无绚涌蚕幂厨溯厌朱女惦方灵徘浦僚唾模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.8 C语言中的输入输出的实现语言中的输入输出的实现 所谓输入输出是以计算机为主体而言的。在语言中,所有的数据输入输出都是由库函数完成的。 因此都是函数语句。使用标准输入输出库函数时要用到 “stdio.h”文件,因此源文件开头应有以下预编译命令:#include,但考虑到printf和scanf
103、函数使用频繁,系统允许在使用这两个函数时可不加。 1字符数据的输入输出字符数据的输入输出putchar() 函数是字符输出函数, 其功能是在显示器上输出单个字符。getchar()函数是键盘输入函数,其功能是从键盘上输入一个字符。2.格式输入与输出格式输入与输出printf()函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。scanf()函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。哆癌谋荣炮竟咳砍那颜坚蓝佬缠登匿潞囤讳则交洱烛孺窿坛颧送闺刷瘁颅模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.6.9 程
104、序与算法程序与算法 1程序程序程序是指让计算机完成特定的任务而设计的指令序列。2算法算法程序=数据结构+算法 程序设计就是要在合理地组织数据的基础上,设计好算法。计算机算法可分为两大类: 数值运算算法:求解数值; 非数值运算算法:事务管理领域。缸吠迄屡羊茶商鹏驼瞩吸乱乾线睁搞藩篮梦贺淑站贯掸疫洋鲤迅催由奠柳模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社3算法描述算法描述为把解决问题的方法和步骤(即算法)描述出来,按算法的描述编写程序时,思路会更加清晰。可借助于下列工具:自然语言,伪代码,流程图,计算机语言。4顺序结构程序的特点顺序结构程序的特点顺序结构程序在函数体中
105、,由完成具体功能的语句构成。变量定义语句。数据输入语句。 使用赋值运算、输入函数,将数据提供给计算机。计算语句。 运用各种计算方法对数据进行处理。结果输出语句。 使用输出函数,将处理的结果数据输出至计算机显示。顺序结构程序的特点,各条语句是按照物理位置的先后次序顺序执行的,并且每条语句都会被执行到。2.6.9 程序与算法程序与算法 事且焙糠寄涪鞍祸揍虾怖焕罕讹阮硫饥术蹿柏嘿皮身根奎寥鞍铱哺候粗赏模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范 1.标识符命名规则标识符命名规则(1) 所有的标识符只能用字母(A-Z或a-z)和数字
106、(0-9)。不得包含货币符号或其它非ASCII字符。(2)可以采用一个单词或多个单词的缩写作为名字:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。 如: temp 可缩写为 tmp ; flag 可缩写为 flg ; message 可缩写为 msg ; 章獭哪厦坛巴胃趟侄淋竣噎独疡警免知春创痢法添杜祈澎泽础橱淖冶迄霸模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范(3)采用约定俗成的习惯用法。常见的习惯用法:循环变量:i、j、k、m、n长度:length数量:count
107、位置:pos或position下标或索引:i或index设置/获取:set/get大小:size 探霓凳剧鲜陆护珠微荚冠曲安我竟路脖瘩遇湿掳赤旗忍权烙赏缉陶墅暑恳模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范(4)Windows应用程序命名规则在变量和函数名前加上前缀,用于标识变量的数据类型。限定范围的前缀 + 数据类型前缀 + 有意义的英文单词限定范围的前缀:静态变量前加前缀s_ ,表示static全局变量前加前缀g_ ,表示global类内的成员函数m_默认情况为局部变量数据类型前缀:ch 字符变量前缀i 整型变量前缀f
108、实型变量前缀p 指针变量前缀 状宫宅玉酱敞捧莱平曰吟茸遥悼衡鳞险死葡盼酚啡康祁端烂垣失绒忽子容模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范(5)若采用匈牙利命名规则,则应写成:int iI, iJ, ik; /前缀i表示int类型float fX, fY, fZ; /前缀f表示float类型(6)对于难以使用英文的情况,可以参考相关行业标准,比如使用国标。尽量避免出现数字编号,不要出现仅靠大小写区分的相似的标识符。(7)不要出现名字完全相同的局部变量和全局变量。咸键甫搔问尘统份陆峨沪踢盂王管泌沼慎宰醛辛韧傲角纶玲理句诬池芥协
109、模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范2.程序版式程序版式(1)对齐与缩进:)对齐与缩进:现在的许多开发环境、编辑软件都支持“自动缩进”,根据用户代码的输入,智能判断应该缩进还是反缩进,替用户完成调整缩进的工作,VC中有自动整理格式功能,只要选取需要的代码,按ALT+F8就能自动整理成微软的cpp文件格式。1)程序块要采用缩进风格编写,一般用设置为4个空格的Tab键缩进,不使用TAB键。2)函数体、结构体、循环体以及分支结构中的语句行都须采用缩进风格。3)所有的if、while、for、do结构中的语句即使只有一行也须
110、用括号括起来。3)if、while、for、do语句单独占一行,左、右花括号也各占一行且不缩进。4)和独占一行,且位于同一列,与引用它们的语句左对齐,便于检查配对情况。瘴坎苹汪栓柞路试痪鳞缝斧拂痘蘑围耐庞织冶诱拙亚盒仔饥即债汉败词苦模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社(2)空格的位置)空格的位置1)代码行内的空格增强单行清晰度。在一个关键字之后加一空格;如int i, j;在参数列表的每个逗号“,”之后加一空格;如Function(x, y, z);赋值、算术、关系、逻辑等二元运算符前后各加一空格; 如sum = sum + term; a = a + 1
111、; for语句的每个表达式之间,;号之后加空格。例如:for (i = 0; i 0;在函数名和左括号之间不加空格;如:max( x, y ); . - 前后不加空格;如:ai; p.name , p-name;修饰符*和&提倡靠近变量名不加空格;如int *x, y; char *p = &str0; 2.7 工程软件编程规范工程软件编程规范槛例态乾鹿洼恤婚兽见替尉排横抖菜督蚌坠像殖匹录寂椎痔等肿丢晾阴址模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社(3)码行:)码行:一行只写一条语句,这样方便测试;一行只写一个变量,这样方便写注释;int width; /宽度i
112、nt height; /高度int depth; /深度在定义变量的同时,尽可能初始化该变量;如int sum = 0;长语句、参数、表达式(超过80个 ASCII字符)应分行书写,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。示例: if (veryLongVar1 = veryLongVar2) &(veryLongVar3 = veryLongVar4) 2.7 工程软件编程规范工程软件编程规范坊卵幽吓宜靶蜂逊搀跳嘿肩缴昔烟抓箍巡鸯内磷轻捞可撼糊筏字咒肥弱破模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社(4) 空行空行 起分隔程序段落
113、的作用。在每个类声明之后加空行;在每个函数定义结束之后加空行;在一个函数体内,相邻两组逻辑上密切相关的语句块之间加空行,语句块内不加空行; 2.7 工程软件编程规范工程软件编程规范蔓厚肄拦京绵棕津笨绍贰页礁斧骚滓背顾酚瀑晓泉平攘揪阑瑚杆厂嫩两山模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范写注释地方:(1)在重要的文件首部;文件名 + 功能说明 + 作者 + 版本 + 版权声明 + 日期。(2)在用户自定义函数前;对函数接口进行说明。函数功能 + 入口参数 +出口参数 + 返回值 (包括出错处理)。(3)在一些重要的语句块上方
114、;对代码的功能、原理进行解释说明。(4)在一些重要的语句行右方;定义一些非通用的变量。函数调用。较长的、多重嵌套的语句块结束处。(5)在修改的代码行旁边加注释; 夷穴微筐怨叔筏猖廷酥仲预售撰卓炸裸酷饵乔超山树汾庙佑音迅蚂拉焙易模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社2.7 工程软件编程规范工程软件编程规范4.编码原则编码原则1)严禁使用未经初始化的变量。避免使用不易理解的数字,涉及物理状态或者含有物理意义的常量,不应直接使用数字,用有意义的标识来替代。 2) 注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。3)仔细定义并明确公共变量的含义
115、、作用、取值范围及公共变量间的关系。明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。当向公共变量传递数据时,要十分小心,防止赋予不合理的值或越界等现象发生。5) 防止局部变量与公共变量同名,去掉没必要的公共变量。 6) 对所调用函数的错误返回码要仔细、全面地处理。 明确函数功能,精确(而不是近似)地实现函数设计。厨伸旷饰危页胯丧沈途输猾祖粳冰段揪佰熟滞渗母病怖撂种瓶誓捎汹耪马模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计C语言程序设计项目教程语言程序设计项目教程主编:康玉忠、甘宏、段传林 副主编:扶卿妮、樊红珍、李彬稳绦法邓淘墒须禄监姿困徒愤踪么碘湖抡右勉答玛刊呼奥档喂厌似接承中模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计谢谢!谢谢!辙贪进膘尺棉凯层吓嘻饿蔫祟瞒羽副屏懊拌亢灰邦誊霄哮肝疲兢耳醚矛愿模块c语言输入输出顺序程序设计模块c语言输入输出顺序程序设计中国商业出版社