C语言最重要的知识点(chap3)

第三章

特别要注意:
C语言中是用非0表示逻辑为真,用0表示逻辑为假。
C语言有构造类型,没有逻辑类型。
关系运算符号:注意<=的写法,==和=的区别!(考试重点)
if只管后面一个语句,要管多个,请用大括号!

1)关系表达式:

a.表达式的数值只能为1(真),或0(假)。
如9>8为真,所以此表达式的数值就是1。
如7<6为假,所以此表达式的数值就是0。

b.考试最容易错的:

int x=1,y=0,z=2;
x<y<z;//是真是假

真。因为1<0为假,得到表达式数值为0,此时表达式就变成了0<2,那么运算结果就是1,为真!

c.等号和赋值的区别!一定要记住“=”就是赋值,“==”才是等号。

2)逻辑表达式:

核心:表达式的数值只能为1(真),或0(假)。

a.共有&& || !三种逻辑运算符号。

b.优先级:!> &&> ||

c.注意短路现象,考试比较喜欢考到,详见书上例子。

d.表示x小于0大于10的方法。
0<x<10是不行的。因为是先计算0<x得到的结果为1或0;再用1或0与10比较,得到的总是1(真)。所以一定要用(0<x)&&(x<10)表示比0大比10小

3)if语句:

a.else是与最接近的if且没有else的语句匹配。

b.交换的程序写法:

t=x;
x=y;
y=t;

c.if只管后面一个语句,要管多个,请用大括号!(常考)

if(a<b) t=a;a=b;b=t;//只管t=a
if(a<b) {
t=a;a=b;b=t;
}//管大括号内的所有语句

d.

if(a<b) t=a;//单独的if语句

if(a<b) min=a;
else min=b;//标准的if语句

if(a<b)
 if(b>c) printf("ok!");//嵌套的if语句

if(a==t) printf("a");
else if(b==t) printf("b");
else if(c==t) printf("c");
else printf("d");//多选一的if语句

经典考题:结合上面四种if语句题型做题

int a=1,b=0;
if(!a) b++;//不执行(假)
else if(a==0)//不执行(假) 
 if(a) b+=2;//else if的嵌套if语句,不执行(假)
else b+=3;//if和else if语句没有一个正确的,就执行else的语句!

4)条件表达式:

表达式1 ? 表达式2 : 表达式3

a.考试口诀:真前假后。(即表达式1的数值为非0时,采用表达式2;表达式1的数值为0时,采用表达式3)

b.求k:

int a=1,b=2,c=3,d=4,e=5;
k=a>b?c:d>e?d:e;//k=5

5)switch语句:

a.执行的流程一定要弄懂!

b.注意有break和没有break的差别,书上的两个例子,没有break的时候,只要有一个case匹配了,剩下的都要执行;有break则是直接跳出switch语句。

c.switch只可以和break一起用,不可以和continue用。

d.

switch(x) x://x是整型常量,字符型常量,枚举型数据。
{
 case 1:...//不可以是变量。
 case 2:...
}

e.switch是必考题型

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值