例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; }