提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 编写:Brisy
一、变量
变量是装数据的容器,数据变,容器不变。变量在使用前要先定义,基本格式为:
变量类型名 变量名1,变量名2 …
也就是下面例子中a、b、c三个变量的定义可写为:
int a, b, c; int a = 0, b, c = 0; //初始化
#includeusing namespace std; int main() { int a = 1; int b = 1; int c; cout< 1.1 变量名 1.2 变量类型
- 变量名是由字母('_'被看作字母)和数字组成的序列,但第一个字符必须为字母;
- 大小写字母是由区别的;
- 如int等关键字,已被语言本身占有,不能作为变量名;
C语言有且仅有的四种基本类型
- char 字符型,占用一个字节的长度,可以存放一个字符;
- int 整型,用来装整数,长度由所在机器而定,通常占4个字节;
- float 单精度浮点型
- double 双精度浮点型
施加在基本类型上的限定符
short int a; //int可省略不写 long int a; //int可省略不写short限定符尽可能的使int变短,long尽可能的使int变长。
short和int类型不小于16位,int型可以是16位和32位,long类型不小于32位,具体由所在机器而定。
signed与unsigned可用来限定char型和所有整型(包括被short或long限定过的整型)。
signed整形使得原有整型长度不变,符号位变成了数据位,仅能表示0和正数。
signed char强制char可以存储由符号整数,unsigned char强制char可以存储无符号整数,char不加任何限定,则是否有符号根据所在机器而定。
- int 整数默认
- double 浮点数默认
- long 加L
- float 加F
#includeusing namespace std; int main() { cout<
- 0开头代表八进制
- 0x开头代表十六进制
#includeusing namespace std; int main() { cout<<31< 二、字符串常量 用双引号包裹起来的≥0个的字符组成的序列位字符串常量:
#includeusing namespace std; int main() { cout<<"I am a string"< 三、运算符 3.1算数运算符 +、-、*、/、%
取模运算符(%)
x % y 结果是x除以y的余数部分。
注意:x和y必须是整型操作数。
在有负数操作数的情况下,取模运算结果的符号取决于具体机器的实现。除法运算符
整数出发会截断结果中的小数部分。#includeusing namespace std; int main() { cout<<5/2< 自增自减运算符
- 前++/-- 先运算后赋值
- 后++/-- 先赋值后运算
#includeusing namespace std; int main() { float x = 1.1; float y; float a = 1.1; float b; y = x++; cout<< x < 3.2 关系运算符 、<、>=、<=、==、!=
x > y x大于y返回真,否则返回假;
x < y x大于y返回假,否则返回真;
x >= y x不小于y返回真,否则返回假;
x <= y x不大于y返回真,否则返回假;
x ==y x等于y返回真,否则返回假;
x != y x不等于y返回真,否则返回假;#includeusing namespace std; int main() { int x = 1, y = 2; int z = x>y; cout<< z < x; cout<< z < 3.3 逻辑运算符 &&、||、!
&&:有一个假则全部为假
||:有一个为真则全部为真
!:见真则假,见假则真#includeusing namespace std; int main() { int x = 1, y = 0; int z = x&&y; cout<< z < 3.4 赋值运算符 =、+=、-=、*=、/=、%=
3.5 位运算符
a %= 10; 等价于 a = a % 10;&(按位与)、|(按位或)、<<(算数左移)、>>(算数右移)、~(按位取反)、^(按位异或)
<<(算数左移)
#include#include using namespace std; int main() { short int x = -178; short int y = x<<1; cout<< bitset (x) < (y) < bitset<转换后的位数>(被转换成2进制的数)
&(按位与)
#include#include using namespace std; int main() { short int x = -111; short int y = 1234; short int z = x&y; cout<< bitset (x) < (y) < (z) < ^(按位异或)
#include#include using namespace std; int main() { short int x = -111; short int y = 1234; short int z = x^y; cout<< bitset (x) < (y) < (z) < ~(按位取反)
#include#include using namespace std; int main() { short int x = -111; short int y = ~x; cout<< bitset (x) < (y) < 3.6 其他运算符 sizeof 运算符
用法:sizeof (数据类型、变量或常量)问号运算符
<表达式1>?<表达式2>:<表达式3>;#includeusing namespace std; int main() { int x = 1; int y = 2; cout<< (x>y ? 'A':'B') < y ? 'A':'B') < 四、类型转换 主要运用场景:需要精确浮点数的情况。
4.1 自动转换赋值语句中的自动转换:
float a = 100;
int b = a;混合运算中的自动转换:
4.2强制转换
1 + 1.1
(类型名)表达式
(float)a; //将变量a转换为float类型
(int)(c+d); //把表达式 x+y 的结果转换为 int型
(float)5; //将数值 5(默认为int类型)转换为float
注意:类型转换只体现在结果上,并不会改变被转换变量的类型。



