当前位置:首页 >> 数学 >>

1,2章


任课教师:徐红艳 联系电话:13700025784

电子邮箱:xuhongyan_lndx@163.com

办公地点:哲理楼324—软件教研室(需要预约)

课 程 介 绍
? 学时:56学时讲授+16学时上机(8次) ? 期末考试:

?期末笔试:80分 ?上机及平时点名、提问:20分

? 实验环节:

?课前预习:课前完成本节实验题目程序 的编写(写到实验报告上) ?课堂签到:实验课时签到,上机调试已 经编写好的程序,并直接在实验报告上用 红笔进行修改。 ?实验报告:下课的时候上交实验报告。

? 课程名称:高级语言

程序设计 ?课程的重点:程序设计—能够根据实际问 题分析并设计出解决问题的步骤(算法)。 ?高级语言:按照某种高级语言的语法规则, 将算法转换成计算机能够执行的程序。 ?选择C语言作为教学语言:编写系统软件、 嵌入式软件系统、应用软件、教学

?算法:根据初始条件(已知)和最终结果 (结论)而给出的解决问题步骤的描述。 ?算法在计算机上不能执行。 ?算法的描述方法: (1)自然语言 (2)算法流程图 (3)伪代码:

?《数据结构》用类C(伪代码)描述算法:

类似C语言,但 还不完全符合C 语言的语法规则。 在计算机上不能 执行。

?程序(软件):使用计算机能够执行的语言 编制而成的、指挥计算机完成某项工作的代码 集合。 ?只有程序才能在计算机上执行。 ?必须将算法用程序来实现,才能在程序的 执行过程中来验证算法的正确性与可行性。

?本学期学习的重点与难点: (1)算法设计能力的培养(※)。 (2)按照C语言的语法规则来实现设计好 的算法,即C程序。用C程序的执行来验证 算法的正确性与可行性。

? 程序设计步骤



?分析该问题:已知条件和需要求得的结果 ?设计出解决问题的步骤(算法设计) ※ (可脱离计算机进行) ?用某种计算机语言(C语言、Pascal语言等) 实现设计出的算法(程序实现),并在计算 机上执行。

?

举例1:a,b的值已知,求a,b中较大者? 已知:a、b 比较a和b,若a大则结果为a; 若b大则结果为b。 结果:a,b中的较大者

? 算法(使用自然语言描述):

─步骤1:给出已知的数据(即输入已知) ─步骤2:比较a与b。 ? 步骤2.1:如果a≥b 则a大,否则b大。 ─步骤3:输出结果

? 用c语言实现算法

#include ”stdio.h” 输入/输出函数所在的文件 为程序中的输入数据、中 void main() 间数据、结果数据在内存 { int a,b,c; 申请存放的空间 scanf(“%d,%d”,&a,&b);/*输入已知数据*/ if(a>=b) c=a; /*比较a,b*/ else c=b; printf(“the larger is %d\n”,c); /*输出结果*/ }

?

举例2:求方程ax2+bx+c=0的根(假定b2-4ac≥0 ) ?已知:方程系数a,b,c 如果:b2-4ac>0,则x1= x2= 如果:b2-4ac=0,则x1=x2=

?结果:求方程的根

? 算法:

? 步骤1:给出a,b,c的值(输入已知数据)
? 步骤2:根据b2-4ac的值确定解
? 2.1如果b2-4ac=0则x1=x2=-b/2a,
否则x1= x2=

? 步骤3:输出方程的根x1,x2。

? 用C语言实现算法:

#include “stdio.h” #include “math.h” void main() { int a,b,c; float deta,x1,x2; scanf(“%d%d%d”,&a,&b,&c);/*输入已知*/ deta=b*b-4*a*c; /*计算△*/

if(deta==0)x1=x2= -b/(2*a); /*△等于0*/ else /* △大于0 */ {x1=-b/(2*a)+sqrt(deta)/(2*a); x2=-b/(2*a) -sqrt(deta)/(2*a); } printf(“x1=%f x2=%f\n”,x1,x2); /*输出结果*/ }/*end main*/ ?举例3:已知a,b,将a,b的值交换。

?

学好本门课程的方法:多进行编程练习 ?培养并提高自己算法设计的能力

?熟练掌握C语言
– 语法规则:

– 程序设计:将算法改写成程序
– 程序调试:读懂错误提示,并进行修改。

第一章 C语言概述
?

C语言的发展简史 ?主要版本有:Microsoft C, Turbo C, BORLAND C等。 ?各种C语言的版本以ANSI C作为标准。 ?本门课程的上机环境: Microsoft visual C++ 6.0

?

C语言的特点: ?程序结构紧凑、简洁 ?数据类型丰富 ?运算符种类丰富 ?结构化程序设计语言,特别适合于大型程 序的模块化设计 ?运行效率高 ?可移植性好

?

C语言程序的一般格式: ?C语言程序习惯上用英文小写字母书写,大 写字母通常表示符号常量或有其它特殊用 途。 ?C语言程序中严格区分大小写。例如XU,xu, Xu,xU是不同的。 ?C语言程序是由若干条语句构成的。每个语 句后面必须有一个分号。 ?所有的语句放在一对大括号之间。

?举例: #include “stdio.h” void main() { printf("This is a simple C program.\n"); printf("Happy birthday to you!"); }

#include “stdio.h” void main() { int a,b,sum scanf("%d%d",&a,&b); sum=a+b; printf("%d\n",sum); }

void main() { int a,b,sum; printf("input a(int):"); scanf("%d",&a); printf("input b(int):"); scanf("%d",&b); sum=a+b; printf(“the sum is %d\n”,sum); } 在输入之前和输出时加上友好的提示,即界面 要友好。

? C源程序的基本构成单位是:函数

? 只有一个main函数。(1-6章中的程序)
? 一个main函数 + 若干用户定义的函数(第 七章以后的程序)
? 用户自定义函数:用户为了满足自己特殊需

要而设计的、实现一定功能的函数。

C函数的组成: (1)函数首部:函数说明部分 void main() (2)函数体:实现函数功能的部分。 A、范围:最外层的一对大括号之间的内容。 B、组成: ?说明部分:为存储数据(输入数据、中间数据、 结果数据)而申请内存空间 ?语句部分:算法实现
?

函数首部 void main() { 说明部分 int a,b,sum; printf("please input a,b:"); scanf("%d%d",&a,&b); sum=a+b; printf(“the result is %d\n”,sum); }

语 句 部 分

函 数 体


相关文章:
1,2章复习
1,2章复习_初一数学_数学_初中教育_教育专区。北师版七年级下册第一二章的经典复习习题1.(x+4)(-x+4)=___,(x+3y)(___)=9y2-x2,(-m-n)(___)...
1、2章练习
章风险与保险综合练习 、 填空题 1.风险的基本要素包括 风险因素 、 风险事故 和 损失 。 2.风险因素根据性质不同通常分为 实质风险因素 、道德风险因素...
1、2章 习题
12章 习题_数学_高中教育_教育专区。第章 绪论思考题 1、 简述一般试样的分析过程。 2、 基准物质 Na2CO3 和 Na2B4O7?10H2O 都可用于标定 HCl ...
第2章 第1节 (Ⅱ)
2章1节 (Ⅱ)_教育学_高等教育_教育专区。第1节目标导航 减数分裂和受精作用(Ⅱ) 1.结合教材图文,阐明卵细胞的形成过程,并和精子的形成过程进行比较,加...
二甲评审细则(1-2章)
2.、二级诊疗科目设置、人员梯队与诊疗技术能力符合省级卫生行政 部门规定的标准,至少保持在上周期医院评审时的层次。(提供评审前 一年手术和住院的前十大病种) (...
材料科学基础第1-2章例题、作业题及其解答
材料科学基础第1-2章例题、作业题及其解答_教育学_高等教育_教育专区。第2章 例 题(A) 1. 在面心立方晶胞中画出[012]和[1 2 3]晶向。 2. 在面心...
高一必修1数学第二章课后习题共十页
高一必修1数学第二章课后习题共十页_数学_高中教育_教育专区。新课程标准数学必修 1二章课后习题解答第二章 基本初等函数(I) 2.1 指数函数 练习(P54) 1....
人教版高一数学必修1第二章测试题
人教版高一数学必修1二章测试题_数学_高中教育_教育专区。人教版高一数学必修 1二章单元测试题、选择题:(每小题 5 分,共 30 分)。 1.若 a ? 0...
第1、2章复习
12章复习_语文_高中教育_教育专区。第1章 元一次不等式组 1. 基本概念 (1) 不等式: 用不等号表示不等关系的式子叫不等式.在此定义中要正确理解常用...
1、2章综合复习题课后作业
12章综合复习题课后作业_理化生_高中教育_教育专区。12 章综合复习题课后作业 .选择题 1、2013 年 11 日起重庆市正式发布主城区 PM2.5 监测数据...
更多相关标签: