C语言梳理

第三章
特别要注意: C 语言中是用非 0 表示逻辑真的,用 0 表示逻辑假的。
C 语言 构造类型 没有 逻辑类型
关系运算符号:注意 <= 的写法, == = 的区别! (考试重点)
if 只管后面一个语句 要管多个,请用大括号
1 )关系表达式:
a、表达式的数值只能为 1(表示为真),或 0(表示假)。
如 9>8 这个关系表达式是真的,所以 9>8 这个表达式的数值就是 1。
如 7<6 这个关系表达式是假的,所以 7<6 这个表达式的数值就是 0
b、考试最容易错的:就是 int x=1,y=0,z=2;
x<y<z 是真还是假?带入为 1<0<2,从数学的角度出发肯定是
错的,但是如果是 C 语言那么就是正确的!因为要 1<0 为假得到 0,表达式就变成
了 0<2 那么运算结果就是 1,称为了真的了!
c、等号和赋值的区别! 一定记住“=”就是赋值,“= =”才是等号。 虽然很多人可以
诵,但我依然要大家一定好好记住,否则,做错了,我一定会强烈的鄙视你!
2 )逻辑表达式: 核心: 表达式的数值只能为 1(表示为真),或 0(表示假)。
a) 共有&& || ! 三种逻辑运算符号。
b) !>&&>|| 优先的级别。
c) 注意短路现象。考试比较喜欢考到。 详细请见书上例子,一定要会做例 1 和例 2
d) 表示 x 小于 0 大于 10 的方法。
0<x<10 是不行的( 一定记住 )。 是先计算 0<x 得到的结果为 1 或则 0;再用 0,或 1 与
10 比较得到的总是真(为 1)。所以一定 要用 (0<x)&&(x<10) 表示比 0 大比 10 小。
3 if 语句
a、else 是与最接近的 if 且没有 else 的语句匹配。
b、交换的程序写法:t=x;x=y;y=t;
c、if(a<b)t=a;a=b;b=t;
if(a<b){t=a;a=b;b=t;}两个的区别,考试多次考到了!
d、单独的 if 语句: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 pritnf(“d”);
通过习题,要熟悉以上几种 if 语句!
经典考题:结合上面四种 if 语句题型做题,答错了,请自行了断!预备,开始!
int a=1,b=0;
if(!a)b++;
else if(a= =0)
if(
a)b+=2;
else b+=3;请问 b 的值是多少?
如果没有看懂题目,你千万不要自行了断,这样看得懂不会做的人才会有理由的活着。
正确的是 b 为 3。
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、考试口诀 真前假后
b、注意是当表达式 1 的数值是 0 时,才采用表达式 2 的数值做为整个运算结果,当表达
式 1 的数值 0 时, 就用表达式 3 的数值做为整个的结果。
c、int a=1,b=2,c=3,d=4,e=5;
k=a>b?c:d>e?d:e;求 k 的数值时多少? 答案为 san
5 switch 语句: a) 执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂!
b)注意有 break 和没有 break 的差别,书上的两个例子,没有 break 时候,只要有一个
case 匹配了,剩下的都要执行,有 break 则是直接跳出了 swiche 语句。break 在 C 语言中就是
分手,一刀两断的意思。
c) switch 只可以和 break 一起用,不可以和 continue 用。
d) switch(x) x:是整型常量,字符型常量,枚举型数据。
{case 1: …. 不可以是变量。
case 2: ….
}
e)switch 是必考题型,请大家一定要完成书上的课后的 switch 的习题。
第四章
1 )三种循环结构:
a)for() ; while(); do- while()三种。
b)for 循环当中必须是两个分号,千万不要忘记。
c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。
d) do-while()循环的最后一个 while();的分号一定不能够丢。(当心上机改错), do-while
循环是至少执行一次循环。
2) break continue 的差别
记忆方法:
break:是 打破 的意思,(破了整个循环)所以看见 break 就退出整个一层循环。
continue: 是 继续 的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的
语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。
3 )嵌套循环
就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层
是处理二维数组的。
4) while (( c=getchar() !=’\n’ ) 和
while c=getchar() !=’\n’ )的差别
先看 a = 3 != 2 和 (a=3)!=2 的区别:
(!=号的级别高于=号 所以第一个先计算 3!=2) 第一个 a 的数值是得到的 1;第二个 a
的数值是 3。
考试注意点 : 括号在这里的重要性。
5 )每行输出五个的写法:
for( i=0 ;i<=100;i++)
{ printf(“%d”,i);
if((i+1)%5==0)printf(“\n”); 如果 i 是从 1 开始的话,就是 if(i%5==0)printf(“\n”);
}
6 )如何整除一个数: i%5==0 表示整除 5
I%2==0 表示整除 2,同时表示是偶数!
7 )输入 123 ,输出 321 逆序输出 数据
int i=123;
while(i!=0)
{
printf(“%d”, i%10) i=i/10;}
8)for 只管后面一个语句:
int i=3;
for(i=3;i<6;i++):
printf(“#”): 请问最终打印几个#号?答案为一个!
9 )不停的输入,直到输入 # 停止输入! 不停的输入,直到输入 $ 停止输入!
while( (x=getchar())!=’ # ’ ) while( (x=getchar())!=’ $ ’ )
不停的输入,直到遇到?停止输入!
while( (x=getchar())!=’ ? ’) 解说:一定要注意这种给出了条件,然后如何去写的
方法!
10 for 循环和 switch 语句的和在一起考题!
11 多次出现的考题
int k=1 int k=1;
while(
- -k); while(
k- -);
printf(“%d”,k); printf(“%d”,k);
结果为 0 结果为-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值