《C语言程序设计》讲稿Word下载.doc
《《C语言程序设计》讲稿Word下载.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》讲稿Word下载.doc(118页珍藏版)》请在冰豆网上搜索。
![《C语言程序设计》讲稿Word下载.doc](https://file1.bdocx.com/fileroot1/2022-10/19/e438c765-8bef-4690-9b3e-5cb849eba10b/e438c765-8bef-4690-9b3e-5cb849eba10b1.gif)
第二十讲结构体和共用体 35
第二十一讲C语言屏幕操作函数 36
第二十二讲C语言实现图形动画效果 37
第一讲C语言概述
学时:
2学时
授课形式:
多媒体讲解+实例程序演示
教学目标:
对C程序有一个初步的认识;
了解C语言的发展;
掌握C语言的特点。
主要内容及时间安排(课堂90分钟,80分钟讲课,10分钟总结):
(1)C语言程序设计课程介绍:
包括课程标准、课堂要求、学习方法等(20分钟);
(2)实例演示+编译环境简介:
4个实例(包括科学计算、数据排序查找、小型应用系统、图形动画效果),每个实例使用一种编译环境,在观看实例效果的同时简单了解C语言编译运行环境(20分钟);
(3)C语言发展简史(包括计算机语言的进化、C语言的发展等)(10分钟);
(4)C语言特点介绍:
包括与其他语言相比的优点、简单介绍数据类型、关键字、流控结构等(30分钟);
(5)总结本节课程的主要内容,布置课后练习题。
(10分钟);
重点:
C语言特点中的数据类型、关键字和流控语句简介
教学内容细节:
具体内容参加幻灯片。
第二讲C语言程序介绍
板书+多媒体+实例程序演示
了解C语言的语法及结构;
掌握C语言的编写流程;
熟悉C语言的编译环境VC++6.0。
主要内容及时间安排(课堂90分钟,80分钟讲课,5分钟复习,5分钟总结):
(1)以提问的方式复习上节课的内容(5分钟);
(2)通过实例编写简单程序(先用多媒体展示第一个实例程序,要求学生了解一般C程序的编写流程,然后在编译环境演示程序执行过程,总结C语言程序的基本结构和语法要求)(15分钟);
(3)通过实例演示程序的运算功能(先用多媒体展示编写程序,一一讲解给学生,要求学生具有变量需要先定义的理念,然后在编译环境进行实例程序演示,掌握具有输入函数的C语言程序的运行过程)(15分钟);
(4)通过上述实例,利用板式总结C语言的编写和编译过程(借助VC++6.0来展示C语言的编写和执行过程)(10分钟);
(5)C语言结构特点总结(C语言由函数构成、书写格式自由、输入输出由函数实现、语句结束要有分号、main函数是函数开始和结束之处等)(20分钟);
(6)C语言上机编译环境介绍(主要介绍TC、VC++、Rarnu_CV1.0三个编译环境,主推Rarnu_CV1.0编译环境)(20分钟);
(7)总结本节课程的主要内容并布置课后练习题(5分钟);
C语言的程序结构、C语言语法细节、C语言编译过程、C语言运行环境等;
难点:
C语言语法细节和程序结构。
一、通过提问的方式复习上节课程的主要内容。
二、实例演示
(1)实例1-1简单输出:
#include<
stdio.h>
/*包含文件*/
main()/*程序从函数main开始执行*/
{
/*在屏幕上输出引号内内容*/
printf("
Iamaprogrammer,IlikeC!
"
);
}/*函数main结束*/
程序说明:
lmain函数表示主函数,每个程序必须有且只能有一个main函数,函数体(功能语句)放在{}内。
lprintf是C语言的输出函数,它的作用是将“”中的内容原样输出。
l其中“\n”是换行符。
l以/*和*/括起来的是注释,程序运行期间是不执行的只是增加程序的可读性。
(2)实例1-2简单计算:
/*求两个数的和*/
#include<
/*包含文件*/
main()/*主函数*/
inta,b,sum;
/*定义局部变量*/
scanf("
%d,%d"
&
a,&
b);
/*输入两个整数值放到a、b变量中*/
sum=a+b;
/*将ab的和送入sum中*/
printf("
sum=%d"
sum);
/*输出ab的和sum*/
}
l本实例的功能是实现两个数相加;
lscanf函数的作用是输入两个整数;
l具有变量定义的C语言函数的书写顺序应该是:
先写预处理命令,然后是函数名;
然后是函数体,函数体中应先写变量定义,在写功能语句。
l为了增加程序的可读性应适当加上注释,和printf提示。
三、C语言的编写流程
四、C语言结构特点总结
(1)一个C程序可以由多个函数构成,但是只能有一个main函数,程序从main函数开始,然后通过函数调用完成部分功能,最后以main函数结束;
(2)主函数或子函数的函数体必须用一对{}括起来,函数体中主要是程序的功能语句,这种功能语句由两部分组成:
声明部分和执行部分;
(3)每一条语句由分号结束,程序书写格式自由,一行可以写多句,一句可以写多行,但分行时注意不能将字符串整体分开;
(4)C语言大小写敏感,大小写不能混用;
一般程序语句用小写字母,符号常量用大写;
程序要有适当的注释语句,提高程序的可读性,注意注释语句不能嵌套;
(5)C语言中的变量必须先定义后使用;
(6)#include是预处理命令,用于将<
>
或””中包括的文件中的内容读到命令所在处;
每个include的后面只能跟一个文件,如果想将多个文件包含到指定位置,可以通过多个include实现。
五、优秀的程序员应具备的基本素质
(1)具有良好的编程习惯
(2)使用TAB缩进
(3){}对齐
(4)有足够的注释
(5)有合适的空行
六、上机环境使用介绍
重点介绍上机环境VC++6.0的使用方法,包括:
程序编辑、程序编译、程序改错、程序保存、程序运行等。
第三讲算法
板书+多媒体讲解
掌握算法的概念、掌握典型算法的设计、熟练掌握算法表示方法中程序流程图和N-S图。
(1)复习上节课的主要知识点(5分钟);
(2)算法和程序的关系(5分钟);
(3)算法的概念及算法优劣比较举例(什么是算法,连加算法优劣比较、算法的分类)(10分钟);
(4)简单算法举例(设计5个例子,从易到难)(40分钟);
(5)算法的特性(有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性)(10分钟);
(6)算法的表示方法(重点介绍流程图和N-S图)(10分钟);
(7)结构化程序设计方法(简单介绍结构化程序设计方法的基本思路)(5分钟);
(8)总结和布置课后练习题(课后题2.4、2.5,下一节讲解数据类型相关知识)(5分钟)
算法的概念、算法的特性、设计算法的意义、算法的表示方法
算法的表示方法
一、以提问的方式复习上节课的主要知识点。
二、算法和程序的关系
程序=数据结构+算法
数据结构——对数据的描述;
算法——对操作的描述。
简单举例进行说明。
三、算法概念及算法优劣比较
算法:
解决问题的步骤。
不是只有数值运算问题才有算法,好多非数值运算问题也是有算法的。
数值运算问题的算法主要是求数值的结,比如求连加和,非数值算法主要应用在事务管理领域(图书检索、人事管理等)。
在进行数值运算或解决非数值算法时有时需要考虑算法的优劣,比如连加和,可以从1一直加到100,也可以采用首尾相加,在相乘的形式。
当然所用的步骤是不同的。
对于数学中的一些常用算法,比如求绝对值,求平方根,等等经常用到,人们就把它们写成程序模块的形式,用户什么时候需要就可以进行调用了,非常方便,常用的数值运算函数都包含在math.h文件中。
例3-1:
计算输入整数的平方根,如果输入的是负数,则先求它的绝对值,在求平方根:
math.h>
voidmain()
inta;
doubles;
printf("
inputthea:
scanf("
%d"
a);
a=fabs(a);
/*如果a是负数,求a的绝对值,再放到a中,fabs是求绝对值的函数,是将小括号中的数的绝对值求出来*/
s=sqrt(a);
/*sqrt为求平方根函数*/
%dthesqrt=%f"
a,s);
}
四、算法举例(将算法的各种表示方法放到算法举例中,学生接受起来效果会好一些)
介绍几个典型算法:
每一个算法都有多种描述方式,下面主要介绍自然语言表示法、流程图表示法、N-S图表示法。
流程图的基本符号及含义:
起止框
输入输出框
处理框
判断框
流程线
或
连接点
(1)计算1*2*3*4*5
自然语言表示法
繁琐的算法将第二个数与第一个数相乘,得到的积与第三个数相乘,依此方法一直乘到5。
当要进行连乘的数比较多时,这种方法显然不适用。
改进的算法开辟两个空间p和i,一个放计算之后的积,一个放被乘数,上面的算法进行改造后如下:
(S1表示第一步,S2表示第二步,依此类推)
S1:
1=>
p,2=>
i
S2:
计算p*i的积,结果仍然放在p中,即p*i=>
p
S3:
i的值增1,即i+1=>
S4:
如果i没有超过5,则继续执行S2、S3、S5,否则,算法结束,p中的数据就是连乘积。
开始
P*i=>
i+1=>
结束
i<
=5
N
Y
流程图表示法:
N-S图表示法:
p*i=>
直到i>
5
输出p
习题:
计算1+3+5+7+9的和,用流程图和N-S图表示此算法。
(2)有50个学生,输出80分以上的学生学号和成绩
为了表示方便,用n表示学生学号,ni表示第i个学生学号,用g表示学生成绩,gi表示第i个学生成绩,则算法如下:
自然语言表示法:
如果gi>
80,则输出ni和gi,否则不输出;
I
如果i<
=50,返回到S2,继续执行S2、S3、S4;
否则,算法结束。
gi>
=80
输出nigi
50
输出ni