一章程序设计语言与CCppt课件

上传人:痛*** 文档编号:175485991 上传时间:2022-12-19 格式:PPT 页数:62 大小:1.64MB
收藏 版权申诉 举报 下载
一章程序设计语言与CCppt课件_第1页
第1页 / 共62页
一章程序设计语言与CCppt课件_第2页
第2页 / 共62页
一章程序设计语言与CCppt课件_第3页
第3页 / 共62页
资源描述:

《一章程序设计语言与CCppt课件》由会员分享,可在线阅读,更多相关《一章程序设计语言与CCppt课件(62页珍藏版)》请在装配图网上搜索。

1、C语言程序设计uangXi University1卢日昌卢日昌广西大学电气工程学院广西大学电气工程学院C语言程序设计uangXi University2教教 材材 及及 参参 考考 书书教材:教材:11龚沛曾龚沛曾,杨志强主编杨志强主编.C/C+.C/C+程序设计教程程序设计教程,北京北京:高等教高等教育出版社育出版社,2009,2009年年5 5月月 参考书:参考书:22教育部考试中心教育部考试中心.全国计算机等级考试二级教程全国计算机等级考试二级教程CC语言程语言程序设计序设计,北京北京:高等教育出版社高等教育出版社33谭浩强谭浩强.C+.C+程序设计程序设计,北京北京:清华大学出版社清华

2、大学出版社,2004,2004年年6 6月月44吴文虎吴文虎.程序设计基础程序设计基础(第第2 2版版),),北京北京:清华大学出版社清华大学出版社,20042004年年9 9月月C语言程序设计uangXi University3考试时间:第考试时间:第14周周六晚周周六晚(最后一次课最后一次课)考试方式:笔试,开卷考试。考试方式:笔试,开卷考试。总评成绩总评成绩=平时成绩平时成绩50%+期末成绩期末成绩50%本教学班本教学班Q群:群:121938137 1)QQ:1009495090。2)电子邮件:)电子邮件:L3)联系电话:)联系电话:3231080(办办)。4)博客)博客http:/ht

3、tp:/ University4主要授课内容主要授课内容第第1 1章章 C/C+C/C+概述概述第第2 2章章 基本数据类型、运算符基本数据类型、运算符和表达式和表达式 第第3 3章章 结构化程序设计结构化程序设计第第4 4章章 数组数组第第5 5章章 函数函数第第7 7章章 文件夹文件夹C语言程序设计uangXi University5第一章第一章 C/C+概述概述1.1 C/C+1.1 C/C+发展简史发展简史1.2 1.2 简单的简单的C/C+C/C+程序实例程序实例 1.3 1.3 基本语法成分基本语法成分1.4 1.4 数据的输入和输出数据的输入和输出1.5 1.5 编译预处理编译预

4、处理1.6 Visual C+1.6 Visual C+简介简介C语言程序设计uangXi University61.1 C/C+的发展简史的发展简史 C是由1972年Bell实验室的Ritchie开发,为Ken的UNIX而设计。参与UNIX设计开发的主要人物还有Thompson。C语言的设计者语言的设计者Dennis M.Ritchie和和Unix的设计者的设计者Ken Thompson接受美国国家技术勋章接受美国国家技术勋章C语言程序设计uangXi University71.1C/C+的发展简史的发展简史Ritchie和和Thompson在开发在开发UNIXUNIX OS可以说是第一可以

5、说是第一个比较成熟并俱备开放个比较成熟并俱备开放性的操作系统,它的大性的操作系统,它的大部分代码是由部分代码是由C写的。写的。C语言程序设计uangXi University81.1C/C+的发展简史的发展简史 C语言有两个重要的标准:老标准:1978年,The C Programming Language-B.W.Kernighan和D.M.Ritchie合著 新标准:1983年,ANSI制定,称为ANSI C 它被定为一种高级语言,但并不是“高级”,只是相对低级语言,在一个高的级别上进行编程。很多重量级软件都是用C写的。几乎没有不能用C写出来的软件,没有不支持C的系统。很多流行语言、新生语

6、言都借鉴了它的思想、语法。C语言程序设计uangXi University91.1C/C+的发展简史的发展简史C语言程序设计uangXi University101.1C/C+的发展简史的发展简史C+:1979年年Bell实验室的实验室的Bjarne Stroustrup,主要是为改善管理程序的方便性,降代复杂性。主要是为改善管理程序的方便性,降代复杂性。CSimula 67带类的C类基础1979年Cpre预处理器C+1.01985年C+程序设计语言C+2.01989年C+3.01993年类及派生类公有和私有构造函数,析构函数友元内联函数赋值运算符的重载虚函数函数和运算符的重载引用常量Cons

7、t多重要继承保护成员对象的初始化与赋值的机制抽象类静态成员函数CONST成员函数模板C语言程序设计uangXi University111.1C/C+的发展简史的发展简史C+的组成环的组成环C语言语言面向对象设计(OOP)Visual C+组成组成C+程序设计C程序设计MFC应用程序向导类似的还有类似的还有C+BuilderBorland C+C语言程序设计uangXi University121.2简单的简单的C/C+程序与结构程序与结构例例1.11.1:输出一行信息。:输出一行信息。#include void main()printf(This is a C program.n);main

8、-主函数名,void-函数类型每个C程序必须有一个主函数main 是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:#include 运行结果:运行结果:This is a C program.C语言程序设计uangXi University131.2简单的简单的C/C+程序与结构程序与结构 例例1.2:输入圆的面积,求面积。分别用:输入圆的面积,求面积。分别用C和和C+写的源程序如下:写的源程序如下:注释:以/开始#include是编译预处理命令 把头文件的内容插入该处使用cin、cout函数必须有该命令main函数的函数体main函数的函数头void表示

9、无返回值#define 定义替代宏C语言程序设计uangXi University141.2简单的简单的C/C+程序与结构程序与结构C语言程序设计uangXi University151.2简单的简单的C/C+程序与结构程序与结构例例1.3:求两个数之和。求两个数之和。#include iostream.h int add(int x,int y)/定义定义add()函数,求两个数之和函数,求两个数之和int z;/说明说明z为为int类型的变量类型的变量 z=x+y;/将将x+y的值赋值给的值赋值给z return z;/结束结束add()函数的执行,并将函数的执行,并将z的值返回的值返回v

10、oid main()/定义主函数定义主函数int a,b,c;/说明说明a、b、c为为int类型的变量类型的变量cinab;/从键盘输入两个数据送到从键盘输入两个数据送到a和和b中中c=add(a,b);/调用调用add()函数,计算函数,计算a+b,并把结果赋给,并把结果赋给ccoutcendl;/先输出先输出c的值,再输出换行符的值,再输出换行符C语言程序设计uangXi University16 1.2 简单的简单的C/C+程序与结构(小结)程序与结构(小结)(1)(1)C/C+程序是一个或多个函数构成的,程序是一个或多个函数构成的,main函函数一定要有数一定要有。这使得程序容易实现模

11、块化。这使得程序容易实现模块化。(2)(2)一个函数由两部分组成一个函数由两部分组成:函数的首部:函数的首部:例例1.31.3中的中的addadd函数首部函数首部 intint add(int add(int x,int x,int y)y)函数体:函数体:花括号内的部分。若一个函数有多个花花括号内的部分。若一个函数有多个花括号括号,则最外层的一对花括号为函数体的范围。则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:int a,b,c;可缺省执行部分:由若干个语句组成。可缺省C语言程序设计uangXi University17例如:例如:void dump()这是一个空函数这是

12、一个空函数,什么也不做什么也不做,但是合法的函数。但是合法的函数。1.2 简单的简单的C/C+程序与结构(小结)程序与结构(小结)C语言程序设计uangXi University18(3)(3)不管有多少个函数,程序总是不管有多少个函数,程序总是从从mainmain函数开始执行的函数开始执行的,与与mainmain函数的位置无关。函数的位置无关。在一个函数内,执行从在一个函数内,执行从上到下开始的。上到下开始的。(4)(4)程序书写形式自由程序书写形式自由,一行内可以写几条语句一行内可以写几条语句,一条语一条语句可以分写在多行上,语句没有行号。句可以分写在多行上,语句没有行号。(5)(5)每个

13、语句和数据声明的最后必须有一个分号。每个语句和数据声明的最后必须有一个分号。注释注释从从/开始的,可增加程序的开始的,可增加程序的可读性可读性。(6)(6)C/C+C/C+语言中大小写字母是不同的。语言中大小写字母是不同的。(7)C(7)C语言本身没有输入输出语句。输入和输出的操作是语言本身没有输入输出语句。输入和输出的操作是由库函数由库函数scanfscanf和和printfprintf等函数来完成的。等函数来完成的。C C对输入对输入输出实行输出实行“函数化函数化”。1.2 简单的简单的C/C+程序与结构(小结)程序与结构(小结)C语言程序设计uangXi University19例1 以

14、下说法不正确的是()A.C程序中必须有一个main()函数,C程序是从main()函数的第1条语言开始执行B.C程序中除主函数外的其他函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的C.C程序中的main()函数位置可以任意制定D.C程序中的main()函数必须放在程序的开始位置 C语言程序设计uangXi University20A.C程序中的一行可以写多条语句B.C程序中的每行只能写一条语句C.C程序中的语句可以采用缩进格式书写D.C程序中可以用注释提高程序的可读性例2 以下说法不正确的是()C语言程序设计uangXi University21例3 C语言的程序一行写不下时,可以

15、()A.在任意空格处换行B.用逗号换行C.用回车换行D.用分号换行 C语言程序设计uangXi University22例4 以下说法正确的是()A.C 语言程序是从第一个定义的函数开始执行B.在C语言中,要调用的函数必须在main函数中定义C.C语言程序是从main函数的第1条语句开始执行D.C语言程序中的main函数必须放在程序的开始部分 C语言程序设计uangXi University23A.主函数名是由程序设计人员按照主函数名是由程序设计人员按照“标识符标识符”的的规则选取的规则选取的B.分号和回车都可以作为一个语句的结束符号分号和回车都可以作为一个语句的结束符号C.程序的执行,总是从

16、源程序清单的第程序的执行,总是从源程序清单的第1行开始行开始D.在程序清单的任何地方都可以插入一个或多个在程序清单的任何地方都可以插入一个或多个空格符空格符例5 下列说法中,正确的是()C语言程序设计uangXi University241.3 C/C+基本的语法成分基本的语法成分1.基本符号:(1)字母:52个 AZ az (2)数字字符:10个0 9 (3)下划线 _ 。(4)特殊符号:一般作运算符,如+、-、*、/、&2关键字关键字 有特定含义的、专用的单词。如int、char、break、for、define等。不能作变量名、符号常量名、函数名、类名等。C语言程序设计uangXi Un

17、iversity251.3 C/C+基本的语法成分基本的语法成分3.标识符:由字母、数字和下划线三种字符组成 必须以字母或下划线开头合法标识符。A2 student area_of_circle num _dd Int不合法标识符2A A-B area of circle M.D int 大小写字母不等价 习惯上,变量名小写,符号常量大写。关键字不能作标识符用。例如,int、define等关键字不 能作为标识符用。定义标识符时最好能简洁且“见名知义”,以提高程序的可读性。如min表示最小值,average表示平均值,day表示日期。在Visual C+中,标识符中不能有汉字但是字符串和注释中可

18、以有汉字。C语言程序设计uangXi University261.3 C/C+基本的语法成分基本的语法成分 标识符通常用来对变量和函数命名,一般有标识符通常用来对变量和函数命名,一般有经下约定:经下约定:直观,见名知意,便于记忆和阅读直观,见名知意,便于记忆和阅读 最好使用英文单词或其组合 切忌使用汉语拼音 下划线和大小写通常用来增强可读性下划线和大小写通常用来增强可读性 variablename variable_name VariableName,variableName某些功能的变量采用习惯命名某些功能的变量采用习惯命名 如:for语句所采用的循环变量习惯用i,j,kC语言程序设计uan

19、gXi University271.4 C/C+数据的输入输出与格式化数据的输入输出与格式化 本节仅介绍本节仅介绍C/C+的数据输入输出的数据输入输出及其格式化方法。通过本节的学习,你及其格式化方法。通过本节的学习,你马上会看到你能编制一些小程序了。马上会看到你能编制一些小程序了。p1.4.1C+的数据输入输出与格式化的数据输入输出与格式化p1.4.2C的数据输入输出与格式化的数据输入输出与格式化p1.4.3字符输出字符输出/输入函数输入函数C语言程序设计uangXi University281.4.1C+的数据输入输出与格式化的数据输入输出与格式化 C+使用使用cin(标准输入设备标准输入设

20、备)和和cout(标准输出设备标准输出设备)进行输入输出,进行输入输出,把数据的输入输出处理为一个对象到另把数据的输入输出处理为一个对象到另一个对象的流动。一个对象的流动。要使用它们,程序开始必须用包含语要使用它们,程序开始必须用包含语句:句:#include iostream.h 或或#include 格式:格式:coutcout表达式表达式11表达式表达式22变量变量变量变量22变量变量n;n;C语言程序设计uangXi University291.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.3 cout1.3 cout示例示例#include iostream.hvoi

21、d main()int a=2;double b=3.32;char c=A;couta bendl;couta0bendl;coutaendsbendl;coutc abcdendl;库中对ends的定义:_CRTIMP inline basic_ostreamchar,char_traits&_cdecl ends(basic_ostreamchar,char_traits&_O)_O.put(0);return(_O);C语言程序设计uangXi University301.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.4 1.4 使用格式控制符输出数据使用格式控制符输出

22、数据#include iostream.h#include iomanip.hvoid main()int x=65;double f=123.456;cout123456789012345endl;coutdecx hexx octxendl;coutxendsxendl;coutfendl;coutsetprecision(4)fendl;coutsetw(12)fendl;/当当12改成改成2后,结果会如何后,结果会如何?coutsetw(12)setfill(#)fendl;设置转换基还可使用设置转换基还可使用setbase(_)和和setioflag(ios:_)如果是如果是0只显示

23、整数部只显示整数部分且以科学计数法表示分且以科学计数法表示如果前面还有如果前面还有setioflag(ios:fixed),则,则setprecision只控制小数部分个数只控制小数部分个数C语言程序设计uangXi University311.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.5 cin1.5 cin示例示例#include iostream.hvoid main()int a;float b;coutab;couta+b=a+bendl;C语言程序设计uangXi University321.4.1C+的数据输入输出与格式化的数据输入输出与格式化说明:说明:输出

24、中各表达式可以是任意类型的。输出中各表达式可以是任意类型的。数据的输出格式由下面的一些常用的控制。数据的输出格式由下面的一些常用的控制。输入数据之间用空格、输入数据之间用空格、TABTAB键或回车分隔键或回车分隔格式控制符格式控制符说说 明明示示 例例语语 句句结结 果果endl输出换行符并刷新缓冲区cout123endl123123 LF 123dec十进制表示coutdec123;123hex十六进制表示couthex123;7boct八进制表示coutoct123;173setw(n)设置输出宽度coutasetw(4)b;a bws忽略前导空白coutwssetfill()设置填充字符

25、coutsetfill(*)setw(6)123;*123ends(终止字符串 )等同NULL(但不是字符)coutaendsbendla bsetprecision(n)设置有效位数coutsetprecision(5)123.456123.46输入数据比变量个数多,后续的忽略输入数据比变量个数多,后续的忽略C语言程序设计uangXi University331.4.2C的数据输入输出与格式化的数据输入输出与格式化 C语言中输入输出操作通过调用标准库函数来实现,语言中输入输出操作通过调用标准库函数来实现,要关文件开始用下面的包含语句:要关文件开始用下面的包含语句:#include “stdi

26、o.h”或或#include 输出函数输出函数 printf(格式控制字符串,输出项表列);输出若干个任意类型的数据 printf(a=%d b=%f,a,b);输入函数输入函数 scanf(格式控制字符串,地址表列);scanf(%d,%f”,&a,&b);C C语言语言输出输入函数输出输入函数printfprintf()函数)函数#include printf(“控制字符串”,输出列表);(1)控制字符串控制字符串,由输出的文字和数据格式说明符组成。文字说明中除了可以使用字母、数字、空格和一些数学符号以外,还可以使用一些转义字符表示特殊的含义。printf(Variable x=%d,y=

27、%f ,x,y )例如:(2)输出列表输出列表,可以是常量、变量或表达式或函数调用,数据之间用“,”分隔。数据的个数和类型必须与控制字符串控制字符串中的格式说明项顺序一一对应。输出数据数据格式输出文字C语言语言输出输入函数输出输入函数printf()函数)函数printf(Variable x=%d,y=%f ,x,y )例如:数据格式与输出数据的对应printf(“a=%d,b=%d,a+b=%dn,a,b,a+b);输出数据输出文字数据格式输出结果:a=3,b=4,a+b=7printf(“a=%d,b=%d,a+b=%dn”,a,b,a+b);输出结果:Variable x=0,y=0.

28、36 C语言语言输出输入函数输出输入函数printf()函数)函数格式字符格式字符说说 明明%d%md带符号十进制整数输出带符号十进制整数输出%c输出单个字符输出单个字符%s输出字符串输出字符串%f%m.nff以小数形式输出单精度数以小数形式输出单精度数lf双精度数双精度数%e以指数形式输出单、双精度数以指数形式输出单、双精度数 其它格式说明符o 八进制无符号整数输出x 十六进制无符号整数u 十进制无符号整数输出格式修饰:l 长整型整数,加在d、o、x、u 前L long double型数,加在f、e、g前m 表示数据占用的最小宽度:数据宽度大于m,按实际宽度输出;数据宽度小于m时,补空格n

29、对实数表示输出n位小数:对字符串表示最多输出的字符个数-改变输出内容的对齐方式,缺省为右对齐C语言程序设计uangXi University371.4.2C的数据输入输出与格式化的数据输入输出与格式化例例1.6 printf1.6 printf例例#includeinclude main()float f1=100.15799,f2=12.55,f3=1.7;int n1=123,n2=45,n3=6;printf(printf WITHOUT width or precision specifications:n);printf(%fn%fn%fn,f1,f2,f3);printf(%dn%

30、dn%dn,n1,n2,n3);printf(printf WITH width and precision specifications:n);printf(%5.2fn%6.1fn%3.0fn,f1,f2,f3);printf(%5dn%6dn%3dnn,n1,n2,n3);C语言程序设计uangXi University381.4.2C的数据输入输出与格式化的数据输入输出与格式化例例1.7 scanf1.7 scanf例例#include main()int a,b;printf(Please input a and b:);scanf(%2d%*2d%2d,&a,&b);printf(

31、a=%d,b=%d,a+b=%dn,a,b,a+b);Please input a and b:a=12,b=5,a+b=1712345a 将输入的格式换一下,应该如何输入?将输入的格式换一下,应该如何输入?输入函数 scanf(格式控制字符串格式控制字符串,地址表列地址表列);scanf(%d,%f”,&a,&b);(1)scanf格式字符格式字符d 以带符号十进制形式输入整型数据以带符号十进制形式输入整型数据o 以八进制无符号形式输入(无前导以八进制无符号形式输入(无前导0)x 以十六进制无符号形式输入(无前导以十六进制无符号形式输入(无前导0 x)c 以字符形式输入单个字符以字符形式输入

32、单个字符s 输入字符串输入字符串,以非空字符开始以非空字符开始,遇第一个空白字符遇第一个空白字符结束结束f 以小数形式输入浮点数以小数形式输入浮点数e 以标准指数形式输入以标准指数形式输入C语言语言输出输入函数输出输入函数scanf()函数)函数l 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型L 加在f、e 前:输入long double型h 加在d、o、x 前:输入短整型m 表示数据占用的宽度*本输入项在读入后不赋给相应的变量(2)输入数据时,遇以下情况时该数据认为结束 遇空格、回车、遇空格、回车、TAB 键键 遇宽度遇宽度:*md 遇非法输入遇非法输入C语言语言输出输入函

33、数输出输入函数scanf()函数)函数例例1.7 scanf1.7 scanf例例#include main()int a,b;printf(Please input a and b:);scanf(%2d,%2d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);C语言语言输出输入函数输出输入函数scanf()函数)函数Please input a and b:a=12,b=13,a+b=2512,13 Press any key to continueC语言程序设计uangXi University421.4.2C的数据输入输出与格式化的数据输入输出与格式化

34、(4)常见错误常见错误 scanf(%d,%fn”,&a,&b);scanf(%d,%f”,a,b);scanf(%7.2f,&a);printf(“%d,%f”,a)(编译不会出错编译不会出错)C语言程序设计uangXi University431.4.3字符输出字符输出/输入函数输入函数字符输出函数字符输出函数 putchar(ch)输出一个字符ch字符输入函数字符输入函数 getchar()无参数 函数值为从输入设备接收的字符C语言程序设计uangXi University441.4.3字符输出字符输出/输入函数输入函数例例1.81.8示例示例#include main()ch;(Pre

35、ss a key and then press Enter:);ch=();(You pressed);(ch);(n);C语言程序设计uangXi University451.5 编译与预处理编译与预处理1、文件包含、文件包含 头文件:头文件:.h如如stdio.h、iostream.h,其中对函数,其中对函数说明、常量定义说明、常量定义#include的的 作用:头文件的内容插入到源文件中。可以将一些作用:头文件的内容插入到源文件中。可以将一些公用的内容单独组成一个文件,供多个程序员使用。公用的内容单独组成一个文件,供多个程序员使用。(1)#include 从系统指定的文件夹中找从系统指定

36、的文件夹中找(2)#include 文件名文件名从当前文件夹中找,再到系统指定的文件夹中找从当前文件夹中找,再到系统指定的文件夹中找注意:一条文件包含命令只能包含一个文件注意:一条文件包含命令只能包含一个文件编写源程序编写源程序预处理预处理编译编译连接连接执行执行预处理程序预处理程序编译程序编译程序C语言程序设计uangXi University461.5 编译与预处理编译与预处理2、宏定义、宏定义 主要用来定义符号常数,当然也可以定义别的。定义常量主要用来定义符号常数,当然也可以定义别的。定义常量时要与时要与const区别开区别开(下一章再讲下一章再讲)。#define 标识符标识符 常量常

37、量例如:例如:#define FALSE 0#define TRUE 1#define PI 3.1415926#define EPS 1.0e-6#define Set_DE0 P3|=0 x08#define Clr_DE0 P3&=0 x08 注意:注意:符号常量一般大写符号常量一般大写行末一般不加分号行末一般不加分号不能对符号常量进行赋值不能对符号常量进行赋值C语言程序设计uangXi University471.5 编译与预处理编译与预处理例如:用预处理指令例如:用预处理指令#define 声明一个常数,用以表明声明一个常数,用以表明1年中有年中有多少秒(忽略闰年问题)多少秒(忽略闰

38、年问题)-一道面试题一道面试题#define SECONDS_PER_YEAR 60*60*24*365UL 说明:说明:(1)(1)注意注意#define#define 语法的基本知识(例如:不能以分号结语法的基本知识(例如:不能以分号结束,括号的使用,等等)束,括号的使用,等等)(2)(2)懂得预处理器将为你计算常数表达式的值,因此,直懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。是更清晰而没有代价的。(3)(3)意识到这个表达式将使一个意识到这个表达式将使一个

39、1616位机的整型数溢出位机的整型数溢出-因此因此要用到长整型符号要用到长整型符号L,L,告诉编译器这个常数是的长整型数。告诉编译器这个常数是的长整型数。(4)(4)如果你在你的表达式中用到如果你在你的表达式中用到UL(UL(表示无符号长整型表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。那么你有了一个好的起点。记住,第一印象很重要。C语言程序设计uangXi University481.6 VC+6.0开发平台开发平台项目工作区项目工作区输出窗口输出窗口代码窗口代码窗口C语言程序设计uangXi University491.6 VC+6.0开发平台开发平台1 1、简单、简单

40、C/C+C/C+程序的编写、运行过程程序的编写、运行过程(1)创建一个空工程;创建一个空工程;Win32 Console Application C+Source File(2)创建一个创建一个C+源文件,输入源程序;源文件,输入源程序;(3)进行编译、连接、运行。进行编译、连接、运行。编译编译|编译编译TEST.cpp CTRL+F7编译编译|构建构建TEST.exe F7编译编译|执行执行TEST.exe CTRL+F5C语言程序设计uangXi University50编译连接后生成的主要文件编译连接后生成的主要文件D:TESTTEST.dspTEST.dswTEST.cppDebugT

41、EST.objTEST.exe1.6 VC+6.0开发平台开发平台C语言程序设计uangXi University512、程序调试、程序调试1语法错误语法错误/警告警告-编译程序可以发现并给出提示编译程序可以发现并给出提示 错误信息错误信息-影响运行影响运行 D:TESTTEST.CPP(6):error C2146:syntax error:missing;before identifier cin 警告信息警告信息-潜在的错误,但不影响运行,不过要重视潜在的错误,但不影响运行,不过要重视 D:TESTTEST.CPP(6):warning C4244:=:conversion from c

42、onst double to int,possible loss of data 如何定位语法错误?如何修改语法错误?如何定位语法错误?如何修改语法错误?-这是调试首先解决的。这是调试首先解决的。2逻辑错误逻辑错误-编译程序一般不能发现,通过断点跟踪发现编译程序一般不能发现,通过断点跟踪发现 -这是调试接着解决的。这是调试接着解决的。3调试调试设置断点:设置断点:Insert/Remove Breakpoint F9运行到断点:编译运行到断点:编译|开始调试开始调试|运行运行 F51.6 VC+6.0开发平台开发平台C语言程序设计uangXi University52Restart 终止当前调

43、试,终止当前调试,重新运行,停在第一条语重新运行,停在第一条语句句Stop Debugging 结束当前结束当前调试和运行调试和运行Step Over 单步运行,不单步运行,不进入函数体内进入函数体内Step Out 从函数体运行到从函数体运行到外面外面1.6 VC+6.0开发平台开发平台例例1.9 调试举例调试举例C语言程序设计uangXi University531.7.1 主窗口的组成1.7 Turbo C 2.0开发环境简介 R编辑源程序.C编辑阶段编译目标程序.OBJ编译阶段包含文件系统库函数连接装配连接阶段可执行程序.EXE执行执行阶段1.开发开发C语言程序的四个阶段语言程序的四个

44、阶段 输出结果.编辑编辑:录入C的源程序,形成扩展名 为.C的源程序文件存盘。.编译:编译:翻译源程序,产生出扩展 名为.OBJ的目标程序。.连接:连接:与系统库函数连接,得到扩展 名为.EXE的可执行文件。.执行:执行:运行可执行文件,获得所需 要的输出结果。C语言程序设计uangXi University54(1)主菜单:有8个菜单项:文件、编辑、运行、编译、项目、选项、调试和断点/监视。2.Turbo C 的主菜单的主菜单主窗口由主菜单、编辑区、信息区和功能键提示行4个部分组成。主菜单编辑区信息区功能键提示行(2)编辑区:Edit区域称为Turbo C的程序编辑区,用于源程序的输入和编辑

45、。(3)信息区:Message区域称为Turbo C的信息区,用于显示编译和连接时的有关信息。(4)功能键提示行:在屏幕最下方,给出常用的7个功能键,它们是F1(帮助)、F5(分区控制)、F6(转换)、F7(跟踪)、F8(单步执行)、F9(生成目标文件)和F10(菜单)。C语言程序设计uangXi University55 若对已有的C源程序进行编辑,就从File的下拉菜单中选Load,弹出含“*.C”的“Load File Name”对话框。此时,或直接输入文件的路径和文件名,以使文件在编辑区里显示;或删除“*.C”,只键入路径名,就把指定路径下所有的C源程序文件显示出来,供用户选择。1.7

46、.2 对源程序文件的编辑 要建新的C语言源程序时,应从主菜单项File的下拉菜单中选择New。回车后,整个编辑区被清空,光标定位在该区左上角(第1行,第1列)。这样,用户就可以输入和编辑源程序了。编辑区最前面有一行文字:Line 1 Col 1 Insert Indent Tab Fill Unindent C:NONAME.C输入源程序时,Line 和Col后的数字随光标的移动而变,以标明输入光标的位置。新编辑文件的默认名是C:NONAME.C。新编文件的默认名全行见上一幻灯片C语言程序设计uangXi University56 (2)将光标移到待定义块的最后一个字符的后面,按Ctrl-KK

47、键,于是在光标左边产生了块尾标记。所定义的块将在程序中突显出来。1.7.3 编辑的基本操作命令 编辑时,所谓“块块”,是指源指在程序中用命令Ctrl-KB和Ctrl-KK做了首、尾标记的一个部分。做了块标记后,这部分就成了一个整体,可以对它进行删除、移动、复制等操作。以便简化编辑过程。在程序中定义一块的具体方法 (1)将光标移到待定义块的第1个字符的位置,按Ctrl-KB键,在光标位置处做上块首标记(注意:并不出现特殊的记号)。例例:类同的两个部分定义的一块C语言程序设计uangXi University571.7.4 源程序的保存 编辑完后的源程序,通过主菜单项File下拉菜单里的Save命

48、令存盘。若源程序是通过发New命令建立的,那么它当前使用的还是默认名:NONAME.C。发Save后,会弹出“Rename NONAME(为NONAME改名)”对话框。这时,用户可以为该程序文件指定正式的名字。若源程序是通过发Load命令建立的,那么这时不会弹出任何对话框,而是按照原文件的位置加以保存。若是通过Load命令对原已存在的源程序文件进行编辑修改,完成后想把它换一个名字存放,以保证不破坏原来的文件,那么就需要使用File下面的“Write to”命令。这时,会弹出一个“New Name(取新名)”对话框。在那里输入新的文件名后,原来的和新的文件就同时存在了。若在要求给出文件名(如“L

49、oad File Name”对话框、“Rename NONAME”对话框和“New Name”对话框)时,编程者明确地给出了文件所在路径。那么当然就按照所给路径去存放。若只给出文件名,而没有指明存放的路径,那么,Turbo C就按主菜单项File下“Change dir”里的路径,去存放。进入Turbo C主窗口时,“Change dir”里放的是Turbo C自己所在的路径,称为当前目录或工作目录。当人们不想把自己的程序文件与系统文件混杂地放在一起时,可以通过修改“Change dir”的内容,来设置用户的当前目录。修改后,在上述对话框要求提供文件名时,用户不必键入文件存放的路径,就能把文件

50、存放到自己的目录中去。C语言程序设计uangXi University581.7.5 编译、连接和装配1.文件的编译命令:文件的编译命令:Compile to OBJ 在主菜单Compile的下拉菜单里选择“Compile to OBJ”命令,在它的后面显示默认的目标文件名,按回车键就开始进行编译。编译完成后,系统会在屏幕上弹出编译信息窗口:“Compiling”。通过这个窗口告诉用户编译是成功了,还是发现了错误。如果编译有错,系统会显示出必要的信息。可能有两种信息:一是“Warnings(警告)”,指错误较轻,系统可以容忍,仍把有警告的程序生成目标程序文件;另一是“Errors(错误)”,指

51、严重的错误,系统不能容忍任何一个这样的错误,不生成目标程序文件。C语言程序设计uangXi University592.文件的连接命令:文件的连接命令:Link EXE file 只有将目标程序文件与系统提供的库函数等连接起来,成为一个可执行的文件,才能对其运行。在主菜单Compile的下拉菜单中,选择“Link EXE file”,按回车键就开始连接工作。连接完毕,屏幕上出现连接信息窗口:“Linking”。通过该窗口告诉用户连接是成功了,还是发现了错误。如果把编译和连接分两步进行,那么必须先做编译,得到“.OBJ”文件后,才能进行连接,不然会出现错误。3.一次完成编译和连接的命令:一次完成

52、编译和连接的命令:Make EXE file 选择Compile主菜单项下的“Make EXE file”命令,可以把编译和连接两步工作并在一起做,一次完成编译和连接,产生出“.OBJ”和“.EXE”两个文件。由于该命令简化了操作,而且使用频繁,所以Turbo C专门设立了功能键F9,只要想进行编译和连接,按功能键F9即可。1.7.6 运行和观看运行结果 编译、连接后,或使用Make命令后产生的“.EXE”文件,就是一个可以投入运行的程序。在DOS下,输入该文件的名字,就能够运行。由于Turbo C是一个集成开发环境,在这个环境中,也能够运行“.EXE”文件。C语言程序设计uangXi Uni

53、versity60例例:编写一个源程序,它从键盘输入两个整数,求出这两个整数的乘积后,打印输出。利用Run命令运行此程序。在Turbo C下运行程序(1)在主菜单Run的下面选择Run命令,并回车。(2)运行中遇到有键盘输入的要求(如scanf(),那么屏幕显示会切换到用户窗口,以等待用户从键盘完成输入。(3)运行结束后,返回到Turbo C主窗口。(1)程序实现#include stdio.hmain()int a,b,c;scanf(dd,&a,&b);c=a*b;printf(a*b=dn,c);(2)分析与讨论.发Make命令,完成编译和连接。在主菜单Run的下面选择Run命令。.由于

54、程序里面有键盘输入语句scanf,所以执行时屏幕会切换到用户窗口,等待用户的输入。.运行结束后,为了能够看到结果,可以在主菜单Run下选择“User screen(用户屏)”命令。C语言程序设计uangXi University61上机编辑、运行以下程序并核实其结果是否正确。上机编辑、运行以下程序并核实其结果是否正确。#includevoid main()int a,b,c;a=3;b=5;c=a+b;printf(%d,c);C语言程序设计uangXi University62小结小结回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!