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

上传人:沈*** 文档编号:241509997 上传时间:2024-06-30 格式:PPT 页数:114 大小:1.75MB
返回 下载 相关 举报
模块2c语言输入输出顺序程序设计课件_第1页
第1页 / 共114页
模块2c语言输入输出顺序程序设计课件_第2页
第2页 / 共114页
模块2c语言输入输出顺序程序设计课件_第3页
第3页 / 共114页
点击查看更多>>
资源描述
C语言程序设计项目教程语言程序设计项目教程主编:康玉忠、甘宏、段传林 副主编:扶卿妮、樊红珍、李彬模块2c语言输入输出顺序程序设计中国商业出版社学习目标学习目标1.数据类型及常量、变量数据类型及常量、变量2.赋值、算术、关系表达式赋值、算术、关系表达式3.printf和和scanf输入输出函数,据格式化输出和输入输入输出函数,据格式化输出和输入4.程序与算法程序与算法5.顺序程序设计的一般方法顺序程序设计的一般方法中国商业出版社模块内容模块内容2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积2.2 程序与算法描述程序与算法描述 2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器2.4 项目五项目五 输入输出同学个人信息输入输出同学个人信息 2.5 项目六项目六 超市购物结账程序超市购物结账程序 2.6 语法小节语法小节 2.7 工程软件编程规范工程软件编程规范中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【项目任务项目任务】从键盘输入三角形三个边从键盘输入三角形三个边a,b,ca,b,c的值,计算的值,计算打印它们的周长和面积程序。打印它们的周长和面积程序。中国商业出版社 【项目目标项目目标】1.1.了解程序设计分析方法。了解程序设计分析方法。2.2.掌握变量、运算符、表达式的应用。掌握变量、运算符、表达式的应用。3.3.掌握赋值语句的应用。掌握赋值语句的应用。4.4.了解输入、输出的使用。了解输入、输出的使用。2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点技术要点】1 1程序设计思路程序设计思路。先把从键盘输入三个边。先把从键盘输入三个边a,b,ca,b,c的值存起来,分的值存起来,分别按公式计算出周长别按公式计算出周长l l和面积和面积s s,然后打印输出。要解决这个计算,然后打印输出。要解决这个计算问题,计算机是分步完成任务的,要思考几个问题:问题,计算机是分步完成任务的,要思考几个问题:(1 1)数据如何存放?(如何定义存储数据的变量?)数据如何存放?(如何定义存储数据的变量?)(2 2)数据如何输入?数据如何输入?(3 3)如何按数学公式计算?如何按数学公式计算?(4 4)如何输出结果?如何输出结果?中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点技术要点】2.2.变量的定义。变量的定义。定义变量的目的是要计算机在内存中为程序的数据开辟定义变量的目的是要计算机在内存中为程序的数据开辟存储空间。定义变量必须明确以下三点:存储空间。定义变量必须明确以下三点:(1 1)变量名。变量名。变量名标明数据在内存中地址,是存储单元的标识符,是变量存取变量名标明数据在内存中地址,是存储单元的标识符,是变量存取的依据。程序需要多少个变量来存储数据,方便计算机程序处理。的依据。程序需要多少个变量来存储数据,方便计算机程序处理。(2 2)变量的类型。变量是用来存储数据的,不同类型的数据在计算机变量的类型。变量是用来存储数据的,不同类型的数据在计算机内所占的存储单元数是不同的,范围大小不同。内所占的存储单元数是不同的,范围大小不同。(3 3)变量的值。定义变量后初始值是不确定的,一般可通过赋值语句变量的值。定义变量后初始值是不确定的,一般可通过赋值语句或输入语句为其赋值。或输入语句为其赋值。中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【技术要点技术要点】3 3数据计算。数据计算。本项目实际是一个数学计算问题,给出了数学本项目实际是一个数学计算问题,给出了数学计算公式,数学公式在程序中有的计算机无法识别,编译无计算公式,数学公式在程序中有的计算机无法识别,编译无法通过,不能生成执行文件;故数学公式在程序中要求按法通过,不能生成执行文件;故数学公式在程序中要求按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)*(p-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)输出计算结果输出计算结果中国商业出版社项目流程图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,&a,&b,&c);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);/*打印周长和面积*/中国商业出版社2.1 项目三项目三 数值计算数值计算计算三角形周长和面积计算三角形周长和面积 【程序说明程序说明】程序的功能是计算三角形周长和面积。程序的功能是计算三角形周长和面积。第二行第二行#include#include是是C C预处理程序的一条包含命令,预处理程序的一条包含命令,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变量值,变量值,计算(计算(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,完成计算任务。,完成计算任务。中国商业出版社程序思考程序思考有同学将有同学将“p=(a+b+c)/2;”改为改为“p=1/2*(a+b+c);”请问程序计算结果正确吗?请问程序计算结果正确吗?试一试,分析原因,如何改之。试一试,分析原因,如何改之。中国商业出版社应用拓展应用拓展 程序拓展变量赋值。程序功能输入两个数程序拓展变量赋值。程序功能输入两个数据给变量,交换后输出。据给变量,交换后输出。程序设计思想,变量实质是存储单元,要交换存储单元的数据内容,就好比有两个分别装满了雪碧和可口可乐饮料的饮料瓶,现想把瓶中的饮料互换一下,互换时不能使饮料混合,我们必须借助相同的容积的空饮料瓶,首先将饮料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”,&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 a=35,b=46 a=46,b=35 中国商业出版社应用拓展应用拓展 语句行“t=a;a=b;b=t;”中有三条语句,可分三行书写,但次序不能巅倒,如下图2-3所示,每一步执行后变量的结果。变量赋值过程 中国商业出版社拓展思考拓展思考讨论比较一下,两变量交换与雪碧饮料瓶和可口可乐饮料瓶中的饮料在交换过程中都借助的存储空间,交换结束后,借助的两存储空间的结果有什么区别?中国商业出版社知识总结知识总结1数据类型 所谓一个数据的“数据类型”,是该数据自身的一种属性,数据要在内存中占用多少个字节。程序中涉及的各种数据(常量、变量),都必须存放在内存里。在语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。中国商业出版社知识总结知识总结2.常量常量在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。在C语言中,常量又分为普通常量和符号常量,在程序中,常量的类型由常量本身隐含决定的。如求球体积“v=4.0/3.0*PI*r*r*r;”语句中、是普通常量,PI是符号常量。普通常量:有整型常量、实型常量、字符型常量、字符串常量。(1)整型常量:整型常量就是整常数。在语言中,使用的整常数有十进制、八进制和十六进制三种。(2)实型常量实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有二种形式:十进制数形式指数形式。十进制数形式:由数码0 9和小数点组成。例如:,.25,指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式如:2.1E5(等于2.1*105),3.7E-2(等于3.7*10-2)中国商业出版社知识总结知识总结3.符号常量符号常量 符号常量是用标识符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常量。如用PI代()是符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量其中#define也是一条预处理命令(预处理命令都以#开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。符号常量与变量不同,符号常量采用大写字母表示,它的值在其作用域内不能改变,也不能再被赋值。使用符号常量的好处是:含义清楚;能做到“一改全改”。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。中国商业出版社知识总结知识总结4.变量变量在程序执行过程中,其值可以改变的量称为变量。变量使用是要关注三个要素:类型,名字,当前值。(1)变量的类型按基本数据类型来分,变量可为整型变量、实型变量、字符型变量。整型变量可分为以下几类:基本型:类型说明符为int,在内存中占2个字节,其取值为基本整常数。短整量:类型说明符为short int。所占字节和取值范围均与基本型相同。长整型:类型说明符为long int或long,在内存中占4个字节,其取值为长整常数。无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:无符号基本型 类型说明符为unsigned int或unsigned。无符号短整型 类型说明符为unsigned short。无符号长整型 类型说明符为unsigned long。实型变量分为两类:单精度型:其类型说明符为float。在内存中占4个字节,其取值为基本实数。双精度型:其类型说明符为double。在内存中占8个字节,其取值为基本实数。字符型字符型:其类型说明符为char。在内存中占1个字节,其取值为字符常量。中国商业出版社知识总结知识总结(2)变量的定义与赋初值变量定义必须放在变量使用之前。一般放在函数体的开头部分。变量定义的一般形式为:类型说明符变量名1=初始数据,变量名2=初始数据,.;例如:int a,b,t;(a,b,t 为整型变量)float a,b,c=1.0;(a,b,c 为实型变量,并给c赋初值。)char ch=A;(ch 为字符型变量,并赋初值A。字符变量用来存储单个字符)变量一经定义后就有一个名字,有类型(在内存中占据一定的存储单元,就会有地址),可以用来装什么类型的数据,当前的值是什么。如图2-6所示。35a变量名变量的值变量的存储单元65480变量的存储单元地址(由计算机编译分配)变量定义时,应注意以下几点:允许在一个类型说明符后,定义多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。最后一个变量名之后必须以“;”号结尾。变量定义必须放在变量使用之前。一般放在函数体的开头部分。中国商业出版社知识总结知识总结5.C 语言算术表达式与数学公式语言算术表达式与数学公式表达式是由运算符和括号连接起来的式子。表达式是由常量、变量、函数和运算符组合起来的式子。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。算术表达式是用算术运算符和括号将运算对象(也称操作数)连接起来的、符合 C 语法规则的式子。以下是算术表达式的例子:a+b(a*2)c(x+r)*8-(a+b)7数学公式在程序中正确的转换成C语言算术表达式要注意几点:正确使用算术运算符,加(+)、减(-)、乘(*)、除(/),特别是“*”不能省,平方、立方采用“*”连乘求积,平方根采用函数 sqrt()。如果是分数形式的数学表达式,则一定要将分子、分母分别用一对圆括号括起来,用括号决定运算顺序。如(a+b+c)/2;除法“/”运算还与数据类型有关,当左右两侧为整型,运算结果是整型。当左右两侧为有一个为实型时,运算结果是实型。如13/2结果是6,而不是,而、或的运算结果都是。中国商业出版社知识总结知识总结6.赋值运算赋值运算简单赋值运算符记为“=”。由“=”连接的式子称为赋值表达式。其一般形式为:变量=表达式例如:x=a+b,p=(a+b+c)/2赋值表达式的功能是计算表达式的值再赋予左边的变量。“=”赋值号左边一定为变量。中国商业出版社技能训练技能训练模仿项目示例,定义对应的单精度实型变量,按数学公式写出C语言计算的赋值语句,由输入语句给变量送数据,计算结果由输出语句输出。1从键盘上输入三角形的两边长a、b值其及夹角x,由公式S=absin(x)/2计算三角形面积。2编程输入你穿多少码的鞋子,输出你的脚长多少厘米。公式:y=2x-10(y为鞋码号,x为脚长单位cm)3求ax2+bx+c=0 方程的根,a,b,c由键盘输入,设b2-4ac0。求根公式为:中国商业出版社程序与算法程序与算法描述1程序程序程序是指让计算机完成特定的任务而设计的指令序列,一个程序应包括以下两方面内容:对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。对数据的处理描述。即操作步骤,也就是算法。算法是为解决一个问题而采取的方法和步骤。著名的计算机科学家Nikiklaus Wirth 提出的公式:程序=数据结构+算法 程序设计就是要在合理地组织数据的基础上,设计好算法。本课程的目的是使同学知道怎样编写一个C 程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。中国商业出版社程序与算法程序与算法描述2算法算法做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。计算机算法:计算机能够执行的算法。计算机算法可分为两大类:数值运算算法:求解数值;非数值运算算法:事务管理领域。中国商业出版社程序与算法程序与算法描述3算法描述算法描述为把解决问题的方法和步骤(即算法)描述出来,按算法的描述编写程序时,思路会更加清晰。可借助于下列工具:(1)自然语言:借助人们日常使用的语言(称为“自然语言”)分步描述;(2)伪代码:伪代码使用介于自然语言和计算机语言之间的文字和符号来描述算法。(3)流程图:借助于传统的流程图表示算法,直观形象,易于理解。画流程框图时常用的一些符号。用箭头表示操作流程。(4)计算机语言:用计算机语言表示算法必须严格遵循所用语言的语法规则。中国商业出版社流程图符号流程图符号 中国商业出版社举例说明举例说明例如:从键盘输入一个数,输出其绝对值。(1)流程图描述算法(2)伪代码描述INPUT xIF X0 THEN XY ELSE XYPRINT Y 中国商业出版社(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);中国商业出版社程序与算法描述程序与算法描述【技能训练技能训练】1用流程图来描述项目三技能训练各题。2用流程图来描述从键盘上输入两个数,将较大的数输出。(要求至少二种方法)中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【项目任务项目任务】密码加工程序。从键盘输入小写字母,后移加密,当超出字母范围从头循环,如当后移2位时,输入kyz加工后为mab。中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【项目目标】1.了解字符型及存储特点。2.熟悉getchar()函数。3.熟悉putchar()函数。4.掌握算术运算、关系运算表达式。5.了解三目运算及使用。中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【技术要点技术要点】1、程序设计思路。先把从键盘输入小写字母存入字符变量中,字符型数据存储占一个字节,实际上按ASCII码存储;后移加密,实际上是把字符变量进行加法运算,得到后面的字符;计算处理是根据条件修定字符范围。如果计算出的字符超出a-z范围就要处理了,将字符变量减去a-z的长度26,否则不必处理,保证字符变量的值在a-z之间。结果输出,将加密处理后的字符变量输出。中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【技术要点技术要点】2.定义字符变量,本项目设三个字符变量,用char 定义三个ch1、ch2、ch3字符型变量;定义一个加密的偏移值d。3.加密计算采用赋值语句,ch1=ch1+d;4.根据ASCII的范围条件,修定字符范围,采用模除运算处理。中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【程序代码程序代码】#include main()int d=3;/*密码后移量*/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=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();中国商业出版社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)%26表达式的值,按优先级计算,先算括号(ch1-a)的内容为整型量,后模除“%”26取余数运算,再与a做加法,最后把整个表达式的值赋给ch1。5、语句putchar(ch1);是字符输出函数,将字符变量ch1的值输出到屏幕上。也可用 printf(n密码为%c%c%cn,ch1,ch2,ch3)实现输出。中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【程序思考程序思考】有同学将“ch1=ch1+d;ch1=a+(ch1-a)%26;”两语句合并为一条语句“ch1=a+(ch1+d-a)%26;”分析一下,试一试,程序计算结果正确吗?中国商业出版社2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器【应用拓展】根据ASCII的范围条件,修定字符范围,采用三目运算处理。中国商业出版社#include main()int d=3;/*密码后移量*/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,ch3);*/语句ch1=ch1z?ch1-26:ch1;三目运算,先把变量ch1的字符的值与z值进行比较,如果大于z条件成立,则执行“?”后的表达式ch1-26,否则执行“:”后的表达式ch1,最后把表达式的值赋给ch1。中国商业出版社【拓展思考】你能将“ch1=ch1+d;ch1=ch1z?ch1-26:ch1;”两值赋语句合并为一条值赋语句吗?合并后,当d=3、ch1=c、ch1=y分析表达式计算顺序。2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器中国商业出版社【知识总结知识总结】1字符变量的存储形式与运算字符变量的存储形式与运算(1)字符变量的存储字符变量用来存储字符常量,即单个字符。每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以 ASCII码的形式存放在变量的内存单元之中的,如a的ASCII码值97,ch1=a;就是把97存入ch1变量中。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,ch1),也允许把整型量按字符量输出。整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器中国商业出版社2、字符数据的输入输出、字符数据的输入输出(1)putchar 函数(字符输出函数)putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(ch),ch为一个字符数据(普通字符、转义字符或整数)例如:putchar(A);(输出大写字母 A)putchar(ch1);putchar(n);(换行)(2)getchar 函数(键盘输入函数)getchar 函数的功能是从键盘上输入一个字符。通常把输入的字符赋予一个字符变量,构成赋值语句,如:ch1=getchar();注意:getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。使用本函数前必须包含文件“stdio.h”。2.3 项目四项目四 字符运算字符运算密码加工译码器密码加工译码器中国商业出版社3、基本算术运算符、关系运算符、基本算术运算符、关系运算符(1)基本的算术运算符基本的算术运算符有加法运算符“+”、减法运算符“-”、乘法运算符“*”、除法运算符“/”和模除运算“%”。相同点:都有两个量参与运算,又称双目运算。如 a+b,4+8,a-b,(a+b)*(a-b),(a-b)。不同点:除法运算符“/”,当参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。模除运算“%”两侧必须是整型数据。求除数运算的结果等于两数相除后的余数。常用来判断是否为奇偶数,如: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。中国商业出版社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的值不变赋给 ch1,即如果字符变量超出z的范围就减26的操作,否则不变。例如输出两个数中的大数。main()int a,b,max;printf(n input two numbers:);scanf(%d%d,&a,&b);printf(max=%d,ab?a:b);中国商业出版社使用条件表达式时,还应注意以下几点:(1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。(2)条件运算符的结合方向是自右至左。例如:ab?a:cd?c:d应理解为ab?a:(cd?c:d)这也就是条件表达式嵌套的情形,即其中的表达式 3 又是一个条件表达式。中国商业出版社【技能训练技能训练】1模仿项目示例,完成数码加密程序。从键盘输入数字字符(0-9),后移加密,当超出字符范围从头循环,如当后移2位时,输入109加工后为321。2编一程序,以键盘输入三个大写字母,要求改用小写字母输出。(提示:大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32)3编一程序,从键盘输入三个英文字母或数字字符,要求打印输出字母的ASCII码。(提示:printf(nASCII码为%d n,ch1),ch1为字符变量)中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【项目任务项目任务】从键盘上输入学生基本信息,打印输出。=学号:09288726 姓名:张小勤性别:男 年 龄:19身高:1.70 m 体重:50 kg班级:ACCP2 电话:1352626889QQ号:78788068 电子邮箱=中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【项目目标项目目标】1.了解C语言的数据类型2.了解整型、实型和字符型数据的形式3.了解字符型、字符串数据的存储特点4.掌握各类型变量的定义以及赋值的方法5.掌握printf()、scanf()函数输出格式6.了解转义字符中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【技术要点技术要点】1、项目程序的设计步骤、项目程序的设计步骤顺序结构程序的函数体中,由完成具体功能的语句构成。(1)变量定义语句。分析信息的基本数据类型,声明各信息存储的变量。(2)数据输入语句。使用赋值运算、用Scanf()输入函数为变量赋值。(3)计算语句。运用各种计算方法对数据进行处理。(4)结果输出语句。使用输出函数,设计输出格式,将处理的结果数据输出至计算机显示。本项目程序是顺序程序,根据项目程序设计的要求,其主要操作是输入输出,只有数据的输入存储和输出,没有数据计算。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 2、学生信息的基本数据类型、学生信息的基本数据类型 先分析基本数据的格式特点,确定输入输出的信息存储要求,根据基本数据特点,确定变量名,定义变量的类型,便于输入、输出的信息。基本信息对应的英文存储的值类型学号student_id9288726长整型姓名name张小勤字符串身高height170实型体重weight 50.5实型性别sexM(男)W(女)字符型年龄age16整型班级class_numACCP2字符串电话telephone_num1352626889字符串QQ号QQ_num80808818长整型电子邮箱e- 字符串中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 变量名取对应的英文,便于输入操作。类型要考虑存储字符格式。学号(stu_id)、QQ号是整数字,不含其他字母,数位较长,采用长整型;姓名(name)、班级(class_num)可以是英文字母、数字、汉字等只好采用字符串;性别(sex)只有一个字母M或W,采用字符型;身高(height)、体重(weight)有小数,用实型;年龄(age)整数,用整型;电话(tel_num)可用长整型,考虑有时输入区号、括号,故采用字符串。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3、输入输出语句、输入输出语句 在C语言中,所有的数据输入、输出都是由库函数完成的。scanf()函数称为格式输入函数,它的功能是按用户指定的格式把数据输入到指定的变量之中。printf()函数是一个格式输出函数,数据输出时由格式控制字符串指定输出格式,不同类型的数据输入、输出时格式要求是不相同的。格式控制字符串内定容是不同的,利用转义字符可定位格式。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【程序代码程序代码】#includevoid main()long stu_id;/*长整型变量,存放学号长整型变量,存放学号*/char name20;/*字符串,存放姓名字符串,存放姓名*/char sex;/*字符型变量字符型变量sex,存放性别,存放性别*/int age;/*整型变量整型变量age,存放龄,存放龄*/float height;/*实型变量实型变量height,存放身高,存放身高*/float weight;/*实型变量实型变量weight,存放体重,存放体重*/char tel_num12;/*字符串,存放电话号码字符串,存放电话号码*/char class_num10;/*字符串,存放班级字符串,存放班级*/long qq_num;/*长整型变量,存放长整型变量,存放QQ号码号码*/char e_mail50;/*字符串,存放电子邮件字符串,存放电子邮件*/中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 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(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);中国商业出版社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%-sn,tel_num);printf(qq_num:tt%ldn,qq_num);printf(e_mail:tt%sn,e_mail);printf(=n);中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【程序说明程序说明】1字符串的存取字符串的存取在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。字符数组的定义:字符类型 字符数组名长度char name20;char e_mail50;定义的字节长度至少大于字符串中字符个数加1。字符数组存储值的赋值,采用scanf(%s,name)输入。scanf(%s,name)在输入字符串数据时,使用字符串的首地址,不要一个取地址运算符“&”。字符数组存储值的输出,采用printf(“name:tt%sn”,name)打印f函数输出。2.程序输入的提示信息程序输入的提示信息由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示信息,方便用户输入值。程序的输入scanf语句的上一条语句是printf打印语句,用来提示用户输入数据。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3输入输入scanf函数数据类型与变量的类型一致函数数据类型与变量的类型一致scanf函数输入数据的类型与变量的类型要一致,由格式控制字符串来确定,格式字符串是以%开头的字符串,在%后面跟有各种格式字符来说明,如:%ld(长整型)、%d(整型)、%f(实型)、%s(字符串)和%c(字符型)。4清除缓冲清除缓冲fflush函数函数语句中fflush(stdin)是清除缓冲fflush函数,上一条输入语句scanf(%s,name)是“回车键”结束,下一条输入语句scanf(%c,&sex)输入一个字符数据时,会将缓冲区中的“回车键”的ASCII送给变量sex,结果不正确。故在scanf(%c,&sex)输入字符数据之前,用清除上一条语句的“回车键”字符,以便scanf(%c,&sex)输入一个字符数据。也可用“getchar();”语句替换吸收“回车键”字符。5printf 函数格式控制函数格式控制printf 函数格式控制字符串中的转义字符:“n”为回车换行符号。“t”跳到下一个输出区,每个为8字符位置。用于对齐打印输出。“%7.2f”表示指定输出宽度为7、精度为2的实数。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【程序思考程序思考】printf(please input stu_id:n);scanf(%ld,&stu_id);printf(please input name:n);scanf(%s,name);请你将上述两printf函数语句合并为一条提示输入语句,用scanf函数语句一次输入(stu_id、name)两个变量的值?中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【应用拓展应用拓展】重新编写输出语句,使程序运行结果将个人信息一行显示两项。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:t%ld te_mail:t%snn,qq_num,e_mail);printf(=n);中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【拓展思考拓展思考】请你重新编写输出语句,使程序运行结果将个人信息一行两项并用中文显示。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【知识总结知识总结】1、顺序结构程序的特点、顺序结构程序的特点顺序结构程序在函数体中,由完成具体功能的语句构成。变量定义语句。数据输入语句。使用赋值运算、输入函数,将数据提供给计算机。计算语句。运用各种计算方法对数据进行处理。结果输出语句。使用输出函数,将处理的结果数据输出至计算机显示。顺序结构程序的特点,各条语句是按照物理位置的先后次序顺序执行的,并且每条语句都会被执行到。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 2、字符串常量、字符串常量字符串常量是由一对双引号括起的字符序列。例如:CHINA,“C program”,$12.5 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。(3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0(ASCII码为0)。这是字符串结束的标志。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 3、数据的格式输入与输出、数据的格式输入与输出scanf 函数和printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。printf 函数(格式输出函数)printf 函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf 函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:“%d”(十进制整型),“%ld”(十进制长整型)。非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 C中格式字符串的一般形式为:标志输出最小宽度.精度长度类型 其中方括号 中的项为可选项。(1)类型:类型字符用以表示输出数据的类型格式字符意 义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0)x,X以十六进制形式输出无符号整数(不输出前缀Ox)u以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息(2 2)标志:标志字符为)标志:标志字符为-、+、#、空格四种,其意义下表所示:、空格四种,其意义下表所示:标 志意 义-结果左对齐,右边填空格+输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0 x;对e,g,f 类当结果有小数时才给出小数点中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息(3)输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。(4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。(5)长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 scanf 函数的一般形式为:scanf(“格式控制字符串”,地址表列);(1)“地址表列”是由若干个地址组成的列表,可以是变量的地址或字符串的首地址。在输入字符串数据时,使用字符串的首地址,不要一个取地址运算符“&”。(2)格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔。中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息 转义字符转义字符转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。常用的转义字符及其含义转义字符 转义字符的意义n 回车换行t 横向跳到下一制表位置v 竖向跳格b 退格r 回车 中国商业出版社24 项目五项目五 输入输入/输出同学个人信息输出同学个人信息【技能训练技能训练】模仿项目示例,分析图书管理系统中图书的基本数据,根据其特点定义对应的变量类型,从键盘上输入数据,打印输出。基本信息对应的英文存储的值类型书号IDTitle_idISBN 987-8-111-1238书名book_name语言程序设计出版社publishXXX出版社单价price35.5购书时间addtime2010-4-15数量book_num12中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【项目任务项目任务】超市购物结账程序,购买饮料,打印购买商品清单。项目程序设计的功能要求:1提示用户购买的商品,分别输入四种购买商品的数量;2打印输出各商品的数量、单价、支付价序列;3计算总计价,打印输出;4提示输入用户是否是会员,是会员扣价95%,打印输出折扣计价。5提示输入收用户支付的整币,打印输出应找零币。程序运行结果:中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【项目项目目标目标】1.熟悉顺序程序设计方法和步骤2.熟悉整型、实型和字符型数据的形式3.掌握各类型变量的定义以及赋值的方法4.掌握输入、输出函数格式和赋值语句的用法中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【技术要点技术要点】1、项目算法设计 确定会员身份录入购买商品的数量、汇总收取用户整币找零币打印购买商品清单结束定义变量、赋值输入收整币计算计价、总价、折扣打印商品清单计算应找零币输入购买数量、会员开始中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【技术要点技术要点】2、程序数据结构购买商品信息表 项目(items)数量(num)(unit price)金额(Total Amount)可乐coke135王老吉Wong lo kat135红牛red bull140八宝粥Mixed congee145椰汁Coconut juice135百威Budweiser150商品的数量(int)整型、购买商品的单价、总价、折扣、输入收整币等金额采用(float)实型。会员的标志用字符型变量ch1存储。中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序【程序代码程序代码】#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;/*存放八宝粥数量Mixedcongee_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*/中国商业出版社25 项目六项目六 超市购物结账程序超市购物结账程序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,&Mcon_num);中国商业出版社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);printf(百威:t%d*%.2f
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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