第二单元 顺序结构程序设计
写程序的基本步骤
1.了解程序的基本步骤
2.考虑问题的解决方案
3.用程序语句描述方案
第一课cout语句
流(stream):
处于传输状态的字节序列,是字节在对象之间的“流动”。操作包括输入与输出。
使用输入、输出流,必须加上头文件:#include。
cout语句格式:
cout<<项目1<<项目2<<…<<项目n;
注:如果项目是表达式,则输出表达式的值;如果项目加引号 则输出引号内的内容;如果项目是endl,则表示换行。
cout<<2+4<<endl;对2+4做计算
而cout<<“ABCD”<<endl;加双引号不加计算
第二课 数据类型
数据有数据类型、取值范围、运算类型三个要素。
使用的各种变量都要先声明,后使用。变量声明就会涉及数据类型、初始值和作用域等。
数据溢出:
程序中定义了一个整型变量a,并赋初值为2147483647,a的值加1后超过了int类型的数据范围。
int(ch)表示把ch字符强制转换成int类型。
sizeof函数的作用是获取各种数据类型的长度。例如sizeof(long)就等于4。另外使用sizeof函数可以得到一个特定变量的存储空间大小,例如,对于int型变量x,sizeof(x)的值也等于4。
第三课 常量与变量
常量是在程序运行过程中,其值保持不变的量。也有不同的类型,如100是整型常量,3.1415926是实型常量,“A”是字符型常量。也可以定义一个符号来代替一个常量,称之为“符号常量”。
C++中定义一个符号常量的格式如下:
类型名 const 常量名 或 const类型名常量名;
例如:int constA=100;
const float PI=301415926;
为了清晰地区分常量和变量,常量名通常用大写字母表示。
变量是指在程序运行过程中,其值可以改变的量。
C++中定义一个变量的格式如下:
类型名 变量名1,变量名2,…,变量名n;
例如:int sum,total;
double area;
变量名:
程序中的变量名、常量名、函数名等都称之为“标识符”。规则如下:
1.标识符不能和系统里的关键字同名。
2.标识符只能包括字母、数字和下划线“_”,并且开头只能是字母或下划线。
3.标识符必须先定义后使用。
4.在同一作用域内,标识符不能重复定义。
5.标识符是区分大小写的,如A和a,sum和Sum都是不同的标识符。
6.标识符要尽量做到“见名知义”,增强程序的可读性。
变量的初始化
变量在定义的同时可以给它指定一个初始值,称为变量的初始化。
变量的赋值
在C++中,可以通过赋值语句来修改变量的值,格式:变量名=值或者表达式。
例如:int a=3,b=4;
a=5;
b=a*2+1;
其中,“=”称为“赋值号”。赋值号右边如果是表达式,则系统会先计算出表达式的值,再赋给左边的常量。
第四课 字符与字符串
存放单个字符的变量,称为字符变量,字符变量的值是用一对单引号括起来的一个字符,如‘a’和‘?’等。
存放一串有若干字符的变量,称为字符串变量。字符串变量的值是用一对双引号括起来的字符序列,如“Good Morning!”和“a”等。如果双引号内什么都没有,称为空字符串,与双引号内有一个空格的字符串是不一样的。
定义字符变量的格式如下:
char 标识符1,标识符2,…,标识符n;
例如:
char c1,c2,ch=‘#’;
c1=‘a’;c2=‘9’;
字符变量
字符变量在内存中占用1个字节,在C ++中,字符数据在内存中实际存储的是其ASCII 码值。例如,字符0的ASCII码值为48(十进制)。
转义字符
C++中定义了一些字符前加“\”的特殊字符,称为转义字符。
字符输入函数:getchar(输入字符),表示从终端输入一个字符。
字符输出函数:putchar(输出字符),表示从终端输出一个字符。
字符串变量
在C ++中,可以用字符数组char s[]存放字符串,也可以用STL 中的string类型,例如:
string s=“1234 asdf”
每一个字符串的结尾都要加一个“字符串结束标志”,而且是系统自动添加上去的,C++规定以转义字符“\0”作为字符串结束标志,所以字符串“hello”在计算机中占用六字节。
其中‘a’是不等于“a”的。
getchar和putchar是输入、输出一个字符,如果要输入、输出一个字符串,可以用字符串输入输出函数gets和puts。
第5课 算术运算符
将常量、变量、算数运算符、括号以及函数连接在一起的计算式,称为算数表达式。
遵循的计算顺序为:先算括号里的,再算乘法、除法、模,最后算加法、减法,同一级别得按照类型从左往右依次计算。表达式的计算结果称为表达式的值。
重要的几个算术运算符:
%:含义是模,为取余运算例如7%5=2
/:含义是除,为除法运算例如6/5=1
第六课 cin语句
cin是C++中实现输入功能得语句,其格式一般为:
cin >> 项目1 >> 项目2 >> …>> 项目n;
使cin语句从键盘输入多个数据项的时候,一点要注意三个一致:数据个数一致、输出顺序一致、数据类型一致。
第七课 赋值语句
用来修改变量的值
赋值语句的格式如下:变量名=值或者表达式;
其中“=”称为“赋值号”。
单等号为给变量赋值,双等号为对应相等,是关系运算符 二者是完全不同的意义。
赋值语句有多种复合写法。
(1)算术复合,例如a = a + x 就可以写成a +=x
(2)赋值复合 C++支持在一个表达式里出现连续的赋值号,即一次给几个变量赋同一个值。此时计算顺序是从右到左,有括号存在的,先计算括号内的表达式。(3)逗号表达式 在C++中,允许用逗号连接几个表达式,构成一个更大的表达式,称为“逗号表达式”,其格式如下:
表达式1,表达式2,…,表达式n;
第八课 复合运算符
复合运算符实际上是赋值语句的一种缩写形式,使得修改变量值的操作更加简洁。
1.自加运算符和自减运算符
自加运算符“++”有两种写法,即i++或者++i。在单独使用时,其作用相同,都相当于i = i +1。
自减运算符“–”也有两种写法,即i–或者–i。在单使用时,其作用相同,都相当i=i-1。但是,在赋值语句中使用时,两种用法结果就不一样了。++i和–i是在使用i前,先把i的值加1和减1;而i++和i–是在使用i后,再把i的值加1和减1。
需要注意的是,++和--只能用于变量,不能出现类似于5++或者(a+b)++的情况。另外,在遇到多个++和-一时,计算的结合方向(结合律)是按照表达式自右向左进行。
2.复合算术赋值
第九课 运算规则
在C++中,整型数据和实型数据可以混合运算,字符型数据可以和整型数据通用。但是,在具体计算时,编译系统会自动将不同类型的数据转换成同一类型,再进行运算,称为数据类型的“自动转换”。
第十课 格式控制
scanf和prinf是C语言中的输入输出函数(语句),
在C+语言环境中也可以使用。“f”是fomat(格式)之意,就是要按照指定的格式输入输出。所以又称为格式输入输出函数。对于大数据的输入、输出,使用scanf和printf,比C++中的输入输出流语句(cin和cout)效率更高、速度更快。scanf和printf是标准库函数,使用前需要加上cstdio头文件。
1.printf函数格式化输出
printf(格式控制字符串,输出列表)
2.scanf函数格式化输入
scanf(格式控制字符串,地址表列)
因为scanf是用指针操作的,没有类型安全机制,比如对于一个char类型数据,就可以用“%f”获得输入,而不会报错,但在运行时会出现异常。scanf函数取数据时遇到回车、空格、TB就会停止。
printf输出效率比较高,但是编写代码相对而言麻烦一些。