欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第3章最简单的C程序设计--顺序程序设计.ppt

    • 资源ID:2254817       资源大小:748.01KB        全文页数:44页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第3章最简单的C程序设计--顺序程序设计.ppt

    2019年3月11日星期一,1,第3章 最简单的C程序设计-顺序程序设计,教学目标: 通过本章的学习要求学生了解C顺序程序设计的基本方法;掌握C语言的基本数据类型;掌握常量和变量;掌握C语言的常用运算符和常用的表达式的应用方法;掌握函数输入输出语句的基本用法。 教学内容: 3.1 顺序程序设计 3.2 数的表现形式及其运算 3.3 C语句 3.4 数据的输入输出,2019年3月11日星期一,2,3.1 顺序程序设计举例,【例题3.1】有人用温度计测量出用华氏法表示的温度(如690F)现要求将其转换为以摄氏法表示的温度(如200C)。,解题思路:,根据物理学知识知:,因此: 通过键盘输入一个华氏温度值 根据转换关系进行运算(解决问题的方法即算法) 在显示器上输出摄氏温度值,2019年3月11日星期一,3, 算法,算法是解决“做什么”和“怎么做”的问题,不要认为 只有“计算”的问题才有算法,广义地说为解决某一问题而 采用的方法和步骤。, 算法的特性, 有穷性:一个算法应有限的操作步骤而不能是无限的。 确定性:算法中的每一个步骤都应当是确定的。 有零个或多个输入:执行算法需要从外界取得必要信息。 有一个或多个输出:将算法的结果打印在屏幕上。 有效性:每一个步骤应当有效地执行。,2019年3月11日星期一,4, 算法表示, 用自然语言表示算法 用流程图表示算法 用N-S图表示算法 用伪代码表示算法 用计算机语言表示算法,注释框,2019年3月11日星期一,5, 例题3.1流程图及源程序,#include int main() float f,c; f=64.0; c=(5.0/9)*(f-32); printf(“f=%fnc=%fn”,f,c); return 0; ,2019年3月11日星期一,6,【例题3.2】计算存款利息。有1000元,想存一年。有三种 方法可选: 活期,年利率为r1;一年期定期,年利率 为r2;存两次半年定期,年利率r3。请分别计算出一年后 按3种方法所得到的本息和。,解题思路:,关键是本息和的计算公式。本息和=本金*(1+利率), 一年活期本息和=1000*(1+r1) 一年定期本息和=1000*(1+r2) 一年两次本息和=1000*(1+r3/2)*(1+r3/2),2019年3月11日星期一,7,因此: 通过键盘输入本金值 根据本息和公式计算(解决问题的方法即算法) 在显示器上输出3种方法的本息和,算法N-S图:,依据N-S图编写源程序:,2019年3月11日星期一,8,3.2 数据的表现形式及其运算,3.2.1 常量和变量,在程序运行过程中,其值不能被改变的量称为常量。, 整型常量:程序中用到1000。 实型常量:程序中用到利率。有十进制和指数两种。 字符常量:普通字符用单撇括起来的单个字符;以 开头的字符序列。如:a;n。 字符串常量:用双撇括起来的字符序列如123。 符号常量:用#define命令来定义的符号所代表的一 个常量。如:#define pi 3.1415926。,2019年3月11日星期一,9,【例3.3】符号常量的使用。依据某商品的价格计算顾客购买商品的件数应付的金额。,# define PRICE 30 #include int main() int num,total; num=20; total=num*PRICE; printf(“total=%dn”,total); return 0; ,/*定义价格为符号常量*/ /*输入输出包含的头文件*/ /*程序的主函数并从此处执行*/ /*定义两个变量*/ /*给变量num赋初值20*/ /*计算总金额*/ /*打印输出*/,2019年3月11日星期一,10,2 变量,2019年3月11日星期一,11,3.标识符,在计算机高级语言中,用来对变量、符号常量名、函数、数 组及类型等命名的有效字符序列统称为标识符。,标识符命名规则:,只能由字母、数字和下划线3种字符组成,且第一个字 符必须是字母或下划线。,判断下列标识符是否合法:,¥123;price;_define;int;array;M.D.Jonh,2019年3月11日星期一,12,3.2.2 数据类型, 数学研究的数与计算机中的数的区别:, 数学研究的数是抽象的,数值运算是绝对准确的。 计算机研究的数是具体的,受存储单元字节的限制。 如:1/3 对数学而言是循环小数;对计算机而言只能 是0.333333即近似值。, 数据类型:,是对数据分配单元的安排,包括存储单元的长度及数据 存储形式。不同的类型分配不同的长度和存储形式。,2019年3月11日星期一,13, C语言允许的数据类型,2019年3月11日星期一,14,3.2.3 整型数据,在内存中所占字节数,TC为2B,VC为4B。且以补码表示,2019年3月11日星期一,15, 数在计算机中的存放形式,整型数据在计算机中的存放是指在存储单元中的存储 形式用补码形式存放。, 正数的补码同其原码相同。 负数的补码是求其正数的原码,然后按位取反,末位加1。 如:+5和-5在计算机内存单元的存储形式如下:,2019年3月11日星期一,16,【例3.4】十进制整数123的二进制数、八进制数、十六进制数分别是多少?,123=1111011B 二进制数 =173 O 八进制数 =7B X 十六进制数,在程序中定义以下三个变量 int i=0173; int j=0x7b; int k=123;,0173、0x7b和123表示的是同一个数,只是用的数制不同。,2019年3月11日星期一,17,【例3.5】分析下列程序的输出结果 # include int main( ) printf(“%d,%o,%xn”,10,10,10); printf(“%d,%d,%dn”,10,010,0x10); printf(“%d,%xn”,012,012); return 0; ,对于%是输出格式控制符。且其后跟的d、o和x分别代表的是十进制数、八进制数和十六进制数。即: %d:以十进制形式输入输出。 %o:以八进制形式输入输出。 %x:以十六进制形式输入输出。,2019年3月11日星期一,18,【例3.6】分析下列程序的输出结果 # include int main( ) int a,b; scanf(“%o%d”, ,输入的两个17中前一个17计算机认定为八进制数,与在输入时前是否加0无关。后一个17是十进制数。原因是由格式控制符决定的。思考%5d的含义?,2019年3月11日星期一,19,3.2.4 字符型数据,A的ASCII值是65,2019年3月11日星期一,20,#include void main( ) char c1,c2; c1=97; c2=a; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); ,【例3.7】分析下列程序的输出结果,/*定义两个字符型变量c1,c2*/ /*对c1赋以整型数据97*/ /*对c2赋以字符常量a的ASCII值*/,在0-255范围内的整型数据可以和字符型相互转换。 %C:按字符型数据格式输出;%d:按整型数据格式输出,2019年3月11日星期一,21,3.2.5 浮点型数据,2019年3月11日星期一,22,【例3.8】分析下列程序的执行结果,#include int main( ) float f=123.45; double d=3.1415926; printf(“%f,%en”,f,f); printf(“%f,%en”,d,d) ; printf(“%5.3f,%5.2f”,d,d); return 0; ,/*定义单精度型变量f并赋初值123.45*/ /*定义双精度型变量d并赋初值3.141592*/ /*f为单精度 e为指数形式输出*/,123.450000,1.234500e+002 3.141593 ,3.14159e+000 3.142, 3.14,2019年3月11日星期一,23,3.2.7 运算符和表达式,算术运算符:+ - * / % 关系运算符: = | & 求字节运算符:sizeof 分量运算符: . - 赋值运算符:= 条件运算符: ?: 逗号运算符: , 指针运算符: * & 下标运算符: 强制类型转换运算符: (类型),因而体现了C语言运算符丰富的特点之一,2019年3月11日星期一,24,1.基本的算术运算符 运算符 C语言基本算术运算符共有5种。+ - * / %。都是双目运算即要求有两个操作数。 %运算要求左右两边必须为整型数据。7%4 的值为3。 两个整数相除,结果为整数,舍去小数部分,即取整且向零靠拢。5/3=1 ;-5/3=-1。 参加运算的两个数中有一个数为实数,则结果为double. 字符型数据可以和数值型数据混合运算。 算术表达式 如:10+a+i*f-d/e 是算术表达式。 运算的优先级是:先* / % 后+ - ,其运算的结合性自左至右。,2019年3月11日星期一,25,C语言的自增运算符:+,自减运算符:- - 。其操作对象只能是变量。作用使变量的值增1或减1。 其形式:+i ,- -i与i+,i- - +i, -i 在使用i之前,使i的值加1(减1) i+, i 在使用i之后,使i的值加1(减1) 如:int i; i=3; j=+i; k=i+; 其优先级高于算术运算符优先级,按从右至左结合方向。 如:-i+相当于-(i+),2.自增与自减运算符,/*先计算表达式+i的值赋给j即j=4*/ /*变量i的值赋给k即k=3后再执行表达式i+*/,2019年3月11日星期一,26,(double)a 则是将a的类型转换为double类型。 (int)(x+y)则是将x+y的值转换为int类型。 (float)(5%3)则是将5%3的值转换为float类型。,【例3.9】分析下列程序运行的结果 #include int main( ) float x; int i; x=3.6 ; i= (int)x; printf(“x=%f,i=%dn”,x,i); return 0; ,/*定义一个单精度型变量x*/ /*定义一个整型变量i*/ /*对x赋一实型数据3.6 */ /*将实型数据x的类型转换为int即整型*/,3.强制类型转换,2019年3月11日星期一,27,#include int main( ) int i,j; i=2; j=-i+; printf(“j=%d,i=%dn”,j,i); return 0; ,【例3.10】分析下列程序运行的结果,2019年3月11日星期一,28,3.3 C语句,goto语句,2019年3月11日星期一,29,3.3.2 最基本的语句 -赋值语句,【例题3.11】给出三角形的三条边,求三角形面积。,解题思路:, 三角形的三条边要符合构成三角形的条件 有三条边如何求三角形面积(数学计算公式) C语言调用数学公式要用到数学头文件 程序中用到的量:a b c s area 数据类型 三条边的值如何获取是赋值还是键盘输入,2019年3月11日星期一,30,#include #include int main() float a,b,c,s,area; printf(“input Triangular three sides:n“); scanf(“%f%f%f“, ,参考程序:,2019年3月11日星期一,31,赋值语句:是由赋值表达式加上一个分号构成。其应用十分普遍。 C语言中的赋值号是等号“=”且是一个运算符,若在其构成的表达式后面加上分号“;”即构成赋值语句。 C语言中的赋值表达与赋值语句是两个不同的概念。 如:x=8 x=8; 分析if(a=b)0) t=a;的含义,x=8是赋值表达式 x=8;是赋值语句,2019年3月11日星期一,32, 复合的赋值运算符,复合的赋值运算符是指在赋值符=之前加上其它的运算符。,例如:a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) x%=3 等价于 x=x%3, 赋值过程中的类型转换,2019年3月11日星期一,33,变量赋初值,在定义变量的同时初始化变量 int a=56; float b=32.56; double x,y=45.6789; char c=a; 先定义变量后再对变量赋值 int a,b; char c; a=48; b=a+56; c=b; 使用scanf函数对变量赋值 int a,b; scanf(“%d%d”,2019年3月11日星期一,34,3.4 数据输入输出,2019年3月11日星期一,35,【例题3.12】通过键盘输入a,b,c三个数,输出这三个数的和,#include void main() int a,b,c; int sum ; scanf(“%d%d%d”, ,2019年3月11日星期一,36,3.4. 字符数据的输入输出,注:也可用格式输出来实现字符的输出即printf(“%cn”,getchar();,2019年3月11日星期一,37,3.6 顺序结构程序设计,【例题4.13】求1×2×3×4×5的乘积。,算法分析: 定义一变量t并赋初值1即t=1 运用赋值表达t=t×2即t=1×2的积 运用赋值表达t=t×3即t=1×2×3的积 运用赋值表达t=t×4即t=1×2×3×4的积 运用赋值表达t=t×5即t=1×2×3×4×5的积 输出t的值,2019年3月11日星期一,38,【例题4.14】输入三角形的边长a,b,c且能构成三角形,求其面积,算法分析: 输入a,b,c说明是动态不是静态 实现输入采用C提供的scnaf() 不考虑输入a,b,c能否构三角形 定义三个实型变量a,b,c 用给三边求三角形公式计算面积 输出三角形面积,2019年3月11日星期一,39,#include #include void main() float a,b,c; double s,area; printf(“input three number a,b,cn“); scanf(“%f%f%f“, ,2019年3月11日星期一,40,【例题4.15】假设由键盘输入的一元二次方程系数a,b,c,且在实数范围内有解,试编写求ax2+bx+c=0方程的根的程序。,算法分析, 输入a,b,c说明是动态不是静态 实现输入采用C提供的scnaf() 不考虑输入a,b,c能否使方程有解 定义三个实型变量a,b,c 由数学计算方程公式进行求解 输出方程的两个根,求根公式如下,如何将数学表达式写成C语言表达式?,2019年3月11日星期一,41,#include #include void main() float a,b,c; double disc,x1,x2,p,q; printf(“input a,b,c:n“); scanf(“a=%f,b=%f,c=%f“, ,C源程序如右所示,调试步骤: 启动VC+ 新建项目 新建文件 保存编译 连接 运行查看结果,2019年3月11日星期一,42,顺序结构程序设计练习,所用格式符不对应将%d改为%f,|1234 1234 |即默认为右对齐输出,若“-”则是左对齐,ff,10,2019年3月11日星期一,43,8.输入一个三位整数如456,则反序输出各位数字即654。,算法分析,核心是如何将百、十、个位数拆分开来。可采用算术运算中整除和求余运算来实现。 百位数=三位数/100 十位数=三位数/10%10 个位数=三位数%10 对得到的百、十、个上的数再重新组合。个位数*100+十位数*10+百位数。,C源程序,include int maim() int d,x,y,z,n; printf(“input d:”); scanf(“%d”, ,2019年3月11日星期一,44,本章小结,通过本章学习重点掌握C程序的基本结构及编写程序时算法思想。掌握格式输入输出函数printf()和scanf()的用法及字符输入输出函数getchar()和putchar()函数的用法掌握运用VC+调试程序的步骤及基本方法。,作业:P82-P84 1 2 3 6 7,

    注意事项

    本文(第3章最简单的C程序设计--顺序程序设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开