文档库 最新最全的文档下载
当前位置:文档库 › 孙甲松1

孙甲松1

计算机程序设计基础(1) ---C语言程序设计

孙甲松

sunjiasong@https://www.wendangku.net/doc/4c6115266.html,

电子工程系信息认知与智能系统研究所

罗姆楼6-104

电话: 139********/62796193

2015.9.

授课方法和理念

本课是大一第一学期的课程,从零开始,虽然许多同学玩计算机水平很高,但不要错估自己的程序设计水平。

要顺序渐进,不要急于求成,要从最基本的概念和编译程序的使用和操作步骤入手。

教师跟学生的互动很重要,教师要及时了解同学的掌握情况,纠正同学对某些内容的错误理解,同时也鼓励同学大胆提出问题(不明白的内容,屡屡出错的程序可以用邮件发给我,或者在网络学堂的“课程答疑”或“课程讨论”中提出,我会尽快答复),我将对普遍性的问题编成问题集锦在课堂上讲解。

2

授课方法和理念续1

在课堂上讲正确的例子固然重要,但我也会把同学出错的程序拿来,现场一步一步演示调试过程,让同学知道为什么错,如何纠错(debug),尽快学会自己独立调试程序。

让同学建立程序设计的理念,学会一些常用的程序设计方法,但这个是需要同学逐步建立抽象思维和符号逻辑思维(在自己脑子里按照计算机可以完成的执行步骤把一个问题的解决步骤想清楚),不能急于求成。

计算机语言是解决问题的工具,讲授计算机语言课我认为这有点像师傅教徒弟学开车,师傅要负责教会徒弟全部的基本功,要不厌其烦,反复讲反复纠正。师傅要完完全全传授而不能有选择性的传授。当然徒弟更要勤学、苦练、好问。

3

授课方法和理念续2

不鼓励大家去做什么计算机程序设计习题集,而是鼓励大家多上机,多自己动手编程,遇到问题尽量自己解决,积累调试程序的经验,掌握这项基本功。

期末考试的笔试全部是读程序写结果,而不是选择题。

4

课程要求与安排

第1~16周上课(每周2课时)

由于课程改革,本课必须在32学时内完成,第4周

国庆节放假去掉一次2学时,剩15次30学时,我会

视情况在第2周后每次课后1学时左右习题课。

最终成绩:40分(期末笔试,读程序写结果)

30分(机考,期中10分,期末20分)

30分(平日作业与实验)

作业与实验要求:

1. 按要求保质保量完成,编程题要求上机完成。

2. 尽量在要求的截止时间前网上提交电子版(无纸

化办公),错过截止时间可用邮件发给我代交。3. 前两章作业可以交纸版(因为还不是真正编程题)。

5

大家提交作业时,一定要注意:截止时间,提

交状态,附件大小(为0表示提交不成功)

6

7

课程答疑是你提的问题和答复,只会你自己和

教师能看到,别人看不到。

8课程讨论是你提的问题,大家都会看到,也可

以参与讨论。鼓励大家提问题并积极参入讨论!

课程要求与安排

上机实验,从第2~16周(第3-4周国庆节

放假7天除外),每周五个时间段(周一晚上,周三下午,周三晚上,周五下午,周

五晚上),与黄老师的课是打通模式,任

选一个(二级选课),每次4课时。

希望大家勤学苦练,多上机,九楼机房平

日也可以去上机(特别是上午机房一般空闲),不要怕机时不够用,主楼后的开放

机房也可以去。

9

教材与参考书

依我讲课的ppt和教材为准,其余书之类只做参考教材:

徐士良, 孙甲松:《C程序设计教程》

清华大学出版社2009年9月第1版

主要参考书:

1. 全国计算机等级考试二级教程----C语言程序设计(2008/2015年版)高等教育出版社

2. 谭浩强:《C++程序设计》清华大学出版社

3. Brian W.Kernighan, Dennis M. Ritchie

《The C Programming Language》

(2nd Edition) (影印版) 清华大学出版社

10

11

●课程概述

第1 章绪论

第2 章C语言的基本数据类型

第3 章数据的输入与输出

第4 章C表达式与宏定义

第5 章选择结构

第6 章编译预处理

第7 章循环结构

第8 章模块设计

第9 章数组

第10 章指针

第11 章结构体与联合体

第12 章文件

第13 章位运算

12

第1章绪论

13

14

1.1 程序设计概述1. 问题分析

2. 结构特性的设计

3. 算法的设计

4. 流程的描述(1)传统流程图(2)结构化流程图(3)自然语言(4)算法描述语言1.2 程序设计语言1.3 简单的C 语言程序1.4 C 语言程序的上机步骤

第1章绪论

1.1程序设计概述

●程序设计= 算法+ 数据结构+ 方法+ 工具

可以归结为以下五个基本步骤:

●问题的分析

●结构特性的设计

●算法的设计

●流程的描述

●调试与运行

15

16

问题分析

1.1.1●问题的分析

根据所要解决的问题性质与类型,最基本的分析内容主要有以下几个方面:

程序设计的基础

数学模型或常用的方法

问题的性质

进一步确定在解决这个问题过程中要做些什么?怎么做?

输入/输出数据

1)数据的类型是什么?如整型、实

型、双精度型、字符型等。2)在何种设备上进行输入或输出?3)采用什么样的格式进行数据的输

入或输出?

比如解一元二次方程,可用求根公式,韦达定理、迭代法等。

17

结构特性的设计1.1.2●结构特性的设计

控制结构

数据结构

一个程序的功能不仅取决于所选用的操作,而且还取决于各操作之间的执行顺序,即程序的控制结构。程序的控制结构实际给出了程序的框架,决定了程序中各操作的执行顺序。在程序设计过程中,通常用流程图形象地表示程序的控制结构。一般来说,在对数据进行处理时,数据的不同组织形式,其处理的效率是不同的。

例如:下表是一张学生信息表,若要找出80~89分的学生,需要对表中信息逐行判定确定是否符合要求。

学号姓名性别年龄成绩

80156 80157 80158 80159 80160 80161 80162 80163 80164 80165 80166 80167 80168 80169张小明

李小青

赵凯

李启明

刘华

曾小波

张军

王伟

胡涛

周敏

杨雪辉

吕永华

梅玲

刘健

20

19

19

21

18

19

18

20

19

20

22

18

17

20

86

83

70

91

78

90

80

65

95

87

89

61

93

75

18

学号姓名性别年龄成绩

80156 80157 80162 80165 80166张小明

李小青

张军

周敏

杨雪辉

20

19

18

20

22

86

83

80

87

89

学号姓名性别年龄成绩

80159 80161 80164 80168李启明

曾小波

胡涛

梅玲

21

19

19

17

91

90

95

93

如果将成绩在90分以上(包括90分)、80~89分、70~79分、60~69

分之间的学生情况分别登记在四个独立的表中:

19

学号姓名性别年龄成绩

80158 80160 80169赵凯

刘华

刘健

19

18

20

70

78

75

学号姓名性别年龄成绩

80163 80167

王伟

吕永华

20

18

65

61

由这个例子可以看出,在对数据进行处理时,可以根据所需要作的运算不同,而将数据组织成便于运算的形式,以便提高数据处理的效率。

查找效率会大幅度提高。

20

相关文档
相关文档 最新文档