c语言运算符和表达式例题(CC学习笔记)

在C语言中,我们学习过:

  • 算数运算符( 、-、*、/、%)
  • 自增自减运算符( 、--)
  • 赋值运算符(=)
  • 关系运算符(>、< 、>=、<=、!=、==)
  • 逻辑运算符(&&、||、!)

我们再简单复习一下!

c语言运算符和表达式例题(CC学习笔记)(1)

运算符一、什么是表达式

用运算符和操作数连接起来的式子,包括:简单的表达式和复杂表达式

二、什么是语句

结尾的表达式就是一个语句

C语句 :每一个语句都是;作为结束

空语句:什么内容也没有直接以分号结束;

语句块:用花括号括起来的{}

三、运算符1、赋值运算符(=)

变量名 = 常量(变量/表达式)

左值:出现在赋值语句的左边 左值(常量不能够作为左值)

右值:出现在赋值语句的右边 右值

初始化:在声明一个变量的时候,为他赋一个初始值

赋值:给定一个值

A、自动类型转换

转换规则:

如果把较短的数值类型变量的值赋值给比较长的数值类型的变量,那么较短的数值类型变量的值就会升级表示为较长的数据类型,数据信息不会丢失。

如果较长的数值类型的变量赋值给较短的数值类型变量,那么数据就会降低级别表示,并且数据超过较短的数值类型的可以表示范围,就会发生数据截断。

B、强制类型转化

如果数据类型不同,就会根据不同情况自动进行类型转化,编译器会提示警告的信息,如果使用强制类型转化,编译器不会发生警告提示。

一般形式:(类型名)(表达式)

c语言运算符和表达式例题(CC学习笔记)(2)

2、算数运算符

单目运算符: 、- 、 、--

双目运算符: - * / %(取模运算符 求余数)(两边的操作数只能是整数,余数符号根据被除数来确定)

单目运算符 -- -

表达式 在前 先自增 在赋值

在后 先赋值 在自增

优先级,结合性

* /

-

=

3、关系运算符

用于判断两个操作数的大小关系(返回真值 或 假值)

0表示假值 非零表示真(-1,-2,1,2)用1表示真

>

>=

<

<=

==

!=

4、逻辑运算符

&& 逻辑与 两个为真 为真,有一个为假,为假

|| 逻辑或 有一个为真 为真,

! 逻辑非 是真 为假 ,是假,为真

短路现象

if ((a=0) && (b=45)) { //为假就不会执行,为真才执行 printf("真的\n"); } else { //为假 printf("假的\n"); printf("a=%d,b=%d\n",a,b); } if ((a=45) || (b=2)) { //为假就不会执行,为真才执行 printf("真的\n"); printf("a=%d,b=%d\n",a,b);//a=45,b=0 } else { //为假 printf("假的\n"); printf("a=%d,b=%d\n",a,b); }

5、条件运算符(三目运算符)

?:

表达式 ? 语句1 : 语句2

如果表达式为真,就执行语句1

为假,执行语句2

嵌套:1 > 2 ? printf("是真的\n") : 2 > 3?printf("2 > 3\n") :printf("2 < 3 \n");

//if else语句

如果

....

否则

....

c语言运算符和表达式例题(CC学习笔记)(3)

6、位运算符
  • & 按位与
  • | 按位或
  • ^ 按位异或 相同为0,不同为1
  • ~ 按位取反
  • 源码
  • 反码
  • 补码
  • 正数:三码合一
  • 负数:反码:符号位不变,其余位按位取反
  • 补码:符号位不变,反码 1
7、逗号运算符:

可以用逗号将多个表达式分隔开,整个表达式的值是最后一个表达式的值。

8、复合运算符

= 、-=、*= 、/=、%= 、^= 、|=等等

由于知识语法基本没有发生变化,本部分内容我们将重点用实际程序演示的方式进行

拆分位数,我们可以C 如下实现:

#include<iostream> usingnamespacestd; intmain() { inta;//待判断的这个三位数 intge;//三位数中的个位 intshi;//三位数中的十位 intbai;//三位数中的百位 cin>>a; ge=a; shi=a0/10; bai=a/100; cout<<ge<<""<<shi<<""<<bai<<endl; return0; }

c语言运算符和表达式例题(CC学习笔记)(4)

#include<iostream> usingnamespacestd; intmain() { intx,y; cin>>x; if(x<1) { y=x; } elseif(1<=x&&x<10) { y=2*x-1; } else { y=3*x-11; } cout<<y<<endl; return0; }

运行结果如下:

c语言运算符和表达式例题(CC学习笔记)(5)

大家依旧注意逻辑运算符&&的使用场景,千万不要出现类似1<=x<10的连写写法!

对编程感兴趣的小伙伴可以点击下方了解更多,可以免费得到视频资料和在线电子书籍噢~

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页