1、六、数组一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处理函数及字符处理函数;数组的应用二维数组的定义与引用;字符数组;七、函数函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的递归调用;数组作为函数参数;变量作用域;量存储类别; 难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调用; 数组作为函数的参数、变量的存储类别与作用域。八、编译预处理重点和难点:有参宏、无参宏的定义与应用;文件包含的基本概念。九、指针指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字符串、指针数组与二级指针;指针的应用十、结构体与共用体结构体类型的说
2、明及结构体类型变量的定义;结构体变量的引用;结构体变量的初始化;结构体数组;指针与结构体数组;共用体;枚举类型结构体的基本概念、结构类型及变量的定义、结构数组;用指针处理链表;共用体及枚举类型的基本概念、typedef的基本概念。十一、文件文件的基本概念;文件的打开、关闭、常用读写方法。十二、位运算及程序调试教材、参考书教材:C程序设计(第三版) 谭浩强著 清华大学出版社 2005参考书:C语言程序设计案例教程张基温等 清华大学出版社 授课内容第1章 C语言概述教学目的和要求了解C历史,名称来源、C特点掌握C程序基本结构了解C程序上机步骤重点难点1、法成分(标识符、注释)2、C程序基本结构(C
3、程序由函数组成、main主函数、C函数基本结构)安排引言语言:人人语言交流;聋哑人手势语;人机计算机语言C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。讲授一、语言出现的历史背景(1)C语言的发展源于人们希望用高级语言编写操作系统。(C-BCPL第二字母)ALGOL60(高级语言)-CPL(硬件支持)- BCPC-B-C-标准C- ANSI C - ISO C(2)语言既具有高级语言特性,又具有低级语言特性-中级语言。二、C语言的特点C语言是从ALGOL60、CPL发展而来,既具有一般高级语言特性,又具有低级语言特性。8个特点。三、C语言基本语法成分(重点:标识
4、符,注释)(1)C语言字符集。字母、数字、特殊字符。(2)标识符(名字),C语言标识符定义规则及注意事项。说明:教师备课笔记由学校自订式样并附后(3)关键词(保留字)。参阅P234附录V。(4)运算符。参阅P233附录IV。(5)分隔符:逗号,空格。起分隔、间隔作用。(6)注释符。/* . */,编译时编译系统忽略注释。作用:注释、调试程序。四、C程序结构(3个C程序引入C程序结构)3个C程序例子(最简单C程序、有多条语句的C程序、调用自定义函数的C程序)C程序结构:(1)C程序由函数组成函数是C程序的基本单位。程序至少有1个main()(例1.1),也可以包含1个main()和若干个用户定义
5、的其它函数(例1.3)。C程序通过函数的调用完成程序的功能。(例1.1,1.2,1.3)被调用的函数可以是系统库函数(例1.1)或用户自定义函数(例1.3)。特别强调:1个程序至少应有1个main函数,main()函数是整个程序的执行起点。main()函数的位置无关紧要。(2)函数结构(用例1.3 max,main分别说明)函数头:函数返回类型 函数名(函数参数类型 函数形式参数,.)函数体:包含声明+执行部分第2章 基本语法基础-数据类型了解C语言丰富的数据类型;常量、变量的概念掌握变量定义原则和符号常量定义方法掌握常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类以及
6、掌握正确选择数据类型了解数值型数据混合运算及类型转换规律。 变量定义原则 常用基本数据类型(整型、实型、字符型)数据的常量表示、机内存储、变量分类, 正确选择数据类型 整型数据的机内表示,字符数据的机内表示一、常量与变量1、常量概念、常量类型,直接常量/符号常量。2、变量概念、变量名/变量在内存中占据的单元/变量值/变量地址。变量先定义后使用。二、整型数据(内存中补码存储)1、整型常数。10,8,16进制表示2、整型变量分类:基本整型int/长/短;有符号/无符号。观察数据表达范围字节数3、整型变量定义、初始化。例2-2。4、整型数据的溢出。例2-2A。三、实型数据1、实型常量表示。小数形式,
7、指数形式e。2、实型变量分类。重要的两种float、double。观察数据表达范围字节数有效数字3、实型数据的舍入误差。例2-3A。四、字符型数据1、字符常量表示。直接表示/转义表示(特殊的转义字符,一般字符也可以转义表示)。特殊转义字符对显示/打印的控制作用2、字符变量1个字节,char关键词。3、字符数据的存储ASCII码/二进制存储C语言可以将字符看做很短的整数处理。例2-7A,例2-8A可以看出字符数据的具有整数特性。4、字符串常量。“”括字符序列,尾部有0结束。五、数值型数据混合运算(转换为同类型运算)1、自动隐式转换。规则:(1)类型不同,转换为相同类型,然后运算(2)低类型向高类
8、型转换(图)(3)赋值转换。“=”右边类型=左边类型,然后赋值第2章 基本语法基础-运算符与表达式了解:C语言的丰富运算符,丰富的运算符可以构成灵活的表达式掌握算术、赋值、逗号运算符及它们构成的表达式。掌握运算符的优先级、结合性规律。 算术、赋值、自增/减运算符及它们构成的表达式 运算符的优先级、结合性规律。C语言运算符丰富,C语言丰富的运算符构成C语言丰富、灵活的表达式。本章主要介绍算术运算符(包括自增自减运算符)、赋值运算符、逗号运算符。一、算术运算符和算术表达式1、算术运算符(+、-、*、/)P23.表3-2。(1)整除的结果为整数,结果向0取整,实质就是舍去小数. (2)%,要求操作数
9、均为整型。余数的符号与被除数符号相同。例如:-8%5=-3;8%-5=32、算术表达式 注意:C语言算术表达式的书写形式数学表达式的书写形式区别:(1)(4)。3、(算术)运算符的优先级与结合性(P.233附录IV) 先按运算符的“优先级别”高低次序执行;优先级别相同,则按规定的“结合方向”处理。为了清晰起见可用圆括号“()”强制。例1:表达式a-b*c等价于a-(b*c)。 例2:a-b+c,到底是(a-b)+c还是a-(b+c)?(b先与a运算还是先与c参与运算?) 例3:分析x=y=z=3+5二、赋值运算符、赋值表达式1、赋值运算符、赋值表达式(1)赋值运算符(2)赋值表达式。一般形式:
10、变量赋值符表达式(3)赋值表达式的求解过程:赋值整个赋值表达式的值。x=10+y;(1)左变量(2)不具“等”含义(3)类型转换(4)赋值表达式值2、复合赋值运算符复合赋值表达式形式:变量=表达式 等价:变量=变量表达式n+=1 等价于 n=n+1;x*=y+1 等价于 x=x*(y+1)3、赋值运算符、赋值表达式举例。(1)a=5 (2)a=b=5 (3)a=(b=4)+(c=3) (4)假如a=12,分析:a+=a-=a*a(答案:-264)三、自增、自减运算符单目运算符,使变量的值增1或减1。如:+i,i+ (等价i=i+1) -i,i (等价i=i-1)(1)-(4);(前置运算):先
11、自增、减,再参与运算;(后置运算):先参与运算, (整个表达式运算结束后)再自增、减。第4章 顺序程序设计了解C语言语句分类:控制语句,表达式语句,复合语句掌握表达式语句,复合语句的构成掌握格式化输入/输出函数,常用其它输入/输出函数的使用。 表达式语句,复合语句的构成 格式化输入/输出函数 格式控制项的各种形式程序设计通常采用三种不同的程序结构:顺序,选择(分支),循环(重复)。顺序结构是最简单、最基本的程序结构。通过本章学习,可以开始简单的C程序设计。一、C语句概述C程序的总体层次结构:程序、模块,函数,语句。语句:是向计算机发出的用来完成一定操作任务的指令。C语言语句分类:1、控制语句(
12、9种)2、表达式语句(典型的赋值,函数调用、空语句)3、复合语句(相当一条语句,哪里有语句,哪里就可以用复合语句)二、输入/输出及其C语言的实现(补充)1、计算机由主机(CPU、内存),外围设备(输入/输出设备),接口组成2、主机向外部设备“输出”, 外部设备向主机“输入”。输入/输出相对主机而言。3、C语言本身不提供输入/输出语句,输入/输出操作由函数实现。三、格式输入/输出1、printf函数(格式输出函数)(1)格式:printf(格式控制字符串,输出表列) 格式控制字符串:(格式控制项、普通字符)输出表列:一般是一个表达式,简单地,可以是变量。(2)格式控制字符d、o、x/X、u、c、
13、s、f、e/E、g/G构成控制项的各种常见形式。表3-1,3-2。不要死记硬背,要总结规律。% m n h/l 格式字符2、scanf函数(格式输入函数)scanf(格式控制字符串,输入表列地址列表) 含义与printf类似输入表列地址列表:变量的地址或字符数组的首地址(2)格式控制字符、格式控制项与printf类似,表3-3,4。一般使用更加简单形式。 数据读入结束情况:遇空格、TAB、回车;遇非法输入;指定宽度结束。四、其它输入/输出函数1、putchar函数 一般形式:putchar(字符表达式);2、puts函数 一般形式:puts(char *str);3、gets函数 一般形式:g
14、ets(char *str);五、顺序结构程序设计举例例4-3:输入三角形的三边长,求三角形面积。例4-5:求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac0。六、上机演示和学生操作 1、各个数据输入函数的使用; 2、各种数据输出格式的控制。课堂提问讨论小结,作业布置C语言的格式输入/输出的规定比较繁琐,重点掌握最常用的一些规则和规律即可,其它部分可在需要时随时查阅。第5章 选择结构程序设计一理解条件-产生逻辑值的表达式掌握关系运算符、关系表达式;逻辑运算符、逻辑表达式掌握if语句 关系运算符、关系表达式 逻辑运算符、关系表达式 嵌套if语句a)选择结构(分支结构):根据条
15、件,在几个可选择分支中进行选择。C语言的选择结构可以用(1)if语句(2)switch语句(3)“条件运算”表达式实现。b)举例说明:例5-1,用if语句构成的选择结构(分段函数)c)选择结构最重要的是“选择结构的条件”。C语言中的条件是采用能产生逻辑值“真、假”的关系运算和逻辑运算来表示的。一、关系运算符和关系表达式“关系运算”(比较运算)即,将两个值进行比较,判断是否符合或满足给定的条件。1、关系运算符及其优先次序a)C语言提供6种关系运算符。表5-1。b)关于优先次序:前4种高于后两种;关系低于算术;关系高于赋值例5-2。2、关系表达式关系表达式的值是逻辑值,即“真”“假”。C语言没有逻
16、辑型数据,1“真”,0“假”。例5-3。二、逻辑运算符和逻辑表达式“关系运算”(比较运算)即,两个逻辑值的运算。1、逻辑运算符。3种,表5-2。(1)& 逻辑与,(2)| 逻辑或,(3)! 逻辑非2、逻辑运算符的优先顺序:(1)!- &- |,“!”为三者中最高。(2)&|低于关系运算符,!高于算术运算符。例5-4。3、逻辑表达式(1)逻辑值只能是0/1,但判断量是否为“真”时,以0-“假”,非0-“真”。例5-5,6。(2)逻辑运算的短路现象。例:a&b&c,a|b|c(3)可以用一个逻辑表达式来表示一个复杂的条件。闰年标准。三、if语句if语句用来判定所给定的条件是否满足,即结果(真或假)
17、决定执行给出的两种操作之一。1、if语句三种形式(1)if(表达式)语句。(2)if(表达式)语句1 else 语句2(3)if(表达式1)语句1 else if(表达式m)语句m else 语句m+1if语句使用说明。(1)(2)(3)if语句使用例子:例5-1:两数交换;例5-2:三数排序。2、if语句的嵌套:if语句的嵌套:if语句的if块或else块中,又包含一个if语句。(1)if语句嵌套一般形式。(2)else语句匹配问题例5-3:分段函数小结、作业布置第5章 选择结构程序设计二掌握条件运算符、条件表达式掌握switch-case语句switch-case语句d)复习关系运算、逻辑
18、运算、if语句e)引入简单的条件运算符及表达式、以及开关语句一、条件运算符、条件表达式在if语句中,在表达式为“真”和“假”时,都只执行一个赋值语句给同一个变量赋值时,可以使用简单的条件运算符来处理。if(ab)max=a;else max=b; b?a:b;(1)条件表达式的一般形式:表达式1?表达式2:表达式3(2)条件表达式说明(5点)例5-4.二、switch-case语句(多分支选择语句/开关语句)3、switch一般形式4、switch语句说明。(1)-(7)三、分支程序例子例5.5 写程序,判断某一年是否是闰年。例5.6 求一元二次方程ax2+bx+c=0的根。例5.7 运输公司
19、对用户计算运费。思考题、课后作业教材:P58.1-14实验一: 编写求一元二次方程的根。主要参考资料四川省二级考试题库课后自我总结分析备注(对本章节的课堂教学需补充说明的内容)第6章 循环结构程序设计一掌握while当型循环、do while直到型循环、for循环while当型循环、do while直到型循环、for循环的形式、执行过程、使用注意问题重复执行就是循环。重复工作是计算机特别擅长工作之一。重复执行不是简单地重复,每次重复,操作的数据(状态、条件)都可能发生变化。重复的动作是受控制的,C语言提供三种循环控制语句,构成了三种基本的循环结构。一、while语句(当型循环)1、while语
20、句的一般形式是:2、执行过程是:(流程图、N-S图)3、使用while注意的问题。例6-1:利用while语句,编写程序计算1+2+3+100。结论:编制循环程序要注意的几个问题。二、do-while语句(直到型循环)1、do-while语句的一般形式2、do-while执行过程(流程图)3、do-while说明:例6-4:利用do-while语句计算机1+1/2+1/4+1/50。三、for语句(当型循环)1、for语句的一般形式(给出while循环的对应结构)2、for循环执行过程(流程图)例6-6:写一个程序,计算半径为0.5,1.5,2.5,3.5,4.5,5.5mm时圆的半径。例6-
21、7:求正整数n的阶乘n!,其中n由用户输入。3、for语句最容易理解、最常用的形式4、for语句说明(6点)。C语言的for语句功能强大,使用灵活。P81.1-12实验二: 准备。第6章 循环结构程序设计二三种循环结构的比较。掌握break;continue;通过应用例子进一步掌握循环结构break;功能,区别。复习3种循环结构、引入3种循环的比较、进一步加深学生对3种循环结构的理解。四、几种循环的比较1、循环结构的基本组成部分(4部分)2、几种循环的比较。一般相互可以替代,但具体形式有些差异。例6-9:将50-100之间的不能被3整除的数输出(用三种循环结构实现)五、break和contin
22、ue语句1、break语句(1)break语句的功能(2)break语句说明例6-10:从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符。2、continue语句(翻译为“继续”(循环)(1)continue语句的功能(2)continue/break区别例6-12:从键盘输入30个字符,并统计其中数字字符的个数六、应用举例例6-14:从键盘输入一个大于2的整数n,判断是不是素数。例6-15:求100-200之间的所有素数。例6-16:输出下三角99乘法表例6-17:求Fibonacci数列的前50项。(最好在数组,函数递归部分介绍)注意到例6-15:外层n的循环,循环变量
23、的修正是:“n=n+2”(即就是每次加2),为什么?(因为只要检查奇数,偶数能被2整除,一定不是素数)。 编写100以内的所有素数。注:此页针对具体授课内容填写第7章 数组一数组的基本概念一维数组定义、初始化、引用;最大值、冒泡排序、选择排序算法。二维数组定义、初始化、引用;多维数组 一维数组定义、初始化、引用 求最大值、冒泡排序、选择排序算法 矩阵操作 冒泡排序、选择排序算法基本数据类型构造类型的数据数组数组、数组元素、数组的下标、数组的维数int a10; 一维数组可以看作一个数列,向量。float b33; 二维数组可以看作一个矩阵。一、一维数组1、一维数组的定义 类型说明 数组名整型常
24、量表达式一维数组定义说明。(1)(5)2、一维数组的初始化的几种形式(1)(2)(3)3、数组元素的引用。数组元素的引用说明:例7-1:数组元素的引用例子。4、一维数组的应用例子例7-2:从键盘输入10个整型数据,找出其中的最小值并显示出来。例7-3:采用“冒泡法”对任意输入的10个整数按由小到大的顺序排序。例7-4:采用“选择法” 对任意输入的10个整数按由大到小的顺序排序。二、二维数组(注意:类比一维数组)1、二维数组的定义2、二维数组的初始化的几种形式(1)-(5)3、二维数组元素的引用例7-5:二维数组元素的引用的例子(自学)-构造、打印单位矩阵。思考:下标是从1开始使用的,哪些元素在此例子中未使用?它们的值是多
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1