一、面向对象的程序设计语言
编辑源程序生成cpp文件——编译后生成obj文件——连接后生成exe文件
注释添加:选中内容,按Ctrl+Shift+c可以快速注释代码
注释撤销:选中内容,按Ctrl+Shift+x可以快速撤销代码
二、常量:其值在程序运行过程中保持不变
格式:Const 数据类型 常量名字
三、变量:先定义后使用
格式:类型 变量名(int i_area = 0,i_length = 0,i_width = 0;)
变量名由数字、字母、下划线组成;第一个字符必须是字母或者下划线;不能使用保留字
变量的存储以二进制形式存储,数值以补码形式表示(正数的补码与原码相同,负数的补码为绝对值的原码各位取反再加1)
1、int:整型;unsigned:正整型;char:单字符;转义字符:以\开头;字符串常量:"";实型常量:(1)十进制小数:必须有小数点,或在结尾加上f/F、(2)指数形式(a E n)(a为十进制小数,n为十进制整数);实型变量(分三类:单精度float、双精度double、长双精度long double)
2、字符常量占一个字节的内存空间;字符串在内存中的存储会自动生成一个结束标志“\0”,一个汉字占两个字节
3、字符可参与算术运算 (a:65,97)
4、整型、实型、字符型数据可以混合使用
5、自动类型转换:级别高的数据类型可以自动接受级别低的数据类型(long double、double、float、unsigned long、long、unsigned int、int、other type)
6、强制类型转化 :(类型名)(表达式) :会导致数据精度的损失
四、表达式:由常量、变量、函数和运算符组合起来的式子
1、赋值运算符:“=”,具有右结合性
2、复合 赋值运算符:“+=”、“-=”、“*=”、“\=”
3、算术运算符:+、-、*、/、% (注意:/操作数若均为整型,则结果也为整型,若其中有一个为实型,则结果为双精度实型;%的操作数必须都为整型,结果取整)
4、自增、自减 :++i、i++、--i、--i(++在变量之后,先赋值再运算;++在变量之前,先运算再赋值)
5、关系运算符:<、<= 、>、>=、==、!=
优先级(算术运算符>关系运算符>赋值运算符)
五、算法、语句结构和条件语句
1、算法:解决问题所使用的一系列合乎逻辑的、简洁的步骤
程序 = 数据结构 + 算法 + 程序设计方法 + 语言和环境
2、算法特性:有穷性、确定性、有效性、有0个或多个输入、有1个或多个输出
3、 c++语句分类:(1)表达式语句、(2)空语句、(3)程序控制语句 、(4)复合语句,可以嵌套
4 、if语句:
(1)第一种形式:
if(表达式){
语句;
}
(2)第二种形式:
if(表达式){
语句;
}
else(表达式){
语句;
}
(3)第三种形式:
if(表达式){
语句;
}
else if(表达式){
语句;
}
else(表达式){
语句;
}
注意:(1)if-else匹配原则:就近原则(else与最近的if进行匹配)
(2)当布尔表达式与一个常量值进行比较时,一般把常值放在前面
(3)不可将布尔变量直接与true、false、0、1进行比较
5、switch语句
形式:
switch(表达式)
{
case 常量表达式1:
语句1
break;
case 常量表达式2:
语句2
break;
……
case 常量表达式n:
语句n
break;
default:
语句n+1
}
注意:这里的break可写可不写。当表达式与常量表达式匹配后,执行当前的case中的语句,若不写break,则继续往下执行 case中的语句,此时不管表达式和常量表达式是否匹配,都继续执行后续case中的语句
例子:
#include<iostream>
using namespace std;
int main(){
int a = 0 ,b = 1;
switch(b)
{
case 0:
a++;
case 1:
a++;
case 2:
a++;
}
cout << "a="<<a<<endl;
}
输出结果a=2,这里b匹配到case 1之后,执行a++,由于没有break语句,无法跳出循环,所以会继续往下执行case 2中的a++
6、循环语句
(1)goto语句:可以跳转到指定标识符的地方
#include <iostream>
using namespace std;
int main()
{
int i = 0,sum = 0;
loop:if(i <= 100){
sum += i;
i++;
goto loop;
}
cout<<sum<<endl;
return 0;
}
(2)while循环
形式:
while(表达式){
循环体
}
例子:
#include <iostream>
using namespace std;
int main()
{
int i = 0,sum = 0;
while(i<=100){
if(i % 2 == 0){
sum += i;
}
i++;
}
cout << sum << endl;
return 1;
}
(3)do-while循环
do{
循环体
}
while(表达式);
while循环可能一次都不执行循环体,而do-while循环至少执行一次
例子:
#include <iostream>
using namespace std;
int main()
{
int i= 0 ,re = 0;
cin >> i;
do{
re = i % 10;
i = i / 10;
cout << re;
}
while(i);
return 1;
}
(4)for循环
形式:
for(循环变量初始值循环表达式;循环终止初始条件){
语句
}
例1:
#include <iostream>
using namespace std;
int main()
{
int i= 1 ,sum = 0;
for(i;i<=100;i++){
sum += i;
}
cout << sum <<endl;
}
例2(输入10个字符,输出最大字符的ascii码):定义一个字符,然后将它赋值给一个整型变量,就可以得到这个字符的ascii码
#include <iostream>
using namespace std;
int main()
{
int max1 = 0;
char c;
for(int i = 1;i<=10;i++){
cin >>c;
if(max1<c){
max1 = c;
}
}
cout << max1 << endl;
}
注意:return语句可以不条件终止函数,一旦遇到return,其后所有的语句都不执行
多层循环:长循环包含在短循环里