C++程序设计

一、概述

1、面向对象的程序设计语言:C++

2、计算机硬件组成:运算器、控制器、存储器、输入设备、输出设备

3、计算机指令:执行某种操作的机器命令,硬件直接识别和执行(操作码+操作数)

4、计算机程序:完成一定功能的指令的有序集合

5、软件:程序、数据、文档

6、程序设计发展、C++

7、机器语言——汇编语言——高级语言——面向对象

8、C++发展史,继承c语言

9、C++例子

1
2
3
4
5
6
7
#include<iostream>//预处理,头文件,输入输出流定义在iostream里
using namespace std;//使用std的命名空间,使用的是标准命名空间的东西,如iostream使用的是std命名空间
int main()//主函数
{
cout << "hello world" << endl;//字符串用“”,<<是输出流,endl为换行
return 0;//主函数结束标志
}

二、信息表示和存储

2.1进位计数制和转换

也略

2.2数据在计算机的表示

三、程序中数据的表示

3.1数据类型

C++数据类型

  • 基本类型:
  1. 整型(短整型short int、基本整形int、长整型long int)
  2. 浮点型(单精度folad、双精度doule、长双精度long double)
  3. 字符型char
  4. 逻辑性bool
  5. 空类型void
  • 构造类型
  1. 数组[]
  2. 结构体struct
  3. 共用体union
  4. 枚举enum
  5. 类class
  • 指针类型*

  • 引用类型&

3.2常量、变量

常量:不可被修改的数据

  1. 整型常量
  2. 浮点型常量
  3. 字符常量
  4. 转义字符表示常量
  • 符号常量

    1
    #define PI 3.24

变量:计算机中的一个内存单元,用变量名代表内存单元。

  • 先定义、后使用
1
2
3
变量类型 变量名称 = 初值;
赋值新数据
变量名 = 表达式;
  • const限定
1
2
3
4
5
6
7
8
9
10
11
12
const 变量类型 = 初值;
例子:
double root(const double x)
{
...;
}
int main()
{
int a=1;
root(a);
return 0;
}

四、运算符与表达式

常用运算符

  • 算术运算符
  • 自增自减运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 条件运算符
  • 逗号运算符

表达式:可以是常量、变量、函数调用,嵌套,按步骤执行

类型转换

五、顺序结构的程序

  • 简单语句
  1. 表达式语句
  2. 函数调用语句
  • 复合语句
  • 控制语句

C++输入和输出

使用流对象cin和cout,存在于iostream,再加命名空间的说明

顺序结构

六、选择结构的程序

6.1if和switch

1
2
if(表达式) 语句1
if(表达式) 语句1;else 语句2

表达式一般为关系、逻辑。

6.1.1if实现分支的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a,b,c;
cin >> a >> b >> c;
if(a+b>c&&a+c>b&&b+c>a)
{
double s,t;
t = (a + b + c)/2.0;
s = sqrt(t*(t-a)*(t-b)*(t-c));
cout<<"area"<<s<<endl;
}
else cout <<"error"<<endl;
return 0;
}

6.1.2switch

1
2
3
4
5
6
7
switch(表达式)
{
case1 常量表达式1:语句序列1
case1 常量表达式2:语句序列2
...
default :默认语句
}

case依次执行。

case n没有执行也会往下执行。

加break;就跳出,实现多路分支。

6.2嵌套

第一种形式

1
2
3
4
5
if(表达式1) 语句1
else if(表达式2) 语句2
...
else if(表达式m) 语句m
else 语句n

第二种形式

1
2
3
4
5
6
if(表达式1)
if(表达式2) 语句1
else 语句2
else
if(表达式3) 语句3
else 语句4

switch也可以嵌套

一个例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<iostream>
using namespace std;
//计算第二天的日期
int main()
{
int y,m,d,Days;//y年,m月,d日,Days某一月多少天
cin>>y>>m>>d;
switch(m)//先判断是哪一个月,并记录天数,如闰年2月有29天,非闰年2月有28天
{
case 2:
Days = 28;
if((y%4==0&&y%100!=0)||(y%400==0))//判断闰年
Days++;//是闰年,Days+1为29天
break;
case 4:
case 6:
case 9:
case 11: Days = 30;
break;
default : Days = 31;
}
d++;第二天即天数加1,再判断是否为月末、年末
if(d>Days) //月末
{
d = 1;
m++;
}
if(m>12)//年末
{
m = 1;
y++;
}
cout<<y<<"-"<<m<<"-"<<d<<endl;
return 0;
}

七、循环结构的程序

7.1循环语句

7.2附加控制语句