标签:-- round amp 运算符 很多 str c++语言学习 oat 语文
1、复合语句(程序块)
例子1:
输入两个整数,计算并显示较大的值和较小的值。
#include"stdio.h" int main() { int n1,n2,max,min; puts("请输入两个整数:"); printf("整数1:"); scanf("%d",&n1); printf("整数2:"); scanf("%d",&n2); if(n1>n2) { max=n1; min=n2; } else { max=n2; min=n1; } printf("较大的数是 %d\n",max); printf("较小的数是%d\n",min); return 0; }
{ }中间的语句是在 n1>n2的时候同时一起执行的
这不再像之前单一的语句
如果我们的语句没有加 { },那么会有不一样的意思,把其中的一部分拿出来更改如下:
if (n1>n2) max=n1; min=n2;
这样,无论n1>n2是否满足, 成立。 min都是为n2
可以做一个测试来验证。
这种用 { }括起来的 多条语句 就叫做复合语句,也称为语句块。
加和不加 { },在上面的情况下是由完全不同的意思。
如果回到上一节的例子中去,if语句的执行的语句部分只有单条语句的情况下,也可以改成如下的情况,意思是不变的:
//省略其他部分程序 if(n1>n2) { max=n1; }else { max=n2; }
这个就是单条的语句的程序 ,从这里我们得到什么启发呢?
单条可以加括号,多条也可以加括号,实际上,多条语句即复合语句就可以理解为一条语句——他是在那个条件之下做的一系列的事情,用多句话来表示。
我们在生活中也 可以由很多类似的例子来印证这种理解。
2、逻辑运算符
例子:输入一个整数月份,判断他是在哪个季节。
我们都知道 春季是在(3,4,5)月
夏季是在(6,7,8)月
秋季是在(9,10,11)月
冬季是在(12,1,2)月
其他月份的值不存在。
根据以上,程序代码如下:
#include"stdio.h" int main() { int month; printf("请输入月份:"); scanf("%d",&month); if(month >=3 && month<=5) printf("%d 月是春季\n",month); else if(month >=6 && month<=8) printf("%d 月是夏季\n",month); else if(month >=9 && month<=11) printf("%d 月是秋季\n",month); else if(month==1 || month==2 || month=12) printf("%d 月是冬季\n",month); else printf("%d 月不存在\n",month); return 0; }
这里所使用的是 && 和 || 成为逻辑运算符
&& 成为“与 ” ,也就是并且的意思,这个相当于语文理解中的 “只有 ………………才…………”。这就是必须要的条件
|| 成为“或”,就是或者的意思,所以这个相当于 语文中的“只要 ………………就…………”。这个就是非必要条件。
转换成程序当中的专业表达就是如下:
(当表达式成立的时候,返回的是1 而不成立的时候返回的是0)
a && b
利用上述的分析,表达如下:
只有 a 和 b 同时为 1的时侯,才为 1(确切的说应该是非0,简化期间如此表达)
也可以 说:只有 a 为1 并且 b为1 ; 才能使得上面的表达式为1;
a | b | a && b |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
a || b转换成表达如下:
只要 a 为1 或者 b 为1, 就可以得到表达式子的值为1
a | b | a || b |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
标签:-- round amp 运算符 很多 str c++语言学习 oat 语文
原文地址:https://www.cnblogs.com/xujieqiang/p/14188051.html