【C++】程序设计基础

一、初识C++语言:从认识变量和常量开始,数据的表示

1.1 计算机程序设计语言

计算机程序语言有哪几种语言?

•机器语言(计算机能理解的语言):0和1组成的语言。

•汇编语言(翻译):用英文字母和数字表示指令。

•高级语言(人能理解的语言):更接近于人类的自然语言。

【C++】程序设计基础_第1张图片

高级语言又分为两种:面向过程和面向对象。

面向过程:以机器为本(以计算机的实现方式为基础来设计的语言),以过程为中心的编程思想。

面向对象:以人为本(以人的思维方式来编写的语言),以类和对象为中心的编程思想。

【C++】程序设计基础_第2张图片

C++语言的标准

•1998年发布第一个标准C++98

•2011年发布较成熟的标准C++11

•2017年发布最新标准C++17

C++语言的优点

•结构清晰,易于扩充(既支持面向过程,又支持面向对象的一些方法)

•应用广泛(从嵌入式的程序,到面向对象的程序都可以覆盖)

QQ、office、魔兽世界

1.2 程序的框架和要素

C++语言的框架?

•框架

//第一个程序.cpp
#include
using namespace std;

int main(void) {
    //程序的正文
	return 0;
}

C++程序组成有哪些元素?

•组成元素

自然语言 程序设计语言
字母、数字、运算符、分隔符、ASCII码

关键字、常量、识别符

词组 表达式
句子 语句
段落 函数
文章 程序

关键字:由系统定义的具有特定含义的英文单词。关键字不能另作它用。C++区分大小写,关键字全部由小写字母组成。标准C++定义了74个关键字。

标识符:由程序员自定义的单词,用来给变量、符号变量、数组、函数等命名。合法标识符由字母或下划线开始,由字母、数字、下划线组成。

常量:在程序运行中,其值保持不变的量成为常量。

程序设计的基本步骤

分析问题——>设计算法——>编写程序——>调试程序——>运行分析结果

1.3 变量与数据类型

变量意味什么?

•变量定义的一般形式:数据类型名   变量名表;

•变量必须先定义后使用,先赋值后引用,一个变量名只能定义一次。

•数据:常量:在程序运行过程中,其值不能被改变。如3和5。

            变量:在程序运行过程中,其值可以被改变。如x和y。

•数据类型:常量:3和5是整型常量(整数)。如书写3.0,是实数。

                   变量:x和y是整型变量。

int x,y;
x=3,y=5;
y=x+y;

数据类型决定了什么?

•变量所占空间的字节数。

•数据存储的形式(数据在计算机里的编码形式)。如字符采用ASCII编码存储。

•数据的取值范围。

•可参与的运算种类。如字符参与加减运算等。

【C++】程序设计基础_第3张图片

内存如何编址?

•在冯诺伊曼计算机系统中,程序代码和数据都是以二进制形式存储在计算机内存。

•通常用唯一的一个十六进制无符号整数来标识地址。

•在计算机的内存里面按字节编地址,内存中的每个字节都有唯一 的编码(地址)。

  32位机的内存地址是32位,从0x00000000到0xFFFFFFFF。

高级语言为什么要区分数据类型?

•更有效组织数据,规范数据的使用。

•有助于提高程序的可读性,方便用户的使用。

1.4 解析法实现顺序结构程序设计

解析法

•在分析具体问题基础上,建立数学模型,并确定解析表达式,然后设计算法,再编写程序、调试运行程序。

•解析法的关键是寻找解析表达式。

•分析问题——>设计算法——>编写程序——>调试程序——>运行分析结果

分析问题:已知圆的半径,要求计算此圆的面积值。

设计算法:r<——10(半径10赋给变量r)

                  s<——3.1415*r*r(根据表达式计算圆的面积)

                  输出"s="s(输出圆的面积s)

编写程序:

#include
using namespace std;

int main(void) {
	double s, r;//数据说明
	r = 10.0;//数据复制
	s = 3.1415 * r * r;//数据处理
	cout << "s=" << s << "\n";//数据输出
	return 0;
}

1.5 文字常量与符号常量

C++有哪些常量表示?

•常量:在程序运行过程中,不能改变其值的数据对象

文字常量:在程序中直接写出常量的值。如3.1415,25等。

分为整型常量和实型常量。

整型常量:有十进制、八进制(0开头)、十六进制(0x开头)。

实型常量:有两种表示方法。

                  一般形式,与平时书写形式相同,如0.23,98.8。

                  指数形式,表示为尾数乘以10的次方形式,由尾数、E或e和阶数组成。指数形式                    要求在E或e前面的尾数部分必须有数字,后面的指数部分必须为整数。

符号常量:用一个符号来表示常量。用常量说明符const给文字常量起的名字(标识符)。

如const int PI=3.1415;//推荐使用大写字母作为常量名

         常量必须也只能在说明时进行初始化。

         常量初始化之后,不允许再被赋值。

         常量必须先说明后使用。

         c++建议使用符号常量,而不要使用文字常量。

 •字符型常量:用一个单引号引起来的一个字符。

                    在内存中保存的是字符的ASCII码值,在所有字符中,可显示字符通常就用单引                      号引起来表示:'a'//字符a       '4'//字符4       '@'//字符@          ' '//空格字符

•转义字符:用单引号引起来,以'\'开头,后跟一个或几个字符。如'\n',表示换行。

•字符串常量:用双引号引起来的若干个字符,C++编译系统自动在每一个字符串常量的末尾                        加"\0"字符作为字符串的结束标志。如"love"," a "等。

区分字符型常量和字符串常量:

字符串常量"a",占两个字节,存放'a'和'\0',值为0x6100。

字符型常量'a',占一个字节,存放'a',值为0x61。

为什么需要符号常量来表示?

•代码更容易维护

•确保一些不变量不会被误修改

1.6 简单的输入输出

•标准输入输出:指系统指定的标准设备的输入输出设备,即从键盘输入,从显示器屏幕上输出。

•数据输入流的基本原理

【C++】程序设计基础_第4张图片

•数据输出流的基本原理

【C++】程序设计基础_第5张图片

数据的输入

•一般形式:cin>>变量1>>变量2>>...>>变量n

根据后面变量的数据类型读取数据

•在键盘输入多个数据时,数据之间必须用“空格键”、“Tab键”或“Enter键”隔开

•结束输入:必须敲击“Enter键”

•cin.clear()是用来更改cin的状态标示符。

 cin.sync()是用来清除缓冲区的数据流的。(这两个函数主要用于清理缓冲区,要联合使用) 

数据的输出

•一般形式:cout<<表达式1<<表达式2<<...<<表达式n

•\t:制表符,自动跳过若干字符位置。

•\n或endl:基本含义一样,表示换行,并清空输出缓冲区。

•控制浮点数值显示

普通格式:独立使用setprecision(n)表示有效位数n。

cout<

定点表示格式:fixed与setprecision(n)配合,表示小数精度n位。

double a=123.56789;
cout<

科学表示格式:scientific与setprecision(n)配合,表示小数精度n位。

cout<

•控制宽度的设置

设置值的输出宽度和填充字符很有用,但要与#include一起用

setw(n)设置数据间隔,是一次性的。

cout<
cout<<10<

若要显示的内容超过set(n)里面的n,则设置无效。

cout<

•输出语句中对表达式的处理

cout里的顺序:计算顺序:从右往左

                         输出顺序:从左往右

int a=4;
cout<

cout作为输出流,先从右往左将输出数据读入缓冲区

cout<

再从缓冲区中读出来输出到屏幕上(类似堆栈)

cout<


二、计算:从数据运算开始,数据简单运算

2.1 表达式和算术运算

•表达式:由运算符和运算对象组成的式子。

•表达式的结果除了确定的值,还有确定的数据类型。

运算符:

(按运算性质区分)

算术运算符:+、-、*、/、%

自增和自减:++、--

赋值运算符:=、+=、-=、*=、/=、%=

关系运算符:>、<、==、!=、>=、<=

逻辑运算符:!、&&、||

(按运算对象个数)

单目运算符:!、++、--等

双目运算符:+、%、=、+=、&&等

唯一的三目运算符:表达式一?表达式二:表达式三

运算符与表达式

•表达式的运算对象可以是常量、变量、函数调用和嵌套表达式。

算术表达式:(a-b)/c

自增自减表达式:a++

复合赋值表达式:a+=b,a=a+b

关系表达式:a+b>c+d,a>b>c

逻辑表达式:a>b&&b>c

•运算优先级

C++运算符优先级分为18级,1级最高,18级最低。

•当表达式中出现运算符的优先级相同时,如何确定运算顺序?

利用运算符的结合性

右结合——从右向左计算,如单目运算符、赋值运算符、条件运算符

左结合——从左向右计算,如双目运算符

巧妙使用圆括号改变运算顺序——从内往外运算

你可能感兴趣的:(c++)