模块2c语言输入输出顺序程序设计课件.ppt

上传人:牧羊曲112 文档编号:1392041 上传时间:2022-11-18 格式:PPT 页数:114 大小:719.35KB
返回 下载 相关 举报
模块2c语言输入输出顺序程序设计课件.ppt_第1页
第1页 / 共114页
模块2c语言输入输出顺序程序设计课件.ppt_第2页
第2页 / 共114页
模块2c语言输入输出顺序程序设计课件.ppt_第3页
第3页 / 共114页
模块2c语言输入输出顺序程序设计课件.ppt_第4页
第4页 / 共114页
模块2c语言输入输出顺序程序设计课件.ppt_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《模块2c语言输入输出顺序程序设计课件.ppt》由会员分享,可在线阅读,更多相关《模块2c语言输入输出顺序程序设计课件.ppt(114页珍藏版)》请在三一办公上搜索。

1、模块 二输入/输出顺序程序设计,中国商业出版社,模块 二输入/输出顺序程序设计 中国商业出版社,学习目标,数据类型及常量、变量赋值、算术、关系表达式printf和scanf输入输出函数,据格式化输出和输入程序与算法顺序程序设计的一般方法,学习目标数据类型及常量、变量,模块内容,2.1 项目三 数值计算计算三角形周长和面积,2.2 程序与算法描述,2.3 项目四 字符运算密码加工译码器,2.4 项目五 输入输出同学个人信息,2.5 项目六 超市购物结账程序,2.6 语法小节,2.7 工程软件编程规范,模块内容2.1 项目三 数值计算计算三角形周长和面积,2.1 项目三 数值计算计算三角形周长和面

2、积,【项目任务】,从键盘输入三角形三个边a,b,c的值,计算打印它们的周长和面积程序。,2.1 项目三 数值计算计算三角形周长和面积,【项目目标】,了解程序设计分析方法。掌握变量、运算符、表达式的应用。掌握赋值语句的应用。了解输入、输出的使用。,2.1 项目三 数值计算计算三角形周长和面积,【项目目标】了解程序设计分析方法。2.1 项目三,2.1 项目三 数值计算计算三角形周长和面积,【技术要点】,1程序设计思路。先把从键盘输入三个边a,b,c的值存起来,分别按公式计算出周长l和面积s,然后打印输出。要解决这个计算问题,计算机是分步完成任务的,要思考几个问题:(1)数据如何存放?(如何定义存储

3、数据的变量?)(2)数据如何输入? (3)如何按数学公式计算?(4)如何输出结果?,2.1 项目三 数值计算计算三角形周长和面积,2.1 项目三 数值计算计算三角形周长和面积,【技术要点】,2.变量的定义。定义变量的目的是要计算机在内存中为程序的数据开辟存储空间。定义变量必须明确以下三点:(1)变量名。 变量名标明数据在内存中地址,是存储单元的标识符,是变量存取的依据。程序需要多少个变量来存储数据,方便计算机程序处理。(2)变量的类型。变量是用来存储数据的,不同类型的数据在计算机内所占的存储单元数是不同的,范围大小不同。(3)变量的值。定义变量后初始值是不确定的,一般可通过赋值语句或输入语句为

4、其赋值。,2.1 项目三 数值计算计算三角形周长和面积,2.1 项目三 数值计算计算三角形周长和面积,【技术要点】,3数据计算。本项目实际是一个数学计算问题,给出了数学计算公式,数学公式在程序中有的计算机无法识别,编译无法通过,不能生成执行文件;故数学公式在程序中要求按C语言表达式格式书写,以便计算机正确编译。本项目中周长计算由l=a+b+c赋值语句完成,求面积利用s =sqrt(p*(p-a)*(p-b)*(p-c) 赋值语句完成。,2.1 项目三 数值计算计算三角形周长和面积,2.1 项目三 数值计算计算三角形周长和面积,【技术要点】,4程序在框架内由语句序列分步骤完成。(1)定义变量(2

5、)输入a,b,c的值(3)计算周长l(4)计算p和面积s(5)输出计算结果,2.1 项目三 数值计算计算三角形周长和面积,项目流程图,2.1 项目三 数值计算计算三角形周长和面积,项目流程图2.1 项目三 数值计算计算三角形周长和面,程序代码,2.1 项目三 数值计算计算三角形周长和面积,#include#includemain() float a,b,c,p ,l;double s;printf(please input the a,b,c:n); scanf(%f %f%f, /*打印周长和面积*/,程序代码2.1 项目三 数值计算计算三角形周长和面积,2.1 项目三 数值计算计算三角形周

6、长和面积,【程序说明】,程序的功能是计算三角形周长和面积。 第二行#include是C预处理程序的一条包含命令,math.h包含了数学求平方根sqrt()函数,计算平方根时用到,故放在源程序的前面。 变量声明float用来定义单精度实型的变量a、b、c、p、l,用double定义变量s为双精度实型,用来存储计算的面积。 本项目中周长计算l=a+b+c赋值语句执行过程,先取a、b、c变量值,计算(a+b)+c的和,再赋值给变量l,存入变量l的存储单元之中,面积s的计算过程,先取a、b、c变量值,计算p=(a+b+c)/2,“/”表示除号;计算p*(p-a)*(p-b)*(p-c)表达式的值,由平

7、方根函数计算sqrt(p*(p-a)*(p-b)*(p-c),最后再赋值给变量s,完成计算任务。,2.1 项目三 数值计算计算三角形周长和面积,程序思考,有同学将“p=(a+b+c)/2;”改为“p=1/2* (a+b+c);” 请问程序计算结果正确吗?试一试,分析原因,如何改之。,程序思考有同学将“p=(a+b+c)/2;”,应用拓展,程序拓展变量赋值。程序功能输入两个数据给变量,交换后输出。 程序设计思想,变量实质是存储单元,要交换存储单元的数据内容,就好比有两个分别装满了雪碧和可口可乐饮料的饮料瓶,现想把瓶中的饮料互换一下,互换时不能使饮料混合,我们必须借助相同的容积的空饮料瓶,首先将饮

8、料1倒入过度的空瓶中(t=a),将饮料2倒入饮料1的瓶中(a=b),最后将过度瓶中的饮料倒入饮料2中(b=a),由三步完成交换操作。,应用拓展 程序拓展变量赋值。程序功能输入两个,应用拓展,变量交换流程图,应用拓展变,应用拓展,#include “stdio.h”main( ) int a,b,t=0; /*定义三个变量为整型*/ printf(“input two numbers:”) scanf(“%d%d”, /*输出交换之后变量的值*/ 运行结果: input two numbers:35 46 a=35,b=46 a=46,b=35,应用拓展#include “stdio.h”,应用

9、拓展,语句行 “t=a;a=b;b=t;”中有三条语句,可分三行书写,但次序不能巅倒,如下图2-3所示,每一步执行后变量的结果。,变量赋值过程,应用拓展 语句行 “t=a;a=b;b,拓展思考,讨论比较一下,两变量交换与雪碧饮料瓶和可口可乐饮料瓶中的饮料在交换过程中都借助的存储空间,交换结束后,借助的两存储空间的结果有什么区别?,拓展思考讨论比较一下,两变量交换与雪碧饮料瓶和可口可乐饮料瓶,知识总结,1数据类型 所谓一个数据的“数据类型”,是该数据自身的一种属性,数据要在内存中占用多少个字节。程序中涉及的各种数据(常量、变量),都必须存放在内存里。在语言中,数据类型可分为:基本数据类型,构造数

10、据类型,指针类型,空类型四大类。,知识总结1数据类型,知识总结,2. 常量在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。在C语言中,常量又分为普通常量和符号常量,在程序中,常量的类型由常量本身隐含决定的。如求球体积“v = 4.0/3.0*PI*r*r*r; ”语句中4.0、3.0是普通常量,PI是符号常量。普通常量:有整型常量、实型常量、字符型常量、字符串常量。(1)整型常量:整型常量就是整常数。在语言中,使用的整常数有十进制、八进制和十六进制三种。(2)实型常量实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有二种形式: 十进制数形式指数形式。十进制数形式

11、:由数码0 9和小数点组成。例如:0.0,.25,5.789,-267.8230指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式如: 2.1E5 (等于2.1*105), 3.7E-2 (等于3.7*10-2),知识总结2. 常量,知识总结,3.符号常量 符号常量是用标识符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常量。如用PI代(3.14)是符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define也是一条预处理命令(预处理命令都以#开头),称为宏定义命令(在后面预处理程序中将进

12、一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。符号常量与变量不同,符号常量采用大写字母表示,它的值在其作用域内不能改变,也不能再被赋值。使用符号常量的好处是:含义清楚;能做到“一改全改”。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。,知识总结3.符号常量,知识总结,4.变量在程序执行过程中,其值可以改变的量称为变量。变量使用是要关注三个要素:类型,名字,当前值。(1)变量的类型按基本数据类型来分,变量可为整型变量、实型变量、字符型变量。整型变量可分为以下几类:基本型:类型说明符为int,在内存中占2个字节,

13、其取值为基本整常数。短整量:类型说明符为short int。所占字节和取值范围均与基本型相同。长整型:类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:无符号基本型 类型说明符为unsigned int或unsigned。无符号短整型 类型说明符为unsigned short。无符号长整型 类型说明符为unsigned long。实型变量分为两类:单精度型:其类型说明符为float。在内存中占4个字节,其取值为基本实数。双精度型:其类型说明符为double。在内存中占8个字节,其取值为基

14、本实数。字符型字符型:其类型说明符为char。在内存中占1个字节,其取值为字符常量。,知识总结4.变量,知识总结,(2)变量的定义与赋初值变量定义必须放在变量使用之前。一般放在函数体的开头部分。变量定义的一般形式为:类型说明符变量名1=初始数据,变量名2=初始数据,.;例如:int a,b,t; (a,b,t 为整型变量)float a,b,c=1.0; (a,b,c 为实型变量,并给c赋初值1.0。)char ch=A ; (ch 为字符型变量,并赋初值A。字符变量用来存储单个字符) 变量一经定义后就有一个名字,有类型(在内存中占据一定的存储单元,就会有地址),可以用来装什么类型的数据,当前

15、的值是什么。如图2-6所示。35a变量名变量的值变量的存储单元65480变量的存储单元地址(由计算机编译分配)变量定义时,应注意以下几点:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”号结尾。变量定义必须放在变量使用之前。一般放在函数体的开头部分。,知识总结(2)变量的定义与赋初值,知识总结,5.C 语言算术表达式与数学公式表达式是由运算符和括号连接起来的式子。表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。 算术表达式是用算术运

16、算符和括号将运算对象(也称操作数)连接起来的、符合 C 语法规则的式子。以下是算术表达式的例子:a+b(a*2)c(x+r)*8-(a+b)7数学公式在程序中正确的转换成C语言算术表达式要注意几点:正确使用算术运算符,加(+)、减( - )、乘 ( * ) 、 除 ( / ),特别是“*”不能省,平方、立方采用“*”连乘求积,平方根采用函数 sqrt( )。如果是分数形式的数学表达式,则一定要将分子、分母分别用一对圆括号括起来,用括号决定运算顺序。如(a+b+c)/2;除法“/”运算还与数据类型有关,当左右两侧为整型,运算结果是整型。当左右两侧为有一个为实型时,运算结果是实型。如13/2结果是

17、6,而不是6.5,而13.0/2、13.0/2.0或13/2.0的运算结果都是6.5。,知识总结5.C 语言算术表达式与数学公式,知识总结,6.赋值运算简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式例如:x=a+b,p=(a+b+c)/2赋值表达式的功能是计算表达式的值再赋予左边的变量。“=” 赋值号左边一定为变量。,知识总结6.赋值运算,技能训练,模仿项目示例,定义对应的单精度实型变量,按数学公式写出C语言计算的赋值语句,由输入语句给变量送数据,计算结果由输出语句输出。1从键盘上输入三角形的两边长a、b值其及夹角x,由公式S=absin(x)/2计算三

18、角形面积。2编程输入你穿多少码的鞋子,输出你的脚长多少厘米。公式:y=2x-10 (y为鞋码号,x为脚长单位cm)3求ax2+bx+c=0 方程的根,a,b,c由键盘输入,设b2-4ac0。求根公式为:,技能训练模仿项目示例,定义对应的单精度实型变量,按数学公式写,2.2程序与算法描述,1程序程序是指让计算机完成特定的任务而设计的指令序列,一个程序应包括以下两方面内容:对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。对数据的处理描述。即操作步骤,也就是算法。算法是为解决一个问题而采取的方法和步骤。著名的计算机科学家Nikiklaus Wirth 提出的公式:程序=数据结构+

19、算法 程序设计就是要在合理地组织数据的基础上,设计好算法。本课程的目的是使同学知道怎样编写一个C 程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。,2.2程序与算法描述1程序,2.2程序与算法描述,2算法做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。计算机算法:计算机能够执行的算法。计算机算法可分为两大类:数值运算算法:求解数值;非数值运算算法:事务管理领域。,2.2程序与算法描述2算法,2.2程序与算法描述,3算法描述为把解决问题的方法和步骤(即算法)描述出来,按算法的描述编写程序时,思路会更加清晰。可借助于下列工具:(1)自然语言:借助人们日常使用的语言

20、(称为“自然语言”)分步描述;(2)伪代码:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。(3)流程图:借助于传统的流程图表示算法,直观形象,易于理解。画流程框图时常用的一些符号。用箭头表示操作流程。(4)计算机语言:用计算机语言表示算法必须严格遵循所用语言的语法规则。,2.2程序与算法描述3算法描述,流程图符号,流程图符号,举例说明,例如:从键盘输入一个数,输出其绝对值。(1)流程图描述算法(2)伪代码描述INPUT xIF X0 THEN XY ELSE XYPRINT Y,举例说明例如:从键盘输入一个数,输出其绝对值。,(3)计算机C语言描述:#includemain()

21、int x,y;printf(please input the x:n);scanf(%d,(3)计算机C语言描述:,2.2程序与算法描述,【技能训练】1用流程图来描述项目三技能训练各题。2用流程图来描述从键盘上输入两个数,将较大的数输出。(要求至少二种方法),2.2程序与算法描述 【技能训练】,2.3 项目四 字符运算密码加工译码器,【项目任务】 密码加工程序。从键盘输入小写字母,后移加密,当超出字母范围从头循环,如当后移2位时,输入kyz加工后为mab。,2.3 项目四 字符运算密码加工译码器【项目任务】,2.3 项目四 字符运算密码加工译码器,【项目目标】了解字符型及存储特点。熟悉get

22、char()函数。熟悉putchar()函数。掌握算术运算、关系运算表达式。了解三目运算及使用。,2.3 项目四 字符运算密码加工译码器【项目目标】,2.3 项目四 字符运算密码加工译码器,【技术要点】1、程序设计思路。先把从键盘输入小写字母存入字符变量中,字符型数据存储占一个字节,实际上按ASCII码存储;后移加密,实际上是把字符变量进行加法运算,得到后面的字符;计算处理是根据条件修定字符范围。如果计算出的字符超出a-z范围就要处理了,将字符变量减去a-z的长度26,否则不必处理,保证字符变量的值在a-z之间。结果输出,将加密处理后的字符变量输出。,2.3 项目四 字符运算密码加工译码器【技

23、术要点】,2.3 项目四 字符运算密码加工译码器,2.3 项目四 字符运算密码加工译码器,2.3 项目四 字符运算密码加工译码器,【技术要点】2.定义字符变量,本项目设三个字符变量,用char 定义三个ch1、ch2、ch3字符型变量;定义一个加密的偏移值d。3.加密计算采用赋值语句,ch1=ch1+d;4.根据ASCII的范围条件,修定字符范围,采用模除运算处理。,2.3 项目四 字符运算密码加工译码器【技术要点】,2.3 项目四 字符运算密码加工译码器,【程序代码】# include main() int d=3; /*密码后移量*/ char ch1,ch2,ch3;printf(n请输

24、入三个小写字母: );/* scanf(%c%c%c, ,2.3 项目四 字符运算密码加工译码器【程序代码】,2.3 项目四 字符运算密码加工译码器,【程序说明】1、语句int d=3;定义整型并赋初值为3,d为密码后移量。2、字符变量赋值。scanf(%c%c%c, 是字符输出函数,将字符变量ch1的值输出到屏幕上。也可用 printf(n密码为%c %c %cn, ch1,ch2,ch3)实现输出。,2.3 项目四 字符运算密码加工译码器【程序说明】,2.3 项目四 字符运算密码加工译码器,【程序思考】有同学将“ch1= ch1+d; ch1=a+(ch1-a)%26; ”两语句合并为一条

25、语句“ch1=a+( ch1+d -a)%26;” 分析一下,试一试 ,程序计算结果正确吗?,2.3 项目四 字符运算密码加工译码器【程序思考】,2.3 项目四 字符运算密码加工译码器,【应用拓展】根据ASCII的范围条件,修定字符范围,采用三目运算处理。,2.3 项目四 字符运算密码加工译码器【应用拓展】,# include main() int d=3; /*密码后移量*/ char ch1,ch2,ch3;printf(n请输入三个小写字母: ); /* scanf(%c%c%c, 三目运算,先把变量ch1的字符的值与z值进行比较,如果大于z条件成立,则执行“?”后的表达式ch1-26,

26、否则执行“:”后的表达式ch1,最后把表达式的值赋给ch1。,# include ,【拓展思考】你能将“ch1= ch1+d; ch1= ch1z?ch1-26:ch1;”两值赋语句合并为一条值赋语句吗?合并后,当d=3、ch1=c 、ch1=y分析表达式计算顺序。,2.3 项目四 字符运算密码加工译码器,【拓展思考】2.3 项目四 字符运算密码加工译码器,【知识总结】1字符变量的存储形式与运算(1)字符变量的存储字符变量用来存储字符常量,即单个字符。每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以 ASCII码的形式存放在变量的内存单元之中的,如a的ASCII码值97,

27、ch1=a;就是把97存入ch1变量中。,2.3 项目四 字符运算密码加工译码器,【知识总结】2.3 项目四 字符运算密码加工译码器,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, c

28、h1), 也允许把整型量按字符量输出。 整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,2.3 项目四 字符运算密码加工译码器,b的ASCII码值是98,依此类推,z ASCII码,2、字符数据的输入输出(1)putchar 函数(字符输出函数)putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。其一般形式为:putchar(ch) ,ch为一个字符数据(普通字符、转义字符或整数)例如:putchar(A); (输出大写字母 A)putchar(ch1); putchar(n); (换行)(2)getchar 函数(键盘输入函数)get

29、char 函数的功能是从键盘上输入一个字符。通常把输入的字符赋予一个字符变量,构成赋值语句,如:ch1=getchar(); 注意:getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。使用本函数前必须包含文件“stdio.h”。,2.3 项目四 字符运算密码加工译码器,2、字符数据的输入输出2.3 项目四 字符运算密码加工,3、基本算术运算符、关系运算符(1)基本的算术运算符基本的算术运算符有加法运算符“+”、减法运算符“-”、乘法运算符“*”、除法运算符“/”和模除运算“%”。相同点:都有两个量参与运算,又称双目运算。如 a+b,4+8,a-b,

30、(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/10%10或者153%100/10十位为5;153/100百位数为1。,3、基本算术运算符、关系运算符,2、关系、逻辑运算符与逻辑表达式关系运算符包括大于()、小于(=)、小于等于(A, a=b ,a!=

31、A,5+26结果为真(1)。aa,8+2!=10,2A&a=b ,a!=A|5+26, aa,8+2!=10|2=a&ch1=z, 结果为真(1)表示ch1在a-z字母范围内。,2、关系、逻辑运算符与逻辑表达式,4、运算符的优先级和结合性(1)运算符的优先级表达式求值按运算符的优先级和结合性规定的顺序进行。语言中,运算符的运算优先级共分为 15 级。1 级最高,15 级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。(2)运算符的结合性语言中各运算符的结合性分为两种:左结合性(自左至右),如算术运算符的结合

32、性是自左至右,即先左后右。如有表达式 x-y+z则 y 应先与“-”号结合,执行 x-y 运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。右结合性(自右至左),自右至左的结合方向称为“右结合性”。最典型的右结合性运算符是赋值运算符。如 x=y=z,由于“=”的右结合性,应先执行 y=z 再执行 x=(y=z)运算。一般而言,单目运算符优先级较高,赋值运算符优先级低。算术运算符优先级较高,关系和逻辑运算符优先级较低。多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。,4、运算符的优先级和结合性,5、条件运算符和条件表达式 条件运算符为?和:,它是一个

33、三目运算符,即有三个参与运算的量。由条件运算符组成条件表达式的一般形式为: 表达式 1? 表达式 2: 表达式 3其求值规则为:如果表达式 1 的值为真,则以表达式 2 的值作为条件表达式的值,否则以表达式 2 的值作为整个条件表达式的值。,5、条件运算符和条件表达式,条件表达式的表达式 1为关系运算或逻辑运算表达式,运算结果为真(1)或假(0),决定运算取值。条件表达式通常用于赋值语句之中。如 “ch1= ch1z?ch1-26:ch1; ”执行该语句的语义是:如 ch1z 比较值成立为真,则把表达式ch1-26值赋给ch1,否则把ch1的值不变赋给 ch1,即如果字符变量超出z的范围就减2

34、6的操作,否则不变。例如输出两个数中的大数。main() int a,b,max; printf(n input two numbers: ); scanf(%d%d, ,条件表达式的表达式 1为关系运算或逻辑运算表达式,运算结果为,使用条件表达式时,还应注意以下几点:(1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。(2)条件运算符的结合方向是自右至左。例如:ab?a:cd?c:d应理解为ab?a:(cd?c:d)这也就是条件表达式嵌套的情形,即其中的表达式 3 又是一个条件表达式。,使用条件表达式时,还应注意以下几点:,【技能训练】1模仿项目示例,完成数码加密程序。从键

35、盘输入数字字符(0-9),后移加密,当超出字符范围从头循环,如当后移2位时,输入109加工后为321。2编一程序,以键盘输入三个大写字母,要求改用小写字母输出。(提示:大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32)3编一程序,从键盘输入三个英文字母或数字字符,要求打印输出字母的ASCII码。(提示:printf(nASCII码为%d n, ch1),ch1为字符变量),【技能训练】,24 项目五 输入/输出同学个人信息,【项目任务】从键盘上输入学生基本信息,打印输出。=学号: 09288726 姓名: 张小勤性别: 男 年 龄: 19身高: 1.70 m 体重: 50

36、 kg班级: ACCP2 电话:1352626889QQ号: 78788068 电子邮箱:=,24 项目五 输入/输出同学个人信息 【项目任务】,24 项目五 输入/输出同学个人信息,【项目目标】了解C语言的数据类型了解整型、实型和字符型数据的形式了解字符型、字符串数据的存储特点掌握各类型变量的定义以及赋值的方法掌握printf()、 scanf()函数输出格式了解转义字符,24 项目五 输入/输出同学个人信息 【项目目标】,24 项目五 输入/输出同学个人信息,【技术要点】1、项目程序的设计步骤顺序结构程序的函数体中,由完成具体功能的语句构成。(1)变量定义语句。分析信息的基本数据类型,声明

37、各信息存储的变量。(2)数据输入语句。使用赋值运算、用Scanf()输入函数为变量赋值。(3)计算语句。 运用各种计算方法对数据进行处理。(4)结果输出语句。使用输出函数,设计输出格式,将处理的结果数据输出至计算机显示。本项目程序是顺序程序,根据项目程序设计的要求,其主要操作是输入输出,只有数据的输入存储和输出,没有数据计算。,24 项目五 输入/输出同学个人信息 【技术要点】,24 项目五 输入/输出同学个人信息,2、学生信息的基本数据类型 先分析基本数据的格式特点,确定输入输出的信息存储要求,根据基本数据特点,确定变量名,定义变量的类型,便于输入、输出的信息。,24 项目五 输入/输出同学

38、个人信息 2、学生信息的,24 项目五 输入/输出同学个人信息,变量名取对应的英文,便于输入操作。类型要考虑存储字符格式。学号(stu_id)、QQ号是整数字,不含其他字母,数位较长,采用长整型;姓名(name)、班级(class_num)可以是英文字母、数字、汉字等只好采用字符串;性别(sex)只有一个字母M或W,采用字符型;身高(height)、体重(weight)有小数,用实型;年龄(age)整数,用整型;电话(tel_num)可用长整型,考虑有时输入区号、括号,故采用字符串。,24 项目五 输入/输出同学个人信息 变量名取对应的,24 项目五 输入/输出同学个人信息,3、输入输出语句

39、在C语言中,所有的数据输入、输出都是由库函数完成的。scanf()函数称为格式输入函数,它的功能是按用户指定的格式把数据输入到指定的变量之中。printf()函数是一个格式输出函数,数据输出时由格式控制字符串指定输出格式,不同类型的数据输入、输出时格式要求是不相同的。格式控制字符串内定容是不同的,利用转义字符可定位格式。,24 项目五 输入/输出同学个人信息 3、输入输出语,24 项目五 输入/输出同学个人信息,【程序代码】#includevoid main()long stu_id; /*长整型变量,存放学号*/char name20; /*字符串,存放姓名*/char sex; /*字符型

40、变量sex,存放性别*/int age; /* 整型变量age,存放龄*/float height; /*实型变量height,存放身高*/float weight; /*实型变量weight,存放体重*/char tel_num12; /*字符串,存放电话号码*/char class_num10; /*字符串,存放班级*/long qq_num ; /*长整型变量,存放QQ号码*/char e_mail50; /*字符串,存放电子邮件*/,24 项目五 输入/输出同学个人信息 【程序代码】,24 项目五 输入/输出同学个人信息,printf(please input stu_id:n);sc

41、anf(%ld, ,24 项目五 输入/输出同学个人信息 printf(,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

42、_num:t%-sn,tel_num);printf(qq_num:tt%ldn, qq_num);printf(e_mail:tt%sn,e_mail);printf(=n);,24 项目五 输入/输出同学个人信息 printf(,24 项目五 输入/输出同学个人信息,【程序说明】 1字符串的存取在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。字符数组的定义:字符类型 字符数组名长度char name20;char e_mail50;定义的字节长度至少大于字符串中字符个数加1。字符数组存储值的赋值,采用scanf(%s, name)输入。scanf(%s, name

43、)在输入字符串数据时,使用字符串的首地址,不要一个取地址运算符“&”。字符数组存储值的输出,采用printf(“name:tt%sn”,name)打印f函数输出。 2. 程序输入的提示信息由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示信息,方便用户输入值。程序的输入scanf语句的上一条语句是printf打印语句,用来提示用户输入数据。,24 项目五 输入/输出同学个人信息 【程序说明】,24 项目五 输入/输出同学个人信息,3输入scanf函数数据类型与变量的类型一致scanf函数输入数据的类型与变量的类型要一致,由格式控制字符串来确定,格式字符串是以%开头的字

44、符串,在%后面跟有各种格式字符来说明,如:%ld(长整型)、%d(整型)、%f(实型)、%s(字符串)和%c(字符型)。4清除缓冲fflush函数语句中fflush(stdin)是清除缓冲fflush函数,上一条输入语句scanf(%s, name)是“回车键”结束,下一条输入语句scanf(%c, ” 语句替换吸收“回车键”字符。5printf 函数格式控制printf 函数格式控制字符串中的转义字符:“n”为回车换行符号。“t”跳到下一个输出区,每个为8字符位置。用于对齐打印输出。“%7.2f”表示指定输出宽度为7、精度为2的实数。,24 项目五 输入/输出同学个人信息 3输入sca,24

45、 项目五 输入/输出同学个人信息,【程序思考】printf(please input stu_id:n);scanf(%ld, 请你将上述两printf函数语句合并为一条提示输入语句,用scanf函数语句一次输入(stu_id、name)两个变量的值?,24 项目五 输入/输出同学个人信息 【程序思考】,24 项目五 输入/输出同学个人信息,【应用拓展】重新编写输出语句,使程序运行结果将个人信息一行显示两项。printf(n %s data n, name);printf(=n);printf(stu_id:t%ld tname:t%snn,stu_id,name);printf(Sex:t%

46、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:t%ld te_mail:t%snn, qq_num,e_mail);printf(=n);,24 项目五 输入/输出同学个人信息 【应用拓展】,24 项目五 输入/输出同学个人信息,【拓展思考】请你重新编写输出语句,使程序运行结果将个人信息一行两项并用中文显示。,24 项目五 输入/输出同学个人信息 【拓展

47、思考】,24 项目五 输入/输出同学个人信息,【知识总结】1、顺序结构程序的特点顺序结构程序在函数体中,由完成具体功能的语句构成。变量定义语句。数据输入语句。使用赋值运算、输入函数,将数据提供给计算机。计算语句。运用各种计算方法对数据进行处理。结果输出语句。使用输出函数,将处理的结果数据输出至计算机显示。顺序结构程序的特点,各条语句是按照物理位置的先后次序顺序执行的,并且每条语句都会被执行到。,24 项目五 输入/输出同学个人信息 【知识总结】,24 项目五 输入/输出同学个人信息,2、字符串常量字符串常量是由一对双引号括起的字符序列。例如: CHINA , “C program” , $12

48、.5 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。(3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0 (ASCII码为0)。这是字符串结束的标志。,24 项目五 输入/输出同学个人信息 2、字符串常量,24

49、 项目五 输入/输出同学个人信息,3、数据的格式输入与输出scanf 函数和printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。printf 函数(格式输出函数)printf 函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf 函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:“%d”(十进制整型),“%ld”(十进制长整型

50、)。非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。,24 项目五 输入/输出同学个人信息 3、数据的格式,24 项目五 输入/输出同学个人信息,C中格式字符串的一般形式为: 标志输出最小宽度.精度长度类型 其中方括号 中的项为可选项。(1)类型:类型字符用以表示输出数据的类型,24 项目五 输入/输出同学个人信息 C中格式字符串,24 项目五 输入/输出同学个人信息,(2)标志:标志字符为-、+、#、空格四种,其意义下表所示:,24 项目五 输入/输出同学个人信息 (2)标志:标,24 项目五 输入/输出同学个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号