《C++程序设计基础知识.ppt》由会员分享,可在线阅读,更多相关《C++程序设计基础知识.ppt(28页珍藏版)》请在课桌文档上搜索。
1、C+程序设计 基础知识,1.2 简单的C+程序实例,/程序文件名为EX1_6.cpp/*C+程序基本结构*/#include max(int i,int j)/A if(i=j)return i;else return j;void main(void)/B coutij;/从键盘上输入变量值 coutmax number is:max(i,j)n;/输出提示和结果,程序组成:,注释,编译预处理指令,程序体,由若干函数组成,其中有且仅有一个主函数main(),这是程序的执行入口。在MFC编程中定义为winmain()。,C+允许的书写格式非常自由,一个语句可以写在若干行,一行也可以写若干个语句
2、。(1)对齐规则:同一层次的语句必须从同一列开始,同一层次的开花括号必须与对应的闭花括号在同一列上。(2)缩进规则:属于内一层次的语句必须缩进一个Tab。(3)任一函数的定义均从第一行开始书写。(4)严格区分大小写字母。,程序的书写规则,需求分析,算法(方法)描述;编辑:利用程序编辑器(IDE)完成源程序编写(*.cpp);编译:产生目标程序(*.obj);连接:将一个或多个目标程序与库函数连接产生可执行文件(*.exe);调试:运行与分析程序的结果;,C+程序的开发步骤,程序是由对数据的描述和对数据进行处理的语句组成,数据可以分为变量和常量两大类,在C+语言中有5种基本的数据类型。程序 文件
3、模块函数语句词法符号 程序的语句是由不可再分的基本单元词法符号构成,C+共有6种词法符号:关键字、标识符、常量、字符串、运算符和标点符号。,1.3.1 C+的字符集,1.3 C+的词法单位,1.3.2 关 键 字,表2-1 C+常用关键字及分类,标识符是对变量、函数、结构和其它各种用户自定义对象的命名。C+语言中对标识符的命名一般遵守下列几点原则:1标识符的第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线;2标识符的长度可以是一个或多个字符,最多31个(87ANSI),VC+中,最多可以有247个字符。3C+中字母区分大小写。4.C+中关键字不能用作标识符。,1.3.3 标识符
4、,1.3.4 标点符号,标点符号包括#、()、,、:、;、等。,1.4 C+的数据类型,5种基本的数据类型,C+语言有5种基本的数据类型,它们是:C+语言中的其它数据类型都是从这5种基本数据类型演变而来。,一般来讲,一个字符占用1个字节的存储空间,一个整数占用2个字节的存储空间,但不能肯定。ANSI C强调的是每种数据类型的最小范围,而不是实际占用的字节长度。,除了void类型之外,基本数据类型的前面都可以加上修饰符。修饰符用来改变基本数据类型的意义,以便更加准确地适应各种情况的需求,C+语言提供了4种类型修饰符:,修饰基本数据类型,C+中还增加了一个 const(恒型)修饰符。一个变量由co
5、nst修饰后,其值就不能再被改变。,signed最重要的用途是用来修饰字符型,对整型的修饰是多余的,缺省情况下整型为signed,除非修饰为unsigned。有符号整数与无符号整数的区别是对整数最高位的解释。若指定为signed int,那么编译程序生成代码时将整数最高位作为符号标志。若符号标志是0,则数值为正;若符号标志为1,则数值为负。,结果为 1;原因是,由于在计算机中负数是采用2的补码形式存放,对于无符号数65535,在内存中对应的二进制形式为:11111111,11111111当做为有符号数时,其对应的数值就为 1;/*符号位不变,其它各位取反,末位加1,10000000,00000
6、001-1*/,例如,有如下类型定义:unsigned short int a;short int b;a=65535;b=a;此时若输出变量b的值,结果为多少?,定义:变量就是数据连同其存储空间的抽象,它代表了某个存储空间及其所存储的数据。因此在C+中,变量包含两个要素:数据值和其对应的存储空间。,变量定义的一般形式是:类型 变量表;说明:类型必须是C+支持的数据类型,或已经存在的自定义数据类型。变量表中可以只有一个标识符,或用逗号分隔开的多个标识符。,1.5 变量和常量,1.5.1 变量,C+中要求:变量的定义可以在该变量使用之前的任何位置上;标准C中要求:变量的定义必须在语句块一开始的位
7、置;例如:int i;short int si;unsigned int u;double b,pro,loss;int i;表示一个被说明为i的、占有2个内存单元存储空间的整形变量。,C+语言允许在定义变量的同时,通过使用“=”为变量赋值。这一过程称为对变量的初始化。例如:char ch=a;int first=0;float balance=123.23;float f1,f2=3.5;/*只对f2赋初值*/,一个变量如果在定义时用了const修饰符,该变量就成为常变量。常变量的使用与普通变量一样,所不同的是,常变量必须在定义时赋值,即常变量在定义时必须初始化,并且,在程序执行过程中,常变
8、量的值不得改变。但可以通过取地址运算&获得其地址值。,例如:const float PI=3.14159;正确const int age;age=25;错误:没有初始化常变量const float salary=756.80;salary=salary*1.1;错误:常变量的值不能改变,常量是指在程序的整个生存期中其值保持不变的量。通常是在程序中直接给出的数值及字符。在C+中常量有三类:数、字符和字符串,另外,对于一些不可打印的字符采用转义序列的方式来表示。,(1)数 数又分为整数和实数。在C+中整数有三种不同的表示形式:十进制、八进制和十六进制。例如:,1.5.2 常量,实数又称为浮点数,在
9、C+中,浮点数都必须以十进制表示,可采用小数和指数两种表现形式。例如:,(2)字符常量和串常量 字符常量是指用单引号括起来的单个字符。如B、b、4、+。在单引号中包含的字符不能是单引号 和反斜线。在C+语言中,字符常量具有数值,其值就是该字符所对应的ASCII值,例如:char ch1=1;char ch2=65;,字符常量ch1中存放的是字符1,其所对应的1个字节存储单元中所存放的值为字符1所对应的ASCII码的值,该值为:49。内存单元中的存放形式为:00110001。由此可见,在C+语言中,字符常量可以参加运算。例如:(c+A a)这样的表达示是合法的,它表示将小写字母c转换为大写字母C
10、。,字符串常量是指用双引号括起来的一串字符。同样,双引号包含的字符不能是双引号“”和反斜线“”。例如:“x”,“abcdefg”,“UNIX操作系统”;,C+语言中,字符串常量在内存中存储时,在其尾部自动加上一个NULL字符,用来表示字符串的结束。NULL字符的ASCII码值为0,常用0表示。所以,字符串常量在内存中所占据的存储单元的数目为字符个数加1。例如:,(3)符号常量 在C+语言中,常量往往用符号来代替,代替常量的符号称为符号常量,例如:,#define PI 3.14159#define YES y#define TRUE 1#define FALSE 0,符号常量一经定义,便可以在程序中代替常量使用,它的好处是便于程序的修改,可读性强。,(4)转义序列 C+语言中,大部分字符都可以作为字符常量放在单引号中,但个别字符例外,如回车符、换行符等控制字符。因此,为了可以在程序中描述这些控制字符,C+语言设置了称为转义序列的反斜线字符常量,它的构成方式是:反斜线后跟一个字符,也可以是用八进制数或十六进制数表示的整型常量。见P10页表1.3,说出下列的输出结果:,由此可见,转义序列不仅可以用来表示不可见的控制字符,还可以用来表示可见字符。请注意,如果在反斜线后面不是表1.3中的转义字符,则反斜线不起作用,仅作为一般字符对待。,