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

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章讨论题答案
12章讨论题答案_工学_高等教育_教育专区。第章 绪论 1、研究和讨论数据结构的目的 【参考答案】 研究和讨论数据结构的目的是为了让计算机能够对数据进行更...
概率论第二版第1、2章习题解答
1章习 题 1.2 随机事件与概率 2.一批产品由 95 件正品和 5 件次品组成,从中不放回抽取两次,每次取 件. 求: (1)第次抽得正品且第二次抽得次品...
1、2章习题答案(最新更改)
2005~2006 学年第 2 学期第 12 章习题参考答案 会计学题 号题分得分 评阅人 、单项选择题(下列每小题的备选答案中,只有个符合题意的正确答案。请...
汇编语言第1-2章平时练习
汇编语言第1-2章平时练习_工学_高等教育_教育专区。汇编12章练习题 1. 知识点:0202(基于微处理器的计算机系统构成) 在下列的选项中,能够组成计算机系统的是(A...
2章部分1答案
2 章 质点力学的运动定律 守恒定律 、选择题 1(C),2(E),3(D),4(C),5(C),6(C),7(B),8(C),9(C),10(B),11(C),12(D),13(B) 二、...
概率同步练习答案1-2章
S A ? B ---恰有件废品 B ---三件中至多件废品 4 下列各式是否成立 (1) (A-B)+B=A (2) (A+B)-C=A+(B-C) 解 如图 (1) ( A ? ...
1-2章问答题答案
章 质量控制 1、有实验室某次室间质评 5 个批号氯的靶值分别为 110.3 mmol/L、95.6 mmol/L、125.4 mmol/L、90.2 mmol/L、135.0mmol/L, ...
练习题(第1、2章) - 参考答案 (1)
练习题(第12章) - 参考答案 (1)_理化生_高中教育_教育专区。第二章的练习题、选择题 1.数据结构可以用二元组来表示,它包括( A )集合 K 和 K...
人教物理1-2章
人教物理1-2章_理化生_高中教育_教育专区。考点内容 参考系、质点 位移、速度和 加速度 匀变速直线运 动及其公式、 图象 实验:研究 匀变速直线运 动 要求 ...
第2章_技术基础1
2章_技术基础1_机械/仪表_工程科技_专业资料。第2章 技术基础 任何机械设备在运行过程中都有各种各样的表现(振动、噪声、温度……), 这些表现都可由传感器...
更多相关标签: