5第二章基本语句_循环:

  • 格式:ppt
  • 大小:112.50 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例1:打印1,2,3…n(手动输入n),每个占一行。
int main() {
int I,n; scanf(“%d”,&n); for (i=1;i<=n;i++)
printf(“%d”,i); return 0;
}
Βιβλιοθήκη Baidu意:
1) for 循环中的“表达式 1(循环变量赋初值)”、 “表达式 2(循环条件)”和“表达式 3(循环变量增 量)”都是选择项, 即可以缺省,但“;”不能缺省。
6、如果一个数除了它本身之外的所有的因子的和等于该 数,这个数就是一个完数。例如6的因子为1,2,3, 则6=1+2+3,因此6是个完数。编程找出1000之 内的所有完数。
7、求100~200之间的所有素数。
8、假如我国国民生产总值的年增长率为8%,计算5年后我国 国民生产总值与现在相比增长多少百分比。计算公式为 p=(1+r)n
相当于:
i=1; while(1) {
sum=sum+i; i++;
}
4) 省略了“表达式 3(循环变量增量)”, 则 不对循环控制变量进行操作,这时可在 语句体中加入修改循环控制变量的语句。
例如:
for(i=1;i<=100;)
{
sum=sum+i;
i++;
}
5) 省略了“表达式 1(循环变量赋初值)”和“表达 式 3(循环变量增量)”。
用。
其中r 为年增长率,n为年数,p为与现在相比的倍数。
9、请编程序将“China”译成密码,密码的规律是:用原来的 字母表中后面第4个字母代替原来的字母。例如,字母A后面的 第4个字母为E。请编一程序用赋初值的方法将c1,c2,c3,c4,c5 将“China”变译为“Glmre”。
10、存款利息的计算。有1000元,想存5年,可以按以 下5种方法存:
for(sum=0;i<=100;i++)sum=sum+i;
8) 表达式 1 和表达式 3 可以是一个简单表达式也可以是多 个表达式,中间用逗号分隔。
for(sum=0,i=1;i<=100;i++)sum=sum+i; 或:for(i=0,j=100;i<=100;i++,j--)k=i+j; 9) 表达式 2 一般是关系表达式或逻辑表达式,但也可是数
第二章基本语句(5) 循环控制语句2
信息技术教研组
循环控制语句:for循环语句
在 C 语言中,for 语句使用最为灵活。 for(表达式 1;表达式 2;表达式 3)
语句; 它的执行过程如下: 1) 先求解表达式 1。 2) 求解表达式 2,若其值为真(非 0),则执行 for 语句中
指定的内嵌语句,然后执行下面第 3)步;若其值为假 (0),则结束循环,转到第 5)步。 3) 求解表达式 3。 4) 转回上面第 2)步继续执行。 5) 循环结束,执行 for 语句下面的一个语句。
return 0; }
作业
1、 有一大堆核桃,两个两个拿,余下一个;三个三个 拿,余下两个;四个四个拿,余下三个;以此类推, 直至九个九个拿,余下八个。问这一大堆核桃最少是 几个?
2、有四个自然数,它们的和为45,而第一个数加上2, 等于第二个数减去2,同时等于第三个数乘以2,也等 于第四个数除以2,依次打印输出这四个数。
循环条件是一个关系表达式,它决定什么时候退出循 环;
循环变量增量,定义循环控制变量每循环一次后按什 么方式变化。
这三个部分之间用“;”分开。
对比while语句写出的for语句
i=1; while(i<=100) {
sum=sum+i; i++; }
for(i=1; i<=100; i++) sum=sum+i;
2) 省略了“表达式 1(循环变量赋初值)”, 表示不 对循环控制变量赋初值。 例如:
i=1; for(;i<=100;i++) sum=sum+i;
3) 省略了“表达式 2(循环条件)”, 相当 于条件永远成立,则不做其它处理时 便成为死循环。
例如:
for(i=1;;i++) sum=sum+i;
3、利用格里高利公式:π/4 = 1-1/3+1/5-1/7+1/91/11… 可以求出π的值。要求精确到数点后的第六位。
4、求1!+2!+…+20!的末6位。
5、输出所有的水仙花数,所谓的水仙花数是指一个3位 数,其各位数字立方数和等于该数本身。例如153是 一个水仙花数,因为153=13+53+33。
return 0; }
例:输出所有aabb的四位数。
int main() {
int i,j,k,m; for (i=1;i<=9;i++)
for (j=1;j<=9;j++) for (k=0;k<=9;k++) for(m=0;m<=9;m++) if(i=j&&k=m) printf(“%d%d%d%d”,i,j,k,m);
例如: for(;i<=100;) {
相当于: while(i<=100) {
sum=sum+i;
sum=sum+i;
i++;
i++;
}
}
6) 3 个表达式都可以省略。 例如: for(;;)语句 相当于: while(1)语句 7) 表达式 1 可以是设置循环变量的初值的赋值表达式,
也可以是其他表达式。 例如:
值表达式或字符表达式,只要其值非零,就执行循环体。 例如:
for(i=0;(c=getchar())!=’\n’;i+=c); 又如:
for(;(c=getchar())!=’\n’;)
printf(“%c”,c);
循环语句的嵌套
一个循环体内又包含另一个完整的循环结构, 称为循环的嵌套。内嵌的循环中还可以嵌套 循环,这就是多层循环。
例: int main() {
int i; for(i=1;i<=10;i++) { printf("%d\n",i); } return 0; }
for 语句最简单的应用形式也是最容易理解的形式如 下:
for(循环变量赋初值;循环条件;循环变量增量) 语句;
循环变量赋初值总是一个赋值语句, 它用来给循环控 制变量赋初值;
3种循环(while 循环、do…while循环和for 循环)可以互相嵌套。
例:编写程序,输出下面的图案
int main() { int i, j, k; printf("i j k\n"); for (i=0; i<2; i++)
for(j=0; j<2; j++) for(k=0; k<2; k++) printf(“%d %d %d\n", i, j, k);
11、购房从银行贷了一笔款d,准备每月还款p, 月利率为r,计算多少月能还清。设d为 300000,p为6000元,r为1%。对求得月份 m按四舍五入取整处理。
提示:计算还清月数m的公式如下:
m=log(p/(p-d*r))/log(1+r) log(x)函数包含在math.h头文件中,可以直接调
(1)一次存5年期。 (2)先存2年期,到期后将本息再存3年期。 (3)先存3年期,到期后将本息再存2年期。 (4)存一年期,到期后本息再存一年期,连续存5次。 (5)存活期存款,活期利息每一季度结算一次。
注:2018年12月央行的存款利率如下: 活期存款 0.35% 一年定期 3% 二年定期 3.75% 三年定期 4.25% 五年定期 4.75% 编程算出哪种存法收入最高。