新乡医学院三全学院《C语言程序设计》课件-第1章C语言概述_第1页
新乡医学院三全学院《C语言程序设计》课件-第1章C语言概述_第2页
新乡医学院三全学院《C语言程序设计》课件-第1章C语言概述_第3页
新乡医学院三全学院《C语言程序设计》课件-第1章C语言概述_第4页
新乡医学院三全学院《C语言程序设计》课件-第1章C语言概述_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、第 1 章 C语 言 概 述新乡医学院三全学院新乡医学院三全学院C语言程序设计语言程序设计本章内容1.1 计算机程序设计语言的发展1.2 C语言的发展及特点1.3 简单的C语言程序1.4 C语言程序的开发步骤及调试方法1.5 算法及其描述1.6 学生信息管理系统案例简介 学习方法说明C语言重要、初学时难度较大注意重点多动手编程、多分析思考本章主要介绍C语言的基本知识,通过几个简单的C语言程序实例,使读者掌握C语言程序的基本结构和书写规则、明确C语言程序的上机操作步骤。另外,本章还将简要介绍“学生信息管理系统”案例的基本功能。【学习目标】掌握C语言程序的基本结构和书写规则掌握C语言程序的上机操作

2、步骤熟悉VC 6.0集成开发环境了解计算机程序设计语言的发展了解C语言的特点了解算法及其描述1.机器语言 2.直接使用二进制编码的程序语言为机器语言。 3.例如,某种型号的计算机用10000000表示加法指令,用10010000表示减法指令。4.优点:机器语言程序能在计算机上直接运行,具有占用内存少、执行速度快。5.缺点:机器语言不直观、难记、难认、不易查错,编程非常麻烦,只能被少数专业人员掌握。 6.用机器语言编写的程序可移植性差。 2. 汇编语言用一些简洁的助记符来替代二进制的机器指令。例如,用“ADD”表示加法,用“SUB”表示减法等等。 优点:汇编语言比机器语言更容易理解,能充分发挥计

3、算机硬件的功能和特长,程序精炼而高效。缺点:汇编语言程序同样依赖于计算机硬件、可移植性不好,且助记符多、难以记忆。 3. 高级语言高级语言用接近人们习惯的自然语言和数学语言作为语言的表达形式,其语法和结构类似于普通英文,编程非常方便,一般人经过学习之后都可以进行编程。 优点:高级语言程序不依赖于计算机硬件,能在所有机器上通用,可移植性好。缺点:高级语言程序的运行效率要低于汇编语言和机器语言。 编译方式和解释方式 编译方式是通过一个专门的程序(即编译程序)一次性地将整个源程序翻译成机器语言程序,以后每次运行时直接执行已经翻译好的机器语言程序。例如,C、FORTRAN、PASCAL。 解释方式是每

4、次运行时,将源程序翻译一句执行一句,解释方式不产生目标程序,每次运行都需要进行翻译,这样在程序的执行速度方面比编译方式要慢。例如,BASIC采用解释方式。1.2.1 C语言的发展 2.早期的UNIX操作系统是用汇编语言编写的,汇编语言程序对计算机硬件的依赖性强、可读性和可移植性差,而一般的高级语言程序虽具有良好的可读性和可移植性,但它们不能对硬件直接进行操作。3.因此,需要设计一种集高级语言和低级语言的功能于一体的语言,这样C语言应运而生。 1.2.2 C语言的特点1. 功能强大它能够象汇编语言一样对位、字节和地址进行访问,从而实现对硬件的直接操作。C语言兼有高级语言和低级语言的双重特点,既可

5、以用来编写应用软件,又可以用来编写系统软件。2. 语言简洁、紧凑,使用方便、灵活3. 程序执行效率高、可移植性好4. 编程风格结构化对大型程序可以采用模块化设计。程序:按照一定的顺序安排的工作步骤。/*文件名:p1-1.c 该程序的功能是求两数之和*/#include /注明输入输出函数使用的头文件void main()/定义主函数 int x,y,sum;/定义变量 scanf(%d%d,&x,&y);/调用库函数从键盘输入数据 sum=x+y;/计算两数之和 printf(sum=%dn,sum); /在屏幕上显示结果函数体【例1-1】从键盘输入任意两个整数,输出两数之和。注释1 1 注释

6、1.注释有两种:(1)“/* */”,可以是单行或多行 (2) “/”,只能是单行注释2.注释可有可无,用来对程序进行说明3.注释不会影响程序的功能和正确性2 2 包含头文件l 作用是将头文件stdio.h的内容读到该命令的位置处。l 为了用户编程方便,C编译系统提供了许多完成各种功能的库函数供用户调用。需要注明该库函数所在的头文件。l scanf()为输入库函数,printf()为输出库函数,程序中只要用到这两个库函数,就需包含stdio.h头文件。3 3 定义主函数l 构成C程序的基本单位是函数,一个C程序可由一个或多个函数组成,有且只有一个主函数。l C程序总是从main()函数开始执行

7、,main()函数执行完了,程序也就结束了。l 一个函数由函数首部和函数体两部分组成。函数体中每条语句必须以分号(;)号结尾。4 4 定义变量l 定义了三个整型变量x、y和sum。int表示整型 。l 变量必须先定义后使用。l 给变量命名时需要注意以下几点:l(1) 变量名只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。l(2) 变量名一般采用小写字母,并且区分大小写。l(3) 变量名不能为关键字。l(4) 尽量做到“见名知义”。 5 5 调用格式输入函数l 调用scanf()格式输入函数从键盘输入数据给变量x和y,该函数的调用格式如下:l scanf(格式控制字符串,变

8、量地址列表);l 格式说明符与各输入项在数量和类型上一一对应。 6 6 进行两数相加l x、y和sum变量在计算机中存放在哪儿呢?l 答案是:计算机的内存。 a=a+1;语句将执行什么操作呢?7 7 调用格式输出函数l printf(格式控制字符串,输出列表);l 格式控制字符串用来指定输出格式,由普通字符、格式说明符和控制字符组成。 l 输出时普通字符原样显示,格式说明符变量的值所代替,控制字符n的作用是换行 。 如果想让输出结果显示为:15+12=27,应如何设置printf()函数的参数?【归纳总结】编写C程序的一般过程是:(1) 定义变量;(2) 设置变量的值,可以通过键盘输入或直接赋

9、值;(3) 加工处理,得到结果;(4) 输出结果。1.4 C1.4 C语言程序的开发步骤及调试方法语言程序的开发步骤及调试方法 1.4.1 C1.4.1 C语言程序的开发步骤语言程序的开发步骤 C语言程序的开发步骤一般分为四步:编辑、编译、连接和执行。1.4.2 C1.4.2 C语言程序的上机过程l 用户输入程序,并保存在磁盘上,这一过程称为编辑。l 单击“文件”菜单的“新建(New)”命令,出现界面: 1 编辑源程序 输入源程序 单击此处添加副标题内容012 2 编译(compile) (compile) Visual C+ 6.0Visual C+ 6.0编译程序将C C语言源程序翻译成二

10、进制目标程序的过程称为编译。假设将sum=x+ysum=x+y语句后的分号(;)(;)输掉了,则会出现如图所示的错误提示信息。双击错误提示行,系统会自动定位错误的大概位置,再结合系统给出的提示信息进行修改。 3 3 连接:指将所有目标文件以及程序中用到的库函数代码连接起来,生成一个.exe.exe可执行文件的过程。4 4 执行 5. 关闭工作区当一个程序执行完毕,想要建立下一个程序时,必须先关闭当前文件所在的工作区,再建立新文件。 【例【例1-21-2】从键盘输入圆的半径,求圆的面积。】从键盘输入圆的半径,求圆的面积。/*文件名:p1-2.c*/#include /注明输入输出函数使用的头文件

11、void main()/定义主函数float r,area;/定义单精度型变量scanf(%f,&r); /调用库函数从键盘输入半径area=3.14*r*r;/计算圆的面积printf(area=%fn,area);/在屏幕上显示结果带小数点的变量可定义为float(单精度型),%f为其格式说明符。【归纳总结】 为了使程序美观、整齐,可读性好,编写C程序时应尽量遵循以下规则:“”和“”对齐,且一般单独占一行。使用键缩进,书写格式呈锯齿形。一条语句占一行。有足够的注释。【例【例1-31-3】从键盘输入任意一个数,输出该】从键盘输入任意一个数,输出该数的平方根,输出宽度占数的平方根,输出宽度占7

12、 7位,并保留两位位,并保留两位小数。小数。 带小数点的变量可定义为double(双精度型),其格式说明符为%lf。#include /注明输入输出函数使用的头文件#include /注明sqrt()函数使用的头文件void main()/定义主函数double a,b;/定义变量scanf(%lf,&a);/调用库函数从键盘输入数据b=sqrt(a);/计算平方根printf(平方根为:%7.2lfn,b);/在屏幕上显示结果 l 7.2为附加格式说明符,表示输出宽度占7位,并保留两位小数。l float单精度型变量和double双精度型变量都可以存储实数,两者有何区别?l 双精度型变量精度

13、更高、能存储的数值范围更大。一般情况下,采用单精度型变量就可以了,但在处理对精度要求很高的复杂数据时,则应当采用双精度型变量。【例【例1-41-4】从键盘输入三角形的三条边长】从键盘输入三角形的三条边长a a、b b、c c,求三角形的面积,求三角形的面积s s,输出宽度占,输出宽度占7 7位,并保留两位,并保留两位小数。计算三角形面积的公式为,其中,位小数。计算三角形面积的公式为,其中,p=(a+b+c)/2p=(a+b+c)/2。 #include /注明输入输出函数使用的头文件#include /注明sqrt()函数使用的头文件void main()/定义主函数double a,b,c,

14、p,s;/定义变量printf(请输入三条边长:);/显示输入提示信息scanf(%lf%lf%lf,&a,&b,&c);/调用库函数p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c);/计算面积printf(结果为:%7.2lfn,s);/在屏幕上显示结果 1.5 1.5 算法及其描述 1.5.1 算法的概念所谓算法,就是为解决某个特定问题而采取的方法和步骤,算法是程序的灵魂。 一个有效的算法应该具备以下五个基本特性。1. 有穷性一个算法所包含的操作步骤应该是有限的。2. 确定性确定性是指算法的每个操作步骤都应当具有明确的含义。3. 有效性有效性是指算法的每个操作步

15、骤都是能够实现和执行的。4. 有零个或多个输入有些算法不需要从外界输入数据。例如,求10!。但有些算法则必须从外界输入数据。例如,求n!。5. 有一个或多个输出没有任何输出的算法是毫无意义的。l 编程者有了算法后,还需将算法用一种简洁、明了的方式表现出来,以便将算法转换成程序,通常采用传统流程图、NS图和伪代码3种方法来描述算法。1.5.2 1.5.2 算法的描述1 1 传统流程图结构化程序设计有三种基本控制结构:顺序结构、选择结构和循环结构。这三种基本控制结构用传统流程图表示如图1-19所示。 【例【例1-51-5】从键盘输入】从键盘输入一个自然数一个自然数n n,求,求n n!。!。2 N

16、2 NS S图 NS图的每一种基本结构都是一个矩形框,整个算法就像堆积木一样形成。程序的三种基本控制结构用NS图表示如图1-21所示。 【例【例1-61-6】从键盘输入一个自然数】从键盘输入一个自然数n n,求,求n n!。3 3 伪代码 伪代码是一种介于自然语言与计算机语言之间的描述工具,它无严格的语法规则,书写格式自由,容易表达出程序员的思想,但伪代码不如流程图直观。 【例【例1-71-7】从键盘输入一个自然数】从键盘输入一个自然数n n,求,求n n!。l 对于一个大型的软件系统,采用模块化程序设计是一种比较有效的方法。l 所谓模块化程序设计就是将一个大的程序按功能分割成一个个小的模块,

17、每个模块功能单一、程序规模不大,这样有利于编程和调试。 1.6 1.6 学生信息管理系统案例简介 学生信息管理系统菜单 【例【例1-81-8】 一个简单的菜单程序。一个简单的菜单程序。#include stdio.hvoid main()int choice;printf( 欢迎使用学生信息管理系统n);printf(n);printf(1.添加学生信息 2.显示学生信息n);printf(3.修改学生信息 4.删除学生信息n);printf(5.查找学生信息 6.统计不及格人数、最高分和平均分n);printf(7.按总分排序 8.保存至文件(文本方式)n);printf(9.从文件读入(文本方式) 10.保存至文件(二进制方式)n);printf(11.从文件读入(二进制方式) 12 .退出程序n);printf(n);printf(请选择功能模块,输入数字1-12: );scanf(%d,&choice);printf(您选择了第%d号子菜单n, choice);本章小结本章主

温馨提示

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

评论

0/150

提交评论