1、1第1章C+基础知识2本章要点1.1 程序设计语言的基本概念(自学)1.2 C+程序的基本结构1.3 一个应用程序的开发过程 1.4 C+的词法规则 1.5 C+基本数据类型1.6 常量与变量1.7 运算符与表达式31.1 程序设计语言的基本概念(自学) 面向过程的结构化程序设计语言 从求解问题的功能入手 按照工程的标准和严格的规范将求解问题分解为若干功能模块 在软件设计和实现过程中,采用自顶向下、逐步细化的模块化程序设计原则结构化程序设计的分解突出:如何做?强调代码的功能是如何得以完成。41.1 程序设计语言的基本概念(自学) 面向对象的程序设计语言有两类 一类是完全面向对象的语言 一类是兼
2、顾面向过程和面向对象的混合式语言(C+语言就是一种典型代表 )将问题分解为对象,对象的数据属性,作用于数据的操作方法,将属性和方法封装成一个整体,供程序设计者使用。对象之间的相互作用通过消息传递来实现。程序设计模式:“对象消息”面向对象的分解突出:做什么?大量的工作由相应的对象来完成,程序员在应用程序中只需说明要求对象完成的任务。51.2 C+程序的基本结构 C+程序的结构 声明区(在函数之外) 函数区 程序的注释: / /* */6例1.1从键盘输入圆的半径,求圆的面积./声明区(在函数之外)#include double const PI=3.14159;float sum(float x
3、);/函数区void main( ) float r,s; coutr; s=sum(r); cout 空格。 空字符:ASCII码为0的字符,用作字符串的结束符。101.4 C+的词法规则 标识符 由字母、下划线和数字组成的字符序列,第1个不能是数字,字母大小写是不同的。 用来命名C+程序中的常量、变量、函数、语句标号及类型定义符等。例: Aa、ABC、A_Y、ycx11、_name是合法标识符。 而5xyz、m.x、!abc、x-y是非法标识符。111.4 C+的词法规则 关键字 也叫保留字,是系统已经预定义的单词,有专用的定义。这些关键字都是保留字,用户不可再重新定义。if do mai
4、n121.5 C+基本数据类型 见P11表1-2131.6 常量与变量 常量 在程序运行过程中,其值不能被改变的量。 常量的定义格式:类型 const 常量名=常量值;或 #define C+程序中有4种常量 整型常量、浮点型常量、字符常量和字符串常量。例如: const PI=3.14159;PI为符号常量名为什么不使用作为常量标识符?符号常量是一个用来替代常量的标识符141.6 常量与变量 整型常量定义格式: int const 常量名=常量值 const int 常量名=常量值;例如, int const x=10;? x=20; 是否可行? 整型常量可分为: 十进制: 123 -35
5、32767 0 八进制: 05 012 01 十六进制: 0x10 0XFF 0x8 018 ?0x1G ?151.6 常量与变量 浮点型常量(实型常量)定义float const 常量名=常量值;double const 常量名=常量值;例如:float const y=2.1; 两种表示形式: 小数形式:3.14159 2.71828 0.0 .54 指数形式:0.3e2 1.23e-2 e2 1.2e2.5 ?0.3 102 1.23 10-2 十进制数:123.456789123float: 1.234567e2double:1.23456789123e2161.6 常量与变量 字符常
6、量定义:char const 常量名=常量值; 说明: 字符常量用单引号括起来,例A 字符串常量用双引号括起来,例“abfgTYN“ 思考: 0xA5 2.5e-2 57 ab 是否可作为C+常量? .45 123 25.6e-2 4e3 是否合法?“ “171.6 常量与变量 字符串常量是由双引号括起来的一串字符。例如“string”,长度为6,在内存中占7个字节 在C+中,系统在每个字符串的最后自动加入一个字符0作为字符串的结束标志。 以下哪个是字符串?A “house” How do you do. $abcus 181.6 常量与变量转义字符 又称反斜线字符 这些字符常量总是以一个“”
7、开头,后跟特定的字符来代表某一个特定的ASCII字符。 12位十六进制数所代表的字符xhh报警a 回车r 13位八进制数所代表的字符ddd斜杠 单引号垂直跳格v 空字符0双引号 “ 换页f退格b 水平跳格t换行n 功 能字符形式功 能字符形式A的ASCII码值为65(10十进制数),其八进制数为101,写成转义字符的ddd为101,写成xhh为x41191.6 常量与变量 变量 是指在程序运行过程中,其值可以发生变化的量。 变量的命名规则与用户标识符相同 变量有名字、类型和值三个要素 由字母、数字、下划线构成,并以字母、下划线开头。 201.6 常量与变量 变量的数据类型及其定义 定义变量的格
8、式: ;例如:int x; int y; int x, y;char ch; 变量必须先定义后使用。变量必须先定义后使用。i t , ;211.6 常量与变量 变量的存储类型 变量的存储类型定义变量的有效性范围,即作用域。 C+中有4类: 自动存储类(auto) 寄存器存储类(register) 静态存储类(static) 外部存储类(extern) 动态变量是在函数被调用执行时,才分配单元,随着函数被执行而分配,随着函数执行结束而释放,auto关键字可以省略寄存器变量是请求计算机把此变量放入CPU的寄存器内,但如果没有寄存器可使用,或系统不支持此功能,则此变量等同于动态变量静态变量是在程序编
9、译连接时就分配的内存单元,在整个程序运行期间使用固定的存储单元,直到整个程序退出对应单元才释放在所有函数和程序段中都可引用。生存期是整个程序,在程序结束时才释放内存。221.6 常量与变量 整型变量 C+中,不带小数值的变量表示整型变量,整型变量所表示的整数有一定的范围 。例如:#includevoid main() int x=020, y ; /定义2个变量,x初始化为八进制数020 y=0x32 ; /给y赋值为十六进制数0x32 coutvoid main() int i; /定义一个整型变量 char c; /定义一个字符变量 i=a; /字符赋值给整型变量 c=97; /整型数赋值
10、给字符变量 coutvoid func(int k) int total;total=0; for(int i=0;ix;func(x); 271.7 运算符与表达式 C+的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符运算符与操作数连接组成表达式。 单目运算符:连接一个操作数的运算符; 双目运算符:连接两个操作数的运算符; 三目运算符:连接三个操作数的运算符。281.7 运算符与表达式算术运算符 算术运算符用于加、减、乘、除、取余。自减自增取余除乘减加含义 适用于整型变量y=x- ; y=x , x=x-1y=-x ; x=x-1 , y=x- 5-2 3- 5*2 10* 5/2 2/ 适用于整型变量y=x+ ; y=x , x=x+1y=+x ; x=x+1 , y=x+ 只适用于整型数5%2 1% 5+2 7+ 备注例运算符例如,+ - x y z x=10; 10 y=x+; 11 10 z=+x; 12 12 z=(x+)+(x+)+(x+); 15 36 cout20,2010 20=20,10=20= 举例运算符算术运算符的优先级高于关系运算符