一、常量和变量

Ⅰ. 常量

定义:

const 常量类型 常量符号=常量;
const int a=100;

类型:

① 整形常量:

十进制:$ 100_{(10)},-1_{(10)} $

八进制:以 $ 0 $ 开头,后由 $ 0 \backsim 7 $ 的字符构成。如 $ 012 $ 表示 $ 12_{(8)} $

十六进制:以 $ 0x $ 开头,后由 $ 0 \backsim F $ 的字符构成。如 $ 0xF1A $ 表示 $ F1A_{(16)} $ 。

② 实型常量:

实型有两种写法,其一是直接写出数值,如 $ 1.3,-0.18 $ ,第二种使用科学计数法表示,如:

M E XM \ E \ X

其中 $ M $ 为一个实数, $ X $ 为一个整数。

其意味着:

M×10XM \times 10^X

1.52 E 2=1.52×102=1521.52 \ E \ 2=1.52 \times 10^2 =152

152 E 2=152×102=1.52152 \ E \ -2=152 \times 10^{-2}=1.52

③ 字符型常量:

如‘a’、‘1’、‘?’,注意 <font color='red'>‘’</font>不能省去,且‘a’表示一个 <font color='red'>字符 </font>,“a”表示一个 <font color='red'>字符串 </font>

Ⅱ. 变量

定义:

变量类型 变量名,变量名,......;
int a,b;
char s,k;
float n,m;

和 $ Pascal $ 中不同, $ C++ $ 可以在定义时给变量赋值,如:

int a=100;
char s='x';
float n=5E2;

变量类型:

变量的类型可以是标准数据类型($ int,long \ long,char,float,double,\cdots $),也可以是用户自定义的类型(结构体)。

二、标准数据类型

这些数据类型都是由系统定义的简单数据类型。

Ⅰ. 整形

数据类型 $ C++ $ 定义标识符 $ Pascal $ 定义标识符 占字节数 取值范围
短整型 $ short $ $ integer $ $ 2 $ $ [-2{15},2{15}-1] $
无符号短整型 $ unsigned \ short $ $ word $ $ 2 $ $ [0,2^{16}-1] $
长整型 $ long $ $ longint $ $ 4 $ $ [-2{31},2{31}-1] $
无符号长整形 $ unsigned \ long $ $ dword $ $ 4 $ $ [0,2^{32}-1] $
超长整形 $ long \ long $ $ int64 $ $ 8 $ $ [-2{63},2{63}-1] $
无符号超长整形 $ unsigned \ long \ long $ $ qword $ $ 8 $ $ [0,2^{64}-1] $

Ⅱ. 实型

数据类型 $ C++ $ 定义标识符 $ Pascal $ 定义标识符 占字节数 取值范围 有效位数
单精度实型 $ float $ $ real $ $ 4 $ $ [-3.4E+38,3.4E+38] $ $ 6 $
双精度实型 $ double $ $ double $ $ 8 $ $ [-1.7E+308,1.7E+308] $ $ 15 $
长双精度实型 $ long \ double $ $ extended $ $ 16 $ $ [-3.4E+4932,1.1E+4932] $ $ 18 $
布尔型 $ bool $ $ boolean $ $ 1 $ $ true,false $ $ \diagdown $

Ⅲ. 字符型

见 $ ASCLL $ 码表。

QQ截图20191121231556.png

Ⅳ. 强制类型转换

(类型名)(表达式)
(int)(4.7)=4;

三、输入与输出

Ⅰ. 字符输入输出

函数:$ getchar(),putchar() $

使用此函数必须包含头文件 <font color='red'>cstdio </font>

使用方式:

字符型变量=getchar();
putchar(字符型变量/ASCLL码);

char s;
s=getchar();
putchar(s);
putchar(66);

输入:Z
输出:ZB

$ getchar() $ 输入的所有元素都按字符处理,且可以 <font color='red'>读入回车 </font>

Ⅱ. 流输入输出

函数:$ cin,cout,endl $

使用此函数必须包含头文件 <font color='red'>iostream </font>,且需使用 <font color='red'>using namespace std;</font>

使用方式:

cin>>变量;
cout<<变量/字符串;

cin>>a>>b;
cout<<"a="<<a<<"\nb="<<b<<endl;
cout<<"A";

输入:1 A
输出:
a=1
b=A
A

Ⅲ. 格式化输入输出

函数:$ scanf,printf $

使用此函数必须包含头文件 <font color="red">cstdio </font>

使用方法:

scanf("格式符 格式符",&变量,&变量);
printf("格式符 格式符",变量,变量);

scanf("%d%c",&a,&b);
printf("a=%d\nb=%c\nA",a,b);

输入:1A
输出:
a=1
b=A
A

$ scanf $ 中的 <font color="green">&变量 </font>是变量的内存地址,可以是变量地址,也可以是字符串首地址。

输入格式符:

符号 说明
$ d $ 输入十进制整数
$ u $ 以无符号形式输入十进制整数
$ o $ 输入八进制整数
$ x $ 输入十六进制整数
$ c $ 输入单个字符
$ s $ 输入字符串
$ f $ 输入实数
附加格式 说明
$ l $ 输入长整型数($ ld,lo,lx $)和 $ double $ 型实数($ lf $)
$ h $ 输入短整型数($ hd,ho,hx $)
域宽(一个整数) 指定输入所占列宽
$ * $ 表示对应输入值不赋给变量

输出格式符

符号 说明
$ d $ 输出十进制整数
$ u $ 以无符号形式输出十进制整数
$ o $ 输出八进制整数
$ x $ 输出十六进制整数
$ c $ 输出单个字符
$ s $ 输出字符串
$ f $ 以小数形式输出实数
$ e $ 以科学记数法形式输出实数
参数 说明
$ m $ 指定宽度,实际宽度不足$ m $ 时补空格,大于 $ m $ 时按实际宽度输出
$ .n $ 不对整形使用,对于实型表示保留$ n $ 位小数,对于字符串表示最多含有 $ n $ 个字符
$ - $ 表示左对齐
$ l $ 输出长整型
$ 0 $ 跟$ m $ 一起使用,表示宽度不足 $ m $ 时补 $ 0 $

使用格式:$ %,-,0,m,.n,l $

scanf("%2d%3d%4d",&a,&b,&c);
scanf("%f",&d);
scanf("%5s",&s);
printf("a=%d\nb=%d\nc=%d\nd=%.5f\ns=%7.3s\n",a,b,c,d,s);

输入:
123456789
512E-2
abcdefg
输出:
a=12
b=345
c=6789
d=5.12000
s=    abc

四、运算符与表达式

Ⅰ. 赋值语句

变量=表达式;
a=10*19;
a=b=c=d=100;

Ⅱ. 算术运算符

类型 运算符
$ + $
$ - $
$ * $
$ / $
取模 $ % $
表达式+表达式
表达式-表达式
表达式*表达式
表达式/表达式
表达式%表达式

1+1=2;
1-1=0;
1*2=2;
5/2=2;
5.0/2=2.5;
5/2.0=2.5;
5%2=1;

$ a++ $ 表示调用 $ a $ 后将 $ a+1 $ 。

$ ++a $ 表示将 $ a+1 $ 后再调用 $ a $ 。(减法相同)

Ⅲ. 关系运算符

类型 运算符
大于 $ > $
小于 $ < $
等于 $ == $
大于等于 $ >= $
小于等于 $ <= $
不等于 $ != $

关系运算符的结果只能是 $ 0(false) $ 或 $ 1(true) $ 。

Ⅳ. 逻辑运算符

类型 运算符
$ && $
$
$ ! $

与运算符(&&)和或运算符(||)均为双目运算符,具有左结合性。 非运算符(!)为单目运算符,具有右结合性。

逻辑运算符的结果只能是 $ 0(false) $ 或 $ 1(true) $ 。

Ⅴ. 位运算符

类型 运算符
按位与 $ & $
按位或 $
按位异或 $ \land $
取反 $ \sim $
左移 $ << $
右移 $ >> $

Ⅵ. 运算表达式简写

变量=变量 运算符 表达式
变量 运算符=表达式

a=a+2;
a+=2;

Ⅶ. 常用运算函数

类型 函数
绝对值 $ abs(x) $
自然数指数$ e^x $ $ exp(x) $
下取整 $ floor(x) $
上取整 $ ceil(x) $
自然数对数$ \ln{x} $ $ log(x) $
指数函数$ x^t $ $ pow(x,t) $
随机函数(在$ [0,x-1] $ 生成随机数) $ rand(x) $
平方根 $ sqrt(x) $

使用这类函数时,必须包含头文件 <font color="red">cmath </font>