评讲
第二章,变量知识点补充
1.数据类型bool
C语言中没有定义true和false
C语言用0来表示假,用非零来表示真
2.几种常用的数据类型表示范围(简洁)
数量级:
int:109
long:109
long long :1018
float:可精确的表示出小数点后六位的数值,六位过后可能出现差错
double:精确的表示到小数点后15位
注意:%f默认就是打印小数点后六位(%.6f)
3.浮点数的几个注意事项
1)比较两个浮点数都是由常熟直接赋值,这样比较这样不会出错
2)浮点数的精确问题
3)浮点数的除法运算
两个整型相除:结果就是整除后的结果
如果其中有浮点数参与运算,其结果就是准确的结果
#include <stdio.h>
int main(){
int a = 5,b = 2 ;
float c=a*1.0/b;
printf("%f",c);
}
4)自动类型转换
计算机中,要求操作数必须有相同大小的(eg:char 和 ),和储存方式(整数:原反补码)、(小数:IEEE754标准),这些都不能进行计算
C语言,表达式中如果出现不同类型进行运算,较低类型将向较高类型转换(较低类型就是所占字节数少的类型)
当操作数中没有double类型的时候
如果赋值时两侧变量类型不一致
增大精度
double a;
a=5.0
降低精度或者出错
int a;
a=1.531234;
程序出错
右值超出了左值的类型范围,结果可能无意义
int a;
a=1.531234;
#include <stdio.h>
int main(){
int a=5,b;
char c = 'a';
short d = 1;
b=a+c+d;
printf("%d",b);
}
有double时
#include <stdio.h>
int main(){
int a=5,;
char c = 'a';
double d = 1.0;
d=a+c+d;
printf("%d",sizeof(d));
}
5.强制类型转换
格式
(目标类型)表达式
#include <stdio.h>
int main(){
float a;
a=1.678;
printf("%d",(int)a);
// (int)a;
}
四.表达式
概念
一系列运算符和算子的结合,用来计算一个值
±*/
算子:参与运算的值
运算符
自增运算符
a++;(a=a+1)
a- -; (a=a-1)
二元运算符
+=,–=,=
a+=1;(a=a+1)
a=1 (a=a*1)
关系运算符
大于,小于等于
运算优先级
五.判断
如果if
格式
if(判断条件){
条件成立:执行语句
}
判断条件非零就是成立
判断条件位0就不成立
否则
#include <stdio.h>
int main(){
int a,b;
scanf("%d %d",&a,&b);
if(a>b){
printf("大于");
}
else{
printf("小于");
}
}
逻辑运算符优先级判断
1.从左至右进行判断
2.==和!=优先级比其他符号低
六. 分支
1.if的嵌套
2.级联else if
3.switch case
七.循环
本质:多次执行同一条语句
while格式:
while(循环条件){
如果满足条件就执行while内的语句;
语句
…
…
…
}
#include <stdio.h>
int main(){
int a,b;
int n=1;
int sum = 0;
while(n<=3){
sum=sum+n;
n=n+1;
}
printf("%d",sum);
}
do while循环
两种循环的区别
do while 在循环体执行第一次执行结束后才判断条件,
while是在最开始就判断条件
死循环
while(1){ 。。。。。}