(1).代码清单
① 输入的整数是奇数还是偶数呢?
#includeint main() { int cont; do { int no; printf("请输入一个整数:"); scanf("%d", &no); if (no % 2) puts("这个整数是奇数"); else puts("这个整数是偶数"); printf("要重复一次吗?yes请输入0,no请输入9"); scanf("%d", &cont); } while (cont == 0); return 0; }
do语句:可以按照选择意愿任意循环执行
如果读取的变量值为while中所设定的值,就会循环执行do和while之间的循环体中的复合语句,否则循环结束
符合语句中的变量要在符合语句中进行声明,这叫局部变量。
!a和 a==0 的含义相同
!运算符被称为逻辑非运算符,用于判断操作是否为0
② 逆向显示输入的非负整数
#includeint main() { int num; do { printf("请输入一个非负整数:"); scanf("%d", &num); if (num < 0); puts("请不要输入负整数!"); } while (num < 0); printf("该整数的逆向显示结果是"); do { printf("%d", num % 10); num = num / 10; } while (num > 0); puts("。"); return 0; }
第一个do语句只有在num值为负的时候才会执行,因此当循环结束时num必大于等于0,第二个do语句用来实现输入整数的逆向显示。
num%10可以求出整数的最后一位数字,然后通过num/10将num除以10的结果赋值给num,由于num的值大于0,因此会再次执行循环体。接下来显示196除以10的余数,也就是倒数第二位的数字,同样的处理会在mun大于0时候执行。
③ 计算输入的非负整数的位数
#includeint main() { int num; int dig; do { printf("请输入一个非负整数:"); scanf("%d", &num); if (num < 0); puts("aaa请不要输入负整数"); } while (num < 0); dig = 0; do { num = num / 0; dig = dig + 1; } while (num > 0); printf("该整数的位数是%d。n", dig); return 0; }
④ 计算并显示从1到5的和
#includeint main() { int no = 1; int sum = 0; do { sum = sum + no; no = no + 1; } while (no <= 5); printf("1到5的合计值是%dn", sum); return 0; }
在声明变量的时候,除了有特殊要求,一定要对其进行初始化。
⑤计算从1到5的和(使用复合赋值运算符)
#includeint main() { int no = 1; int sum = 0; do { sum += no; no += 1; } while (no <= 5); printf("1到5的合计值是%dn", sum); return 0; }
sum+=no 表示给sun的值加上no
⑥计算并显示1到5的和(使用赋值运算符和后置递增运算符)
#includeint main() { int no = 1; int sum = 0; do { sum += no; no++; } while (no <= 5); printf("1到5的合计值是%d", sum); return 0; }
A++表示使A的值增加1
(2).相关练习
①读取输入的两个整数值,然后计算它们之间所有整数的和
#include2.while语句int main() { int a, b, max, min; int sum = 0; printf("请输入整数1: "); scanf("%d", &a); printf("请输入整数2: "); scanf("%d", &b); if (a >= b) { min = b; max = a; } else { min = a; max = b; } do { sum = sum + min; min = min + 1; } while (min <= max); printf("他两的和为%d.n", sum); return 0; }
(1).代码清单
①从输入的整数开始倒数到0
#includeint main() { int no; printf("请输入一个整数:"); scanf("%d", &no); while (no >= 0) { printf("%dn", no); no--; } putchar('n'); return 0; }
while 语句循环,会已知循环执行其中的语句
与do语句不用的,while会在开始时候判断控制表达式的值,do语句是在执行完一次循环体内语句之后在进行判断。
putchar 函数可以用来显示字符,他只有一个参数,就是需要显示的字符。
② 输入一个整数连续显示出该整数个★
#include3.for语句int main() { int no; printf("请输入一个正整数:"); scanf("%d", &no); while (no-- > 0) printf("★"); putchar('n'); return 0; }
(1).代码清单
①从0递增显示到输入的正整数为止
#includeint main () { int i,no; printf("请输入一个正整数:"); scanf("%d",&no); for(i=0;i<=no;i++) printf("%d",i); putchar('n'); return 0; }
for循环语句
for(表达式1;表达式2;表达式3)语句
② 固定次数的循环
#includeint main () { int i, no; printf("请输入一个正整数:"); scanf("%d",&no); for(i=1;i<=no;i++) printf("★"); putchar('n'); return 0; }
③显示9*9表
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= 9; j++)
printf("%3d", i * j);
putchar('n');
}
return 0;
}
④描绘一个长方形
#includeint main() { int i, j; int width, height; puts("描绘一个长方行"); printf("宽"); scanf("%d", &width); printf("高"); scanf("%d", &height); for(i=1;i<=height;i++) { for (j = 1; j <= width; j++) printf("★"); putchar('n'); } return 0; }



