《C语言程序设计简单程序设计.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计简单程序设计.pptx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1C+语言的产生C+是从C语言发展演变而来的,首先是一个更好的C引入了类的机制,最初的C+被称为“带类的C”1983年正式取名为C+从1989年开始C+语言的标准化工作于1994年制定了ANSI C+标准草案于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C+C+语言概述第1页/共37页2C+的特点全面兼容C它保持了C C的简洁、高效和接近汇编语言等特点对C C的类型系统进行了改革和扩充C+C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言支持面向对象的方法C+语言概述第2页/共37页3C+程序实例例2-1/2_1.cpp#include using namesp
2、ace std;void main()coutHello!n;coutWelcome to c+!n;运行结果:Hello!Welcome to c+!C+语言概述第3页/共37页4C+字符集大小写的英文字母:AZ,az数字字符:09特殊字符:空格!#%&*_ _(下划线)+=-/;.,()()C+语言概述第4页/共37页5词法记号关键字 C+预定义的单词标识符 程序员声明的单词,用来命名程序正文中的一些实体文字 在程序中直接使用符号表示的数据操作符 用于实现各种运算的符号分隔符(),:;用于分隔各个词法记号或程序正文空白符 空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符
3、)和注释的总称C+语言概述第5页/共37页6标识符的构成规则以大写字母、小写字母或下划线(_)开始。可以由以大写字母、小写字母、下划线(_)或数字09组成。大写字母和小写字母代表不同的标识符。C+语言概述第6页/共37页7基本数据类型和表达式整型:short/int/long(八、十、十六进制)实型:float/double(默认常数为doubleo类型 故float f=123.45有警告)字符型:char布尔型:bool(true、false)字符串常量:this符号常量:const 数据类型 常量名=常量值基本数据类型基本数据类型P24 表2-1第7页/共37页8变量初始化例:int a
4、=3;double f=3.56;char c=a;int c(5);Page 8基本数据类型和表达式第8页/共37页9运算符及表达式运算符及表达式Page 9基本数据类型和表达式算术运算符:+-*?%+-赋值运算符:=及复合的赋值运算符逗号运算符:,关系运算符:=!=逻辑运算符:!&|条件运算符:?:sizeof运算符:计算某种类型的对象在内存中所占的字节数。位运算符:&|(操作数必为整型)第9页/共37页10运算符优先级括号+,-,sizeof*,/,%+,-=,!=位运算&|?:赋值运算逗号运算低高基本数据类型和表达式第10页/共37页11混合运算时数据类型的转换一些二元运算符(算术运算
5、符、关系运算符、逻辑运算符、位运算符和赋值运算符)要求两个操作数的类型一致。在算术运算和关系运算中如果参与运算的操作数类型不一致,编译系统会自动对数据进行转换(即隐含转换),基本原则是将低类型数据转换为高类型数据。char,short,int,unsigned,long,unsigned long,float,double低 高基本数据类型和表达式第11页/共37页12当参与运算的操作数必须是bool型时,如果操作数是其它类型,编译系统会自动将非0数据转换为true,0转换为false。位运算的操作数必须是整数,当二元位运算的操作数是不同类型的整数时,也会自动进行类型转换,赋值运算要求左值与右
6、值的类型相同,若类型不同,编译系统会自动将右值转换为左值的类型。可以采用强制类型转换。基本数据类型和表达式混合运算时数据类型的转换第12页/共37页13语句声明语句表达式语句选择语句循环语句跳转语句复合语句标号语句 基本数据类型和表达式第13页/共37页14简单的输入、输出数据的输入与输出 在C+中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前被建立,使用后被删除。从流中获取数据的操作符称为提取操作,向流中添加数据的操作称为插入操作。数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。一、输出 cout表达式表达式其中,变量变量其中,是提取符输入的值用空格
7、分隔,也可以分行输入,不能用逗号分隔。第15页/共37页16简单的输入、输出数据的输入与输出三、简单的I/O格式控制(iomanip)操纵符名操纵符名含义含义dec数值数据采用十进制表示数值数据采用十进制表示hex数值数据采用十六进制表示数值数据采用十六进制表示oct数值数据采用八进制表示数值数据采用八进制表示ws提取空白符提取空白符endl插入换行符插入换行符ends插入空字符插入空字符setw(int)设置域宽设置域宽第16页/共37页17简单的输入、输出数据的输入与输出三、简单的I/O格式控制(iomanip)操纵符名操纵符名含义含义fixed定点数格式输出,小数定点数格式输出,小数6位
8、位scientific科学记数法格式输出,小数科学记数法格式输出,小数6位位setprecision(int)设置有效位数(普通显示方式)或设置有效位数(普通显示方式)或精度(定点或科学记数法方式)精度(定点或科学记数法方式)boolalpha使使bool类型的数据输出结果为类型的数据输出结果为true或或false第17页/共37页18简单的输入、输出数据的输入与输出三、简单的I/O格式控制(iomanip)#include#include using namespace std;void main()float f=12.456789f;coutsetprecision(3)fendl;运
9、行结果:12.5coutfixedsetprecision(3)fendl;运行结果:12.457第18页/共37页20顺序结构分支结构循环结构算法的基本控制结构算法的基本控制结构第20页/共37页21P39 例2-2P40 例2-3P42 例2-4P43 例2-5P44 例2-6P46 例2-7P47 例2-8P49 例2-9P50 例2-10算法的基本控制结构第21页/共37页22typedef语句为一个已有的数据类型另外命名语法形式typedef typedef 已有类型名 新类型名表;例如typedef double typedef double area,volumearea,vol
10、ume;typedef int typedef int naturalnatural;naturalnatural i1,i2;i1,i2;areaarea a;a;volumevolume v;v;自定义数据类型第22页/共37页23枚举类型enum只要将需要的值一一列举出来,便构成了一个枚举类型。枚举类型的声明形式如下:enum enum 枚举类型名 值列表;例如:enum weekdayenum weekdaysun,mon,tue,wed,thu,fri,sat;sun,mon,tue,wed,thu,fri,sat;自定义数据类型第23页/共37页24枚举类型enum枚举类型应用说明
11、:对枚举元素按常量处理,不能对它们赋值。例如,不能写:sun=0;sun=0;枚举元素具有默认值,它们依次为:0,1,2,.0,1,2,.。也可以在声明时另行指定枚举元素的值,如:enum weekdaysun=7,mon=1,tue,wed,thu,fri,sat;enum weekdaysun=7,mon=1,tue,wed,thu,fri,sat;枚举值可以进行关系运算。整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强制类型转换。自定义数据类型第24页/共37页25例2-11 设某次体育比赛的结果有四种可能:胜(win)、负(lose)、平局(tie)、比赛取消(canc
12、el),编写程序顺序输出这四种情况。分析:由于比赛结果只有四种可能,所以可以声明一个枚举类型,声明一个枚举类型的变量来存放比赛结果。自定义数据类型第25页/共37页#include using namespace std;enum game_result WIN,LOSE,TIE,CANCEL;void main()game_result result;enum game_result omit=CANCEL;int count;for(count=WIN;count=CANCEL;count+)result=(game_result)count;if(result=omit)cout The
13、 game was cancelledn;else cout The game was played;if(result=WIN)cout and we won!;if(result=LOSE)cout and we lost.;cout n;return 0;26第26页/共37页运行结果 The game was played and we won!The game was played and we lost.The game was played The game was cancelled27第27页/共37页28结构体结构的声明结构的概念结构体是由不同数据类型的数据组成的集合体。声
14、明结构类型 struct struct 结构名 数据类型 成员名 1 1;数据类型 成员名 2 2;:数据类型 成员名 n n;;自定义数据类型第28页/共37页29结构体结构的声明举例:struct student /struct student /学生信息结构体 int num;/int num;/学号 char name20;/char name20;/姓名 char gender;/char gender;/性别 int age;/int age;/年龄 float score;/float score;/成绩 char addr30;/char addr30;/住址 自定义数据类型第
15、29页/共37页30结构体结构变量说明变量说明形式 结构名 结构变量名;注意:结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量完全一致。结构变量说明在结构类型声明之后,二者也可同时进行。结构变量占内存大小可用 sizeof sizeof 运算求出:sizeof(sizeof(运算量)自定义数据类型第30页/共37页31结构体结构变量的初始化和使用初始化说明结构变量的同时可以直接设置初值。使用结构体成员的引用形式:结构变量名.成员名自定义数据类型第31页/共37页32例2-12结构体变量的初始化和使用#include#include using namespace std;struc
16、t student/学生信息结构体 int num;/学号 char name20;/姓名 char gender;/性别 int age;/年龄stu=97001,Lin Lin,F,19;int main()coutsetw(7)stu.numsetw(20)stu.name setw(3)stu.sexsetw(3)stu.age;自定义数据类型运行结果:97001 Lin Lin F 19第32页/共37页33联合体声明形式:union union 联合名 数据类型 成员名 1 1;数据类型 成员名 2 2;:数据类型 成员名 n n;;联合体类型变量说明的语法形式联合名 联合变量名;
17、引用形式:联合名.成员名自定义数据类型第33页/共37页34例:union uarea char c_data;char c_data;short s_data;short s_data;long l_data;long l_data;uareac_datal_datas_data联合体自定义数据类型第34页/共37页35无名联合无名联合没有标记名,只是声明一个成员项的集合,这些成员项具有相同的内存地址,可以由成员项的名字直接访问。例:unionunion int i;int i;float f;float f;在程序中可以这样使用:i=10;i=10;f=2.2;f=2.2;自定义数据类型第35页/共37页36小结与复习建议主要内容C+语言概述、基本数据类型和表达式、数据的输入与输出、算法的基本控制结构、自定义数据类型达到的目标掌握C+语言的基本概念和基本语句,能够编写简单的程序段。实验任务实验二作业2-13 2-14 2-17 2-28 2-36 2-37 第36页/共37页37感谢您的欣赏!第37页/共37页