3.C语言——语句,常用操作符

语句部分

语句很简单,do,do while ,while,if,for…

主要复习一下平时用的很少的switch

switch语句

switch( expression)
{
statement
}

注意点1:expression必须是整型,char是特殊的整型

尽管在switch语句体内只使用一条单一 的语 句也是合法的,但这样做显然毫无意义。

实际使用 :switch语句一般如下所示:

switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;

case 常量表达式n: 语句n;
default: 语句n+1;
}

注意点2:这里是常量表达式!!也就是说他不能是任何的变量

语句的执行流程

switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;

case 常量表达式n: 语句n;
default: 语句n+1;
}

1.首先计算expression的值

2.然后执行流转到语句列表中与case对应的expression值匹配的语句

3.从这条语句执行到整个列表结束,也就是最后一句语句,他们之间的所有语句都将被执行

但是我们可能只需要执行一句语句就够了怎么办?

break语句可以解决

switch(表达式)
{
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;

case 常量表达式n: 语句n;break;
default: 语句n+1;
}

break之后我们就会跳出这个语句

default语句

如果我们的表达式的所有值和case的标签的值都不匹配怎么办?问题不大,所有的都被跳过而已

但是如果我们有了default,在所有情况都不符合的情况下我们会直接跳到这个语句执行,举一个例子(我们的default在中间)

switch(表达式)
{
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;

default: 语句;

case 常量表达式n: 语句n;break;
}

我们会跳到default那里去,注意了,我们这句default后面并没有break,那么我们就会一直执行下去,知道最后或者直到遇到break!

问题来了,为什么下面这幅图上面default后面不需要break:

在这里插入图片描述
很简单,因为这个default在最后面,直接会退出语句

goto 暂且不说,在我们目前学习到的知识里面,能用goto的地方都能用其他语句表示,goto确实有很适合它的地方,但不是现在

普通操作符

##############################普通运算符################################

常用的操作符+,-,*,/,%

注意点1

我们的不同类型之间计算的时候我们的会进行类型转化,类型转化的规则是从低字节往高字节转化

char < short < int < long < float < double

注意点2

%符号对负数取余用的很少

我们来看看负数取余

在这里插入图片描述
结论,不论什么数取余,无论哪种情况,最后的结果的符号都与我们第一个数的符号相同,也就是说

我们可以先把所有的数字转化为整数取余后再来判断符号

位移运算(选看)

弄清楚这个还要搞清楚补码,原码,反码。这个视频比我讲得好

其他不常用运算符

逗号表达式我们都知道判断真假的时候我们只关心最后一个表达式的真假,前面的我们都不需要管

但是,前面的表达式可以影响最后一个表达式!

在这里插入图片描述

前面的第一个表达式进行了赋值操作,影响了最后一个表达式。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值