c语言if语句知识点总结,c语言中if语句知识点总结

41528d3028836879cd698677c3999917.gifc语言中if语句知识点总结

学习必备 欢迎下载 If语句知识点总结 一. if语句的三种基本形式 (1)if (表达式)语句; 例: if(x>y) printf(“%d”,x); (2)if(表达式) 语句1; else语句2; 例:if (x>y) printf(“%d”,x); else printf(“%d”,y); (3)if(表达式1)语句1; else if(表达式2)语句2; else if(表达式3)语句3; …… else if(表达式m)语句m; else 语句n; 例:if (number>10)cost=0.15; else if(number>30)cost=0.10; else if(number>100)cost=0.075; else if(number>500)cost=0.05; else cost=0.01; c语言中的六大陷阱 1.if(表达式)一般为逻辑表达式或关系表达式输出1/0,但原则上可以是任何变量、常量和表达式; 2.if(常量)--C语言中任何非零的数都被认作为真; 例一:int i=5; if(2)printf(“%d\n“,++i); else printf(“%d\n“,--i); 输出值:6 例二:int i=5,a=3,b; if(b=a)printf(“%d\n“,++i); /*上面括号里“b=a”即将a的值赋给b,所以该条件为真*/ else printf(“%d\n“,--i); 输出值:6 例三:int i=5,a=3,b=9; if(b==a)printf(“%d\n“,++i); /*括号中“==”含义为“等于”,所以是假*/ else printf(“%d\n“,--i); 输出值:4 3.注意:if(表达式)语句;表达式里面是“==“还是“=“ 4.如果if后面的表达式是多个关系表达式,要注意关系运算符 是两两进行比较的!!!!!!! int a=6,b=5,c=4,i=5; if(a>b>c)printf(“%d\n“,++i); /*括号中“a>b>c”,先判断“a>b”,为真,值为1;然后判断“1>c”,为假,所以“a>b>c”为假*/ else printf(“%d\n“,--i); 输出值:4 5.复合语句:>=2条的语句用{}括起来,共同完成一定功能 注意复合语句的用法! 6.在上机改错题中,如果在if语句后面的表达式中出现“=”,90%要将“=”改为“==”。 可乐雪碧原理/*输入两个实数,由小到大输出*/ 超级考点:交换 e.g. #include void main( ) { int a,b,t; printf(“请输入a,b的值:\n”); scanf(“%d,%d”, if(a>b); t=a; a=b; b=t; printf(“%d,%d\n”,a,b); } 注:1.如果在程序中遇到变量t或temp,就要联想变换; 2.验证程序结果一定要全面! 3.逻辑改错。 4.不得增加行,不得删掉行。 交换:1.if(a>b) t=a;a=b;b=t; 不是交换!!! /*分号标志此语句结束,在运行“t=a”后,此语句已经结束*/ 2.正宗的交换有以下两种形式: 1)if (a>b) t=a,a=b,b=t; 2) if (a>b) {t=a;a=b;b=t;} 3.if (a>b);{t=a;a=b;b=t}/*这个语句为空语句,注意!!!*/ “;”是语句结束的标志。 if(a>b) {t=a;a=b;b=t;} if(b>c) {t=a;b=c;c=t;} if(a>c) {t=a;a=c;c=t;} /*上面的程序错误,正确应该第二条和第三条交换位置*/ e.g.a=58,b=96,c=12 1.if(0) 不交换 a=58,b=96,c=12 2.if(1) 交换 a=58,b=12,c=96 3.if(0) 不交换 a58,b=12,c=96 短路现象:【空语句】 e.g.#include void main ( ) { int i=1,j=1,k=2; if (j++|| k++)&(i++); printf("%d,%d,%d\n",i,j,k); } 执行后输出的结果是(C) A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3 e.g.以下程序运行后的结果是(yes) #include void main ( ) { int a=1,b=3,c=5; if (c=a+b);/*前面括号中“c=a+b”意为将 “a+b”的值赋给c,非零输出*/ printf("yes\n"); else printf("no\n"); }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值