收藏 分销(赏)

C程序设计课件电子教案.pptx

上传人:精*** 文档编号:12068158 上传时间:2025-09-05 格式:PPTX 页数:250 大小:4.44MB 下载积分:25 金币
下载 相关 举报
C程序设计课件电子教案.pptx_第1页
第1页 / 共250页
C程序设计课件电子教案.pptx_第2页
第2页 / 共250页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,引入,任务,1,编写一个应用程序,实现 ATM 自动取款机界面。,任务,2,编写一个应用程序,实现购物结算系统界面。,内容提纲,CONTENTS PAGE,04,如何学习,C,语言,02,为什么要学习,C,语言,03,C,语言主要内容,01,C,语言简介,C,语言简介:什么是程序,生活中的程序,生活中的程序,通常指完成某些事务的一种既定方式和过程,下面一起看生活中,ATM“取钱”程序,。,计算机程序,计算机程序与生活中的程序相似,但是计算机不会主动去执行,需要我们给予命令,如“ATM 取钱”,命令是取钱,程序就只能是取钱,而不是存钱。每一条下达的命令,就是指令,对应计算机执行的一个基本动作。告诉计算机按照某种顺序完成一系列指令,这一系列指令的集合称为程序。程序是为了使计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。,C,语言简介:编程语言,初次,看到,C,语言,大多同学或许有疑问,之前很熟悉汉语,略懂,英语、韩语,,还听说,德语,、,法语,等各国不同语言,可不了解,C,语言,甚至未听说。,C,语言是一种编程语言,接下来先理解什么是,编程语言,。,编程语言,的目的是使用,人类语言,去,控制计算机,,告诉计算机我们要做的事情,电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,,程序是计算机要执行的指令的集合,,而程序全部都是用我们所掌握的语言来编写的。编程语言种类非常的多,总的来说可以分成,机器语言、汇编语言、高级语言,三大,类,.,CPU,指令系统,由,0,、,1,序列构成的指令码组成,如:,10000000,加,10010000,减,用助记符号描述的指令系统,如,ADD A,B,面向机器的语言,机器语言,汇编语言,高级语言,面向过程和面向对象,6,硬件(,Hardware,),操作系统(,OS,),应用程序(,Application,),应用平台,基于平台的应用程序,低级语言的地盘,高级语言的地盘,C,语言的地盘,内容提纲,CONTENTS PAGE,04,如何学习,C,语言,02,为什么要学习,C,语言,03,C,语言主要内容,01,C,语言简介,05,集成编译环境说明,编程语言排名(,TIOBE,)(走势图和排名),C,语言是现代编程语言的开山,鼻祖,。,毫不,夸张,它改变了编程世界,Unix,Linux,Windows,Android,等操作系统,JAVA,虚拟机,Apach,Oracle,Sqlserver,Matlib,等应用软件,Python,Ruby,等编程语言,认证与比赛,项目名称,级别,主管部门,备注,全国计算机等级考试,二级,C,语言,教育部考试中心,认证,全国计算机技术与软件专业技术资格(水平)考试,初级资格(程序员),人力资源和社会保障部以及工业和信息化部,认证,全国计算机技术与软件专业技术资格(水平)考试,中级资格(软件设计师),人力资源和社会保障部以及工业和信息化部,认证,ACM,比赛,地区或国际比赛,比赛,百度编程大赛,百度,比赛,Googgle,编程大赛,Google,比赛,华为编程大赛,华为,比赛,蓝桥杯大赛,工业和信息化部人才交流中心,比赛,内容提纲,CONTENTS PAGE,04,如何学习,C,语言,02,为什么要学习,C,语言,01,C,语言简介,03,C,语言主要内容,基本语法,:常量与变量,基本数据类型,运算符与表达式,输入输出语句,程序结构,:包括顺序结构、选择结构、循环结构。掌握,while,、,do-while,、,for,语句的格式,理解这些语句的执行过程,会编写具有嵌套结构的循环程序;掌握,break,语句和,continue,语句的使用方法,模块化设计,:数组、函数、变量作用域。能用一维数组或二维数组解决排序、矩阵等问题,能运用字符数组和字符串解决字符串的输入输出和统计查找等问题。熟练掌握函数定义的一般形式和函数的调用方法,掌握函数参数和函数的返回值,了解函数的嵌套调用和递归调用,指针与结构体,:,掌握地址和指针的概念、指针变量的定义与引用,掌握数组和字符串的指针表示与应用,文件,:掌握文件的打开、关闭、读写等操作;了解文件内容的定位与查找;重点掌握,fprintf,、,fscanf,、,fseek,等函数。,内容提纲,CONTENTS PAGE,02,为什么要学习,C,语言,01,C,语言简介,03,C,语言主要内容,内容,04,如何学习,C,语言,1,任务引入,2,集中知识点学习,3,综合例题讲解,4,独立作业,5,独立实训,敲代码!,编写第一个程序,步骤,第一步:编辑。,第二步:编译。,第三步:链接。,第四步:运行。,在运行结果与期望不符时,需要检查原因,修改代码,重新执行第一步到第三步直到程序没有问题。,/*,编写第一个 C 程序,*/,void main(),printf(Hello World!);/输出 Hello World!,实现任务,任务,1,#include,#include,/*,显示 ATM 自动取款机,*/,main(),printf(欢迎 Teacher 进入 ATM 自动取款机 n);,printf(*n);,printf(n1.用户信息 t 2.修改密码 n);,printf(n3.取款 tt 4.存款 n);,printf(n5.转账 tt 6.取消 n);,printf(*n);,任务,2,#include,#include,/*,显示购物结算系统,*/,main(),printf(n 欢迎 teacher 使用购物结算管理系统 n);,printf(n*n);,printf(n1.客户信息管理 n);,printf(n1.购物清单 n);,printf(n1.购物结算 n);,printf(n1.退出 n);,printf(n*n);,system(pause);,内容,提纲,CONTENTS PAGE,04,独立作业,02,知识点讲解,03,例题讲解,01,任务,05,独立实训,任务,1,:,界面,控制台式界面,功能步骤,步骤,1,:提示用户输入,步骤,2,:接收数据步骤,3,:计算,实际消费金额,步骤,4,:输出,实际消费金额,数学模型,消费金额,=,程序结构,顺序,【问题提出】,编写一个应用程序,实现从键盘上输入购物物品名称、单价、数量和折扣,程序自动计算实际消费金额,结果显示在屏幕上,即超市自动结算器,【问题分析】,涉及的数据:,物品名称、单价、数量和折扣,,,实际消费金额,功能要求:提供界面,接收,实际消费金额,,计算消费金额,注意:,C,程序中界面模式是控制台式界面(非鼠标交互界面)。,【总体设计】,根据问题分析,其设计如,表格,。,任务,2,:,界面,控制台式界面,功能步骤,数学模型,消费金额,=,程序结构,顺序,在任务1的基础上,会员按照消费10元1个积分计算,并打印小票。,请同学们补充右边这个表格。,任务,3,:,界面,控制台式界面,功能步骤,数学模型,消费金额,=,程序结构,顺序,商场推出了购物抽奖活动,当输入客户卡号,根据规则输出各位数之和。抽奖规则是,4位会员卡各位数之和为28则中奖了,请同学们思考并补充右边表格,任务,1,:,圆面积计算器,界面,控制台式界面,功能步骤,步骤,1,:提示用户输入,步骤,2,:接收数据步骤,3,:计算,实际消费金额,步骤,4,:输出,实际消费金额,数学模型,消费金额,=,程序结构,顺序,【问题提出】,编写一个应用程序,实现从键盘上输入购物物品名称、单价、数量和折扣,程序自动计算实际消费金额,结果显示在屏幕上,即超市自动结算器,【问题分析】,涉及的数据:,物品名称、单价、数量和折扣,,,实际消费金额,功能要求:提供界面,接收,实际消费金额,,计算消费金额,注意:,C,程序中界面模式是控制台式界面(非鼠标交互界面)。,【总体设计】,根据问题分析,其设计如,表格,。,内容,提纲,CONTENTS PAGE,04,独立作业,03,例题讲解,01,应用程序,05,独立实训,02,知识点讲解,2.2.1C,程序的构成,main()/,有且只有一个,语句,;/,多条,从外观看程序由行组成,每行又由一个或多个语句组成,语句间用分号(,;,)隔开。,main(),称主函数,花括号之间的内容是它的函数体。一个程序可以由多个函数组成,但主函数只能有一个,程序执行时开始于主函数,也结束于主函数。,2.2.2C,程序注释,所谓注释是为了读懂程序而加的注释信息,其有无不影响程序的正确性。,C,程序提供以下两种注释方式:,/,:单条注释,/*/,:多条注释,2.2.3 C,程序数据类型,数据类型,基本类型,构造类型,指针类型,整型,字符型,枚举型,浮点型,空类型,数组类型,共用体类型,结构体类型,单精度型,双精度型,2.2.4,常量与变量,1.,在程序运行过程中值不发生变化的量,称为,常量,。,C,常量分数值型常量和字符型常量两类,如,217,、,-2.5,是数值型常量,,a,是字符型常量。,C,语言系统能根据常量的书写形式自动识别其类型。,常量可用宏定义命令,#define,来定义一个常量的标识,且一旦定义后,该标识将永久性代表此常量,常量标识符一般用大写字母表示。,用宏定义命令定义常量的目的便于在大型程序中反复使用某一数值,这样,会带来很多方便,因为,当改变了常量的初始值后,其后的所有使用该常量的语句,都会自动使用该常量改变后的值。,符号常量定义的一般格式为:,#define,符号常量标识符,数值,如例题,2-1,圆周率就可以定义为符号常量:,#define PI 3.14,定义完成后我们要用到圆周率时就可以使用,PI,这一常量,。,2.,在程序运行过程中其值可变化的量,称,变量,。,C,语言中变量的使用规则为先定义后使用,此环节好比我们要将某个产品存放到仓库以前,应该建立能存放产品的库房一样。定义变量的实质是给变量分配一定字节数的内存空间,定义变量的基本形式为:,数据类型 变量名标识符;(如:,double r;/,定义圆的半径),变量说明:,“变量名标识符”为变量的名字,其命名规范要符合,C,语言合法的标识符,,C,语言规定合法标识符由由字母、数字、下划线组成,并且只能由字母或下划线开始,其长度一般不超过,8,个字符,还不能使用,C,语言保留字(见附录),。,下面是合法的标识符,也是合法的变量名。,r,s,Sum,average,class,day,month,student_name,_above,lotus_1_2_3.,下面是不合法的标识符:,M.D.John,$123,#33,3D64,ab,int,2.2.5,整型常量与整型变量,1.,整型常量,整型常量有时我们也称为整常数。在,C,语言中常见的表示方法有十进制整常数、八进制整常数、十六进制整常数。,十进制整常数,其数码为,0,9,。,八进制整常数必须以,0,开头,即以,0,作为八进制数的前缀。数码取值为,0,7,。八进制数通常是无符号数。,十六进制整常数的前缀为,0X,或,0 x,。其数码取值为,09,,,AF,或,af,。,2.,整型变量,在,C,语言中,当我们需要一个用于存放整数的空间时我们就可以利用,C,语言中的整型的关键字,(,如,int),定义整型变量,。,类型名,关键字,占字节数,数据表示范围,基本整型,int,2,-3276832767,短整型,short int,或,short,2,-3276832767,长整型,long int,或,long,4,-21474836482147483647,无符号整型,unsigned int,或,unsigned,2,065535,无符号短整型,unsigned short int,或,unsigned short,4,065535,无符号长整型,unsigned long int,或,unsigned long,4,04294967295,数据类型,变量名标识符,变量名标识符,,.;,如:,int a,b,c;/*,同时定义,a,b,c,三个整型变量,*/,long x,y;/*,同时定义,x,y,两个长整型变量,*/,unsigned p,q;/*,同时定义,p,q,两个无符号整型变量,*/,允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。数据类型与变量名之间至少用一个空格间隔。,最后一个变量名之后必须以“;”号结尾。,变量说明必须放在变量使用之前。一般放在函数体的开头部分。,整型变量练习,/*,练习,2-1,:整型变量的定义和使用,*/,main(),int ic;/*,定义整型变量,ic*/,long id;/*,定义长整型变量,id*/,ic=44;/*,将数据,44,存入空间,ic,中,*/,id=22;,id=id+ic;/*id,中数据加上,ic,中数据后存入,ic,中,*/,printf(id=%dn,id);/*,输出,id,中的值,*/,printf(sizeof ic:%dn,sizeof(ic);/*,输出,ic,存储空间的大小,*/,printf(sizeof id:%dn,sizeof(id);,system(pause);,请上机调试写出结果,2.2.6,实型常量与实型变量,1.,实型常量,实型也称为浮点型。实型常量也称为实数或者浮点数。在语言中,实数只采用十进制,十进制又分为十进制数形式和指数形式。十进制数形式由数码,0 9,和小数点组成。例如:,0.0,,,.25,,,5.789,,,0.13,,,5.0,,,300.,,,-267.8230,等均为合法的实数。指数形式由十进制数,加阶码标志“,e,”或“,E,”以及阶码组成。如:,2.1E5(,相当于,2.1*105),、,3.7E-2,都是合法的指数表示形式。,思考:以下是合法的指数形式表示吗?,以下不是合法的实数的指数形式表示:,345(,原因:无小数点,),E7(,原因:阶码标志,E,之前无数字,),-5(,原因:无阶码标志,),53.-E3(,原因:负号位置不对,),2.7E(,原因:无阶码,),2.,实型变量,C,语言中的实型变量分为两类:单精度型和双精度型,其类型说明符单精度为,float,,双精度说明符为,double,。,单精度型变量占,4,个字节(,32,位)内存空间,其数值范围为,3.4E-38,3.4E+38,,只能提供七位有效数字。双精度型占,8,个字节(,64,位)内存空间,其数值范围为,1.7E-308,1.7E+308,,可提供,16,位有效数字,如表,2-2,所示。,类型名,关键字,占字节数,数据表示范围,单精度型,float,4,3.4E-38,3.4E+38,双精度型,double,8,1.7E-308,1.7E+308,实型变量说明的格式和书写规则与整型相同。,例如:,float x,y;(,定义,x,y,为单精度实型量,),double a,b,c;(,定义,a,b,c,为双精度实型量,),实型常量不分单、双精度,计算机都按双精度,double,型处理,2.2.7,字符型数据,1.,字符常量,字符常量是用单引号括起来的一个字符。例如,a,、,b,、,=,、,+,、,?,都是合法字符常量。在语言中,字符常量有以下特点:,字符常量只能用单引号括起来,不能用双引号或其它括号。,字符常量只能是单个字符,不能是连续几个字符组合构成的字符串。,字符可以是字符集中任意字符。,ASCII,码表。,2.,转义字符,转义字符是,C,语言中一种特殊的字符常量。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符,主要用来表示那些用一般字符不便于表示的控制代码。转义字符以反斜线,“”,开头,后跟一个或几个字符。例如,在前面例题,printf,函数的格式串中用到的,n,就是一个转义字符,其意义是“回车换行”。,3.,字符变量,字符变量的类型说明符是,char,在计算机中占居一个字节的存储空间,其类型说明的格式和书写规则都与整型变量相同。如:,char a,b;,定义两个可以存放字符常量的变量空间,分别是,a,和,b,每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符变量的值是单个字符。它是以,ASCII,码的形式存放在变量的内存单元之中的。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,练习,2-2:,字符型,/*,练习,2-2,:字符型数据,*/,main(),char a,b;,a=120;,b=121;,printf(%c,%cn%d,%dn,a,b,a,b);,system(pause);,练习,2-3,:字符型数据运算,/*,练习,2-3,:字符型数据,*/,main(),char a,b;,a=x;,b=y;,a=a-32;,b=b-32;,printf(%c,%cn%d,%dn,a,b,a,b);,system(pause);,4.,字符串常量,字符串常量是由一对双引号括起的字符序列。例如:,CHINA,,,C program:,,,$12.5,等都是合法的字符串常量。字符串常量的主要特点是:,字符串常量由双引号括起来。,字符串常量则可以含一个或多个字符。,不能把一个字符串常量赋予一个字符变量。,字符串常量以,0,作为结尾标志,它所占的内存字节数等于字符串中字符数加,1,。,0 ASCII,码为,0(,空操作,),是系统自动为字符串添加的。,例如,字符串,C program,在内存中实际存放内容为:,C program0,,占,10,个字节。字符常量,a,和字符串常量,a,虽然都只有一个字符,但在内存中的情况是不同的。,a,在内存中占一个字节,,a,在内存中占二个字节。,在语言中没有相应的字符串变量。但可以用一个字符数组来存放一个字符串常量。在数组一章内予以对字符串存放和处理的介绍。,2.2.8,变量赋值,在前面我们已经学习了变量的定义和基本使用,实际上在我们编程中经常存在定义变量的同时就给变量赋值的情况。在定义时赋以初值的方法,这种方法称为初始化。在变量说明中赋初值的一般形式为:,int r=3;/,指定,r,为整型变量,初值为,3,float s=12.56;/,指定,s,为实型变量,初值为,12.56,char c=K;/,指定,c,为字符型变量,初值为,k,也可以对几个变量同时赋初值,如:,float x=3.2,y=3.8,z=0.75;,char ch1=K,ch2=P;,也可以为同时定义的多个变量中的部分变量赋初值。,例如:,float x=3.2,y,z=0.75;,2.2.9,各类数值型数据间的混合运算,1/5.0+25+b-,1.5,计算机如何处理该运算,自动转换,unsigned,long,double,float,int,char,short,低,高,数据类型,转换程序举例。,main,(),float PI=3.14159;,int s,r=5;,s=r*r*PI;,printf(s=%dn,s);,强制类型转换,强制,类型转换是通过强制类型转换运算来实现的。,其一般形式为:,(,类型说明符,)(,表达式,),其功能是把表达式的运算结果强制转换成类型,说明符,所表示的类型,想一想,请分析下列程序的输出结果。,main(),float x;,int i;,x=3.6;,i=(int)x,2.4;,printf(x=%f,i=%d,x,i);,2.2.8,运算符与表达式,算术运算符,关系运算符,48,算术运算符与表达式,C,语言中常见的,算术运算符,为:,+,、,-,、*、,/,、,%,,分别表示加,减,乘,除,求余的操作运算。,在,C,语言中,表达式是由常量、变量、函数和运算符组合起来的表达式。用算术运算符和括号将运算对象(也称操作数)连接起来的、符合,C,语法规则的表达式称为,算术表达式,。,一个最简单的算术表达式:,3+4-12,49,算术运算符与表达式,在算术运算符中,,+,、,-,同优先级,*、,/,、,%,同优先级,而,+,、,-,优先级低于*、,/,、,%,。,在,C,语言中两个整数相除结果为整数,如,1/2,结果为,0,,而,1.0/2,或,1/2.0,或,1.0/2.0,值为,0.5,,即以参与运算量的最大类型为结果类型。,%,为两个整数相除的余数,如,17%3,的结果为,2,,,3%17,的结果为,3.,表达式结果的类型与参与运算量的最大类型(指占用的内存字节数,后同)一致。,算术运算符是双目运算,具有左结合性。,2025/9/5 周五,50,算术运算符与表达式,想一想,请分析以下程序的输出结果。,main,(),printf(nn%d,%dn,20/7,-20/7+4);,printf(%f,%fn,20.0/7,-20.0/7+4);,51,关系运算符和关系表达式,6 种关系运算符,:,(小于),(小于或等于),(大于),(大于或等于),(等于),!(不等于),关系运算符及其优先次序,优先级相同(高),优先级相同(低),结合性,:自左向右,2025/9/5 周五,52,关系运算符和关系表达式,与其它运算符优先级的比较:,算术运算符,关系运算符,赋值运算符,(高),(低),例如:,c=da+b,等效于:,c=(d(a+b),53,1.什么是关系表达式?,关系运算符和关系表达式,如:(,ab)(bc)、,a,y、s+fd,2.关系表达式的值,运算结果逻辑值 1,“,真,”,,0,“,假,”,如,:设,a=3,b=2,c=1,求下面关系表达式 的值:,cb,(a-b,)=1,b+ca+b&ab,等效于:,c=(d(a+b)&(ab),2025/9/5 周五,56,练习,:,在,C,语言中,能代表逻辑值,“,真,”,的是()。,A)true,B),大于,0,的数,C),非,0,整数,D),非,0,的数,以下关于运算符优先顺序的描述中正确的是()。,A),关系运算符,算术运算符,赋值运算符,逻辑运算符,B),逻辑运算符,关系运算符,算术运算符,赋值运算符,C),赋值运算符,逻辑运算符,关系运算符,算术运算符,D),算术运算符,关系运算符,赋值运算符,逻辑运算符,2025/9/5 周五,57,练习,:,下列运算符中优先级最高的是()。,A)=y&ch5?5:3,312?34-2:2*3,61,条件运算符与表达式,【,例,1-10】,条件表达式求值举例。,#include,main,(),int result;,int a=1,b=2,c=3;,result=ab?b+c:b-c;,printf(“,result,=%dn”,result,);,分析此程序,我们很容易得到输出结果为;,result=-1,62,地址运算符及表达式,在前面我们学习了变量的定义,也知道了定义变量实际就是在计算机的内存中给我们分配一段存储空间,通过变量名,我们就可以访问到变量空间中的数。实际上,C,语言还为我们提供了另外的访问方式,即指针访问,有时我们也称为地址访问。,C,语言提供了两个指针运算符号,:,运算符,名 称,用 法,结 果,&,运算符,取地址运算符,&,变量,变量在内存中的存放地址,*,运算符,指针运算符号,*指针变量,指针变量所指空间的值,63,逗号运算符与逗号表达式,逗号运算符(,)的优先级排名倒数第一,其基本使用格式是:,表达式,1,表达式,2,表达式,n,C,语言从左向右依次计算各表达式之值,取最后的一个表达式即表达式,n,的值为整个逗号表达式的值。,64,逗号运算符与逗号表达式,请,分析以下程序的输出结果。,main,(),int x=6,y=7,z;,z=(x+6,y-1,x+y);,printf(“%d”,z);,65,自增和自减运算符,1,自增运算符(,+,),使操作数的值增,1,,其操作数必须为变量,+,可以置于操作数前面,也可以放在后面,例如:,+n;,和,n+;,等价于,n=n+1;,区别:,+,前置和后置实际上是有区别的。例如:,int n=1,post,pre;,post=n+;,(先使用后自己增加),pre=+n;,(先自己增加后使用),66,自增和自减运算符,例:,int,n=5,post=1,pre=1;,pre=+n+pre;/,运算结束后,pre,为,7,,,n,为,6,n=5;,post=n+post;/,运算结束后,post,为,6,,,n,为,6,67,自增和自减运算符,2,自减运算符(,-,),使操作数的值减,1,,其操作数必须为变量,+,可以置于操作数前面,也可以放在后面,例如:,-n;,和,n-;,等价于,n=n-1;,区别,:,+,前置和后置实际上是有区别的。例如:,int n=1,post,pre;,post=n-;,(先使用后自己增加),pre=-n;,(先自己增加后使用),68,自增和自减运算符,【,例,1-11】,设,n=3,、,m=5,,计算表达试的值。,+n+m,执行后,m,值为,5,,表达式值为,9,;,m+n+,执行后,m,值为,5,,表达式值为,8,;,-m+n,执行后,m,值为,4,,表达式值为,7,;,m+n-,执行后,m,值为,5,,表达式值为,8,;,printf(“%d“,m-),执行后,m,的值是,4,输出是,5;,69,输出语句,-printf,在语言中,所有的数据输入输出都是由库函数完成的。,printf,函数是一个标准库函数,它的函数原型在头文件“,stdio.h”,中。,printf,函数调用的一般形式为:,printf(“,格式控制字符串”,输出表列,),;,格式控制字符:用于指定输出格式,输出列表:要输出的值的序列,用逗号隔开,70,输入输出语句,-printf,格式控制字符串,:,由,格式字符串,和,非格式字符串,两种组成。,格式,字符串是以,%,开头的字符串,在,%,后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“,%d”,表示按十进制整型输出,“,%ld”,表示按十进制长整型输出,“,%c”,表示按字符型输出等。,非,格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。,71,输入输出语句,-printf,在,Turbo C,中一个最简单的输出格式字符串的形式为:,%,标志,输出最小宽度,.,精度,l,或,h,类型,其中方括号,中的项为可选项。各项的意义介绍如下:,(,1,)类型字符用以表示输出数据的类型,格式控制符,意义,说明,%d,十进制整数,%ld,、,%lo,、,%lx,表示输出的数据是相应进制的长整型,%o,八进制整数,%x,十六进制整数,%f,浮点数,printf(,“,%d%f%c%s,”,a,b,c,str);,则变量,a,、,b,、,c,、,str,类型分别为整型、实型、字符型、字符串,%c,一个字符,%s,一个字符串,72,输入输出语句,-printf,【,例,1-12】,格式输出程序举例,1,void main(),int a=88,b=89;,printf(%d%dn,a,b);,printf(%d,%dn,a,b);,printf(%c,%cn,a,b);,printf(a=%d,b=%d,a,b);,指定宽度与对齐数据,举例,输出结果,说明,printf(“%5d”,123),_ _123,占,5,位,右对齐,左边补空格,printf(“%-5d”,123),123_ _,占,5,位,左对齐,右边补空格,printf(“%3d”,1234),1234,超出指定宽度时不受宽度限制,printf,(“%5.1f”,123.45),_123.5,占,5,位,右对齐,左边补空格,printf,(“%.1”,123.45),123.5,小数点后占,1,位,输入语句,-scanf,scanf,函数:格式输入函数,格式:,scanf,(,格式控制,地址表列,),格式控制的含义与,printf,函数的相同;,地址表列是由若干个以,&,打头的地址项;,例如,:,从键盘输入一个整数的百分制成绩赋值给变量,score1,,可以使用如下操作:,scanf(“%d”,&score1),字符数据的专用输入输出函数,为了方便用户对字符数据的输入输出,,C,语言专门提供了字符输入输出函数,这两个函数也包含在头文件,stdio.h,中,在使用时,必须在程序的主函数前加上,#include,或,#include stdio.h,格式:,putchar(,字符变量,/,字符常量,),功能:在显示设备上输出一个字符变量的值。,例如:,char mychar=A;,putchar(mychar);,格式:,getchar(),功能:从终端设备输入一个字符,一般是从键盘输入字符。,例如:,char mychar;,mychar=getchar();,内容,提纲,CONTENTS PAGE,04,独立作业,02,知识点讲解,01,应用程序,05,独立实训,03,例题讲解,例题:,已知三角形三边长为,10cm,、,11cm,、,12cm,,求其面积,界面,控制台式界面,功能步骤,步骤,1,:,步骤,2,:,步骤,3,:,步骤,4,:,数学模型,程序结构,顺序,【问题提出】。,【问题分析】,涉及的数据:,功能要求:,注意:,C,程序中界面模式是控制台式界面(非鼠标交互界面)。,【总体设计】,根据问题分析,其设计如,表格,。,/*,例题,2-2,:计算三角形面积,*/,#include math.h,main(),float a=10,b=11,c=12,l,s;,l=(a+b+c)/2;,s=sqrt(l*(l-a)*(l-b)*(l-c);,printf(ns=%.2f,s);,system(pause);,凡是程序中用到数学函数,程序首部均该包括头文件,math.h,想一下,本例缺陷是什么,例题:求任意三角形,面积,界面,控制台式界面,功能步骤,步骤,1,:,步骤,2,:,步骤,3,:,步骤,4,:,数学模型,程序结构,顺序,【问题提出】。,【问题分析】,涉及的数据:,功能要求:,注意:,C,程序中界面模式是控制台式界面(非鼠标交互界面)。,【总体设计】,根据问题分析,其设计如,表格,。,/*,例题,2-3,:计算任意三角形面积,*/,#include math.h,main(),float a,b,c,l,s;,printf(n,请输入,a,b,c:);,scanf(%f,%f,%f,/,这个语句接受用户从键盘上输入的值,l=(a+b+c)/2;,s=sqrt(l*(l-a)*(l-b)*(l-c);,printf(ns=%.2f,s);,system(pause);,思考,和上例题有什么区别,例题:,鸡兔共笼,小明数了数,共有头,H,个、脚,F,只。问鸡兔各几只?(设,H,、,F,分别为,16,40,;,6,16,;,30,90,),界面,控制台式界面,功能步骤,步骤,1,:,步骤,2,:,步骤,3,:,步骤,4,:,数学模型,程序结构,顺序,【问题提出】。,【问题分析】,首先将实际问题转化为数学模型。设笼内鸡,x,只,兔,y,只,可列出二元一次方程,。,组功能要求:,【总体设计】,根据问题分析,其设计如,表格,。,/*,例题,2-5:,鸡兔问题,*/,#include stdlib.h,main(),int H,F,x,y;,system(cls);/*,清除屏幕上的字符,光标回到屏幕左上角,*/,printf(n,请输入,H,F:);,scanf(%d,%d,x=(4*H-F)/2;,y=(F-H)/2;,printf(n%d t%d,x,y);,system(pause);,上机调试程序时,连续执行,3,次,每次键盘输入不同的,H,、,F,,即可输出对应的鸡兔只数。对任意整数的,H,、,F,,刚好有对应的,x,、,y,的整数解吗?,第,3,章 选择结构,*,*,内容提纲,CONTENTS PAGE,02,知识点讲解,03,任务讲解,01,任务,05,归纳总结,06,本章练习,04,上机练习,【,任务,1】,判断,XX,牌矿泉水是不是月畅销商品,【,任务,2】,从键盘输入,3,个员工的工资,根据比较三个工资的大小,最终获取最大的工资并打印到屏幕上,【,任务,3】,商场有为员工,他的月工资为,6000,元,请计算他的个人所得税,并打印到屏幕上,【,任务,4】,某超市的员工年度考核是五级制的,将,A,、,B,、,C,、,D,、,E,五个成绩等级转换成,“,优秀,”,、,“,良好,”,、,“,中等,”,、,“,及格,”,、,“,不及格,”,这样的中文说明,*,*,内容提纲,CONTENTS PAGE,03,任务讲解,01,任务,02,知识点讲解,05,归纳总结,06,本章练习,04,上机练习,知识点,1,:关系运算符与逻辑运算符,1.,关系运算,关系运算主要是比较两个数据是否符合某种给定的条件的运算,关系运算符就起到比较的作用。,(,1,),C,语言提供的关系运算符:,需要说明的是,关系运算符,=,是,“,比较等,”,,也就是说,两个运算量通过比较看是否相等?运算结果要么为真,/1,,要么为假,/0,,它完全不同于赋值运算符,=,,赋值运算是将右值赋给左部变量,赋值运算符没有比较的意思,一定要搞清楚它们的用法区别,知识点,1,:关系运算符与逻辑运算符,(,2,)关系表达式,用关系运算符将两个表达式连接起来的式子叫关系表达式。关系表达式的值是,1,或,0,。试分析下面表达式的值。,若,a=3,b=2,c=1,则下列表达式的值分别为多少?,(,a b,),=c,b+c(b=5),的值是多少?,表达式,c!=C,的值是多少?,知识点,1,:关系运算符与逻辑运算符,2.,逻辑运算,逻辑运算表示两个数据或表达式之间的逻辑关系。,(,1,),C,语言提供的逻辑运算符:,&,(逻辑与),|,(逻辑或),!,(逻辑非),逻辑运算的结果也只有真和假,即:,1,和,0,逻辑运算符!的结合性为,“,从右向左,”,,,&,和,|,的结合性仍是,“,左结合性,”,(,2,)逻辑表达式,逻辑表达式的值应该是一个真值或假值的逻辑量,,C,语言编译系统在判断一个量是否为,“,真,”,时,主要是看该量是否为非零值,若为非零值,则认为其为,“,真,”,,用,1,表示;若该量为零值,则认为其为,“,假,”,,用,0,表示。,需要说明的是,关系运算符,=,是,“,比较等,”,,也就是说,两个运算量通过比较看是否相等?运算结果要么为真,/1,,要么为假,/0,,它完全不同于赋值运算符,=,,赋值运算是将右值赋给左部变量,赋值运算符没有比较的意思,一定要搞清楚它们的用法区别,知识点,2,:条件运算符,条件运算符是,C,语言的唯一的三目运算符,即它需要,3,个数据或表达式构成条件表达式。它的一般形式为:,表达式,1,?表达式,2,:表达式,3,如果表达式,1,成立,则表达式,2,的值是整个表达式的值,否则表达式,3,的值是整个表达式的值。如下所示:,例如,将,a,,,b,两个变量中大者放到变量,max,中,我们可以利用条件运算这样来完成:,max=ab?a:b,条件运算符的结合方向为从右往左。,例如:,a b?a:b c?b:c,等价于,ab?a:(b c?b:c),知识点,3,:,if,选择结构,在,C,程序设计中,一般遵循结构化程序设计原则,所有程序可以都用顺序结构、选择结构和循环结构这三种结构表示。,顺序结构,顺序结构是指程序流程自上而下,没有任何分支顺序执行的程序结构,它是最简单的一种结构。前几章所举例子全部属于顺序结构。例,2.1,中的流程图就是顺序结构。,选择结构,选择结构,又称分支结构。程序执行的时候,根据判断条件决定程序流程走哪一条支路。,C,语言中的选择结构以,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服