C语言程序设计
第一章 C语言概论
一、 教学目的: 了解C语言特点,理解C程序的特性,掌握C语言的书写要求和方法,了解main函数以及标准的输入输出函数,并且掌握C程序的上机运行步骤 学时分配:2
二、 教学重点:C语言的书写要求和方法, main函数以及标准的输入输出函数, C程序的上机运行步骤
三、 教学难点:C程序上机运行
四、 教学方法:课题讲授、程序示例分析,上机实验
五、 教学道具:多媒体课件
六、 教学过程设计:
1.什么是C语言:语言的历史变革(机器语言 汇编语言 高级语言);C语言的发展
2.为什么要用C语言
特点、用途、现实应用
3.示例 Hello world /Printf /Scanf
(1)C语言结构与书写规则 (2)C语言语句和关键字 (3)算法简介 简单介绍算法的集中表示形式 (4)编译环境介绍 Turbo C, Visual C++ , Borland C++ , Dev C++, GCC
七、 思考题
尝试在自己的机器上运行一段C程序
第二章 C语言数据类型及表达式
一、 教学目的:
了解C语言的数据类型,会运用C语言丰富的运算符和表达式,会看程序写结果。
熟练掌握标识符的组成,变量的存放以及变量在C语言中的运用,即"先定义,后使用",字
符数据在内存中的存储形式及其使用方法,各类数值型数据间的混合运算,算术运算符和算术表达式,赋值运算符和赋值表达式,逗号运算符的结合性。
学时分配:5
二、 教学重点:
各种常量变量的使用掌握,C表达式类型运算优先级、结合性。
三、 教学难点:
C表达式类型运算优先级、结合性。
四、 教学方法:
课题讲授、程序示例分析,上机实验
五、 教学道具:
多媒体课件
六、 教学过程设计:
∙ 程序设计概述
∙ C语言的数据类型(基本类型,构造类型,指针类型、空类型)
∙ 常量和变量
普通常量和符号常量,符号常量的值在其作用域内不能改变,也不能再被赋值。
字母、数字和下划线,一般变量名的长度不能超过8个字符(TC)
识别大、小写
变量作强制定义,也就是“先定义,后使用”
∙ 整型数据 (十进制整数:数码开头 八进制整数:以0开头 十六进制整数:以0x开头)
负数补码形式存放。整型变量的各种类型都有一定的范围,超过此范围数据将会溢出,产生不可预料的结果。C语言版本不同,有些类型的范围会有所不同
∙ 实型数据 (十进制数,指数形式)
注意字母e(或E)之前必须有数字,且e后面指数必须为整数
∙ 字符型数据
将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。(大小写判断,转换,数字判断。。);不能把一个字符串常量赋给一个字符变量
∙ 运算符与表达式
C语言规定了运算符的优先级和结合性。除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。
自增、自减运算符
∙ 数据类型间的混合运算
ANSI C并没有具体规定表达式中的子表达式的求值顺序,允许各编译系统自己安排。
在调用函数时,实参数的求值顺序,C标准并无统一规定。
类型转换 高转低、低转高
第三章 顺序程序设计
一、 教学目的:
学会运用几个常用的输入输出函数,学会简单运用顺序结构设计程序。熟练掌握几个常用的输入输出函数如scanf和printf函数的输入输出格式,putchar和getchar函数用。
学时分配:4
二、 教学重点:
进行数据的输入与输出,输入输出函数的调用
三、 教学难点:
输入输出函数的调用
四、 教学方法:
课题讲授、程序示例分析,上机实验
五、 教学道具:
多媒体课件
六、 教学过程设计:
一个c程序可以有若干个源程序文件组成。
一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成。
一个函数有函数首部和函数体组成。
函数体由数据声明和执行语句组成。
C语句分为控制语句、函数调用语句、表达式语句、空语句、复合语句
输入输出函数, printf:
•除了X,E,G外,其他各式字符必须用小写。
•可以在printf函数中的“格式控制switch函数用法举例”字符串中包含转义字符。
•一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。
•想输出%,则应该在格式控制字符串中用连续两个%表示
Scanf:
•scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。
•如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。
•在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入
•在输入数据时,遇以下情况时认为该数据结束。
① 遇空格,或按“回车”或“跳格”(Tab)键;② 按指定的宽度结束,如“%3d”,只取3列;③ 遇非法输入
•对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。
•可以指定输入数据所占的列数,系统自动按它截取所需数据。
•如果在%后有一个“*”附加说明符,表示跳过它指定的列数。
•输入数据时不能规定精度。
第四章 选择与循环结构程序设计
一、 教学目的:
熟练掌握关系运算符及优先次序和逻辑运算符及其优先次序,学会运用if /switch语句编写选择结构程序。了解几种循环语句,goto 语句一般形式,goto 语句与if语句一起构成循环结构,while 语句的一般形式,do-while语句的一般形式,for 语句的一般形式,几种循环嵌套形式,几种循环语句的区别与用法。熟练掌握do-while语句与while语句的使用及区别,break语句,continue语句。掌握用while语句写简单程序,for 语句和while /do-while 的关系。
学时分配:10
二、 教学重点:
选择,循环的嵌套合并使用
三、 教学难点:
选择结构的嵌套。循环的嵌套。
四、 教学方法:
课题讲授、程序示例分析,上机实验
五、 教学道具:
多媒体课件
六、 教学过程设计:
选择结构程序 :
关系运算符(´<´, ´<=´, ´>´, ´>=´) > (==, !=)
•算术运算符(高)→关系运算符(中)→赋值运算符(低)
•结合方向是“自左向右”
•在C语言中:常用1表示“真”,用0表示“假”。
逻辑运算符 !(非)→&&(与)→║(或)
•结合方向是“自左向右”
•非0代表“真”, 以0代表“假”。 可以是任何类型的数据,如字符型、实型或指针型。
•如果在一个表达式中不同位置上出现数值,应区分哪些是作为数值运算或关系运算的对象,哪些作为逻辑运算的对象。
•短路原则。
If语句: if语句、if-else语句和if-else-if语句。If 的嵌套
条件运算符: 表达式1?表达式2:表达式3
条件表达式的优先级别仅高于赋值运算符
表达式1、表达式2和表达式3的类型可以不同,此时条件表达式的值的类型为它们中较高的类型
switch语句:
•其中default可以省略。 注意break与switch的联动使用。Switch与if的嵌套使用
•case后的常量表达式必须是与表达式对应一致的整数、字符或枚举常量。
goto语句: 简略介绍
while语句:先判断表达式的值,然后执行循环体中的语句
do-while语句:先执行一次指定的循环体语句,然后判断表达式的值,圆括号后面有一个分号
for语句: 注意for语句的运行顺序;条件中的分号不可以省略;
for语句: 注意for语句的运行顺序;条件中的分号不可以省略;
以上各种语句的嵌套
break语句和continue语句
第五章 数组
一、 教学目的:
熟练数组的定义、引用、初始化,并且能够运用数组编程。熟练掌握字符数组的初始化,
字符串和字符串结束标志,字符数组的输入输出,字符串处理函数。应用举例。
学时分配:8
二、 教学重点:
用数组进行程序设计
三、 教学难点:
用数组进行程序设计
四、 教学方法:
课题讲授、程序示例分析,上机实验
五、 教学道具:
多媒体课件
六、 教学过程设计:
1. 一维数组的定义、初始化、引用
常量表达式中可以包括常量和符号常量,不能包含变量
赋初值为0, int a[10] = {0}
2. 二维数组的定义、初始化、引用
C语言中排列顺序是按行存放, c语言中遍历数组的常用写法。
赋初值的各种方式。
3. 字符数组与字符串 ,特别注意两者的区别,通过c语言在内存中的存放方式来解读。
4. 字符串函数的使用方式
数组由数组元素构成,在计算机内存中占据一片连续的存储单元。在同一个数组中存储的数据应具有相同的类型。可以用不同的下标来访问数组元素。
数组分为一维数组和多维数组,在处理实际问题时,数组是一种非常有用的数据结构。在
使用数组时应遵循先定义、后使用的原则。数组一般不能整体引用,也不能越界使用数组元素,可以用循环结构很方便地访问数组元素。
第六章 函数与编译预处理
一、 教学目的:
了解函数的基本概念,函数调用、嵌套调用和递归调用,学会运用数组或数组名作函数参数编写程序,了解局部变量和全局变量,动态存储方式和静态存储方式,内部函数,外部函数等概念。学会运用函数的“传值”与“传地址”调用编写程序。学时分配:9
二、 教学重点:
形式参数与实在参数,参数值的传递。 函数的正确调用,嵌套调用,递归调用
三、 教学难点:
形参,实参的使用,函数的调用方式
四、 教学方法:
课题讲授、程序示例分析,上机实验
五、 教学道具:
多媒体课件
六、 教学过程设计:
•函数的意义(模块化调用,简单介绍面向对象)
•函数定义的一般形式(有参,无参)
•函数参数与函数的值(形参,实参,在调用方式,内存使用方面的区别与联系, 函数返回值类型)
•函数的调用(函数语句。函数表达式, 函数参数)
说明: 1.首先被调用的函数必须是已经存在的函数.2.如果使用库函数,一般还应该在本文件开头用#include命令将调用有关库函数时所用到的信息包含到本文件来。 3.如果使用用户自己定义的函数,而且该函数与调用它的函数(即主调函数)在同一个文件中,一般还应该在主调函数中对被调用函数的返回值的类型作说明。
无需函数说明的几种情况:
1.如果函数的值(函数的返回值)是整型或字符型,可以不必进行说明
2.如果被调用函数的定义出现在主调函数之前,可以不必加以说明。
3.如果已在所有函数定义之前,在文件的开头,在函数的外部说明了函数类型,则在各个函数中不必对所调用的函数再作类型说明。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论