主要知识点概述ios
基础知识框架
1. 变量:装数据的容器,数据变,容器不变函数
变量在使用前要先定义,基本格式:变量类型 变量名1,变量名2,……;spa
Ex:int a,b,c;int a=0,b,c=0;//初始化code
2. 变量名:由字母(‘_’被看做字母)和数字组成的序列,但第一个字符必须是字母;大小写字母是有区别的;关键字不能做为变量名blog
3. 四种基本类型字符串
char 字符型,占用一个字符长度,存放一个字符it
int 整型,一般占4个字节io
float 单精度浮点型table
double 双精度浮点型
数据类型框架图:
4. 施加在基本类型上的限定符
short int a;//int可省略不写
long int a;
short 限定符尽量的使int变短,long尽量的使int变长
signed与unsigned可用来限定char型和全部整型
signed 整型等价于整型
unsigned 整型使得原有整型长度不变,符号位变成了数据位,仅能表示0和正数
signed char 强制char能够存储有符号整数
unsigned char 强制char能够存储无符号整数
5. 整数常量进制表示
0 表示八进制
0x 表示十六进制
6. 字符常量
使用单引号将字符括起来,参与运算时对应的是ASCII码值
7. 转义字符(通常不可显示的,带有功能性的字符)
\a 响铃符
\n 换行符
\0 字符串结束的标识
8. 字符串常量
用双引号包裹起来的≥0的字符组成的序列为字符串常量
9. 算数运算符:+、-、/、*、%、++自增、--自减
%取余:x%y结果是x除以y的余数部分;x和y必须是整型操做数;在有负操做数的状况下,取模运算结果的符号取决于具体机器的实现
/除法:整数除法会截断结果中的小数部分
++自增:y=++x表示先自加后赋值;y=x++表示先赋值后自加
10. 关系运算符:<、>、<=、>=、==等于、!=不等于
x>y x大于y返回真,不然返回假
x>=y x不小于y返回真,不然返回假
x==y x等于y返回真,不然返回假
关系表达式的值是一个逻辑值,即“真”或“假”,“真”的表达式的值为1,“假”的表达式的值为0。
11.逻辑运算符:&&且,||或,!非
逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符。
12.赋值运算符:=、+=、-=、/=、%=
a%=10;等价于a=a%10;
13.位运算符:&、|、<<左移一位、>>、^
<<左移一位:包含处理函数#include<bitset>
Ex:
#include<iostream> #include<bitset> using namespace std; int main(){ short int x=-178; short int y=x<<1; cout<<bitset<sizeof(x)*8>(x)<<endl; cout<<bitset<sizeof(y)*8>(y)<<endl; cout<<y<<endl; return 0; } 结果: 1111111101001110 1111111010011100 -356
14. 类型转换(只体如今结果上,不改变被转换变量的类型)
(1)自动转换
a. 赋值语句中的自动转换:float a=100;int b=a;
Ex:
#include<iostream> using namespace std; int main(){ unsigned int a=1; int b=-2; long c=-2; cout<<a+b<<endl; cout<<a+c<<endl; return 0; } 结果: 4294967295 -1
b. 混合运算中的自动转换,短的类型向长的类型转换:1+1.1
(2)强制转换
(类型名)表达式
Ex:(float)a;//将变量a转换为float类型
(int)(b+c);//把表达式a+b的结果转换成int型
(float)5;//将数值5(默认为int类型)转换为float型
15.整型类型的有关数据
类型 | 类型说明符 | 长度 | 数的范围 |
基本型 | int | 2字节 | -32768~32767 |
短整型 | short | 2字节 | -215~215-1 |
长整型 | long | 4字节 | -231~231-1 |
无符号整型 | unsigned | 2字节 | 0~65535 |
无符号长整型 | unsigned short | 2字节 | 0~65535 |
无符号短整型 | unsigned long | 4字节 | 0~(232-1) |
16.浮点型常量指数表示方法的注意点:字母e(或E)以前必须有数字,且e后面 的指数必须是整数
17.浮点型变量的有关数据
类型 | 位数 | 数的范围 | 有效数字 |
float | 32 | -3.4*10-38~3.4*1038 | 7位 |
double | 64 | -1.7*10-308~1.7*10308 | 16~17位 |
long double | 128 | -1.2*10-4932~1.2*104932 | 18位 |
18.逗号运算符和逗号表达式
(1)逗号运算符:将两个表达式链接起来,又称为“顺序求值运算符”
如:3+5,6+8
通常形式:表达式1,表达式2
求解过程:先求表达式1,再求表达式2,整个逗号表达式的值是表达式2的值,逗号表达式的值为14
(2)一个逗号表达式又能够与另外一个表达式组成一个新的逗号表达式
如:(a=3*5,a*4),a+5
先计算出a的值等于15,再进行a*4的运算等于60(但a的值未变,扔为15),再进行a+5获得20,即整个表达式的值为20
(3)逗号表达式的通常形式扩展:
表达式1,表达式2,表达式3,……,表达式n
它的值为表达式n的值
19.条件运算符:表达式1?表达式2:表达式3
(1)执行顺序:先求解表达式1,若为非0(真),则求解表达式2,此时表达式2的值就做为整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。
(2)条件运算符优先级高于赋值运算符,低于关系运算符和算术运算符。条件运算符的结合方向为“自右至左”。
例:
#include<stdio.h> int main(){ char ch; scanf("%c",&ch); ch=(ch>='A'&&ch<='Z')?(ch+32):ch; printf("%c\n",ch); return 0; } 运行结果: D d