C语言程序设计教案_第1页
C语言程序设计教案_第2页
C语言程序设计教案_第3页
C语言程序设计教案_第4页
C语言程序设计教案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计教案C语言程序设计教案全文共14页,当前为第1页。《C语言程序设计》教案C语言程序设计教案全文共14页,当前为第1页。第一章C语言概述第一讲C语言概述学时:2学时授课形式:多媒体讲解+示例程序演示授课内容:C语言概述教学目的和要求: 1、了解C历史、名称来源、C特点2、掌握C基本语法成分3、掌握C程序基本结构4、了解C程序上机步骤教学重点和难点: 1、C语言语法成分(标识符、注释)2、C程序基本结构(由函数组成、main主函数)教学过程:导入语言:人-人语言交流;聋哑人-手势语;人机-计算机语言C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。讲授一、语言出现的历史背景(1)C语言的发展源于人们希望用高级语言编写操作系统。语言既具有高级语言特性,又具有低级语言特性-中级语言。二、C语言的特点(理解为主)C语言程序设计教案全文共14页,当前为第2页。简单紧凑、灵活方便。C语言共有32个关键字、9种控制语句,程序书写格式灵活。C语言程序设计教案全文共14页,当前为第2页。运算符丰富。C语言包括34个运算符,运算类型极其丰富,表达式类型多样化。数据类型丰富。有整型、实型、字符型、数组类型等等,可以实现复杂数据类型的运算,使得程序运行效率更高。C语言是结构化语言。其显著特点是代码与数据分离,便于使用、维护以及调试。语法限制较少、程序设计自由度较大。C语言允许直接访问物理地址,如对“为”、“字节”和“地址”进行操作。C语言程序生成代码质量高,程序执行效率高。C语言使用范围广,可移植性好。三、C语言基本语法成分(重点:标识符,注释)C语言字符集。字母、数字、特殊字符。标识符(名字),C语言标识符定义规则及注意事项。关键词(保留字)。共32个关键字。运算符。共34个运算符,包括算数运算、逻辑运算、关系运算、赋值运算符等。分隔符:逗号,空格。起分隔、间隔作用。注释符。/*...*/,编译时编译系统忽略注释。四、C程序结构(2个C程序引入C程序结构)例1.1#include<studio.h>main(){C语言程序设计教案全文共14页,当前为第3页。 ptintf(“Hello,World!”);C语言程序设计教案全文共14页,当前为第3页。 getch(); /*按任意键结束*/}例1.2intsum(intx,inty){ intz; z=x+y; returnz;}main(){ inta,b,c; scanf(“%d,%d”,&a,&b); /*输入两个整数*/ c=sum(a,b);/*计算两个整数之和*/ printf(“sum=%d\n”,c); /*输出结果*/ getch();}C程序结构特点小结:(1)一个C程序可以由多个函数构成,但是只能有一个main函数,程序从main函数开始,然后通过函数调用完成部分功能,最后以main函数结束;(2)主函数或子函数的函数体必须用一对{}括起来,函数体中主要是程序的功能语句,这种功能语句由两部分组成:声明部分和执行部分;(3)每一条语句由分号结束,程序书写格式自由,一行可以写多句,一句可以写多行,但分行时注意不能将字符串整体分开;(4)C语言大小写敏感,大小写不能混用;一般程序语句用小写字母,符号常量用大写;程序要有适当的注释语句,提高程序的可读性,注意注释语句不能嵌套;C语言程序设计教案全文共14页,当前为第4页。(5)C语言中的变量必须先定义后使用;C语言程序设计教案全文共14页,当前为第4页。(6)#include是预处理命令,用于将<>或””中包括的文件中的内容读到命令所在处;每个include的后面只能跟一个文件,如果想将多个文件包含到指定位置,可以通过多个include实现。五、优秀的程序员应具备的基本素质(1)具有良好的编程习惯(2)使用TAB缩进(3){}对齐(4)有足够的注释(5)有合适的空行六、C程序的实现源程序、目标程序、可执行程序的概念(补充)C语言程序的实现:编辑、编译、连接、运行。七、机房演示及学生操作小结、作业布置课后反思总结:

C语言程序设计教案全文共14页,当前为第5页。第二讲算法(知识扩充部分)C语言程序设计教案全文共14页,当前为第5页。学时:2学时授课形式:板书+多媒体讲解授课内容:算法的概念及表示教学目的和要求:1、掌握算法的概念2、学习算法的表示方法中的流程图法教学重点和难点:重点:1、算法的概念、算法的特性、设计算法的意义2、算法的表示方法难点:算法的表示方法教学过程:导入请同学们写出从1+2+3+…+100的计算方法。方法1:从1一直加到100方法2:首尾相加,再相乘的方式讲授:一、算法的概念解决一个数值计算问题或者非数值运算问题时,所采用的方法不同,就会有不同的解题过程(解题步骤),这些解决问题的步骤就称作一个个算法。二、算法与程序的关系程序=数据结构+算法;数据结构——对数据的描述;算法——对操作的描述。C语言程序设计教案全文共14页,当前为第6页。算法举例:(一个问题采用不同的解题思路)C语言程序设计教案全文共14页,当前为第6页。问题:将随机输入的若干个数升序排列输出。解题:(冒泡算法)算法:a.比较第一个数与第二个数,若为逆序,则交换;然后比较第二个数与第三个数;依次类推,直至第n-1的个数与第n个数比较为止。则第一轮排序结束后,最大的数被移动到最后。b.对前n-1个数进行第二轮排序,方法如a,则排序结束后,使得次大的数被移动到n-1的位置。c.重复步骤b,则经过n-1轮排序后,排序结束,所有的数按照升序排列。(选择算法)算法:a.首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换,第一轮选择排序后,结果最小的数被安置在第一个元素位置上。b.再通过n-2次比较,第二轮选择排序后,从剩余的n-1个数中找出次小的一个数,将它与第二个数交换位置。c.重复上述过程,共经过n-1轮排序后,排序结束,所有数按照升序排列。三、算法的描述(重点:流程图法)每一个算法都有多种方式描述,例如上面的例子,采用的是自然语言表示法,还有另外一种常用的描述方式——流程图表示法。流程图的基本符号及含义:C语言程序设计教案全文共14页,当前为第7页。C语言程序设计教案全文共14页,当前为第7页。算法的描述方式示例:1、问题:计算1*2*3*4*5。自然语言表示法:a.繁琐的算法:将第二个数与第一个数相乘,得到的积与第三个数相乘,依此方法一直乘到5。当要进行连乘的数比较多时,这种方法显然不适用。b.改进的算法:开辟两个空间p和i,一个放计算之后的积,一个放被乘数,上面的算法进行改造后如下:(S1表示第一步,S2表示第二步,依此类推)S1:1=>p,2=>iS2:计算p*i的积,结果仍然放在p中,即p*i=>pS3:i的值增1,即i+1=>iS4:如果i没有超过5,则继续执行S2、S3、S5,否则,算法结束,p中的数据就是连乘积。流程图表示法:C语言程序设计教案全文共14页,当前为第8页。C语言程序设计教案全文共14页,当前为第8页。2、问题:有50个学生,输出80分以上的学生学号和成绩。为了表示方便,用n表示学生学号,ni表示第i个学生学号,用g表示学生成绩,gi表示第i个学生成绩,则算法如下:自然语言表示法:S1:1=>iS2:如果gi>80,则输出ni和gi,否则不输出;S3:i+1=>IS4:如果i<=50,返回到S2,继续执行S2、S3、S4;否则,算法结束。流程图表示法:C语言程序设计教案全文共14页,当前为第9页。C语言程序设计教案全文共14页,当前为第9页。四、小结及作业小结:流程图表示法是算法描述的常用方法,它较自然语言表示法具有直观形象、易于理解,且避免了自然语言表示有歧义的优势。作业:1、计算1+3+5+7+9的和,用流程图表示此算法。2、有50个学生,找出50个学生中分数为90的学生学号。用流程图表示此算法。课后反思总结:

C语言程序设计教案全文共14页,当前为第10页。第三讲算法的描述C语言程序设计教案全文共14页,当前为第10页。学时:2学时授课形式:板书+多媒体讲解授课内容:算法的流程图表示法的基本结构教学目的和要求:1、掌握流程图的几种基本结构,顺序、选择和循环结构。2、会使用流程图进行算法设计教学重点和难点: 1、流程图的几种基本结构的表示 2、使用流程图表示算法教学过程:一、上节知识回顾上节的两个示例分别是顺序结构和循环结构的流程图,在算法描述中共有三种基本结构,分别为顺序结构、选择结构和循环结构,其流程图表示如下:C语言程序设计教案全文共14页,当前为第11页。C语言程序设计教案全文共14页,当前为第11页。二、算法设计举例1、问题:判断某一年份是否是闰年判断某一年份是闰年的条件是:a.能被4整除,但是不能被100整除,则这一年份是闰年;b.能被100整除,又能被400整除的,则这一年份是闰年;其他的年份都不是闰年,假设用一个空间y来存放被校验的年份,则算法描述如下:自然语言表示法:S1:输入年份=>yS2:若y能被4整除,但不能被100整除,则输出y是闰年,算法结束;否则,执行S3;S3:若y能被100整除,也能被400整除,则输出y是闰年,算法结束;否则,执行S4;S4:输出y不是闰年,算法结束。流程图表示法:C语言程序设计教案全文共14页,当前为第12页。C语言程序设计教案全文共14页,当前为第12页。2、问题:判断一个大于3的数是不是素数一个数是不是素数主要看它除了1和它本身之外不能被其他任何整数整除,则它是素数,否则就不是素数,首先需要开辟一个空间n存放待判断的数,其次开辟一个除数的空间i(i从2开始),利用n除以这个i,看能否整除,具体算法如下:自然语言表示法:S1:输入待判断的数=>nS2:2=>iS4:n除以i,得余数rS5:如果r不为0,则i+1=>i,否则,输出n不是素数,算法结束S6:如果i<n,则返回S4,否则,输出n是素数,算法结束。C语言程序设计教案全文共14页,当前为第13页。考虑是否非要做到i=n-1,是不是可以做到i<=sqrt(n)。C语言程序设计教案全文共14页,当前为第13页。流程图表示法:三、三种结构的流程图特点总结通过上面几个例子,我们可以看到,算法在执行的过程中基本只有三种模式:a.从上到下依次执行下来,中间没有任何分叉;C语言程序设计教案全文共14页,当前为第14页。b.在执行过程中,根据条件成立与否产生了不同的操作;C语言程序设计教案全文共14页,当前为第14页。c.当某一条件成立时,反复做相同的操作。这就是我们结构化程序设计的三种基本流控结构:顺序、分支和循环。绘制流程图应该注意的事项:一个流程图只有一个入口点和出口点;主要画出问题的逻辑处理过程,无

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论