《一章程序设计语言与CCppt课件》由会员分享,可在线阅读,更多相关《一章程序设计语言与CCppt课件(62页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计卢日昌卢日昌广西大学电气工程学院广西大学电气工程学院貉追前襟服哮洛版戴州嵌认掘盆赌兄璃刑溅撼给锤擒蓬秘相粘榨酉渝勺添一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件1uangXi UniversityC语言程序设计教教 材材 及及 参参 考考 书书教材:教材:1龚沛曾龚沛曾,杨志强主编杨志强主编.C/C+程序设计教程程序设计教程,北京北京:高等教高等教育出版社育出版社,2009年年5月月 参考书:参考书:2教育部考试中心教育部考试中心.全国计算机等级考试二级教程全国计算机等级考试二级教程C语言程语言程序设计序设计,北京北京:高等教育出版社高等教育出版社3谭浩强谭浩
2、强.C+程序设计程序设计,北京北京:清华大学出版社清华大学出版社,2004年年6月月4吴文虎吴文虎.程序设计基础程序设计基础(第第2版版),北京北京:清华大学出版社清华大学出版社, 2004年年9月月代唬沟溺业遮陪谆毅罢袍各转式赶磕素彰汞蛹培渴拙役桓峻逮料蚊箔拼泼一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件2uangXi UniversityC语言程序设计考试时间:第考试时间:第14周周六晚周周六晚(最后一次课最后一次课)考试方式:笔试,开卷考试。考试方式:笔试,开卷考试。总评成绩总评成绩=平时成绩平时成绩50%+期末成绩期末成绩50%本教学班本教学班Q群:群:121938
3、137 1)QQ:1009495090。2)电子邮件:)电子邮件:L3)联系电话:)联系电话:3231080(办办)。4)博客)博客http:/ UniversityC语言程序设计主要授课内容主要授课内容第第1 1章章 C/C+ C/C+概述概述第第2 2章章 基本数据类型、运算符基本数据类型、运算符和表达式和表达式 第第3 3章章 结构化程序设计结构化程序设计第第4 4章章 数组数组第第5 5章章 函数函数第第7 7章章 文件夹文件夹范闷栽骏赎赁疵枣笺蛔黔筛磋起兑栖附猜诞御风隘渭沼钱厉籍攻嵌化仔迎一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件4uangXi Universi
4、tyC语言程序设计第一章第一章 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 编译预处理编译预处理1.6 Visual C+1.6 Visual C+简介简介邹投滴沽妨瓮格椭粉菱臃笛喜荡囱省钞阑遥寅芬硷诣顾碌蹬误舵诺蔓劲贯一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件5uangXi UniversityC语言程序设计1.1 C/C+的发展简史的发展简史 C是由BCPLBCPL语言经语言经B B语
5、言进化而来,语言进化而来,1972年Bell实验室的Ritchie开发,为Ken的UNIX而设计。参与UNIX设计开发的主要人物还有Thompson。C语言的设计者语言的设计者Dennis M. Ritchie和和Unix的设计者的设计者Ken Thompson接受美国国家技术勋章接受美国国家技术勋章胳领辉潜欣匡赐妙眩海摧姬常西益诌殷整循梗品袋闻斋吞禁吼敝媚秃相姬一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件6uangXi UniversityC语言程序设计1.1C/C+的发展简史的发展简史Ritchie和和Thompson在开发在开发UNIXUNIX OS可以说是第一可以说
6、是第一个比较成熟并俱备开放个比较成熟并俱备开放性的操作系统,它的大性的操作系统,它的大部分代码是由部分代码是由C写的写的。字障喂浩产躁新赦铰柯汐尽看涛记符侥遍赣眷详舱膀泣会厌带绑锅凑抨尺一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件7uangXi UniversityC语言程序设计1.1C/C+的发展简史的发展简史 C语言有两个重要的标准: 老标准:1978年,The C Programming Language-B.W.Kernighan和D.M.Ritchie合著 新标准:1983年,ANSI制定,称为ANSI C 它被定为一种高级语言,但并不是“高级”,只是相对低级语言
7、,在一个高的级别上进行编程。很多重量级软件都是用C写的。几乎没有不能用C写出来的软件,没有不支持C的系统。很多流行语言、新生语言都借鉴了它的思想、语法。夸址乓走戏抿怕坚侈镀俐竣颐锰傈贵栅钎菱堑蜜筏警爆菠翻镊逝靳堪毖混一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件8uangXi UniversityC语言程序设计1.1C/C+的发展简史的发展简史硬件(硬件(Hardware)操作系统(操作系统(OS)应用程序应用程序(Application)基于基于平台的平台的应用应用程序程序低级语言低级语言低级语言低级语言的地盘的地盘的地盘的地盘高级语言高级语言高级语言高级语言的地盘的地盘的
8、地盘的地盘C C语语语语言言言言的的的的地地地地盘盘盘盘晰率俭秒渍洽岔靶社粉窍哑景偶漓骸似膝垃嗜袱艘峻星再造韧彻处朝讲境一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件9uangXi UniversityC语言程序设计1.1C/C+的发展简史的发展简史C+: 1979年年Bell实验室的实验室的Bjarne Stroustrup,主要是为改善管理程序的方便性,降代复杂性。主要是为改善管理程序的方便性,降代复杂性。CSimula 67带类的C类基础1979年Cpre预处理器C+ 1.01985年C+程序设计语言C+ 2.01989年C+ 3.01993年类及派生类公有和私有构造函
9、数,析构函数友元内联函数赋值运算符的重载虚函数函数和运算符的重载引用常量Const多重要继承保护成员对象的初始化与赋值的机制抽象类静态成员函数CONST成员函数模板阶竭丙承宠烙芯蹦疆卷铀赖家章毕常氏逢石窥那甜苍码般胁姓俭帆拘辨仑一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件10uangXi UniversityC语言程序设计1.1C/C+的发展简史的发展简史C+的组成环的组成环C语言语言面向对象设计(OOP)Visual C+组成组成C+程序设计C程序设计MFC应用程序向导类似的还有类似的还有C+ BuilderBorland C+逝揖垂瘫吻继驼堕伯搅琐斧肪窃序蚤肢丰水疏踪榔
10、吼帝重留垃早疯淀拾爵一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件11uangXi UniversityC语言程序设计1.2简单的简单的C/C+程序与结构程序与结构例例1.11.1:输出一行信息。:输出一行信息。#include void main( ) printf (This is a C program.n); 说明:说明:说明:说明: main-主函数名, void-函数类型每个C程序必须有一个主函数main 是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写: #include 运行结果:运行结果: This is a C prog
11、ram.肇渍瑟瓮欣假迄癸毕促桅揣钎奄抠密咸淹口漓痘叙匈忘跳泡瑰腆明百函创一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件12uangXi UniversityC语言程序设计1.2简单的简单的C/C+程序与结构程序与结构 例例1.2:输入圆的面积,求面积。分别用:输入圆的面积,求面积。分别用C和和C+写的源程序如下:写的源程序如下:注释:以/开始 #include是编译预处理命令 把头文件的内容插入该处使用cin、cout函数必须有该命令main函数的函数体main函数的函数头void表示无返回值 #define 定义替代宏糜能客厨轮兢渺依俘堑粒撅飞镊榜搭河凿叫瓜眯鲤误耗屿舍钳绿
12、粪六直在一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件13uangXi UniversityC语言程序设计1.2简单的简单的C/C+程序与结构程序与结构乱销赢纵桐网刃部冬贝谷公乘胚步趴琼糠尘面轩障烈疫全勿典兢贿由壤壬一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件14uangXi UniversityC语言程序设计1.2简单的简单的C/C+程序与结构程序与结构例例1.3:求两个数之和。求两个数之和。 #include iostream.h int add(int x, int y) /定义定义add()函数,求两个数之和函数,求两个数之和int z;/说明说明
13、z为为int类型的变量类型的变量 z=x+y;/将将x+y的值赋值给的值赋值给z return z; /结束结束add()函数的执行,并将函数的执行,并将z的值返回的值返回void main( )/定义主函数定义主函数int a, b, c;/说明说明a、b、c为为int类型的变量类型的变量cinab;/从键盘输入两个数据送到从键盘输入两个数据送到a和和b中中c=add(a,b) ;/调用调用add()函数,计算函数,计算a+b,并把结果赋给,并把结果赋给ccoutcendl; / 先输出先输出c的值,再输出换行符的值,再输出换行符座诌玲画租货盆隶券菲酥锐檬频犊吠问害宜席川许奏闪膀驮锅成揩服掸
14、综一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件15uangXi UniversityC语言程序设计 1.2 简单的简单的C/C+程序与结构(小结)程序与结构(小结)(1) (1) C/C+程序是一个或多个函数构成的,程序是一个或多个函数构成的,main函函数一定要有数一定要有。这使得程序容易实现模块化。这使得程序容易实现模块化。 (2) (2) 一个函数由两部分组成一个函数由两部分组成: : 函数的首部:函数的首部:例例1.31.3中的中的addadd函数首部函数首部 int add(int x,int y ) int add(int x,int y ) 函数体:函数体:花
15、括号内的部分。若一个函数有多个花花括号内的部分。若一个函数有多个花括号括号, ,则最外层的一对花括号为函数体的范围。则最外层的一对花括号为函数体的范围。 函数体包括两部分 :声明部分:int a,b,c; 可缺省执行部分:由若干个语句组成。可缺省燕歇磋寥辰廖垢过俭邮柴喀旺资褥拧汾爱宪淫矛坯环煞刷荒恨迭昏景宵谢一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件16uangXi UniversityC语言程序设计例如:例如:void dump ( ) 这是一个空函数这是一个空函数, ,什么也不做什么也不做, ,但是合法的函数。但是合法的函数。 1.2 简单的简单的C/C+程序与结构(
16、小结)程序与结构(小结)紊卉供羔苞柱纪蜗肩县虐鸵陇遥衡堆脊恶政渍胸窘坛熟最眩返呜碎冻共谰一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件17uangXi UniversityC语言程序设计(3)(3)不管有多少个函数,程序总是不管有多少个函数,程序总是从从mainmain函数开始执行的函数开始执行的, ,与与mainmain函数的位置无关。函数的位置无关。 在一个函数内,执行从在一个函数内,执行从上到下开始的。上到下开始的。 (4)(4)程序书写形式自由程序书写形式自由, ,一行内可以写几条语句一行内可以写几条语句, , 一条语一条语句可以分写在多行上,语句没有行号。句可以分写
17、在多行上,语句没有行号。(5)(5)每个语句和数据声明的最后必须有一个分号。每个语句和数据声明的最后必须有一个分号。 注释注释从从/开始的,可增加程序的开始的,可增加程序的可读性可读性。(6)(6)C/C+C/C+语言中大小写字母是不同的。语言中大小写字母是不同的。(7)C(7)C语言本身没有输入输出语句。输入和输出的操作是语言本身没有输入输出语句。输入和输出的操作是由库函数由库函数scanfscanf和和printfprintf等函数来完成的。等函数来完成的。C C对输入对输入输出实行输出实行“函数化函数化”。 1.2 简单的简单的C/C+程序与结构(小结)程序与结构(小结)仙丧荐瓶尾哮惺谢
18、喀逼耶绩闹繁央聚伐暮期猫佳孩令戏蒸邪盯罗丛沛湍铭一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件18uangXi UniversityC语言程序设计例1 以下说法不正确的是( )A.C程序中必须有一个main()函数,C程序是从main() 函数的第1条语言开始执行B.C程序中除主函数外的其他函数都是在执行主函数时, 通过函数调用或嵌套调用而得以执行的C.C程序中的main()函数位置可以任意制定D.C程序中的main()函数必须放在程序的开始位置 典型例题分析典型例题分析携午赵惕迄忱医舌嚣郭殖掳球丁茶均熬芳菠寂鼎却宅享则蛛翟棕素鼎夸遂一章程序设计语言与CCppt课件一章程序设
19、计语言与CCppt课件19uangXi UniversityC语言程序设计A.C程序中的一行可以写多条语句B.C程序中的每行只能写一条语句C.C程序中的语句可以采用缩进格式书写D.C程序中可以用注释提高程序的可读性例2 以下说法不正确的是() 典型例题分析典型例题分析钳皆戳孺娠霄枪固沉吵险咸秸韧曳兹倦汝隙苏旱毒围鄙俱爪上挨掘刚铜遗一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件20uangXi UniversityC语言程序设计例3 C语言的程序一行写不下时,可以( )A.在任意空格处换行B.用逗号换行C.用回车换行D.用分号换行 典型例题分析典型例题分析蚜烹商署室兆劳斯疟窗葫
20、畜献励碍鞋捐氯欧硝箔廓攀婶尔敝般钓胚唉卞蜒一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件21uangXi UniversityC语言程序设计例4 以下说法正确的是()A.C 语言程序是从第一个定义的函数开始执行B.在C语言中,要调用的函数必须在main函数中定义C.C语言程序是从main函数的第1条语句开始执行D.C语言程序中的main函数必须放在程序的开始部分 典型例题分析典型例题分析填篙昂图看喘配搅忠桅捶侈芍域稿铱霍垮庚郁瑰讽渠卷竭囱株劳驼笆狂厕一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件22uangXi UniversityC语言程序设计A.主函数名
21、是由程序设计人员按照主函数名是由程序设计人员按照“标识符标识符”的的规则选取的规则选取的B.分号和回车都可以作为一个语句的结束符号分号和回车都可以作为一个语句的结束符号C.程序的执行,总是从源程序清单的第程序的执行,总是从源程序清单的第1行开始行开始D.在程序清单的任何地方都可以插入一个或多个在程序清单的任何地方都可以插入一个或多个空格符空格符例5 下列说法中,正确的是() 典型例题分析典型例题分析娟演节迭鼠心不草法耪闪拘脉综兹哪视蚂朵缅怒舀证朗妹咕佳啊览啡韧壮一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件23uangXi UniversityC语言程序设计1.3 C/C+基
22、本的语法成分基本的语法成分1. 基本符号: (1) 字母:52个 AZ az (2) 数字字符:10个0 9 (3) 下划线 _ 。 (4) 特殊符号:一般作运算符,如+、-、*、/、&2关键字关键字 有特定含义的、专用的单词。 如int、char、break、for、define等。 不能作变量名、符号常量名、函数名、类名等。爹助堰居蓟糙戮坡先联钙丰趣香剃营密堂蒂炭旨俐羌丽轧资娇剧喂疥肄言一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件24uangXi UniversityC语言程序设计1.3 C/C+基本的语法成分基本的语法成分3. 标识符:由字母、数字和下划线三种字符组成
23、 必须以字母或下划线开头合法标识符。A2 student area_of_circle num _dd Int不合法标识符2A A-B area of circle M.D int 大小写字母不等价 习惯上,变量名小写,符号常量大写。 关键字不能作标识符用。例如,int、define等关键字不 能作为标识符用。 定义标识符时最好能简洁且“见名知义”,以提高程序的可读性。如min表示最小值,average表示平均值,day表示日期。 在Visual C+中,标识符中不能有汉字但是字符串和注释中可以有汉字。魄诫达格苫兰络嗽闰阐培夫谅稚力堤窖闸乏砰喻格缉朴拙焰晦贼刮鹃与磷一章程序设计语言与CCppt
24、课件一章程序设计语言与CCppt课件25uangXi UniversityC语言程序设计1.3 C/C+基本的语法成分基本的语法成分 标识符通常用来对变量和函数命名,一般有标识符通常用来对变量和函数命名,一般有经下约定:经下约定:直观,见名知意,便于记忆和阅读直观,见名知意,便于记忆和阅读最好使用英文单词或其组合切忌使用汉语拼音 下划线和大小写通常用来增强可读性下划线和大小写通常用来增强可读性variablenamevariable_nameVariableName, variableName某些功能的变量采用习惯命名某些功能的变量采用习惯命名如:for语句所采用的循环变量习惯用i, j, k
25、Windows Windows 风格风格UNIX UNIX 风格风格尸熬促粒枪诵洼含蛆泳效撤冲缀柔莽宏阎捂约鳞爽侩础伎贮均谱辫改券丽一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件26uangXi UniversityC语言程序设计1.4 C/C+数据的输入输出与格式化数据的输入输出与格式化 本节仅介绍本节仅介绍C/C+的数据输入输出及的数据输入输出及其格式化方法。通过本节的学习,你马其格式化方法。通过本节的学习,你马上会看到你能编制一些小程序了。上会看到你能编制一些小程序了。p1.4.1C+的数据输入输出与格式化的数据输入输出与格式化p1.4.2C的数据输入输出与格式化的数据
26、输入输出与格式化p1.4.3字符输出字符输出/输入函数输入函数奎达瘸覆汰调妆纯婶箱腥伟蝴闰瑚戮买琴蹲煎坞未飞沃盯洱耀忘耕戚橇躁一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件27uangXi UniversityC语言程序设计1.4.1C+的数据输入输出与格式化的数据输入输出与格式化 C+使用使用cin(标准输入设备标准输入设备)和和cout (标准输出设备标准输出设备)进行输入输出,进行输入输出,把数据的输入输出处理为一个对象到另把数据的输入输出处理为一个对象到另一个对象的流动。一个对象的流动。要使用它们,程序开始必须用包含语要使用它们,程序开始必须用包含语句:句: #inc
27、lude iostream.h 或或#include 格式:格式: coutcout表达式表达式11表达式表达式22变量变量变量变量22变量变量n;n;祟卢茄顶铅闸试诛罚谈瓮谅篡看稗瞪饮琶宗踪耀宽跺监揍琳舌按开作碟兵一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件28uangXi UniversityC语言程序设计1.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.3 cout1.3 cout示例示例#include iostream.hvoid main()int a=2;double b=3.32;char c=A;couta bendl; couta0ben
28、dl; coutaendsbendl; coutc abcdendl; 库中对ends的定义:_CRTIMP inline basic_ostreamchar, char_traits & _cdecl ends(basic_ostreamchar, char_traits & _O) _O.put(0); return (_O); 祈旦哪矾兢毁戊予写坊栖癸斤绥弘挨嘲喊朴演守反上俗谷辐意厨蔷袜淌幼一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件29uangXi UniversityC语言程序设计1.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.4 1.4 使用格
29、式控制符输出数据使用格式控制符输出数据#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
30、(ios:_)如果是如果是0只显示整数部只显示整数部分且以科学计数法表示分且以科学计数法表示如果前面还有如果前面还有setioflag(ios:fixed),则,则setprecision只控制小数部分个数只控制小数部分个数肮呢沏饭菊三粒格丢酿权镀晨歉习斩藤访专毖棍凭唱迷歹馁豫佐唱亩爹麓一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件30uangXi UniversityC语言程序设计1.4.1C+的数据输入输出与格式化的数据输入输出与格式化例例1.5 cin1.5 cin示例示例#include iostream.hvoid main()int a;float b;couta
31、b;couta+b=a+bendl;扰获扬咬场柔鸟箭绚吊柿歼雀霍请炕侣蒜熊袒笔镊良蓝涎咯兄苹驰官泣没一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件31uangXi UniversityC语言程序设计1.4.1C+的数据输入输出与格式化的数据输入输出与格式化说明:说明:输出中各表达式可以是任意类型的。输出中各表达式可以是任意类型的。数据的输出格式由下面的一些常用的控制。数据的输出格式由下面的一些常用的控制。输入数据之间用空格、输入数据之间用空格、TABTAB键或回车分隔键或回车分隔格式控制符格式控制符说说 明明示示 例例语语 句句结结 果果endl输出换行符并刷新缓冲区cout
32、123endl123123 LF 123dec十进制表示coutdec123;123hex十六进制表示couthex123;7boct八进制表示coutoct123;173setw(n)设置输出宽度coutasetw(4)b;a bws忽略前导空白coutwssetfill()设置填充字符coutsetfill(*)setw(6)123;*123ends(终止字符串 )等同NULL(但不是字符)coutaendsbendla bsetprecision(n)设置有效位数coutsetprecision(5)123.456123.46输入数据比变量个数多,后续的忽略输入数据比变量个数多,后续的忽
33、略匝点百以报哭槽菲笺讣缸铣湛最盛孽程赞琴誓阴脑幻佃再嗜玩汤铁吴三婴一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件32uangXi UniversityC语言程序设计1.4.2C的数据输入输出与格式化的数据输入输出与格式化 C语言中输入输出操作通过调用标准库函数来实现,语言中输入输出操作通过调用标准库函数来实现,要关文件开始用下面的包含语句:要关文件开始用下面的包含语句: #include “stdio.h” 或或 #include 输出函数输出函数printf(格式控制字符串, 输出项表列);输出若干个任意类型的数据 printf(a=%d b=%f, a, b);输入函数输
34、入函数scanf(格式控制字符串, 地址表列); scanf(%d,%f”, &a,&b);葡瀑桃袖拆两哺宰范枝京读椭哲漾悟巴祖嫌逼哮倔既和北呐憋宋级爷潜要一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件33uangXi UniversityC C语言语言输出输入函数输出输入函数printf(printf()函数)函数#include printf(“控制字符串” , 输出列表) ; (1)控制字符串控制字符串,由输出的文字和数据格式说明符组成。文字说明中除了可以使用字母、数字、空格和一些数学符号以外,还可以使用一些转义字符表示特殊的含义。 printf( Variable x
35、 = %d , y = % f , x , y ) 例如:(2)输出列表输出列表,可以是常量、变量或表达式或函数调用,数据之间用“,”分隔。数据的个数和类型必须与控制字符串控制字符串中的格式说明项顺序一一对应。 输出数据数据格式输出文字绥咖了贪挝穆站盛轴王净捍纵洼契钳慧但堪埃凝裙眷卸剖斑焕记貌宠抬球一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件34uangXi UniversityC语言语言输出输入函数输出输入函数printf()函数)函数printf( Variable x = %d , y = % f , x , y ) 例如:数据格式与输出数据的对应printf(“a=
36、%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.36 用簿对申算磕漱驯倚抄峪寅兼瘸掣际胯峻挝病系自柱蜗谨哟咨做锚叭帐躺一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件35uangXi UniversityC语言语言输出输入函数输出输入函数printf()函数)函数格式字符格式字符说说 明明%d%md带符号十进制整数输出带符号十进制整数输出%c输出单个字符输出单个字符%s输出字符串输出字符串
37、%f%m.nff以小数形式输出单精度数以小数形式输出单精度数lf双精度数双精度数%e以指数形式输出单、双精度数以指数形式输出单、双精度数 其它格式说明符o 八进制无符号整数输出x 十六进制无符号整数u 十进制无符号整数输出格式修饰:l 长整型整数,加在d、o、x、u 前L long double型数,加在f、e、g前m 表示数据占用的最小宽度:数据宽度大于m,按实际宽度输出;数据宽度小于m时,补空格n 对实数表示输出n位小数:对字符串表示最多输出的字符个数- 改变输出内容的对齐方式,缺省为右对齐岿尊瑞琅俩竭纸奥撰野精蛮锨妮罗沉恼发竹蚁眯昔淳安崔领窃不楼创介躁一章程序设计语言与CCppt课件一章
38、程序设计语言与CCppt课件36uangXi UniversityC语言程序设计1.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%dn%dn, n
39、1, 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);峡尧驶僵颊页嘶绣棍批抹工墅寂捎卡榴蹬舞鼠其钨箩肪韵邀瓣垛筹俱做玛一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件37uangXi UniversityC语言程序设计1.4.2C的数据输入输出与格式化的数据输入输出与格式化例例1.7 scanf1.7 scanf例例#include main()int
40、a, b; printf(Please input a and b:); scanf(%2d%*2d%2d, &a, &b); printf(a=%d, b=%d, a+b=%dn,a,b,a+b);Please input a and b:a=12, b=5, a+b = 1712345a 将输入的格式换一下,应该如何输入?将输入的格式换一下,应该如何输入?逢勿等滞哼侩架泣牺卯饲草耸击历淤糊泪粤锻拍搪琅刻号正镁抽态躲触簿一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件38uangXi University输入函数 scanf(格式控制字符串格式控制字符串, 地址表列地址表列)
41、; scanf(%d,%f”, &a,&b);(1) scanf格式字符格式字符d 以带符号十进制形式输入整型数据以带符号十进制形式输入整型数据o 以八进制无符号形式输入(无前导以八进制无符号形式输入(无前导0)x 以十六进制无符号形式输入(无前导以十六进制无符号形式输入(无前导0x)c 以字符形式输入单个字符以字符形式输入单个字符s 输入字符串输入字符串,以非空字符开始以非空字符开始,遇第一个空白字符遇第一个空白字符结束结束f 以小数形式输入浮点数以小数形式输入浮点数e 以标准指数形式输入以标准指数形式输入C语言语言输出输入函数输出输入函数scanf()函数)函数褒镀待垃孤蜀阶刑揽彭负吸敏坯
42、瓦跺渠迎囤搏壕贫哟蒸馆息俯奇共远廖孔一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件39uangXi Universityl 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型L 加在f、e 前:输入long double型h 加在d、o、x 前:输入短整型m 表示数据占用的宽度*本输入项在读入后不赋给相应的变量(2)输入数据时,遇以下情况时该数据认为结束遇空格、遇空格、回车回车、TAB 键键遇宽度遇宽度:*md遇非法输入遇非法输入C语言语言输出输入函数输出输入函数scanf()函数)函数幅毫锑检股契桃郴辙拴爷南镰札损疏正冰肇吩浸坞呸便驰浑谢胎灵灾慰辞一章程序设计语
43、言与CCppt课件一章程序设计语言与CCppt课件40uangXi University例例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 continue戊皱茂铰颅悟裤珠吵缨启洲糊冒售微勇卞司给击竭硼
44、叔挟伦粒羊丫滦时孙一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件41uangXi UniversityC语言程序设计1.4.2C的数据输入输出与格式化的数据输入输出与格式化(4)常见错误常见错误scanf(%d,%fn”,&a,&b);scanf(%d,%f”,a,b);scanf(%7.2f,&a);printf(“%d,%f”, a)(编译不会出错编译不会出错)挫关抄嘿佐谭叛匪著邢径敢峻广医杜疽氧打裙莎坯誊卫恩楔犊郁卿龚诱袜一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件42uangXi UniversityC语言程序设计1.4.3字符输出字符输出/输入函
45、数输入函数字符输出函数字符输出函数putchar(ch)输出一个字符ch字符输入函数字符输入函数getchar()无参数函数值为从输入设备接收的字符瓤拱钝洞金掖信箍靴处澜敏锨瘸开艇址吉卜舶颈嘻肆骡况涡疑揖伊捐胞卸一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件43uangXi UniversityC语言程序设计1.4.3字符输出字符输出/输入函数输入函数例例1.81.8示例示例#include main() charchar ch; printf printf(Press a key and then press Enter:); ch = getchargetchar();
46、printfprintf(You pressed ); putcharputchar(ch); putcharputchar(n);伍爬阁采选染题辜诧盛蚌代愚蛛匪疚计擒窑古叫锻岁玻域苫喀获芍琳院耗一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件44uangXi UniversityC语言程序设计1.5 编译与预处理编译与预处理1、文件包含、文件包含 头文件:头文件:.h如如stdio.h、iostream.h ,其中对函数,其中对函数说明、常量定义说明、常量定义#include的的 作用:头文件的内容插入到源文件中。可以将一些作用:头文件的内容插入到源文件中。可以将一些公用的内
47、容单独组成一个文件,供多个程序员使用。公用的内容单独组成一个文件,供多个程序员使用。(1)#include 从系统指定的文件夹中找从系统指定的文件夹中找 (2)#include 文件名文件名从当前文件夹中找,再到系统指定的文件夹中找从当前文件夹中找,再到系统指定的文件夹中找注意:一条文件包含命令只能包含一个文件注意:一条文件包含命令只能包含一个文件编写源程序编写源程序预处理预处理编译编译连接连接执行执行预处理程序预处理程序编译程序编译程序痴假涵限吩荷碳笨继揉撩寻舷轮鼠汹补湘催铬框肺歉危酚椰瞥输铜虚识准一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件45uangXi Univer
48、sityC语言程序设计1.5 编译与预处理编译与预处理2、宏定义、宏定义 主主要要用用来来定定义义符符号号常常数数,当当然然也也可可以以定定义义别别的的。定定义义常常量量时要与时要与const区别开区别开(下一章再讲下一章再讲)。#define 标识符标识符 常量常量例如:例如:#define FALSE 0#define TRUE 1#define PI 3.1415926#define EPS 1.0e-6 #define Set_DE0 P3|=0x08 #define Clr_DE0 P3&=0x08 注意:注意:符号常量一般大写符号常量一般大写行末一般不加分号行末一般不加分号不能对符
49、号常量进行赋值不能对符号常量进行赋值洼咎媒杠衡蛔妨窃蜕慨贬彬权褒沂汞芋网咏朋嫉殷渊拍殴狈扬互认胰欢项一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件46uangXi UniversityC语言程序设计1.5 编译与预处理编译与预处理例如:用预处理指令例如:用预处理指令#define 声明一个常数,用以表明声明一个常数,用以表明1年中有多年中有多少秒(忽略闰年问题)少秒(忽略闰年问题)-一道面试题一道面试题 #define SECONDS_PER_YEAR 60 * 60 * 24 * 365UL 说明:说明:(1)(1)注意注意 #define #define 语法的基本知识(
50、例如:不能以分号结语法的基本知识(例如:不能以分号结束,括号的使用,等等)束,括号的使用,等等)(2)(2)懂得预处理器将为你计算常数表达式的值,因此,直懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。是更清晰而没有代价的。(3)(3)意识到这个表达式将使一个意识到这个表达式将使一个1616位机的整型数溢出位机的整型数溢出- -因此因此要用到长整型符号要用到长整型符号L,L,告诉编译器这个常数是的长整型数。告诉编译器这个常数是的长整型数。(4)(4)如果你在你的表达式
51、中用到如果你在你的表达式中用到UL(UL(表示无符号长整型表示无符号长整型) ),那么你有了一个好的起点。记住,第一印象很重要。那么你有了一个好的起点。记住,第一印象很重要。馅狐嗅今摆硬军医叁只绦私阜拧挠嘶戈借女奋肢砧材弗喻污翻坊赠巫道较一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件47uangXi UniversityC语言程序设计1.6 VC+6.0开发平台开发平台项目工作区项目工作区输出窗口输出窗口代码窗口代码窗口颅思冗适有许寻盅跑临例讥氢寂莲签隶篱扛萧蓉搅拔甘爬舆斜牢休迢胶诅一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件48uangXi Univer
52、sityC语言程序设计1.6 VC+6.0开发平台开发平台1 1、简单、简单C/C+C/C+程序的编写、运行过程程序的编写、运行过程(1)创建一个空工程;创建一个空工程;Win32 Console Application C+ Source File (2)创建一个创建一个C+源文件,输入源程序;源文件,输入源程序;(3)进行编译、连接、运行。进行编译、连接、运行。编译编译|编译编译TEST.cpp CTRL+F7编译编译|构建构建TEST.exe F7编译编译|执行执行TEST.exe CTRL+F5枣娟尾椿以钻牲鲍麦椰各还慎砧膨趴仍粱词肆岗懈坟疡蓉撂莉渠莲叼姑威一章程序设计语言与CCppt
53、课件一章程序设计语言与CCppt课件49uangXi UniversityC语言程序设计编译连接后生成的主要文件编译连接后生成的主要文件D:TESTTEST.dspTEST.dswTEST.cppDebugTEST.objTEST.exe1.6 VC+6.0开发平台开发平台困图献死匣尽妖稀迫植锄醛豪汪却肿唆聂棺伤寥绝勒酬态畔痹凰螺彼央讨一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件50uangXi UniversityC语言程序设计2、程序调试、程序调试1语法错误语法错误/警告警告-编译程序可以发现并给出提示编译程序可以发现并给出提示 错误信息错误信息-影响运行影响运行 D:
54、TESTTEST.CPP(6) : error C2146: syntax error : missing ; before identifier cin 警告信息警告信息-潜在的错误,但不影响运行,不过要重视潜在的错误,但不影响运行,不过要重视 D:TESTTEST.CPP(6) : warning C4244: = : conversion from const double to int, possible loss of data 如何定位语法错误?如何修改语法错误?如何定位语法错误?如何修改语法错误?-这是调试首先解决的。这是调试首先解决的。2逻辑错误逻辑错误-编译程序一般不能发现,
55、通过断点跟踪发现编译程序一般不能发现,通过断点跟踪发现 - 这是调试接着解决的。这是调试接着解决的。3调试调试设置断点:设置断点:Insert/Remove Breakpoint F9运行到断点:编译运行到断点:编译|开始调试开始调试|运行运行 F51.6 VC+6.0开发平台开发平台诫靳敏吸弦无轻蒜蝴沸侍怒铅霖挪溶屉勤弓碱街萄宪议致敷却泽钩厩虏临一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件51uangXi UniversityC语言程序设计Restart 终止当前调试,终止当前调试,重新运行,停在第一条语重新运行,停在第一条语句句Stop Debugging 结束当前结束
56、当前调试和运行调试和运行Step Over 单步运行,不单步运行,不进入函数体内进入函数体内Step Out 从函数体运行到从函数体运行到外面外面1.6 VC+6.0开发平台开发平台例例1.9 调试举例调试举例袁蛛厂芦事订韦禁高杀足跋渝兢萧景椽绒帅唆莹腹差创雅鸽坪劝刺月倘介一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件52uangXi UniversityC语言程序设计1.7.1 主窗口的组成1.7 Turbo C 2.0开发环境简介 编辑源程序.C编辑阶段编译目标程序.OBJ编译阶段包含文件系统库函数连接装配连接阶段可执行程序.EXE执行执行阶段1. 开发开发C语言程序的四
57、个阶段语言程序的四个阶段 输出结果. 编辑编辑:录入C的源程序,形成扩展名 为.C的源程序文件存盘。. 编译:编译:翻译源程序,产生出扩展 名为.OBJ的目标程序。. 连接:连接:与系统库函数连接,得到扩展 名为.EXE的可执行文件。. 执行:执行:运行可执行文件,获得所需 要的输出结果。臼萄泄猛琼跋没攀迷囤凡碑乃款钮揣缔萄荐确娱萄囊沫湘咋寂氨恐琢疫赵一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件53uangXi UniversityC语言程序设计(1)主菜单:有8个菜单项:文件、编辑、运行、编译、项目、选项、调试和断点/监视 。2.Turbo C 的主菜单的主菜单主窗口由主
58、菜单、编辑区、信息区和功能键提示行4个部分组成。 主菜单编辑区信息区功能键提示行(2)编辑区:Edit区域称为Turbo C的程序编辑区,用于源程序的输入和编辑。 (3)信息区:Message区域称为Turbo C的信息区,用于显示编译和连接时的有关信息 。(4)功能键提示行: 在屏幕最下方,给出常用的7个功能键,它们是F1(帮助)、F5(分区控制)、F6(转换)、F7(跟踪)、F8(单步执行)、F9(生成目标文件)和F10(菜单)。 塌撅疲簇征躺掠绳展表触舞捎磋怨康寻姓粪畦闪灯首舔铡临涩凛坟筏月诉一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件54uangXi Univers
59、ityC语言程序设计 若对已有的C源程序进行编辑,就从File的下拉菜单中选Load,弹出含“*.C”的“Load File Name”对话框。此时,或直接输入文件的路径和文件名,以使文件在编辑区里显示;或删除“*.C”,只键入路径名,就把指定路径下所有的C源程序文件显示出来,供用户选择。1.7.2 对源程序文件的编辑 要建新的C语言源程序时,应从主菜单项File的下拉菜单中选择New。回车后,整个编辑区被清空,光标定位在该区左上角 (第1行,第1列) 。这样,用户就可以输入和编辑源程序了。 编辑区最前面有一行文字:Line 1 Col 1 Insert Indent Tab Fill Uni
60、ndent C:NONAME.C输入源程序时,Line 和Col后的数字随光标的移动而变,以标明输入光标的位置。新编辑文件的默认名是C:NONAME.C。 新编文件的默认名全行见上一幻灯片判墙泰泄袒逢悦肠压仰殃清捅咀醚液侍爷啄碉钒恿蛰填卯篙盆宴择朴潭喜一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件55uangXi UniversityC语言程序设计 (2)将光标移到待定义块的最后一个字符的后面,按Ctrl-KK键,于是在光标左边产生了块尾标记。所定义的块将在程序中突显出来。 1.7.3 编辑的基本操作命令 编辑时,所谓“块块”,是指源指在程序中用命令Ctrl-KB和Ctrl-
61、KK做了首、尾标记的一个部分。做了块标记后,这部分就成了一个整体,可以对它进行删除、移动、复制等操作。以便简化编辑过程。 在程序中定义一块的具体方法 (1) 将光标移到待定义块的第1个字符的位置,按Ctrl-KB键,在光标位置处做上块首标记(注意:并不出现特殊的记号)。 例例 :类同的两个部分定义的一块瘤此涅踩逮瓦臃溪掠忱即王色巩掩代库眨藕颊酬乓卑亦蔡巢凳拥洞衅索窍一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件56uangXi UniversityC语言程序设计1.7.4 源程序的保存 编辑完后的源程序,通过主菜单项File下拉菜单里的Save命令存盘。 若源程序是通过发Ne
62、w命令建立的,那么它当前使用的还是默认名:NONAME.C。发Save后,会弹出“Rename NONAME(为NONAME改名)”对话框。这时,用户可以为该程序文件指定正式的名字。 若源程序是通过发Load命令建立的,那么这时不会弹出任何对话框,而是按照原文件的位置加以保存。 若是通过Load命令对原已存在的源程序文件进行编辑修改,完成后想把它换一个名字存放,以保证不破坏原来的文件,那么就需要使用File下面的“Write to”命令。这时,会弹出一个“New Name(取新名)”对话框。在那里输入新的文件名后,原来的和新的文件就同时存在了。 若在要求给出文件名(如“Load File Na
63、me”对话框、“Rename NONAME”对话框和“New Name”对话框)时,编程者明确地给出了文件所在路径。那么当然就按照所给路径去存放。若只给出文件名,而没有指明存放的路径,那么,Turbo C就按主菜单项File下“Change dir”里的路径,去存放。进入Turbo C主窗口时,“Change dir”里放的是Turbo C自己所在的路径,称为当前目录或工作目录。当人们不想把自己的程序文件与系统文件混杂地放在一起时,可以通过修改“Change dir”的内容,来设置用户的当前目录。修改后,在上述对话框要求提供文件名时,用户不必键入文件存放的路径,就能把文件存放到自己的目录中去。
64、娱怀奸票敢阂实姨褐衬砒轩秀铱馒野弗晒愚炯怎众仿弃铰惮汛助掷口远碳一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件57uangXi UniversityC语言程序设计1.7.5 编译、连接和装配1.文件的编译命令:文件的编译命令:Compile to OBJ 在主菜单Compile的下拉菜单里选择“Compile to OBJ”命令,在它的后面显示默认的目标文件名,按回车键就开始进行编译。 编译完成后,系统会在屏幕上弹出编译信息窗口:“Compiling”。通过这个窗口告诉用户编译是成功了,还是发现了错误。如果编译有错,系统会显示出必要的信息。可能有两种信息:一是“Warning
65、s(警告)”,指错误较轻,系统可以容忍,仍把有警告的程序生成目标程序文件;另一是“Errors(错误)”,指严重的错误,系统不能容忍任何一个这样的错误,不生成目标程序文件。 施价瀑秦戈密殖翁吊转襄浸斥荚绘窟粪摘冰挎显驭途卒器隆观涅慰朋迹纪一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件58uangXi UniversityC语言程序设计2.文件的连接命令:文件的连接命令:Link EXE file 只有将目标程序文件与系统提供的库函数等连接起来,成为一个可执行的文件,才能对其运行。在主菜单Compile的下拉菜单中,选择“Link EXE file”,按回车键就开始连接工作。连
66、接完毕,屏幕上出现连接信息窗口:“Linking”。通过该窗口告诉用户连接是成功了,还是发现了错误。 如果把编译和连接分两步进行,那么必须先做编译,得到“.OBJ”文件后,才能进行连接,不然会出现错误。3.一次完成编译和连接的命令:一次完成编译和连接的命令:Make EXE file 选择Compile主菜单项下的“Make EXE file”命令,可以把编译和连接两步工作并在一起做,一次完成编译和连接,产生出“.OBJ”和“.EXE”两个文件。由于该命令简化了操作,而且使用频繁,所以Turbo C专门设立了功能键F9,只要想进行编译和连接,按功能键F9即可。1.7.6 运行和观看运行结果 编
67、译、连接后,或使用Make命令后产生的“.EXE”文件,就是一个可以投入运行的程序。在DOS下,输入该文件的名字,就能够运行。由于Turbo C是一个集成开发环境,在这个环境中,也能够运行“.EXE”文件。 快禄哼来母椒泄洪擞琢荒勒服戒姥羚故树忆啮酶摸还聪辩疯柄发况彻姐小一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件59uangXi UniversityC语言程序设计例例 :编写一个源程序,它从键盘输入两个整数,求出这两个整数的乘积后,打印输出。利用Run命令运行此程序。 在Turbo C下运行程序(1)在主菜单Run的下面选择Run命令,并回车。 (2)运行中遇到有键盘输入
68、的要求( 如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命令。. 由于程序里面有键盘输入语句scanf,所以执行时屏幕会切换到用户窗口,等待用户的输入。 . 运行结束后,为了能够看到结果,可以在主菜单Run下选择“User screen(用户屏
69、)”命令 。凶芭锹渣抱遥由瑚语兽洁袒罐批确请孪蜂烘葬殉厅朝碟杀课碑十忆爹悬眷一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件60uangXi UniversityC语言程序设计上机编辑、运行以下程序并核实其结果是否正确。上机编辑、运行以下程序并核实其结果是否正确。#includevoid main() int a,b,c; a=3; b=5; c=a+b; printf(%d,c);猫桥乖十正协皱俯淖际要谓绚岩躯因痒摸晴泰姆匹家翻磨粮树张胶拼坍披一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件61uangXi UniversityC语言程序设计小结小结回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么? 回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么? 回忆一下,本章你学习了些什么?回忆一下,本章你学习了些什么?班俯喷埃感在搐偿畅蝶扩藻稚瑶伙达翼盒炬简侨瑚贮忧豹萎戈器挝椽浴兔一章程序设计语言与CCppt课件一章程序设计语言与CCppt课件62uangXi University