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

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. 设机器字长为 8 位,写出下列用真值表示的二进制...
1、2章 习题
12章 习题_数学_高中教育_教育专区。第章 绪论思考题 1、 简述一般试样的分析过程。 2、 基准物质 Na2CO3 和 Na2B4O7?10H2O 都可用于标定 HCl 溶液...
1、2章习题答案(最新更改)
2005~2006 学年第 2 学期第 12 章习题参考答案 会计学题 号题分得分 评阅人 、单项选择题(下列每小题的备选答案中,只有个符合题意的正确答案。请...
第1-2章作业参考答案
1-2章 作业参考答案、单项选择 1、政治算术学派的代表人物是 ( B ) A.凯特勒 B.威廉·配第 C.康令 D.阿亨瓦尔 2、统计学研究对象的重要特点是 ( ...
练习题(第1、2章) - 参考答案 (1)
练习题(第12章) - 参考答案 (1)_理化生_高中教育_教育专区。第二章的练习题、选择题 1.数据结构可以用二元组来表示,它包括( A )集合 K 和 K...
汇编语言第1-2章平时练习
汇编语言第1-2章平时练习_工学_高等教育_教育专区。汇编12章练习题 1. 知识点:0202(基于微处理器的计算机系统构成) 在下列的选项中,能够组成计算机系统的是(A...
1、2章习题
12章习题_理学_高等教育_教育专区。化学反应原理复习 1 、单项选择题: 1、下列说法不正确的是( ) A、放热反应不需加热即可发生 B、化学反应过程中的能量...
概率同步练习答案1-2章
S A ? B ---恰有件废品 B ---三件中至多件废品 4 下列各式是否成立 (1) (A-B)+B=A (2) (A+B)-C=A+(B-C) 解 如图 (1) ( A ? ...
第1、2章讨论题答案
12章讨论题答案_工学_高等教育_教育专区。第章 绪论 1、研究和讨论数据结构的目的 【参考答案】 研究和讨论数据结构的目的是为了让计算机能够对数据进行更...
第1-2章练习题
1-2章练习题_数学_高中教育_教育专区。《金融营销学》第 1-2 章练习 、填空题(20 分,每空格 2 分) B2 1、金融市场的交易对象是 2、银行承兑汇票是...
更多相关标签: