|
1. #include<iostream> 编译预处理指令之一
Using namespce std; 使用命名空间std
每个C++程序有且只有一个主函数
2. 单行注释// 多行注释/* */
3. 数据类型
基本类型:整型:(短整型 short int 2)(整型 int 4)(长整型 long int 4)
字符型char 1
实型:(单精度型 float 4)(双精度型 double 8)(长双精度型 long double 8)
其他类型:(布尔型 bool)(枚举类型 enum)(数组类型)(结构体类型 struct)(共用体类型 union)(类类型 class)(指针类型)(引用类型)(空类型 void)
Tip!!
void用于两种情况:1.函数无返回值或参数2.定义指针时指针的目标类型不确定
4. 字符型常量 两个单撇号 字符串型常量 两个双撇号
5. 整型常量: 十进制 第一个不为0
八进制 第一个必为0
十六进制 0x(0X)开头
在后面加L(l)指定为long类型,U(u)为unsigned类型,但是与数值之间不能有空格!
6. 实型常量:(浮点数) 格式:<数符>数字E指数 E2代表10的平方
在内存中以规范化指数形式存储
(数字部分必须小于1,小数点后第一个数必须非0)
7. 字符常量: 都只占1B 内存中存放二进制代码(ASII码)
普通字符:单撇号 包含一个字符 ‘10’错误!!
转义字符: \n 换行 10
\0 空字符 0
\ddd 1~3位八进制数
\xhh 1~2位十六进制数
字符串常量: “” 空字符串
系统自动在字符串结尾处添加一个空字符’\0’,标志一 个字符串的终结 ,导致长度多1B
符号常量: #define 预处理宏替换指令
格式:#define 符号常量标识符 常量值
常变量: const 数据类型 常变量标识符=常量值;
必须在定义的时候赋值
8. 变量: 如果没有赋初值的情况下:
局部变量 初值不确定
全局变量 初值0
9. 标识符 只由字母,数字,下画线组成 必须字母或下画线开头!!!
10. 关键字(不能作为标识符)
asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_r while
11. 赋值运算符有返回值
/ 结果取整 % 操作数,结果为整型
i++后置 先引用,自身+1
++i前置 先+1, 后引用
12. 逻辑运算符:
!非 > && 与 > || 或
13. 在比较两个实数(浮点数,双精度数)相等时,看差值的绝对值大于或小于给定的小数值
14. 逗号(优先级最低)表达式的结果是最右边表达式的值
如:a=3,b=9 的值为9
15. sizeof()不是函数,是一种单目运算符。
不要把||和|、&&和&混淆了 new和delete也是运算符
补充:(重要)
&
(1)按位运算符; (2)逻辑运算符
作为逻辑运算符时,&左右两端条件式有一个为假就会不成立,但是两端都会运行,比如(1+2)=4 &(1+2)=3;1+2=4即使为假也会去判断1+2=3是否成立。
&&——逻辑运算符
&&也叫做短路运算符,因为只要左端条件式为假直接不成立,不会去判断右端条件式。
相同点:只要有一端为假,则语句不成立
|和||都是表示“或”。区别是||只要满足第一个条件,后面的条件就不在判断,而|要对所有的条件都进行判断。
16. 数据类型转换:
(1)隐式转换(自动转换)边转换边计算
• 自动将字符型转换为整型
• 由低字节向高字节转换,非布尔值向布尔值转换
(short 2/char 1)-int 4-unsigned 4-long 4-unsigned long 4-double 8
float 4-double 8
例子:‘A’-10+5*2.0+20.8/4=65-10+10.0+5.2=65.0+5.2=70.2
(2)显式转换(强制转换) 转换后再次使用值不发生变化!!!
格式:(类型)表达式 或 类型(表达式)
• 计算原则:转换为当前表达式中字节数最高的类型进行运算,同
字节情况下有浮点数就转化为浮点数运算。
先计算,后赋值。
/*按从小到大的顺序输出两个整数*/
#include<iostream>
using namespace std;
int print(int x,int y)
{
int z;
if(x<y)
{
z=x;
x=y;
y=z;
}
cout<<x<<&#34; &#34;<<y<<endl;
}
int main()
{
int a,b,m;
cin>>a>>b;
print(a,b);
return 0;
}
//判断输入的浮点数是否为0
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
float f_tast;
cin>>f_tast;
if(fabs(f_tast)<=1e-6)
{
cout<<&#34;输入的数据约等于0&#34;;
}
if(fabs(f_tast)>1e-6)
{
cout<<&#34;输入的数据大于0&#34;;
}
return 1;
}//判断闰年 1.能被4整除,不能被100整除 2.能被400整除
//(year%4==0&&year%100!=0)||year%400==0
个人解法:
#include<iostream>
using namespace std;
int main()
{
cout<<&#34;请输入年份:&#34;<<endl;
int year,day;
cin>>year;
if((year%4==0&&year%100!=0)||year%400==0)
{
day=31+29+31+30+4;
cout<<day;
}
else
{
day=31+28+31+30+4;
cout<<day;
}
return 0;
}
教材解法:
#include<iostream>
using namespace std;
int main()
{
cout<<&#34;请输入年份:&#34;<<endl;
int year,day;
cin>>year;
day=31+28+31+30+31+4;//计算非闰年的天数
if((year%4==0&&year%100!=0)||year%400==0) //判断闰年
{
day++;
}
cout<<year<<&#34;年的第&#34;<<day<<&#34;天是5月4日&#34;;
return 0;
}
//例题
#include<iostream>
using namespace std;
int main()
{
double a=3.3,b=1.1;
int i=a/b;
cout<<i<<endl;
return 0;
}
i=2?浮点数(double是64位的)乘法和除法有精度损失,答案可能是 2.99999,被取整了 double a=3.3d,b=1.1d;不然会被强制转换
//例题(实现个位,十位,百位输出)
#include<iostream>
using namespace std;
int main()
{
int splitInt;
cout<<&#34;输入一个3位正整数&#34;;
cin>>splitInt;
int one;
int ten;
int hundred;
hundred=splitInt/100;
ten=splitInt%100/10;
one=splitInt%10;
cout<<&#34;个位:&#34;<<one<<&#34;十位:&#34;<<ten<<&#34;百位:&#34;<<hundred;
return 0;
}
//例题!!!易错
#include<iostream>
using namespace std;
int main()
{
int a,b;
cout<<&#34;input a,b:&#34;;
cin>>a>>b;
cout<<&#34;a=&#34;<<a<<&#34;,&#34;<<&#34;b=&#34;<<b<<endl;
cout<<&#34;(a++)+b=&#34;<<(a++)+b<<&#34;\n&#34;; //1+2
cout<<&#34;a+++b=&#34;<<a+++b<<&#34;\n&#34;; //此时a的值改变了 2+2
return 0;
}
//假如两个正整数都不是很大,(例如都不超过1000),不引进第三个变量,如何交换两个整数变量的值?
#include<iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
a=a+b;
b=a-b;
a=a-b;
return 0;
}
int a,b;
a=10; b=15; 标准算法
int t;
t=a; a=b; b=t;
//从键盘上输入一个整型的数,让它与一个浮点型数比较大小,并输出其中较大那个数
#include<iostream>
using namespace std;
int main()
{
int a;
float b;
cin>>a>>b;
if(a>b)cout<<a;
else cout<<b;
return 0;
} |
|