2019年10月10日C语言学习
程序员文章站
2024-01-01 17:46:40
...
2019年10月10日C语言学习
知识补充
一、类型转换
1.自动类型转换
原则:把范围小的类型的值转换到范围大的类型的值
short < int < long < float < double
2.强制类型转换
double num = 6;//小类型转换大类型--自动类型转换
int num1 = (int)num;//大类型转换小类型--强制类型转换
二、运算符
1.赋值运算符
单等号=(计算顺序:从右向左)
复合赋值运算符
int num = 10;
num += 5;//等价为num = num + 5;
//输出结果为num=15;
2.算术运算符
一元运算符:++、–
二元运算符:+、-、*、/、%(mod取余)
以下示例为++前置与后置的区别:
int num = 10;
num ++;//等价为num = num + 1;
//输出结果为num=11;
int num = 10;
++num;//等价为num = num + 1;
//输出结果为num=11;
int num = 10;
int result = num ++;
//输出结果为result=11,num=11;
int num = 10;
int result = ++ num;
//输出结果为result=10,num=11.
3.关系运算符
==(恒等)、!=(不等)、> 、<、>=、<=
拓展:C语言中,0表示false,1表示true
4.逻辑运算符
运算符 | 表达式 | 说明 |
---|---|---|
&&并且 | 条件1&&条件2 | 两个条件同时为真,结果为真 |
||或 | 条件1||条件2 | 两个条件中只要有一个为真,结果为真 |
! | !条件 | 条件为真,结果为假;反之亦然 |
三、运算符优先级
从上往下运算符级别依次降低
()、sizeof、++、-- (*)
!
算术运算符
关系运算符
&&
||
赋值运算符(最低级)
四、条件结构
if结构(if…else…、if…else if…else…)
if(条件为真)
{
代码块1;
}
else if()/else
{
代码块2;
}
if结构语句实例
#include <stdio.h>
void main()
{
double flowerprice;//鲜花的价格
//打印剧情
printf("在一个月黑风高的夜晚\n");
printf("一个小男生用自己的零花钱给女生买了一束鲜花\n");
printf("小女生问小男生鲜花的价格:“这花多少钱?”\n");
printf("小男生回答说:");
//录入鲜花价格
scanf("%lf",&flowerprice);
//模拟小女孩反应
if(flowerprice > 999999)
{
printf("小女孩直接昏了过去!\n");
}
else if(flowerprice >= 100000 && flowerprice <= 999999)
{
printf("明天就结婚!\n");
}
else if(flowerprice >= 10000 && flowerprice < 100000)
{
printf("拉拉手意思意思,明天再约!\n");
}
else
{
printf("好吧,我们是朋友,你是个好人!\n");
}
}
switch结构
switch(表达式)
{
case 常量1:
语句1;
break;//跳出switch循环结构
case 常量2:
语句2;
break;
......
default://所有case都不满足条件时,执行default
语句;
}
注意:
1.表达式只能为整型或字符型;
2.case后的常量表达式的值不能相同;
3.case后允许多条语句,不需要大括号;
4.如果不添加break语句,需要注意执行顺序,没有break会继续向下执行语句,直至遇到break;
5.case与default的字句的先后顺序可以自行改变,但default不在最后时需要加上break;
6.default语句可以省略。
switch结构与多重if结构对比
相同点:都是用来处理多分支条件的结构
不同点:switch:等值条件判断----条件是有限个的时候
多重if:判断某个连续区间时的情况