版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、教学对象 计算机科学与技术系新生(第二学期) 二、教学目标 程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试,绪论,三、教学重点 1. 程序设计的基本概念,基本方法; 2.在 C语言的环境下,学会如何针对问题进行分析,得出数学模型,理出算法并编程实现; 3.有条有理有根有据的编程实践; 4.养成良好的编程风格与习惯; 5.重在思维方法的学习,鼓励创新。,绪论,四、指导思想1. 立足改革,以培养高素质有创造精神的人才为这门课的教学目标。2. 以学生为中心,采用与现实生活贴切和具有趣味性的实例进行讲解,有
2、利于调动学生学习的积极性,引导学生主动学习。 3. 强化实践,这门课主张程序设计是高强度的脑力劳动,不是听会的、也不是看会的,而是练会的。引导学生在解题编程的实践中探索其中带规律性的认识。将感性认识升华到理性高度。,绪论,五、学习方法 1.动手动脑,理论指导下的实践 有条有理的实践。 2.在编写大量程序之后,才能感到运用自如。,绪论,六、教学内容安排 1. 简单C程序设计; 2. 分支结构程序设计; 3. 循环结构程序设计; 4. 数组; 5. 函数; 6. 递归及其实现方法 7. 指针; 8. 结构体与链表。,绪论,1.1 认识C语言程序 1.程序实例 #include /预编译命令,将标准
3、输入输出函数 /作为头文件包扩到用户源文件中 #include /预编译命令,将系统提供的数学函数 /作为头文件包扩到用户源文件中 main( ) /主函数,名为main, /函数体.开始 float a,b,c; /声明部分.定义变量类型 b=30.0; /执行部分.赋值语句 a=sin(b*3.14159/180); /执行部分.赋值语句 printf(“%fn”,a);/执行部分.输出语句 /函数体.结束,第一讲 简单的C程序设计,1.2 实例总结 1.C程序结构,预编译命令,主函数 main( ) 函数体开始 声明部分 执行部分 函数体结束,第一讲 简单的C程序设计,2.变量的类型 整
4、型:int 长整型:long 浮点型:float 双精度型:double 字符型:char 用户自定义类型,第一讲 简单的C程序设计,3.声明的作用 为变量分配内存单元,变量名作为内存单元的符号地址,这件事是在程序编译链接时完成的。 4. 变量 其值可以改变的量,是内存单元的符号地址。 通过符号b可以找到相应的存储单元地址,假设为1000。 语句 b=30.0; 是将值30.0存放在地址为1000的存储单元。,第一讲 简单的C程序设计,5.对变量的赋值 赋值符号“=” b = 30.0;/ 读作将表达式的值30.0赋给变量b a=sin(b*3.14159/180); / 读作将表达式(正弦函
5、数)的值赋给变量a,第一讲 简单的C程序设计,6.变量赋值特点 (1)先定义,后使用 int d,e,f;定义三个变量为整数类型 如未定义,则在编译时被查出,认为非法 (2)变量未被赋值前,值为未知 (3)对变量赋值过程是“覆盖”过程,用新值去替换旧 (4)读出变量的值,该变量保持不变 (5)参与表达式运算的所有变量都保持原来的值不变,第一讲 简单的C程序设计,变量赋值过程 d e f 未赋值前 执行d=7 执行 e=d 执行 f=d+e 执行 d=d+1 000,第一讲 简单的C程序设计,7. 输出语句 printf函数(格式输出函数) 一般形式为 printf(参数1,参数2,参数3,参数
6、n) 其中参数1格式控制 参数2,参数3,参数n输出表列 举例: float a; int b; a = 85.56; b = 100; printf(%f %d, a, b);,第一讲 简单的C程序设计,格式控制是用双引号括起来的字符串,称“转换控制字符串” %f 第一个输出表列的格式说明,以小数形式输出单、双精度实数,隐含输出6位小数 %d 第二个输出表列的格式说明,以带有符号的十进制形式输出整数(正数不输出符号) 显然,%f是控制实数a的;%d是控制整数b的,第一讲 简单的C程序设计,为了醒目,格式控制项中除格式说明之外可以有 普通字符 例: printf(“a=%f b=%d, a,
7、b); 输出结果为: a=85.560000 b=100 换行符号 例: printf(“a=%fnb=%d”,a,b); 输出结果为: a=85.560000 b=100 域宽和精度 例:printf(”%5.3f”,a);,第一讲 简单的C程序设计,8. 数学函数 sin(x)x为弧度,double x,double sin(x) cos(x) cos(x) exp(x) ex log(x) logex log10(x) log10 x fabs(x) x fmod(x,y) 整除x/y的余数 floor(x) 求不大于x的最大整数 pow(x, y) xy sqrt(x) x1/2,第一
8、讲 简单的C程序设计,9. 算术运算符 加 减 *乘 / 除 % 模(取余数),第一讲 简单的C程序设计,1.3 作业,第一讲 简单的C程序设计,我们在日常生活中经常需要处理具有两个分支的问题,例 如,如果明天下雨,则在教室内组织活动,否则去野游。 在C语言中,这类问题需要使用if语句解决,而判断操 作通常使用关系运算符。 关系运算符和关系表达式 大于 =大于等于 = 小于等于 =等于 !=不等于,第二讲 分支结构,2.1 掌握if语句的使用方法 【实例】编写程序,判断输入的整数是否为6,若是,显示“Right!”和“Great!”,否则显示“Wrong!”和“Sorry!”。 1编程思路:
9、要显示“Right!”和“Great!”,应执行两条语句“printf(”Right!n“);”和“printf(”Great!n“);”,要显示“Wrong!”和“Sorry!”,执行两条语句“printf(”Wrong! n“);”和“printf(”Sorry!n“);”。本题需要根据所输入的值(假设赋给a)是否为6来选择执行相应的两条语句。 在C语言中判断a中的值是否为6,使用“if(a=6)”形式。,第二讲 分支结构,本实例的流程图如图所示,第二讲 分支结构,本实例的N-S流程图如图所示,第二讲 分支结构,2程序代码: #include main() int a=0; printf(
10、Input a:); scanf(%d, /* if语句结束 */ ,第二讲 分支结构,3运行结果: 第1次运行结果: Input a:6 a=6 Right! Great! 第2次运行结果: Input a:5 a=5 Wrong! Sorry!,第二讲 分支结构,4归纳分析: (1)程序中的“a=6”是关系表达式。 用关系运算符把两个C语言表达式连接起来的表达式称为关系表达式。关系运算的判断结果只有“真”或“假”两种可能,关系成立时为“真”,不成立时为“假”。 关系表达式的值只能是1或0,当关系运算的判断结果为“真”时,关系表达式的值为 1,否则,关系表达式的值为0。例如,当a的值为6时,
11、关系表达式“a=6”的值为1,当a的值为5时,关系表达式“a=6”的值为0。,第二讲 分支结构,(2)程序中的“if(a=6)”是if语句的开始部分。 本例题需要根据“a=6”是否为“真”来选择执行不同的两个输出语句。处理两个分支的问题时常使用if语句。if语句根据其后面括号中表达式的结果,选择执行某个分支程序段。 if语句的一般形式如下: if(表达式) 语句组1 else 语句组2 “if”和“else”是关键字。当表达式结果为“真”(即不等于0)时,执行语句组1,表达式结果为“假”(即等于0)时,执行语句组2。在语句组1和语句组2中只能选择执行一组,而后执行整个if语句后面的语句。,第二
12、讲 分支结构,(3) C语言中允许程序中的if语句不带else部分。 省略else的if语句一般形式如下: if(表达式) 语句组 此if语句的执行过程: 当表达式结果为“真”时,执行语句组,表达式结果为“假”时,不处理。,第二讲 分支结构,2.2学会使用逻辑运算符 处理问题时经常需要同时判断多个条件。例如,在某学生数学和英语成绩中判断是否至少有一门课程是不及格。这时使用逻辑运算符。 逻辑运算符共有三种: printf(Input w:); scanf(%f, ,第二讲 分支结构,3.运行结果: 第1次运行结果: Input w:53.5 w=53.5 Ok 第2次运行结果: Input w:
13、60.7 w=60.7 No,第二讲 分支结构,4归纳分析: 程序中的“w=50 ”或“printf(Non);”的功能,但由于本题目是在w的值大于0且小于200的情况下,才能执行此if语句,所以在此if语句外面还需要套另一个if语句。,第二讲 分支结构,本实例的程序流程图: 课堂作业:请根据此图画出其N-S流程图。,第二讲 分支结构,2程序代码: main() float w=0.0; printf(Input w:); scanf(%f,/* 外嵌if语句结束 */ ,第二讲 分支结构,3运行结果: 第1次运行结果: Input w:53.5 w=53.5 Ok 第2次运行结果: Inpu
14、t w:60.7 w=60.7 No 第3次运行结果: Input w:201.7 w=201.7 Data over!,第二讲 分支结构,4归纳分析: (1)本程序在一个if语句中包含了另一个if语句。 在if语句的语句组1或语句组2中又包含另一个分支结构的if语句称为嵌套的if语句。 (2)本程序中出现了两次else。 C语法规定,在if语句中,若多次出现else,则每一个else总是与前面最近的if配对,所以本例题中第一个else与内嵌的if配对,第二个else与最上面的if配对。程序中由于采用了缩进格式,if与else的配对关系一目了然。,第二讲 分支结构,2.4学会使用if-else
15、 if形式的嵌套if语句 【实例】编写程序,求下面分段函数的值,要求x的值从键盘输入。,第二讲 分支结构,1编程思路:,第二讲 分支结构,2程序代码: #include main() float x=0,y=0; printf(Input x:); scanf(%f, ,第二讲 分支结构,2.5 switch语句 在日常生活中经常遇到菜单选择操作,例如,用ATM自动取款机取钱时,从菜单中可以选择语种、取款额;用自动服务系统给手机充值时,可以选择查余额还是充值,对本机充值还是对其他号码充值等。这些问题一般使用switch语句解决。 总之,这些问题都是多分支情况。,第二讲 分支结构,【实例】编写程
16、序,在如下菜单中选择一个运算类型,并进行相应的运算。如选择了加法,则进行求和运算。 Please choose + : addition - : subtraction * : multiplication / : division,第二讲 分支结构,1程序代码: #include main() float a=5.0,b=2.0,c=0.0; char sym=0; printf(Please choosen); printf(+ : additionn); printf(- : subtractionn); printf(* : multiplicationn); printf(/ : d
17、ivisionn); sym=getchar(); printf(%f%c%f=,a,sym,b); /* 显示算式 */,第二讲 分支结构,switch(sym) /* 计算算式 */ case +: c=a+b; break; case -: c=a-b; break; case *: c=a*b; break; case /: c=a/b; break; printf(%fn,c); /* 显示结果 */ ,第二讲 分支结构,2运行结果: Please choose + : addition - : subtraction * : multiplication / : division
18、/ 5.000000/2.000000=2.500000,第二讲 分支结构,3归纳分析: switch语句的一般形式为: switch(表达式) case 表达式1: 语句组1 break; case 表达式2: 语句组2 break; case 表达式n: 语句组n break; default: 语句组n+1 break; 其中switch、case、default和break是关键字,所有表达式均为整型或字符型。在表达式1、表达式2、表达式n中只能出现常量和运算符,而且每个表达式的值不能相等。,第二讲 分支结构,2.6 条件运算符及其表达式 C语言中条件运算符由“?”和“:”组成,例如“ab ? a : b”。 条件表达式的一般形式为: 表达式1 ?表达式2 :表达式3 当表达式1的值为非0时,以表达式2的值作为条件表达式的值,否则,以表达式3的值作为条件表达式的值。例如,当a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高二新计划800字作文怎么写
- 2024金融借款合同集合(30篇)
- 2024集团公司煤炭产业安全管理制度汇编(试行)
- 2024财务部个人工作总结(34篇)
- DB32T-中远海风电场无功补偿配置技术导则编制说明
- 《廉洁教育课件》课件
- 2024年贵黄高速沿线居民搬迁补偿合同
- 2024年锅炉设备全面维护保养承包合同书版B版
- 2024年生态环保主题广告制作安装合同范本2篇
- 2024年版城市供水系统升级改造合同
- 供应链年终工作总结报告
- 2024年香港中旅国际投资有限公司招聘笔试参考题库含答案解析
- 酱油培训课件
- Zippo-2024年美版年册集合
- 重大隐患判定标准培训课件
- 画法几何及机械制图课件
- 棋牌游戏自审自查报告
- 地质灾害风险调查评价项目招标文件
- JJF 2088-2023大型蒸汽灭菌器温度、压力、时间参数校准规范
- 幼儿园食堂食品安全主体责任风险管控清单(日管控)
- 陕西华县皮影戏调研报告
评论
0/150
提交评论