




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1会计学C语言程序设计实验解读语言程序设计实验解读 流程控制语句流程控制语句 条件语句条件语句ifelseifelse switch switch语句语句循环语句循环语句 forfor语句、语句、whilewhile语句、语句、dowhiledowhile语语句句提前结束本次循环语句提前结束本次循环语句continuecontinue循环或多分支终止语句循环或多分支终止语句breakbreak无条件转移语句无条件转移语句gotogoto返回语句返回语句returnreturn要特别注意各控制结构的流程要特别注意各控制结构的流程n C语言程序设计 第二章 程序的灵魂算法程序设计包括的内容:v数据
2、结构:数据的类型和组织形式v算法:操作步骤的描述Nikiklaus Wirth提出: 程序= 数据结构+算法教材认为: 程序 =算法+数据结构+程序设计方法+语言工具和环境 灵魂加工对象工具学生成绩管理系统成绩录入成绩查询成绩输出 总结怎样表示一个算法自然语言表示v2.2节例。易懂,文字冗长,易歧义性流程图表示v用流程图符号构成,直观,易懂 N-S流程图表示伪代码表示计算机语言表示q 顺序结构q 选择结构q 循环结构 C语言程序设计 第二章 程序的灵魂算法 传统流程图流向混乱、可读性差,所以应该采用结构化流程图。 结构化程序设计v 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移
3、语句(goto)v 结构化程序:由三种基本结构反复嵌套构成的程序v 优点:结构清晰,易读,提高程序设计质量和效率三种基本结构v 顺序结构ABAB流程图N-S图 C语言程序设计 第二章 程序的灵魂算法PAB真假PBA真假v选择结构kA1A2AiAnk=k2k=k1k=knk=ki.l二分支选择结构l多分支选择结构 C语言程序设计 第二章 程序的灵魂算法v循环结构l当型循环结构l直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构 C语言程序设计 第二章 程序的灵魂算法 三种基本结构的共同特点: v只有一个入口;v只有一个出口;v结构内
4、的每一部分都有机会被执行到;v结构内不存在“死循环”。 C语言程序设计 第二章 程序的灵魂算法 算法的概念为解决一个问题而采取的方法和步骤,就成为算法。例如:歌曲的乐谱,建造房子等。算法核心是解决“做什么”和“怎么做”的问题。v例:求15之积。v可以有多种方法,一般采用简单和运算步骤少的。准确、高效计算机算法类别v数值运算算法v非数值运算算法 C语言程序设计 第二章 程序的灵魂算法简单算法举例例2.1v方法1:累乘v方法2:用循环结构解决,灵活、通用。例2.2v通过循环选择打印例2.3v判断闰年例2.4v累加求级数的和,循环改变正负号和分母加1。例2.5v判断素数课后认真思考,加深什么是算法的
5、概念 C语言程序设计 第二章 程序的灵魂算法算法的特性有穷性在合理范围内可完成 确定性无歧义性 有零个或多个输入从外界得到信息 有一个或多个输出问题的答案 有效性每步有确定的结果开始输入m,nm=n?输出m结束Y输出nN1、选择结构程序设计、选择结构程序设计实验练习实验练习例判断点是否在圆上:例判断点是否在圆上:由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。使用小数点后3位精度进行判断。第一组自测数据键盘输入0.707,0.707正确输出Y第二组自测数据键盘输入0.5,0.5正确输出N提示(1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,
6、本题要求判断是否在圆上;(2)判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为0.001)的方法实现。#include #include stdio.hstdio.h #include #include math.hmath.h void main()void main() float float a,ba,b; ; scanfscanf(%(%f,%f,&a,&bf,%f,&a,&b);); if( if(fabsfabs(a(a* *a+ba+b* *b-1)1e-3)b-1)1e-3) printfprintf(Yn);(Yn); els
7、e else printfprintf(Nn);(Nn); 参考程序:参考程序:简单计算器简单计算器下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入86,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机输出2.00,请在空处填上适当的代码,运行通过后并提交。第一组自测数据键盘输入45*2第二组自测数据键盘输入50.1-23#include stdio.hvoid main() float a,b,c; char op; scanf(%f%c%f, ); switch (op) case +: ;
8、 case -: _; case *: _; case /: _ ; default: printf(error); printf(result= , c);参考程序:参考程序:#include int main() float a,b,c;char op;scanf(%f%c%f,&a,&op,&b);switch(op) case +:c=a+b;break;case -:c=a-b;break;case *:c=a*b;break;case /:c=a/b;break;default:printf(error);break;printf(result=%.2f,c
9、); C语言程序设计 第二章 程序的灵魂算法v练习练习v求求1+2+3+1+2+3+。+100+100的算法流程图。的算法流程图。计算数列和计算数列和有数列:编程实现,由键盘输入n,计算输出数列前n项和。(结果保留四位小数)#includemain() int i,t,n; float a=2,b=1,s=0; scanf(%d,&n); for(i=1;i=n;i+) s=s+a/b; t=a;a=a+b;b=t; printf(%.4fn,s);参考程序:参考程序:由键盘输入正数n,要求输出2*n+1 行的菱形图案。要求菱形左边紧靠屏幕左边。菱形图案菱形图案#include std
10、io.h#include math.hmain() int n,i,j,k; scanf(%d,&n); for(i=1;i=2*n+1;i+) k=abs(n+1-i); for(j=1;j=k;j+) printf( ); for(j=1;j=2*n+1-2*k;j+) printf(*); printf(n); 参考程序:参考程序:由键盘输入正数由键盘输入正数n,要求输出中间数字为,要求输出中间数字为n的的菱形图案。要求菱形左边紧靠屏幕左边。菱形图案。要求菱形左边紧靠屏幕左边。键盘输入4正确输出 1 121 123211234321 12321 121 1键盘输入3正确输出 1
11、12112321 121 1参考程序:参考程序:参考程序:参考程序:# include# includemain() int n,i,j,k,h;scanf(%d,&n);for(i=-n+1;i=n-1;i+) for(j=0;jabs(i);j+)printf( );for(k=1;k=1;h-) printf(%d,h);printf(n);* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *c c语言程序设计语言程序设计课程设计课程设计 * * * * * * *
12、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 程序设计:程序设计:XXXX系系XXXX专业专业XXXXXX XXXX XXXX年年XXXX月月XXXX日日_ _练习(完成这样的设计程序)练习(完成这样的设计程序)1 1、软件封面(参考)、软件封面(参考)1 1、一元二次方程求根、一元二次方程求根2 2、循环、循环3 3、。、。0 0、退出、退出 请选择(请选择(0-n0-n):):2 2、登录成功后主菜单(参考选择菜单)、登录成功后主菜单(参考选择菜单)下标不要越界下标不要越界数组长度为常量数组长
13、度为常量Enter 5 integers: 2 9 8 1 9Enter x: 9Index is 1Enter 5 integers: 2 9 8 1 9Enter x: 7Not FoundEnter 5 integers: 2 9 8 1 9Enter x: 9Index is 1Index is 4Enter 5 integers: 2 9 8 1 9Enter x: 9Index is 4Enter n: 6Enter 6 integers: 2 9 -1 8 1 6min is -1 sub is 2 35281(1) 1 5 2 8 3 (2) 2 5 8 3 (3) 3 8 5
14、 (4) 5 8 输入数组ak=0kn-1aiaindexindex=i假(0)假(0)真(非0)真(非0)i=i+1交换aindex和ak输出数组aindex=ki=k+1k=k+1in假(0)一、统计不同数字个数一、统计不同数字个数由键盘输入20 个整数,统计不同数字的个数。自测数据自测数据键盘输入键盘输入70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11 正确输出正确输出16#includestdio.hmain() int a20; int i,t,p=0; for(i=0;i20;i+) scanf(%d,&ai)
15、; for(t=0;ti;t+) if(at=ai)break; if(t=i) p+; printf(%d,p);int a32;a00 a01 a10 a11 a20 a21 0 11 22 3a00 a01 a10 a11 a20 a21 i = 0 j = 0i = 0 j = 1i = 1 j = 0i = 1 j = 1i = 2 j = 0i = 2 j = 1 0 11 22 3Enter a string: 123digit = 123 t0 t1 t4t H a p p y输出数组输出数组 t 的所有元素的所有元素for(i=0; i 总结怎样表示一个算法自然语言表示v2.2节例。易懂,文字冗长,易歧义性流程图表示v用流程图符号构成,直观,易懂 N-S流程图表示伪代码表示计算机语言表示q 顺序结构q 选择结构q 循环结构 C语言程序设计 第二章 程序的灵魂算法 传统流程图流向混乱、可读性差,所以应该采用结构化流程图。 结构化程序设计v 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)v 结构化程序:由三种基本结构反复嵌套构成的程序v 优点:结构清晰,易读,提高程序设计质量和效率三种基本结构v 顺序结构ABAB流程图N-S图1、选择结构程序设计、选择结构程序设计实验练习实验练习例判断点是否在圆上:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特种设备从业考试卷及答案解析
- 饮料车间岗前培训考试及答案解析
- 2025年导管消融行业研究报告及未来行业发展趋势预测
- 2025年高纯硅行业研究报告及未来行业发展趋势预测
- 2025年玻璃镜片行业研究报告及未来行业发展趋势预测
- 2025年MWT电池行业研究报告及未来行业发展趋势预测
- 水生动物苗种繁育工专项考核试卷及答案
- 工具钳工抗压考核试卷及答案
- 玻璃厂印章作废备案实施细则
- 家具配件厂质量控制记录管理规定
- (教科2024版)科学三年级上册2.1 水到哪里去了 课件(新教材)
- 2025国家能源集团招聘笔试历年参考题库附带答案详解
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
- 建筑工人临时用工协议书
- 室内电梯安装工程安全技术交底
- 小儿支气管肺炎课件
- DB32-T 3751-2020公共建筑能源审计标准-(高清现行)
- 销盘式摩擦磨损试验机设计
- 原创领袖的风采-易发久
- 2022年《上海市初中语文课程终结性评价指南》中规定的个文言实词
- 苏教版四年级上册科学全册课件
评论
0/150
提交评论