程序的循环控制—-do 语句
例1:
输入的整数是奇数还是偶数呢
#include<stdio.h>
int main()
{
int retry;//要继续吗
do
{
int no;
此处绿色为自由发挥的条件,可以不这样写 |
printf("请输入一个整数");
scanf("%d",&no);
if(no%2)
puts("这个数是奇数。");
else
puts("这个数是偶数。");
printf("要重复一次吗?【Yes...0/No...9】:");
scanf("%d",&retry);
}while(retry==0);
return 0;
}
do是执行的意思,while是在······的期间的意思。只要()中的表达式的判断结果不为0,语句就会循环执行,与while语句和for语句的区别是该语句无条件执行循环一次。
逻辑非运算符
!是逻辑非运算符。运算符是判断操作数是否为0是0的单目运算符。
!a 当a的值是0时值为1,当a的值是1时a为0.(其结果为int类型)
德摩根定律
概念比较拗口,就在这不写了,直接上公式
x&&y和!(!x||!y)相等
x||y和(!x&&!y)相等
字面解释:对各条件取非,将逻辑与变为逻辑或,将逻辑或变为逻辑与,然后再取其否定,结果和原条件一样(可以类比高中学过的命题的否定)
复合赋值运算符
+= * / % + - << >> & ^ |
例
不断地输入整数,显示其和和平均值
#include<stdio.h>
int main()
{
int sum=0;//和
int cnt=0;//整数个数
int retry;//是否继续处理
do
{
int t;
printf("请输入一个整数:");
scanf("%d",&t);
sum+=t;
cnt++;
printf("是否继续?【Yes...0/No...9】");
scanf("%d",&retry);
}while(retry==0);
printf("和为%d,平均值为%.2f。n",sum,(double)sum/cnt);
return 0;
}