C语言教程基础篇(全)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言教程基础篇(全)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教程 基础 课件
- 资源描述:
-
1、一、教学对象 计算机科学与技术系新生(第二学期) 二、教学目标 程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试 四、指导思想四、指导思想1. 1. 立足改革,以培养高素质有创造精神的人才为这门课立足改革,以培养高素质有创造精神的人才为这门课的教学目标。的教学目标。2. 2. 以学生为中心,采用与现实生活贴切和具有趣味性的以学生为中心,采用与现实生活贴切和具有趣味性的实例进行讲解,有利于调动学生学习的积极性,引导学实例进行讲解,有利于调动学生学习的积极性,引导学生主动学习。生主动学习。 3. 3. 强化实
2、践,这门课主张程序设计是高强度的脑力劳强化实践,这门课主张程序设计是高强度的脑力劳动,不是听会的、也不是看会的,而是练会的。引导学动,不是听会的、也不是看会的,而是练会的。引导学生在解题编程的实践中探索其中带规律性的认识。将感生在解题编程的实践中探索其中带规律性的认识。将感性认识升华到理性高度。性认识升华到理性高度。 五、学习方法五、学习方法 1.1.动手动脑,理论指导下的实践动手动脑,理论指导下的实践 有条有理的实践。有条有理的实践。 2.2.在编写大量程序之后,才能感到运用自如。在编写大量程序之后,才能感到运用自如。六、教学内容安排六、教学内容安排 1. 1. 简单简单C C程序设计;程序
3、设计; 2. 2. 分支结构程序设计;分支结构程序设计; 3. 3. 循环结构程序设计;循环结构程序设计; 4. 4. 数组;数组; 5. 5. 函数;函数; 6. 6. 递归及其实现方法递归及其实现方法 7. 7. 指针;指针; 8. 8. 结构体与链表。结构体与链表。 1.1 1.1 认识认识C C语言程序语言程序 1.1.程序实例程序实例#include /#include /预编译命令预编译命令, ,将标准输入输出函数将标准输入输出函数 /作为头文件包扩到用户源文件中作为头文件包扩到用户源文件中 #include /#include /预编译命令预编译命令, ,将系统提供的数学函数将系
4、统提供的数学函数 /作为头文件包扩到用户源文件中作为头文件包扩到用户源文件中 main( )main( ) /主函数,名为主函数,名为mainmain, / /函数体函数体. .开始开始 float a,b,c;float a,b,c; / /声明部分声明部分. .定义变量类型定义变量类型 b=30.0;b=30.0; / /执行部分执行部分. .赋值语句赋值语句 a=sin(ba=sin(b* *3.14159/180); /3.14159/180); /执行部分执行部分. .赋值语句赋值语句 printf(printf(“%fn%fn”,a);,a);/执行部分执行部分. .输出语句输出语
5、句 / /函数体函数体. .结束结束第一讲第一讲 简单的简单的C C程序设计程序设计 1.2 实例总结实例总结 1.C程序结构程序结构预编译命令预编译命令主函数主函数 main( ) 函数体开始函数体开始 声明部分声明部分 执行部分执行部分 函数体结束函数体结束第一讲第一讲 简单的简单的C C程序设计程序设计 2.2.变量的类型变量的类型 整型:整型:int int 长整型:长整型:longlong 浮点型:浮点型:floatfloat 双精度型:双精度型:doubledouble 字符型:字符型:charchar 用户自定义类型用户自定义类型第一讲第一讲 简单的简单的C C程序设计程序设计
6、3.3.声明的作用声明的作用 为变量分配内存单元,变量名作为内存单元的为变量分配内存单元,变量名作为内存单元的符号地址,这件事是在程序编译链接时完成的。符号地址,这件事是在程序编译链接时完成的。 4. 变量变量 其值可以改变的量,是内存单元的符号地址。其值可以改变的量,是内存单元的符号地址。 通过符号通过符号b可以找到相应的存储单元地址,假可以找到相应的存储单元地址,假设为设为1000。 语句语句 b=30.0b=30.0; 是将值是将值30.030.0存放在地址存放在地址为为1000的的存储单元存储单元。第一讲第一讲 简单的简单的C C程序设计程序设计 5.5.对变量的赋值对变量的赋值 赋值
7、符号赋值符号“=” b = 30.0;/ 读作将表达式的值读作将表达式的值30.0赋给变量赋给变量b a=sin(b*3.14159/180); / 读作将表达式(正弦函数)的值赋给变量读作将表达式(正弦函数)的值赋给变量a 第一讲第一讲 简单的简单的C C程序设计程序设计 6.6.变量赋值特点变量赋值特点 (1)先定义,后使用)先定义,后使用 int d,e,f; 定义三个变量为整数类型定义三个变量为整数类型 如未定义,则在编译时被查出,认为非法如未定义,则在编译时被查出,认为非法 (2)变量未被赋值前,值为)变量未被赋值前,值为未知未知 (3)对变量赋值过程是)对变量赋值过程是“覆盖覆盖”
8、过程,用新值去替换旧过程,用新值去替换旧 (4)读出变量的值,该变量保持不变)读出变量的值,该变量保持不变 (5)参与表达式运算的所有变量都保持原来的值不变)参与表达式运算的所有变量都保持原来的值不变第一讲第一讲 简单的简单的C C程序设计程序设计变量赋值过程变量赋值过程 d e fd e f未赋值前未赋值前执行执行d=7执行执行 e=d 执行执行 f=d+e执行执行 d=d+1 000-12349723431607234316077077148714第一讲第一讲 简单的简单的C C程序设计程序设计 7. 7. 输出语句输出语句 printfprintf函数(格式输出函数)函数(格式输出函数)
9、 一般形式为一般形式为 printf(printf(参数参数1 1,参数,参数2 2,参数,参数3 3,参数,参数n n) 其中参数其中参数1 1格式控制格式控制 参数参数2 2,参数,参数3 3,参数,参数n n输出表列输出表列 举例:举例: float a; float a; int b; int b; a = 85.56; a = 85.56; b = 100; b = 100; printf(%f %d, a, b); printf(%f %d, a, b);第一讲第一讲 简单的简单的C C程序设计程序设计 格式控制是用双引号括起来的字符串,称格式控制是用双引号括起来的字符串,称“转换
10、控制转换控制字符串字符串” %f 第一个输出表列的格式说明,以小数形式输出第一个输出表列的格式说明,以小数形式输出单、双精度实数,隐含输出单、双精度实数,隐含输出6位小数位小数 %d 第二个输出表列的格式说明,以带有符号的第二个输出表列的格式说明,以带有符号的十进制形式输出整数(正数不输出符号)十进制形式输出整数(正数不输出符号) 显然,显然,%f是控制实数是控制实数a的;的;%d是控制整数是控制整数b的的第一讲第一讲 简单的简单的C C程序设计程序设计 为了醒目,格式控制项中除格式说明之外可以有为了醒目,格式控制项中除格式说明之外可以有 普通字符普通字符 例例: printf(: print
11、f(“a=%f b=%d, a, b);a=%f b=%d, a, b); 输出结果为:输出结果为: a=85.560000 b=100a=85.560000 b=100 换行符号换行符号 例例: printf(: printf(“a=%fnb=%da=%fnb=%d”,a,b);,a,b); 输出结果为:输出结果为: a=85.560000a=85.560000 b=100 b=100 域宽和精度域宽和精度 例:例:printfprintf(”%5.3f%5.3f”,a a);第一讲第一讲 简单的简单的C C程序设计程序设计8. 数学函数数学函数 sin(x)x x为弧度,为弧度,doubl
12、e xdouble x,double sin(x)double sin(x) cos(x) cos(x)exp(x) exlog(x) logexlog10(x) log10 xfabs(x) xfmod(x,y) 整除整除x/y的余数的余数floor(x) 求不大于求不大于x的最大整数的最大整数pow(x, y) xysqrt(x) x1/2第一讲第一讲 简单的简单的C C程序设计程序设计9. 算术运算符算术运算符 加加 减减 *乘乘 / 除除 % 模(取余数)模(取余数)第一讲第一讲 简单的简单的C C程序设计程序设计1.3 1.3 作业作业第一讲第一讲 简单的简单的C C程序设计程序设计
13、 我们在日常生活中经常需要处理具有两个分支的问题,我们在日常生活中经常需要处理具有两个分支的问题,例例 如,如果明天下雨,则在教室内组织活动,否则去野游。如,如果明天下雨,则在教室内组织活动,否则去野游。 在在C C语言中,这类问题需要使用语言中,这类问题需要使用ifif语句解决,而判断操语句解决,而判断操 作通常使用关系运算符。作通常使用关系运算符。 关系运算符和关系表达式关系运算符和关系表达式 大于大于 =大于等于大于等于 = = 小于等于小于等于 =等于等于 !=!=不等于不等于第二讲第二讲 分支结构分支结构 2.1 2.1 掌握掌握ifif语句的使用方法语句的使用方法 【实例实例】编写
14、程序,判断输入的整数是否为编写程序,判断输入的整数是否为6 6,若是,显示,若是,显示“RightRight!”和和“Great!Great!”,否则显示,否则显示“WrongWrong!”和和“SorrySorry!”。 1编程思路:编程思路: 要显示要显示“RightRight!”和和“GreatGreat!”,应执行两条语句,应执行两条语句“printf(printf(”RightRight!nn“););”和和“printf(printf(”GreatGreat!nn“););”,要,要显示显示“WrongWrong!”和和“SorrySorry!”,执行两条语句,执行两条语句“pri
15、ntf(printf(”WrongWrong! nn“););”和和“printf(printf(”SorrySorry!nn“););”。本。本题需要根据所输入的值(假设赋给题需要根据所输入的值(假设赋给a a)是否为)是否为6 6来选择执行相来选择执行相应的两条语句。应的两条语句。 在在C C语言中判断语言中判断a a中的值是否为中的值是否为6 6,使用,使用“if(a=6)if(a=6)”形式。形式。 第二讲第二讲 分支结构分支结构 本实例的流程图如图所示 开始输入a值a=6显示“Right!”显示“Great!”显示“Wrong!”显示“Sorry!”结束假真第二讲第二讲 分支结构分支
16、结构 本实例的N-S流程图如图所示输入a的值a=6显示“Right!” 显示“Great!” 显示“Wrong!” 显示“Sorry! ” 第二讲第二讲 分支结构分支结构2 2程序代码程序代码: #include main() int a=0; printf(Input a:); scanf(%d,&a); printf(a=%dn,a); if(a=6)/* if语句开始语句开始 */ printf(Right!n); printf(Great!n); else printf(Wrong!n); printf(Sorry!n); /* if语句结束语句结束 */ 第二讲第二讲 分支结构分支结
17、构 3 3运行结果:运行结果: 第第1 1次运行结果:次运行结果: Input a:6Input a:6 a=6 a=6 Right Right! GreatGreat! 第第2 2次运行结果:次运行结果: Input a:5Input a:5 a=5 a=5 Wrong Wrong! SorrySorry!第二讲第二讲 分支结构分支结构 4 4归纳分析:归纳分析: (1 1)程序中的)程序中的“a=6a=6”是关系表达式。是关系表达式。 用关系运算符把两个用关系运算符把两个C C语言表达式连接起来的表达式称为关语言表达式连接起来的表达式称为关系表达式。关系运算的判断结果只有系表达式。关系运算
18、的判断结果只有“真真”或或“假假”两种两种可能,关系成立时为可能,关系成立时为“真真”,不成立时为,不成立时为“假假”。 关系表达式的值只能是关系表达式的值只能是1 1或或0 0,当关系运算的判断结果为,当关系运算的判断结果为“真真”时,关系表达式的值为时,关系表达式的值为 1 1,否则,关系表达式的值,否则,关系表达式的值为为0 0。例如,当。例如,当a a的值为的值为6 6时,关系表达式时,关系表达式“a=6a=6”的值为的值为1 1,当当a a的值为的值为5 5时,关系表达式时,关系表达式“a=6a=6”的值为的值为0 0。第二讲第二讲 分支结构分支结构 (2 2)程序中的)程序中的“i
19、f(a=6)if(a=6)”是是ifif语句的开始部分。语句的开始部分。 本例题需要根据本例题需要根据“a=6a=6”是否为是否为“真真”来选择执行不同来选择执行不同的两个输出语句。处理两个分支的问题时常使用的两个输出语句。处理两个分支的问题时常使用ifif语句。语句。ifif语语句根据其后面括号中表达式的结果,选择执行某个分支程序段。句根据其后面括号中表达式的结果,选择执行某个分支程序段。 ifif语句的一般形式如下:语句的一般形式如下: if(if(表达式表达式) ) 语句组语句组1 1 else else 语句组语句组2 2 “ifif”和和“elseelse”是关键字。当表达式结果为是
20、关键字。当表达式结果为“真真”(即(即不等不等于于0 0)时,执行语句组)时,执行语句组1 1,表达式结果为,表达式结果为“假假”(即等于(即等于0 0)时,)时,执行语句组执行语句组2 2。在语句组。在语句组1 1和语句组和语句组2 2中只能选择执行一组,而中只能选择执行一组,而后执行整个后执行整个ifif语句后面的语句。语句后面的语句。 第二讲第二讲 分支结构分支结构 (3) C语言中允许程序中的if语句不带else部分。 省略else的if语句一般形式如下: if(表达式) 语句组 此if语句的执行过程: 当表达式结果为“真”时,执行语句组,表达式结果为“假”时,不处理。 第二讲第二讲
21、分支结构分支结构 2.2学会使用逻辑运算符 处理问题时经常需要同时判断多个条件。例如,在某学生数学和英语成绩中判断是否至少有一门课程是不及格。这时使用逻辑运算符。 逻辑运算符共有三种: & 逻辑与 | 逻辑或 ! 逻辑非 这3个运算符按高到低的优先级顺序是“!”、“&”、“|” 一般而言,单目运算符优先级较高,赋值运算符优先级低。 算术运算符优先级较高,关系和逻辑运算符优先级较低。 第二讲第二讲 分支结构分支结构 【实例】编写程序,判断某人的体重是否在50公斤至55公斤之间,若在此范围之内,显示“Ok”,否则显示“No”。 1编程思路: 先将体重存放在变量w中,要使w的值在50至55范围内,应
22、同时满足“w=50”和“w=50 & w=50”和“w=50 & w=50 & w=55显示“Ok”显示“No”第二讲第二讲 分支结构分支结构 2 2程序代码:程序代码: #include main() float w=0.0; printf(Input w:); scanf(%f,&w); printf(w=%.1fn,w); if(w=50&w=55) printf(Okn); else printf(Non); 第二讲第二讲 分支结构分支结构 3.运行结果: 第1次运行结果: Input w:53.5 w=53.5 Ok 第2次运行结果: Input w:60.7 w=60.7 No第二
23、讲第二讲 分支结构分支结构 4 4归纳分析归纳分析: 程序中的“w=50 & w0且w0 & w0 & w=50 w=50 w=55) / /* * 内嵌内嵌ifif语句开始语句开始 * */ /printf(printf(“OkOkn);n);elseelseprintf(Non);/printf(Non);/* * 内嵌内嵌ifif语句结束语句结束 * */ / elseelseprintf(Data over!n);/printf(Data over!n);/* * 外嵌外嵌ifif语句结束语句结束 * */ / 第二讲第二讲 分支结构分支结构 3 3运行结果运行结果: 第第1 1次运行
24、结果次运行结果: Input w:Input w:53.553.5 w=53.5w=53.5 OkOk 第第2 2次运行结果次运行结果: Input w:Input w:60.760.7 w=60.7w=60.7 NoNo 第第3 3次运行结果次运行结果: Input w:Input w:201.7201.7 w=201.7w=201.7 Data over!Data over!第二讲第二讲 分支结构分支结构 4归纳分析: (1)本程序在一个if语句中包含了另一个if语句。 在if语句的语句组1或语句组2中又包含另一个分支结构的if语句称为嵌套的if语句。 (2)本程序中出现了两次else。
25、C语法规定,在if语句中,若多次出现else,则每一个else总是与前面最近的if配对,所以本例题中第一个else与内嵌的if配对,第二个else与最上面的if配对。程序中由于采用了缩进格式,if与else的配对关系一目了然。 第二讲第二讲 分支结构分支结构 2.42.4学会使用学会使用if-else ifif-else if形式的嵌套形式的嵌套ifif语句语句 【实例实例】编写程序,求下面分段函数的值,要求编写程序,求下面分段函数的值,要求x x的值从键的值从键盘输入。盘输入。 x+2 (0 x5)y=0 (x0)x2-3 (5x10)10 (x10)第二讲第二讲 分支结构分支结构 1 1编
展开阅读全文