第一章C 语言.ppt_第1页
第一章C 语言.ppt_第2页
第一章C 语言.ppt_第3页
第一章C 语言.ppt_第4页
第一章C 语言.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计,C语言程序设计,教师: 郭俊颖 信箱: 办公室: 15209,第 2 页,课程要求,课前请做好预习,课后请做好复习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成作业 重视上机实践,有效利用宝贵的上机时间 上机时间不允许做与本课程无关的内容,第 3 页,我是厨师!,我是程序员!,C语言程序设计这门课到底要学什么?,第 4 页,请大家思考一个问题?,第 5 页,分析:设总阶梯数为N,那么 每步跨2阶,最后剩一阶 N除以2 的余数等于1; 每步跨3阶,最后剩2阶 N除以3 的余数等于2; 每步跨5阶,最后剩4阶 N除以5 的余数等于4; 每步跨6阶,最后剩5阶 N除以6 的

2、余数等于5; 每次跨7阶,最后才正好一阶不剩 N除以7 的余数等于0;,必须同时满足这些条件,第 6 页,程序设计基础知识与C语言概述,第 7 页,计算机语言、程序与软件,一、什么是计算机语言,10 R=5 20 L=2*3.14*R 30 S=3.14*R*R 40 PRINT R,L,S 50 END,软件,程序,语言,语言规则,计算机语言是 编写程序、制 作软件的工具,第 8 页,二、如何学习计算机语言,学软件与学语言的区别?,软件由语言编制而成,是解决某类问题, 具有确定的、有限的功能。,语言由确定的规则组成,可用来构造解 决各种问题的软件。,学软件:学思想、学功能、学操作。 学语言:

3、学规则、学方法、学设计、学应用。 规范学习,灵活应用。,计算机语言、程序与软件,第 9 页,计算机语言、程序与软件,语 言,程序构造的规则,符号及其组合的含义,程序和使用人员的关系,语法,语义,语用,int a , b , c;,C=(ab) ? a : b,第 10 页,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD A, B,必须按照算法逐条语句编写, 通知计算机一步一步该怎么做, 如: C语言,客观世界可以分类,对象是类的实例,对象间通过发送和接受消息发生联系。程序设计关键是定义类,并由类派生对象,如:C+,可读性及可移

4、植性好,但难于直接对计算机硬件进行操作,程序设计语言的发展,第 11 页,三、计算机语言分类,面向过程语言 面向对象语言,FORTRAN BASIC C PASCAL,C+ Visual BASIC Visual C+ Visual FoxPro,区别?,计算机语言、程序与软件,第 12 页,面向过程,结构化,特点,计算机语言、程序与软件,按功能分解模块 描述每个过程 数据与过程分离 过程重用性差,面向对象,特点,面向对象设计 描述每个类 数据与过程结合 过程重用性好,第 13 页,思考1:什么是程序?,“计算机程序”就是指为了让计算机完成一项任务,而在计算机中存放的一系列计算机可以识别的指令

5、(Instruction)。打个比方,计算机就像一个优秀的士兵,他无条件服从长官的命令,为了完成一项军事任务,长官所下达的一系列命令就是“程序”。,第 14 页,银行,带上存折去银行,3. 将存折和取款单递给银行职员,2.填写取款单并到相应窗口排队,4.银行职员办理取款事宜,日常生活中的程序,5. 拿到钱并离开银行,第 15 页,思考2:腾讯QQ是应用程序么?,思考3:腾讯QQ的主要功能是什么?,思考4:计算机之间有共同语言么?是什么语言?,思考5:计算机能够直接理解人的语言么?,“中文”?”机器语言”,是,腾讯QQ是一个即时通讯工具,可以通过网络传递信息(文字、图片、语音、视频等)。,有,机

6、器语言。,不能直接理解,因为计算机只能直接识别机器语言。怎么办?,第 16 页,2.程序:对于计算机而言实际是一个用计算机语言描述的某一问题的解决步骤。,1.程序设计语言:人们和计算机之间进行交流和通讯的工具。,程序与程序设计语言,第 17 页,分4个步骤: 分析问题 寻找问题的解决方法和步骤 用程序语言来描述解决过程 最后是让计算机来执行这个过程以完成任务,问题求解与程序设计,第 18 页,问题的描述,问题的分析,计算机实现,例:“自动应答器” 设计与实现的过程和步骤。,程序设计的一般过程,描述问题的内容是什么。,该问题的解决方案和步骤。,将分析得到的步骤转化为相应程序设计语言的代码。,第

7、19 页,编写一个“自动应答器”的程序代码。,问题的描述,当客户走到应答器跟前时,应答器会向客户提示:“请报上您的姓名:”,当客户回答完后,应答器会立刻回答:“XXX客户,您好!”。,问题的分析,根据问题描述中的工作过程,该自动应答器也应该包括以下几个功能:(1)向屏幕输出提示信息的过程 ;(2)等待用户的响应 ;(3)接收用户的输入,并能将用户输入数据连同“您好!”一起显示在用户屏幕。,第 20 页,计算机实现,我们需要将以上每一个步骤转化成计算机可以识别的指令序列(即程序) :,(1)通过计算机指令向用户屏幕输出“请报上您的姓名:”;,(2)通过计算机指令等待并接收用户的键盘输入,并且暂存

8、起来以备后用;,(3)通过计算机指令向用户屏幕输出新的数据信息:用户输入的信息加上“您好!”。,第 21 页,转化后的C程序代码:,main( ) char username8; printf(“n Please input your name :); scanf(%s,username); printf(“n%s:%s!,username,“good afternoon); ,第 22 页,学习了C语言程序设计以后,能做些什么? 如何学好C语言程序设计这门课?,第 23 页,学习C语言的好处:,1)相比较其他的编程语言(像C+,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以

9、让你更好的了解计算机。 C语言被称为高级汇编语言,底层硬件编程,生成代码率比其它高级语言要高,第 24 页,学习C语言的好处:,2)设备驱动程序和操作系统只能用C语言来编写。现在,你可能还从来没有编写过一个设备驱动程序或者一个操作系统,但是如果你需要去修改他们的时候,怎么办? Windows和Linux的绝大部分都是C语言写出来的 程序驱动的开发,硬件与许多系统软件都需要驱动程序,第 25 页,学习C语言的好处:,3)如果你想要得到一份编写微控制器程序的工作的时候,该怎么办?他们都是用C语言编写的。就因为不想学习一门新的语言,你就准备限制你能得到工作的机会吗? 很多汽车的智能控制系统是由C写的

10、,第 26 页,学习C语言的好处:,4)C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。,第 27 页,学习C语言的好处:,5)如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C+,C#等等)。,第 28 页,学习C语言的好处:,6)因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。,第 29 页,学习C语言的好处:,7)C语言是一个开源组织的语言。一个开

11、源组织的产物-LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。,第 30 页,学习C语言的好处:,8)C语言是唯一一个向你阐述指针的本质的语言。而C#和Java干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。,第 31 页,学习C语言的好处:,9)找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。,第 32 页,学习C语言的好处:,10)任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。,第 33 页,Hello, World!

12、会变的箱子 要走哪条路? 有个圈儿的程序 好用的工具 好大的仓库 内存里的快捷方式 自己设计的箱子,C语言的主要内容:,第 34 页,2. 数据类型丰富,具有构造数据类型的能力,C是中级语言 C是结构化语言,C语言的特点,强类型,1. 可访问内存物理地址,3. 控制流程结构化,函数,第 35 页,C语言的特点,4. 语言简洁灵活,X=(ab)?a:b;,if(ab) x=a; else x=b;,5. 32个关键字,9种控制语句,6. 语言表达能力强,34种运算符,7. 程序运行效率高,易读性、可移植性好,8. C的语法检查不严格,36,例:有两个瓶子A、B分别放着醋和酱油,编程将他们互换。,

13、醋A,酱油B,空瓶C,简单的C程序,37,#include int main() int a=1,b=2,c; c=a; a=b; b=c; printf(a=%d,b=%dn,a,b); return 0; ,38,1.4最简单的C语言程序,1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构,39,1.4.1 最简单的C语言程序举例,例1.1 要求在屏幕上输出以下一行信息。 This is a C program.,解题思路: 在主函数中用printf函数原样输出以上文字。,40,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”T

14、his is a C program.n”); return 0; ,函数的名字,表示主函数,C程序必须有一个 main 函数,41,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n”); return 0; ,主函数类型,42,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n”); return 0; ,函数体,43,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”T

15、his is a C program.n”); return 0; ,输出函数,输出语句,44,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n”); return 0; ,输出语句,45,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n”); return 0; ,换行符,46,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n

16、”); return 0; ,当main函数执行结束前 将整数0作为函数值,47,1.4.1 最简单的C语言程序举例,#include int main( ) printf (”This is a C program.n”); return 0; ,表示语句结束,用到函数库中的输入输出函数时,48,1.4.1 最简单的C语言程序举例,C语言允许用两种注释方式: /:单行注释 可单独占一行 可出现在一行中其他内容的右侧 /*/:块式注释 可包含多行,49,例1.2 求两个整数之和。,解题思路: 设置3个变量 a和b用来存放两个整数 sum用来存放和数 用赋值运算符“=”把结果传送给sum,50,

17、#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; ,定义整型变量a,b,sum,对变量a,b赋值,将a与b的和赋给sum,51,#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; ,用sum的值替代,希望输出的字符,52,例1.3求两个整数中的较大者。,解题思路: 用一个函数实现求两个整数中的较大

18、者 在主函数中调用此函数并输出结果,53,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,主函数,max函数,54,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; re

19、turn(z); ,将x和y中较大者值返回给主函数,55,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,56,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; retu

20、rn(z); ,因max函数的定义在main函数之后,需声明,57,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,输入函数,58,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z

21、 = y; return(z); ,输入语句,59,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,输入的数据放到a,b中,输入格式,a的地址,60,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z =

22、x; else z = y; return(z); ,调用max函数,61,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,8,5,8,8,62,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x;

23、 else z = y; return(z); ,8,5,8,8,63,#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, ,int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); ,实际参数,形式参数,64,1.4.2 C语言程序的结构,C语言程序的结构特点: 1.一个程序由一个或多个源程序文件组成 小程序往往只包括一个源程序文件 例1.1,例1.2只有一个函数 例1.3有两个函数,只包括一个源程序文件,65,1.4.2 C语言程

24、序的结构,C语言程序的结构特点: 一个源程序文件中可以包括三个部分: 预处理指令 全局声明 函数定义,#include 等,在函数之外进行的数据声明,每个函数用来实现一定的功能,66,1.4.2 C语言程序的结构,C语言程序的结构特点: 2.函数是C程序的主要组成部分 一个C程序是由一个或多个函数组成的 必须包含一个main函数(只能有一个) 每个函数都用来实现一个或几个特定功能 被调用的函数可以是库函数,也可以是自己编制设计的函数,67,1.4.2 C语言程序的结构,C语言程序的结构特点: 3.一个函数包括两个部分: 函数首部 int max ( int x, int y ),函数的第1行,

25、函数类型,函数名,参数类型,参数名,68,1.4.2 C语言程序的结构,C语言程序的结构特点: 3.一个函数包括两个部分:,其一般结构如下: 函数类型 函数名(函数参数表) 函数说明部分 说明语句部分; 执行语句部分; 函数体部分 .方括号表示可选(即可以指定,也可以缺省),69,1.4.2 C语言程序的结构,C语言程序的结构特点: 3.一个函数包括两个部分: 函数首部 int max ( int x, int y ) 若函数无参,在括弧中写void或空括弧,int main( void) 或 int main(),70,1.4.2 C语言程序的结构,C语言程序的结构特点: 3.一个函数包括两

26、个部分: 函数体 声明部分 定义在本函数中所用到的变量 对本函数所调用函数进行声明 执行部分:由若干个语句组成,指定在函数中所进行的操作,可以没有声明部分,71,1.4.2 C语言程序的结构,C语言程序的结构特点: 3.一个函数包括两个部分: 函数体 void dump ( ) ,可以是空函数,72,1.4.2 C语言程序的结构,C语言程序的结构特点: 4. 程序总是从main函数开始执行 5. C程序对计算机的操作由C语句完成 C程序书写格式是比较自由的 一行内可以写几个语句 一个语句可以分写在多行上 为清晰起见,习惯上每行只写一个语句,73,1.4.2 C语言程序的结构,C语言程序的结构特点: 4. 程序总是从main函数开始执行 5. C程序对计算机的操作由C语句完成 6. 数据声明和语句最后必须有分号 7. C语言本身不提供输入输出语句 8. 程序应当包含注释,增加可读性,74,main() int x,y;/*变量定义语句:定义2个整型变量x、y*/ x=3; /*可执行的赋值语句:将3赋值给变量x*/ y=6;/*可执行的赋值语句:将6赋值给变量y*/ int max;/*变量定义语句:出现在可执行的 赋值语句“x=3;”和“ y=6;”之后,非法!*/

温馨提示

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

评论

0/150

提交评论