安装流程:
默认点击,第一次运行后,选择语言【简体中文】
如何建立项目:文件 ——> 新建 ——> 项目——> console application ——> C++项目 ——> 命名——> 选择文件夹保存
如何调整字体大小:
按住ctrl,滚动按钮
编译运行:
直接点击或按F11即可
小黑框=控制台(console application)
进入文件夹:
main.cpp
.exe = F11编译运行以后的效果
.dev = 打开整个项目
.o = 二进制文件
计算机只能二进制,但我们写的代码都是英文指令
main.cpp英文指令 ——> (编译)——> 二进制 ——> (运行)——> 打开
main主函数:游乐场大门
printf:打印!=显示。将hello world打印到小黑框(控制台)
每一条指令后面都有一个分号
换行符:\n
打印:
第一种方式:直接写在目标当中
第二种方式:在目标中挖一个洞,填补这个洞【模板】
变量、变量类型:
变量是区分变与不变
声明变量类型的原因:使可读性变高
C——>python(根据输入反推类型的工作,在python内部执行,省去了声明变量的麻烦)
变量:未知数
类型:单位
整数 int int a
浮点 float float f
字符 char char c
1.1.1变量定义
需要:
1.有地方放输入的数字
2.有办法输入数字
3.输入的数字能参与运算
1.输入也是在终端窗口中
2.输入是以行为单位进行的,行的结束标志就是按下回车键,在按下回车键之前,程序不会读到任何东西
这一行定义了一个变量。名字为price,类型是int,初始值为0
变量是一个保存数据的地方
<类型名称><变量名称>
int price;
int amount;
int price,amount;
变量需要一个名字,是一种标识符,用来识别这个和那个不同的名字
标识符构成基本原则:
1、只能出现字母、数字、下划线
2.数字不可以出现在第一个位置上
3.C语言关键字不可以做标识符
这是一个式子,“=”是一个赋值运算符,将“=”右边的值赋给左边的变量
注: 和数学不同,a=b在数学中表示关系,即a与b的值一样;在程序设计中,a=b表示计算机做一个动作,将b的值赋给a
初始化:
变量使用前需要赋值:eg.此处的 i 就没有初始化
变量初始化:
<类型名称><变量名称>=<初始值>
int price = 0;
也可以组合:(只能一个一个赋值哦,逗号分开)
int price = 0,int amount = 100;
要求scanf这个函数读到下一个整数,读到的结果赋值给变量price
小心price前面的&
常量:固定不变的数叫常数,,直接写在程序里叫直接量
更好的方式是定义一个常量:
是一个修饰符,加在int前,用来给这个变量加上一个不变的属性,这个const属性的值一旦初始化不可改变
若将其放在赋值号的左边则会报错
终端的输入:(三种方式都可,一直等输入两个值才会进行下一步)
首先,两个整数的运算结果只能是整数
10和10.0是完全不同的,做除法时很可能会省略掉小数点后面的直接取整
eg.
当浮点数和整数放到一起运算时,C会将整数转换为浮点数,然后进行浮点数的运算
第一种改法:
第二种改法:
int表示整型,double表示浮点型
(1).整数
int
printf("%d.....")
scanf("%d......")
(2).浮点数
double
printf("%f....")
scanf("%lf....")
一个表达式是一系列运算符和算子的组合,用来计算一个值
运算符:运算的动作
算子 :参与运算的值
a = b = 6 ---> a = (b = 6)
一般是自左向右,仅单目和赋值是自右向左
【a=(b=b**2)*6*(b=b*3)】叫嵌入式赋值,不可取,过于麻烦不便于理解,还会出错
注意:两个运算符中间不要有空格
复合赋值需先将右边的算完再跟左边运算
“++”和“--”是很特殊的运算符,是单目运算符,这个算子还必须是变量
前缀和后缀:
++和--可以放在变量前面,叫前缀形式,也可以放在变量后面,叫后缀形式
a++的值是a+1以前的值
++a的值是a+1以后的值
无论哪种a的值都加了1
注:++--可以单独使用,但是不要放进组合
出现在scanf中的东西,是一定要输入的东西
eg.scanf("price %d %d",&a,&b);
与此对应的,在终端输入的格式也必须是:price 1 2,这样里面的1和2才可以被读到
IF语句:
如果
if(条件成立){
......;
}
关系运算:
关系运算的结果只有0或1 ,不会有其他值
优先级:
1.所有的关系运算比算术运算的优先级低,但比赋值的优先级高
2.而在所有的关系运算符中,==与!=的优先级更低于其他,而连续的关系运算是从左向右进行的
注释:
有两种形式:
1. // :只注释单行(C)
2. /* */ :可以注释多行
else:
IF语句:
后面可以没有{},这代表紧跟在后面的一句代码被if包含,切记不要自己在)的后面加;这不是if语句结束的地方。同理可得,else后面也一样可以没有{}
If-else嵌套时,有没有{}会对else的位置产生影响,并且缩进也并不能暗示else的匹配【跟python不一样哦,缩进是没用的!!!】
良好的编程习惯:if-else加上{},即使只有一条语句
级联的if-else if:
IF语句常见错误:
1.忘了大括号
解决:永远在if与else后面加上大括号{},即使只有一条语句
2.IF后面的;
3.错误使用==和=
【其中只要b的值不是0,if条件都是成立的(因为if()里的值只要0或非0),顺便还给A的值改了】
4.代码风格:
--在if else后面必须加上大括号形成语句块
--大括号内的语句缩进一个tab位置
多路分支
swich-case:
注意:
1.()内的控制表达式只能是整数类型的
2.case后面的常量,可以是常数,也可以是常数计算的表达式 (eg.1+1)
break:
在swich-case中,只有遇到break才会终止运算,跳出swich-case
如图所示:若一开始进入了case1,不会有输出,同时也不会终止,而是会继续进入case2,直到遇到case2的break,才会终止。case不能阻止句子的执行,只有break可以
【swich-case的这种特性,可以用来使不同的case做相同的输出】