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

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章)
7页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 答案(1,2章) 隐藏>> 一.单项选择题: CAACB CCABC 二...
第1、2章习题答案
12章习题答案_理学_高等教育_教育专区。北科大微机原理习题答案 第.思考题(略) 二.综合题 1. 设机器字长为 8 位,写出下列用真值表示的二进制...
1、2章综合复习题课后作业
12章综合复习题课后作业_理化生_高中教育_教育专区。12 章综合复习题课后作业 .选择题 1、2013 年 11 日起重庆市正式发布主城区 PM2.5 监测数据...
线性代数知识点总结(第1、2章)
线性代数知识点总结(第 12 章)()行列式概念和性质 1、逆序数:所有的逆序的总数 2、行列式定义:不同行不同列元素乘积代数和 3、行列式性质: (用于化简...
1、2章练习
章风险与保险综合练习 、 填空题 1.风险的基本要素包括 风险因素 、 风险事故 和 损失 。 2.风险因素根据性质不同通常分为 实质风险因素 、道德风险因素...
汇编语言第1-2章平时练习
汇编语言第1-2章平时练习_工学_高等教育_教育专区。汇编12章练习题 1. 知识点:0202(基于微处理器的计算机系统构成) 在下列的选项中,能够组成计算机系统的是(A...
第1,2章 化学
1,2章 化学_理学_高等教育_教育专区。第 1 章 结构与性能概论 学习重点 1.有机化合物和有机化合物的性质 2.共价键理论 (1)价键法、分子轨道法和共振论...
材料科学基础第1-2章例题、作业题及其解答
材料科学基础第1-2章例题、作业题及其解答_工学_高等教育_教育专区。第2章 例 题(A) 1. 在面心立方晶胞中画出[012]和[1 2 3]晶向。 2. 在面心立方...
第1、2章测试题-答案版
12章测试题-答案版_理化生_高中教育_教育专区。第章 建设工程造价管理概述 、单选题 1. 工程造价的第种含义是从投资者或业主的角度定义的,按照该定...
第1、2章复习
12章复习_语文_高中教育_教育专区。第1章 元一次不等式组 1. 基本概念 (1) 不等式: 用不等号表示不等关系的式子叫不等式.在此定义中要正确理解常用...
更多相关标签: