计算机程序语言有哪几种语言?
•机器语言(计算机能理解的语言):0和1组成的语言。
•汇编语言(翻译):用英文字母和数字表示指令。
•高级语言(人能理解的语言):更接近于人类的自然语言。
高级语言又分为两种:面向过程和面向对象。
面向过程:以机器为本(以计算机的实现方式为基础来设计的语言),以过程为中心的编程思想。
面向对象:以人为本(以人的思维方式来编写的语言),以类和对象为中心的编程思想。
C++语言的标准
•1998年发布第一个标准C++98
•2011年发布较成熟的标准C++11
•2017年发布最新标准C++17
C++语言的优点
•结构清晰,易于扩充(既支持面向过程,又支持面向对象的一些方法)
•应用广泛(从嵌入式的程序,到面向对象的程序都可以覆盖)
QQ、office、魔兽世界
C++语言的框架?
•框架
//第一个程序.cpp #include
using namespace std; int main(void) { //程序的正文 return 0; }
C++程序组成有哪些元素?
•组成元素
自然语言 程序设计语言 字 字母、数字、运算符、分隔符、ASCII码 词 关键字、常量、识别符
词组 表达式 句子 语句 段落 函数 文章 程序 关键字:由系统定义的具有特定含义的英文单词。关键字不能另作它用。C++区分大小写,关键字全部由小写字母组成。标准C++定义了74个关键字。
标识符:由程序员自定义的单词,用来给变量、符号变量、数组、函数等命名。合法标识符由字母或下划线开始,由字母、数字、下划线组成。
常量:在程序运行中,其值保持不变的量成为常量。
程序设计的基本步骤
分析问题——>设计算法——>编写程序——>调试程序——>运行分析结果
变量意味什么?
•变量定义的一般形式:数据类型名 变量名表;
•变量必须先定义后使用,先赋值后引用,一个变量名只能定义一次。
•数据:常量:在程序运行过程中,其值不能被改变。如3和5。
变量:在程序运行过程中,其值可以被改变。如x和y。
•数据类型:常量:3和5是整型常量(整数)。如书写3.0,是实数。
变量:x和y是整型变量。
int x,y; x=3,y=5; y=x+y;
数据类型决定了什么?
•变量所占空间的字节数。
•数据存储的形式(数据在计算机里的编码形式)。如字符采用ASCII编码存储。
•数据的取值范围。
•可参与的运算种类。如字符参与加减运算等。
内存如何编址?
•在冯诺伊曼计算机系统中,程序代码和数据都是以二进制形式存储在计算机内存。
•通常用唯一的一个十六进制无符号整数来标识地址。
•在计算机的内存里面按字节编地址,内存中的每个字节都有唯一 的编码(地址)。
32位机的内存地址是32位,从0x00000000到0xFFFFFFFF。
高级语言为什么要区分数据类型?
•更有效组织数据,规范数据的使用。
•有助于提高程序的可读性,方便用户的使用。
解析法
•在分析具体问题基础上,建立数学模型,并确定解析表达式,然后设计算法,再编写程序、调试运行程序。
•解析法的关键是寻找解析表达式。
•分析问题——>设计算法——>编写程序——>调试程序——>运行分析结果
分析问题:已知圆的半径,要求计算此圆的面积值。
设计算法: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; }
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。
为什么需要符号常量来表示?
•代码更容易维护
•确保一些不变量不会被误修改
•标准输入输出:指系统指定的标准设备的输入输出设备,即从键盘输入,从显示器屏幕上输出。
•数据输入流的基本原理
•数据输出流的基本原理
数据的输入
•一般形式: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作为输出流,先从右往左将输出数据读入缓冲区
•表达式:由运算符和运算对象组成的式子。
•表达式的结果除了确定的值,还有确定的数据类型。
运算符:
(按运算性质区分)
算术运算符:+、-、*、/、%
自增和自减:++、--
赋值运算符:=、+=、-=、*=、/=、%=
关系运算符:>、<、==、!=、>=、<=
逻辑运算符:!、&&、||
(按运算对象个数)
单目运算符:!、++、--等
双目运算符:+、%、=、+=、&&等
唯一的三目运算符:表达式一?表达式二:表达式三
运算符与表达式
•表达式的运算对象可以是常量、变量、函数调用和嵌套表达式。
算术表达式:(a-b)/c
自增自减表达式:a++
复合赋值表达式:a+=b,a=a+b
关系表达式:a+b>c+d,a>b>c
逻辑表达式:a>b&&b>c
•运算优先级
C++运算符优先级分为18级,1级最高,18级最低。
•当表达式中出现运算符的优先级相同时,如何确定运算顺序?
利用运算符的结合性
右结合——从右向左计算,如单目运算符、赋值运算符、条件运算符
左结合——从左向右计算,如双目运算符
巧妙使用圆括号改变运算顺序——从内往外运算