C语言第二次课笔记

C语言第二次课笔记,第1张

C语言第二次课笔记

C语言第二次课笔记

一.变量的补充

1.浮点数的除法2.自动类型转换

1.什么是自动类型转换2.自动类型转换常见规则3.赋值时变量类型不同4.强制转换: 二.表达式计算

概念运算符 三.判断

1. 如果if 否则else2. 逻辑判断优先级 四.分支五. 循环

一.变量的补充 1.浮点数的除法

两个数进行除运算
如果其中全是整数,除法相当于整除(即没有小数)
若其中有浮点数,结果就是准确的

2.自动类型转换 1.什么是自动类型转换

硬件不能将 char 型( 1 字节)数据与 int 型( 2 或 4 字节)数据直接参与运算;由于存储方式的不同(整型使用的是原,反,补,码进行存储,浮点型使用的是IEEE754标准进行存储),也不能将 int 型数据与 float 型数据直接参与运算。

在C语言中,一个表达式出现不同类型间的混合运算,较低类型将自动向较高类型转换即占的字节少的会向占字节数多的数据转换。

2.自动类型转换常见规则

1.当 char、short 出现在表达式中参与运算时,一般将其自动转换为 int 类型。
(记得char要加‘ ’)
2.当 *** 作数中含有浮点型数据(float 或 double)时,所有 *** 作数都将转换为 double 型。(选择题)

3.赋值时变量类型不同

1.精度改变
会将右边的类型转换为左边的类型(与赋值相反),可能使右边的数据精度增加,也可能使精度降低(即最终结果存为等号左边的变量类型
eg 增高精度 单变双

eg 降低精度 如整型被浮点型赋值,小数点后的数会被省略

程序出错
右值超出左值类型范围时,结果可能毫无意义

4.强制转换:
#include 
int main(){
	int sum=(int)10.2+(int)1.2+(int)5.3;
	printf("%d",sum);	
}
二.表达式计算 概念

表达式是一运算符和算子的组合, 用来计算一个值
算子:指参与运算的值,可能是常数,也可能是变量,还可能是一个返回值

运算符

自增,自减:
a++: a=a+1
a–: a=a-1
二元运算符
+=,-=,*=,%=
a+=a: a=a+a;
a * =a: a=a * a
关系运算符(二元运算符)
【<、 > 、<=、 >=、 ==、 !=】
逻辑运算符(二元运算符)
【&&(逻辑与)、||(逻辑或)】

运算符的优先级
有拿不稳的地方就加括号,括号的优先级是在第一梯度

三.判断 1. 如果if 否则else 2. 逻辑判断优先级

1.从左向右进行判断


显示错误的原因:比较6>5>4,是从左向右开始判断,首先6>5正确,结果则为1,之后就变为1与4比较即显示为1>4,结果为错,所以输出为错误。

2.==和!=优先级比其他符号低

判断(5 > 3 == 6 > 4),根据优先级先判断5>3, 6>4.都是正确的,所以结果都为1,变为1=1,所以最终输出正确。

四.分支

与运算&&可以转换为if嵌套的形式

级联else if
switch case

五. 循环

本质:多次执行同一条语句

while循环
当条件满足时,不 断地重复循环体内的语句。

while ( 循环条件 ) //循坏条件成立(值为1),就一直执行循环内的语句
{  
    语句
}

do while 循环

do{
     <循环语句>
}while(<循环条件>);//先开始循环语句一次,若结果满足循环条件再开始第二次循环

两种循环的区别
do-while循环和while循环很像,区别是do while 在 循环体执行结束的时候才来判断条件。即无论如何,循环都会执行至少一 遍,然后再判断条件。

求整数的位数

#include 
int main(){
  int x,n;
  scanf("%d",&x);
  while ( x > 0 ) {   
	x /= 10;
	n++;
  }
printf("%d",n);
}

循环的调试
选中一行后,点击√符号,然后再控制台输入后进行调试

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存