挣币C语言课件1_第1页
挣币C语言课件1_第2页
挣币C语言课件1_第3页
挣币C语言课件1_第4页
挣币C语言课件1_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言程序设计语言程序设计 人民邮电出版社人民邮电出版社(第二版)(第二版)第1章 概述c语言程序的基本组成语言程序的基本组成 ;c语言的基本词法(字符集、保留字和标识符的构语言的基本词法(字符集、保留字和标识符的构成)成) ;用用c语言编写程序时的语言编写程序时的4项工作项工作 ;turbo c开发环境简介开发环境简介 。1.2.3.本章讲述内容:本章讲述内容:4.1.1 高级语言与高级语言与c语言语言 o1.1.1 程序设计语言与程序设计语言与c语言语言 1. 两个概念两个概念 . 计算机程序计算机程序:所谓“程序”,是指一件事情进行的先后次序。因此,计算机程序是指要让计算机去完成的事情的

2、先后次序。 . 计算机程序设计语言计算机程序设计语言:指人与计算机之间交换信息的工具。人们就是用计算机程序设计语言来编写计算机程序,然后交于计算机去执行的。 2. 机器语言机器语言 . 所谓“机器语言机器语言”,即是计算机本身自带的指令系统。计算机的指令指令由二进制数序列组成,用来控制计算机进行某种操作。 . 指令由操作码和地址码两部分组成。操作码操作码规定计算机要做的运算;地址码地址码告诉计算机由哪些数参加运算,在什么地方能找到它们,结果存放在何处等。 . 机器语言的优、缺点:用机器语言编写的程序,不必通过任何翻译处理,计算机硬件就能识别和接受。因此用机器语言编写的程序质量高,执行速度快,占

3、用的存储空间少。但它极不直观,难学、难记、难检查、难修改。 3. 汇编语言汇编语言 . 汇编语言是一种面向机器的程序设计语言,它用助忆符助忆符(一种便于记忆的符号)代替机器指令中的操作码,用符号地址代替了机器指令中的地址码,从而使得机器语言得以“符号化”。 . 汇编程序和汇编:用汇编语言编写的程序,计算机不能直接识别和接受,必须由一个起翻译作用的程序将其翻译成机器语言程序,这样计算机才能执行。这个起翻译作用的程序,称为“汇编程序汇编程序”,这个翻译过程,称为“汇编汇编”。 . 优缺点:比起机器语言来,汇编语言好记,阅读容易,检查、修改也较方便。缺点是仍依赖于具体的机器(即它是面向机器的),不具

4、有通用性和可移植性。它与人们习惯使用的自然语言和数学语言相差甚远。4. 高级语言高级语言 高级语言是一种很接近人们习惯使用的自然语言(即人们日常使用的语言)和数学语言的程序设计语言。用高级语言编写的程序,称为“源程序源程序”。 . 用高级语言编写的程序,计算机不能直接识别与接受,必须要有一个“翻译”,先把源程序翻译成机器指令的程序,然后再让计算机去执行这个机器语言程序。 . 第一种翻译方式:事先编好一个称为“解释解释程序程序”的机器指令程序,它把源程序逐句翻译,译一句就执行一句,这种翻译称为“解释解释”方式。解释程序解释程序(事先存入计算机)用高级语言编写的源程序源程序计算结果(解释一条并执行

5、) 分别用机器语言、汇编语言和c语言描述算式:z=x+y。 编译程序编译程序(事先存入计算机)用高级语言编写的源程序源程序由机器指令组成的目标程序目标程序(编译)计算结果(执行). 第二种翻译方式:事先编好一个称为“编译程序编译程序”的机器指令程序,它把源程序整个地翻译成用机器指令表示的机器语言程序(这个翻译出来的结果程序称为“目标程序目标程序”),然后执行该目标程序。这种翻译称为“编译编译”方式。 c语言是一种高级语言,它用较接近人的思维和表达问题方法的形式来描述问题、编写计算机程序,然后以编译的方式进行翻译 。.例例 :(1) 机器语言a1100103062001a33001(2) 汇编语

6、言mov ax,0110add ax,0120mov 0130,ax(3) c语言int x=235;int y=368;z=x+y;. 机器语言程序完全没有直观性可言,如果不了解机器指令a1是表示将跟随其后单元中的内容送至寄存器ax,那么根本无法知道它的含义。对于汇编语言,mov是英文move的缩写,因此可以知道它是要把一个数据送到寄存器ax中去。可见,汇编语言具有一定的直观性,便于人们记忆。再看c语言,它简直就近乎于是使用人们习惯的数学表达式来描述加法。可见,学习用c语言来编写计算机的程序,人们容易接受。 用c语言编写一个程序,它接收从键盘输入的两个整数,求和后打印输出。 o1.1.2 简

7、单的简单的c语言程序语言程序 例例 :(1) 程序实现 分析与讨论 (2)#include stdio.hmain() int m, n, sum; /* 变量说明 */ scanf (dd, &m, &n); /* 从键盘输入数据 */ sum=m+n; /* 求和 */ printf (sum=dn, sum); /* 打印输出 */. 以符号“/*”开始、“*/”结束的中间部分,是对左边程序语句的注释。 . 语句“int m, n, sum;”表示m、n和sum是3个变量,前面的int说明它们都是整型的。 . “scanf (”dd“, &m, &n);”

8、是格 格式输入语句,&m和&n表示变量m和n的内存单元地址。功能是按格式符 “d”的规定,从键盘接收两个十进制的输入数据(由格式符%d中的字母d限定),分别存放到地址&m和&n指定的存储单元中。. 语句“sum=m+n;”,是把m和n相加后的和存入变量sum中保存。注意,c语言中的符号“=”,不是等号,而是赋值运算符,表示把右端的计算结果送给左端变量。 . “printf (”sum=dn“, sum);” 是一条格式打印输出语句,即将变量sum的当前值按格式符“d”的规定输出一个十进制整数。比如现在从键盘上输入的两个数是3和5,那么,在显示器上就应该输出信息:

9、sum=8。 用c语言编写一个程序,它接收从键盘输入的两个整数。比较后,将其中的大数打印输出。 每个每个c语言程序,都有一个,且只有一个名为语言程序,都有一个,且只有一个名为main的主函数,整个程序从它开始执行的主函数,整个程序从它开始执行。 main在整个程序中所放的位置,与它作为程序开始执行的地位没有什么关系。 人们总是把大的、复杂的事情,化为若干个小的、简单的事情去处理。在进行程序设计时,也常采用这种方法。 例例 :(1) 程序实现 分析与讨论 (2)#include “stdio.h”int max(int x, int y) int z; if(xy) z=x; else z=y;

10、 return (z);main() int a,b,c; scanf(“%d%d”,&a,&b); c=max(a,b); printf(“max=%dn”,c);对函数max的调用从函数max返回.该程序由两个函数main和max组成。c语言程序的编写特点 (3). c语言程序是由一个个函数组成的,函数是函数是c语语言程序的基本单位言程序的基本单位。 . c语言程序中的每一个语句都以分号作为自己每一个语句都以分号作为自己的结束的结束。 . 在c语言程序中,可以用/*/形成注释,以对程序中的所需部分做出说明。注释以注释以/*开始,以开始,以*/结束,必须配对使用结束,必须配对

11、使用。 流程线:o1.1.3 程序设计时的算法描述程序设计时的算法描述 用计算机程序设计语言编写程序,首先应选定要用的计算公式,制定解决问题的步骤,确定程序采用的结构(程序的结构主要有三种形式:顺序结构、选择结构以及循环结构)等,然后才能真正动手去编写程序和上机调试。这个在真正动手之前的准备环节,就是所谓的算法描述算法描述阶段。 . 为把解决问题的方法和步骤(即算法)描述出来,可借助于人们日常使用的语言(称为“自然语言”);可借助于传统的流程图;可借助于所谓的n-s流程图;也可借助于介于自然语言和计算机语言间的文字和符号(称为“伪代码”)。总之,方法虽多,目的只有一个,即按算法的描述编写程序时

12、,思路会更加清晰。 .画流程框图时常用的一些符号 起止框:输入/输出框:判断框:处理框:或连接点:注释框:maxxy?yesnoz=xz=y返回z.函数max的流程图1.2 c语言的基本词法语言的基本词法 o1.2.1 字符集字符集 允许出现在c语言源程序中的所有字符的总体,称为c语言的“字符集字符集”。它由数字、英文字母、图形符号以及转义字符4部分组成。.数字:10个十进制的数字,即1,2,3,4,5,6,7,8,9,0。 .英文字母:26个大写英文字母az,26个小写英文字母az。 .图形符号:书中表1-1列出了c语言允许使用的图形符号。 . 转义字符:在c的源程序中,可用在反斜杠号( )

13、后面跟随特定的单个字符或若干个字符的方法,表示键盘上的字符以及某些不可见的功能控制符 (如退格、换行等) 。通常称反斜杠号为转义符转义符,称反斜杠以及随后的字符整体为一个“转义字符转义字符”。书中表1-2是c语言的转义字符表。 只有把转义符 (反斜杠) 放在表1-2中所列出的字符前时,才能构成转义字符,否则不起任何作用。 .例例 :区别“n”和“n” 。 程序中出现“n”时,代表的是英文中的一个小写字母;程序中出现“n”时,反斜杠后跟随的n就不再是英文中的小写字母n,这个整体被视为是回车换行符。 解解 :o1.2.2 保留字保留字 例例 :解解 :在c语言程序中写“101”、“x41”,它们分

14、别表示什么意思? 在反斜杠后跟13位数时,这些数字被理解为是某个键盘符号所对应的8进制ascii码值。101这个8进制数相当于十进制数65,查书后的附录2,知是大写字母“a”。所以,“101”表示大写的英文字母“a”。类似地,应把“x41”里的41视为键盘符号对应的16进制ascii码值。即它也是大写的英文字母“a”。注意:“xhh”中的字符“x”,只起到一个标识后面的数是16进制的作用,没有别的含义。. 在c语言中,具有特定含义的、用于构成语句成分或作为存储类型和数据类型说明的那些单词,被统称为“保留字保留字”,有时也称为“关键字”。c语言的保留字只能小写。书中表1-3列出了c语言中可以使用

15、的所有保留字,初学时最常用的保留字有如下20个。char 字符型int 整型struct 结构式union 共享式enum 枚举式void 空值型auto 自动static 静态typedef 类型定义if 如果else 否则for 对于while 当break 终止continue 继续return 返回switch 开关default 缺省case 情况sizeof 计算字节数o1.2.3 标识符及其构成规则标识符及其构成规则 . 在c语言中,用户为了区分程序中出现的常量、变量、函数和数组等,就要给它们取不同的名字。组成名字的字符序列,称为“标识符标识符”。 .一个标识符必须符合的语法规则

16、 (1) 标识符只能以字母或下划线开头; (2) 在第一个符号的后面,可以跟随字母、数字或下划线; (3) 标识符中区分字母的大、小写; (4) 标识符的长度一般不超过8个字符; (5) c语言的保留字不能作为标识符使用。 例例 :解解 : 试判断下面所给出的字符序列,哪一个是正确的c语言标识符。 x_906 a203 abbc c.508 int y56gb? b_b64 2abcabbc 根据构成标识符的语法规则可知,上述字符序列里,正确的标识符是: x_906 a203 abbc b_b64 abbc不正确的标识符是:c.508 (句号不能出现在标识符); y56 (减号不能出现在标识符

17、);gb? (问号不能出现在标识符); 2abc (标识符不能以数字开头); int (保留字不能作为标识符) o1.3.1 主窗口的组成主窗口的组成1.3 turbo c 2.0开发环境简介开发环境简介 r编辑源程序.c编辑阶段编译目标程序.obj编译阶段包含文件系统库函数连接装配连接阶段可执行程序.exe执行执行阶段1. 开发开发c语言程序的四个阶段语言程序的四个阶段 输出结果. 编辑:录入c的源程序,形成扩展名为.c的源程序文件存盘。. 编译:翻译源程序,产生出扩展名为.obj的目标程序。. 连接装配:与系统库函数连接,得到扩展名为.exe的可执行文件。. 执行:运行可执行文件,获得所需

18、要的输出结果。 有8个菜单项:文件、编辑、运行、编译、项目、选项、调试和断点/监视 。除编辑外,每个主菜单项都还有下拉子菜单,用以实现各种操作。 2. turbo c 的主菜单的主菜单. turbo c 2.0向使用者提供一个集成开发环境,在该环境下用户可以完成编辑、编译、连接装配以及运行的所有工作。.主窗口由主菜单、编辑区、信息区和功能键提示行4个部分组成。 主菜单编辑区信息区功能键提示行(1)(2) 标有edit字样的区域称为turbo c的程序编辑区,用于对c源程序的输入和编辑。 (3) 标有message字样的区域称为turbo c的信息区,用于显示编译和连接时的有关信息 。(4) 在

19、屏幕最下方,给出常用的7个功能键,它们是f1(帮助)、f5(分区控制)、f6(转换)、f7(跟踪)、f8(单步执行)、f9(生成目标文件)和f10(菜单)。 主菜单:编辑区:信息区:功能键提示行: 若对已有的c源程序进行编辑,就从file的下拉菜单中选load,弹出含“*.c”的“load file name”对话框。此时,或直接输入文件的路径和文件名,以使文件在编辑区里显示;或删除“*.c”,只键入路径名,就把指定路径下所有的c源程序文件显示出来,供用户选择。o1.3.2 对源程序文件的编辑对源程序文件的编辑. 要建新的c语言源程序时,应从主菜单项file的下拉菜单中选择new。回车后,整个

20、编辑区被清空,光标定位在该区左上角 (第1行,第1列) 。这样,用户就可以输入和编辑源程序了。. 编辑区最前面有一行文字:line 1 col 1 insert indent tab fill unindent c:noname.c输入源程序时,line 和col后的数字随光标的移动而变,以标明输入光标的位置。新编辑文件的默认名是c:noname.c。 . 新编文件的默认名 将光标移到待定义块的最后一个字符的后面,按ctrl-kk键,于是在光标左边产生了块尾标记。所定义的块将在程序中突显出来。 o1.3.3 编辑的基本操作命令编辑的基本操作命令 . 对源程序进行编辑时,turbo c有自己的一

21、套键盘编辑命令。书中表1-4列出了初学者应掌握的编辑命令。使用它们,可以提高程序的编写速度。 . 编辑时,所谓“块块”,是指源指在程序中用命令ctrl-kb和ctrl-kk做了首、尾标记的一个部分。做了块标记后,这部分就成了一个整体,可以对它进行删除、移动、复制等操作。以便简化编辑过程。 .在程序中定义一块的具体方法 (1) 将光标移到待定义块的第1个字符的位置,按ctrl-kb键,在光标位置处做上块首标记(注意:并不出现特殊的记号)。 (2)例例 :类同的两个部分定义的一块o1.3.4 源程序的保存源程序的保存 . 编辑完后的源程序,通过主菜单项file下拉菜单里的save命令存盘。 . 若

22、源程序是通过发new命令建立的,那么它当前使用的还是默认名:noname.c。发save后,会弹出“rename noname(为noname改名)”对话框。这时,用户可以为该程序文件指定正式的名字。(见书中图1-10) . 若源程序是通过发load命令建立的,那么这时不会弹出任何对话框,而是按照原文件的位置加以保存。. 若是通过load命令对原已存在的源程序文件进行编辑修改,完成后想把它换一个名字存放,以保证不破坏原来的文件,那么就需要使用file下面的“write to”命令。这时,会弹出一个“new name(取新名)”对话框。在那里输入新的文件名后,原来的和新的文件就同时存在了。(见书

23、中图1-11) 若在要求给出文件名(如“load file name”对话框、“rename noname”对话框和“new name”对话框)时,编程者明确地给出了文件所在路径。那么当然就按照所给路径去存放。若只给出文件名,而没有指明存放的路径,那么,turbo c就按主菜单项file下“change dir”里的路径,去存放。进入turbo c主窗口时,“change dir”里放的是turbo c自己所在的路径,称为当前目录或工作目录。当人们不想把自己的程序文件与系统文件混杂地放在一起时,可以通过修改“change dir”的内容,来设置用户的当前目录。修改后,在上述对话框要求提供文件名

24、时,用户不必键入文件存放的路径,就能把文件存放到自己的目录中去。 (见书中图1-12).o1.3.5 编译、连接和装配编译、连接和装配 1. 文件的编译命令:文件的编译命令:compile to obj 在主菜单compile的下拉菜单里选择“compile to obj”命令,在它的后面显示默认的目标文件名,按回车键就开始进行编译。. 编译完成后,系统会在屏幕上弹出编译信息窗口:“compiling”。通过这个窗口告诉用户编译是成功了,还是发现了错误。如果编译有错,系统会显示出必要的信息。可能有两种信息:一是“warnings(警告)”,指错误较轻,系统可以容忍,仍把有警告的程序生成目标程序文件;另一是“errors(错误)”,指严重的错误,系统不能容忍任何一个这样的错误,不生成目标程序文件。 2. 文件的连接命令:文件的连接命令:link exe file . 只有将目标程序文件与系统提供的库函数等连接起来,成为一个可执行的文件,才能对其运行。在主菜单compile的下拉菜单中,选择“link exe file”,按回车键就开始连接工作。连接完毕,屏幕上出现连接信息窗口:“linking”。通过

温馨提示

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

评论

0/150

提交评论