一.操作符
写代码的时候一定会涉及计算!
1.算术操作符:+,-,*,/,%这些是双目操作符,2个操作数加操作符,也叫运算符。
1.1+,-,*:运算跟数学一样。
1.2/:除法有点不一样,2个int类型相除得只能得商不能得余数,想要得到小数必须有一端是小数,用%f。
1.3%:求模也叫取模,2个整数相除的余数,不能用于浮点数/小数。
负数求模的规则是,结果的正负号由第一个运算数的正负号决定。
2.赋值操作符:=和复合赋值
2.1:搞清楚初始化和赋值
赋值操作符= :是一个随时可以给变量赋值的操作符。
初始化:创建变量同时给给个值。
2.2:连续赋值 //不建议使用
//右边往左边赋值
int a = 10
b = a = a + 3意思是a+3赋给a等于13再赋给b等于13
感觉不如我自己创建变量直接给个值,太麻烦了。
3.单目操作符 :++,--, + 正号, - 负号
前置++,前置--
使用口诀:先加1,后使用。想把减1或者加1之后值存下来用前置。
后置++,后置--
使用口诀:先使用,后加1.想把减1或者加1之前值存下来用后置
4.强制类型转换
用于2个不一样的类型int a = (int)3.14但输出结果只能是小数
要是用float b = (float)3输出结果3.000000
5.printf
5.1基本用法:printf()的作用是将参数文本输出到屏幕,打印括号里面我们写的内容。不会自动换行,需要自己添加\n,得包含头文件<stdio.h>。
printf("tehere are %d apples\n",5); %d这里可以被后面值替换5//输出结果tehere are 5 apples,可以改变替换的量。
可以使用多个占位符,要和后面替换的值一一对应.。
5.2占位符4种格式
1.限定宽度:允许占位符最小宽度。
假如限定宽度是5但你输出123,他会往左边补空格,足够5位。要是你输入123456大于5位还是会输出123456,因为这是限定最小的宽度。
假如printf("%-5d\n", 123);这里的空格往左边补齐5位,如果后面还要打印其他值23,空格后面补,//123 23
对于小数,这个限定符会限制数字的最小显示宽度
printf("%11f\n", 123.12)//加小数点这里占据6位,小数后面默认补6位
这里要打印11位 123.120000,有个空格位
2.显示正负号
//printf(),只对负数显示符号,想要正数显示符号,在占位符加个正负符号就想。
%+d
3.限定小数位数//可以跟限定宽度结合来用
//输出的时候,有时希望限定小数位数,要求只保留2位,占位符可以写成%.2f。
//printf("%.2f\n",0.2)//输出结果0.20
结合使用
printf("%5.2f\n",0.2)//输出结果 0.20补够5位,小数点也算1位
4.输出部分字符串
//可以用%.[]s指定输出的长度,其中[m]代表一个数字,表示输出的长度.
printf("%.4s", "fufu123");输出结果fufu
6.scanf
6.1用法:
scanf()函数用于读取用户键盘输入;想用键盘输入一些数据就可以用scanf函数.
用户输入数据,按下回车键后,scanf()就会处理用户的输入,将存入变量。
scanf()的语法跟printf()类似,包含头文件<stdio.h>
数组是不用&地址,数组名就是地址。VS用scanf会提示不安全.
6.2使用格式
使用格式要严格按照scanf()里面输入的占位符格式。
会自动过滤空白字符,包括空格,制表符,换行等。
如果记不住用万能格式:scnnf("%d%*c%d%*c%d", &a, &b, &c);//万能格式
6.3scanf返回类型是整形,返回值是一个整数,表示成功读取的变量的个数.
如果没有读取任何项,或者匹配失败,则返回0;读取发生错误或读取到文件末尾返回 EOF是-1
int main()
{
int a = 0;
int b = 0;
float c = 0.0;
int r = scanf("%d %d %f", &a, &b, &c);
printf("r=%d\n", r);//返回值是3
//ctrl+z让它提前停止下来
return 0;
}
6.4注意特点
%c:处了%c以外,都会自动忽略起首的空白字符。%c不忽略空白字符,总是返回当前第一个字符,无论该字符是否位空格。
%s:从当前第一个非空白字符开始读取,直到遇到空白字符为止.
7 .if else
if语句的语法表达式:
1.1f(表达式)
2.语句
//如果表达式为真语句执行;如果为假执行else
3.else
4语句