C++基础简介

上传人:206****923 文档编号:51971870 上传时间:2018-08-17 格式:PPT 页数:104 大小:379.50KB
返回 下载 相关 举报
C++基础简介_第1页
第1页 / 共104页
C++基础简介_第2页
第2页 / 共104页
C++基础简介_第3页
第3页 / 共104页
C++基础简介_第4页
第4页 / 共104页
C++基础简介_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《C++基础简介》由会员分享,可在线阅读,更多相关《C++基础简介(104页珍藏版)》请在金锄头文库上搜索。

1、第2章 C+语言基础1面向对象技术与Visual C+-第2章本章主要内容n简单的C+程序n数据类型和表达式 n程序的基本控制结构 n函数 2面向对象技术与Visual C+-第2章2.1简单的C+程序nC+程序由一个或多个源代码文件构成。C+ 的源代码文件分为两类:头文件和源程序文件 。 nC+源程序包括编译预处理、程序主体和注释 几部分。n一般将变量(对象)、类型及类的定义、函数 的声明等放在头文件(扩展名为.h);而将使 用这些变量或函数的程序放在另一个文件中, 成为C+源程序(扩展名.cpp)。3面向对象技术与Visual C+-第2章例2-1 示例C+程序的基本组成。/example

2、21.cpp#include /编译预处理void main() /主函数char name20; /定义字符数组coutname; /从键盘输入coutV1V2Vn; 其中, “”是预定义的提取运算符,V1、V2 、Vn都是变量。功能是暂停执行程序,等待 用户从键盘输入数据,各数据间用空格或Tab键 分隔,输入数据类型要与接受变量类型一致,输 完后,按Enter回车键结束。6面向对象技术与Visual C+-第2章 C+:couta; C: scanf(“%d“,C+:cout C:#include注意:C+换行符可用endl,也支持C语言中的n换行符C+语言中,标识符大小写敏感。( Sun

3、 , sun )关键字是特殊的标识符,不能用作变量、常量等的名称7面向对象技术与Visual C+-第2章 注释是程序员为程序语句所做的说明,是提高程 序可读性的一种手段。注释一般分为两种:序言 性注释和注解性注释。 C+提供两种注释形式: (1)一种用“ / ”开头,直至行末,用于单行 注释 (2)另一种用“ /* ”和“ */ ”括起任意文字 (注意:注释不能嵌套),用于多行注释。8面向对象技术与Visual C+-第2章2.2数据类型和表达式 C+是一门强类型语言,数据类型非常丰富。C数据类型中有基本数据类型和非基本数据类 型两种。基本数据类型是C内部预先定义的数 据类型。非基本数据类型

4、包括指针、数组和结构以 及类类型等,非基本数据类型也称为用户定义数据 类型。9面向对象技术与Visual C+-第2章空类型void整 型int 字符型实 型逻辑型bool单字符型char宽字符型w_char 单精度型float双精度型double指 针type*结 构struct枚 举enum 类class非基本数据类型数据类型基本数据类型联 合union数 组type 2.2.1基本数据类型10面向对象技术与Visual C+-第2章除上述基本数据类型外,还有一些数据类型修饰 符,以便更准确的适应各种情况的需要。修饰符 有long(长整型)、short(短整型)、signed(有符号)、

5、unsigned(无符号)。这里列出的是在VC6.0编译环境中的情况,目前 大多数编译环境也如此,值得注意的是:int和long型所占的字节数是一样的。long只能修饰int和double.unsigned和signed只能修饰char和int.一般的,默认的 char和int为signed。实型数float和double总有符号的 ,不能用unsigned修饰。11面向对象技术与Visual C+-第2章1.常量n在程序运行过程中,值不能被改变的量称为常量。 常量分为:n整型常量 : 包括正整数、负整数和零其表示形式:十进制、八进制、十六进制 实型常量 :以文字形式出现的实数,C中实数就是浮

6、点数其表示形式:一般形式 指数形式 字符常量 :用单引号括起来的一个字符 字符串常量 :是用一对双引号括起来的字符序列 布尔常量 :只有两个false(假)和true(真)例如:3,4.5,A,”123”,false和true12面向对象技术与Visual C+-第2章n常量定义格式为:n例如:const float pi=3.1415926;/正确const float Pi;Pi= 3.1415926; /错误注意:定义常量的主要目的是防止在程序中对 该值的改变。常量值在程序运行过程中不允许 改变,所以常量在定义时必须初始化。const =;13面向对象技术与Visual C+-第2章关于

7、#define在C中,另一种定义常量的方法是用编译预定义指令(#define)eg: #define Pi 3.1415926这条语句的格式是#define后面 跟一个常量名再跟一串 字符,中间用空格隔开,由于它不是C+语句,行末不必用分号当程序被编译时,它要先被编译预处理.当预处理遇上 #define时,就用数值代替程序中出现的Pi.尽管它有常量的性质,但经过预处理后,Pi不属于C+中 的名字了,随后的编译也就无法发现由它引起的数据类型误 用的错误.在C+中,常量定义都用const,不用#define14面向对象技术与Visual C+-第2章2.变量n在程序运行过程中,值可以被改变的量称为

8、变量。在C+中, 任何一个变量在被使用之前必须被定义。n 定义格式为: 中的各变量间用逗号隔开。 程序运行时,系统会给每一个声明的变量分配内存空间,存放 对应类型的数据,变量名即相应内存单元的命名。 声明变量的同时,可以赋以初值。 例如: int i,j,k; float x,y=3.9,z=0.0; /不是所有的变量在定义时都需初始化 char ch1=a;15面向对象技术与Visual C+-第2章2.2.2指针和引用 n1.指针指针也是一种变量,指针变量专门用来存放其它数据 在内存的地址。是一种间接访问变量或对象的方法。 * ;C+提供了一个取变量或对象内存地址的运算符例如:int *

9、iptr;char *chptr;例如:int x;int * iptr=16面向对象技术与Visual C+-第2章此外,*运算符表示取指针变量所指向的变量内容。=*; 或: *=;例如:int x=3,j;int * iptr=j=*iptr;*iptr=4;17面向对象技术与Visual C+-第2章例2-2 示例指针的使用。/example22.cpp#include void main( )int value1=10,value2=20,temp;int* ptr;ptr= /ptr指向value1temp=*ptr; /*ptr表示ptr指向的地址空间中的数据,即value1的值*

10、ptr=value2; /将value2的值复制到ptr指向的地址空间,即value1中value2=temp; cout#includevoid main()char str6=“ABCDE”;for(int i=0;stri!=NULL;i+)cout例如:int a;int /声明整型变量a的引用rara=10; /与a=10等价cout ;说明:(1)数组名必须是标识符。数组名是一个常量,代表数 组元素在内存中的起始地址。常量表达式必须是整形 ,枚举型或字符型。(2)常量表达式必须在编译时确定,因此表达式不 能是变量或含有变量。(3)数组元素是按顺序连续地存储在内存中的。31面向对象技

11、术与Visual C+-第2章例如:char a10; /定义字符数组a,有10个字符型变量int ba; /定义整型数组b,有97个整型变量int element23; /*定义二维数组element ,有2行3 列,共6个整型变量*/例如:int size=10;int ssize; /错误,size为变量改为:const int size=10; /可在size前加上const使其变为常量int ssize; /正确32面向对象技术与Visual C+-第2章n数组元素被引用的格式: 例如:int x,count10,a23;count0=100; /正确 count10=20; /越界

12、x+=count5; count0=2.1; /赋值类型不一致,会丢时数据a11=5; count=20; /数组不能整体赋值33面向对象技术与Visual C+-第2章n2.数组的初始化数组的初始化是指定义数组时给数组的全部或部分 元素赋初值int count5=0,0,0,0,0; /d定义由5个元素组成的数组,每 个元素初值为0char ch=“hello!“;int s10=10; /定义10个数组元素,s0初始化为10,其 余元素为0说明:数组定义时如不指明元素个数,则必须在初始化的花括号中 指明初始元素的每一个值,否则在编译是会出错!34面向对象技术与Visual C+-第2章3.

13、结构体的定义 nC+允许用户把逻辑上相关联的数据组织起来,作为整体使用, 这就是结构体数据类型。n实际就是把不同类型的数据组合在一个整体中。 n换句话说,结构体就是用一个名字引用的相关变量的集合。struct ; ; ;例如:struct date int year;int month;int day; ;35面向对象技术与Visual C+-第2章4.结构体的运算 n主要指结构体变量成员的运算,其成员具有类型的所 有运算,而结构体变量整体只能赋指运算n有两种形式:.-struct date today,tomorrow;strcut date*pd=那么:today.day, pd-day,

14、(*pd).day等价36面向对象技术与Visual C+-第2章注意:(1)允许将一个结构体变量作为一个整体赋值给另 一个同类型结构体变量。struct date day1=2001,12,14;struct date day2;day2=day1;(2)不允许将两个结构体变量做整体比较,只能逐 个成员比较If(day1=day2) /错误If(day1.year=day2.year) /正确37面向对象技术与Visual C+-第2章共同体n与结构体的区别在于:在结构体中,各个成员 的内存地址都不相同,所有成员同时存在。而 共同体在任何时候,只有一个成员存在,各个 成员共用一个内存首地址。结构体变量所占内 存长度是各成员占的内存长度之和,每个成员 分别占有其子集的内存单元。共同体变量所占 内存长度等于最长的成员的长度。38面向对象技术与Visual C+-第2章共同体定义nunion 共同体名n 成员类型1 成员名1;n 成员类型2 成员名2;n 成员类型n 成员名n;n变量名1,2,n;例:union dataint num;float salary;d1,d2,d3;39面向对象技术与Visual C+-第2章共同体成员的访问n可以按访问结构体的方法来访问共同体成员。n如:d1.num=4;n d1.sala

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号