C语言 第五章-循环结构程序设计
循环结构程序设计(C语言实验报告)
第 1 页 共 3 页 仲恺农业工程学院实验报告纸
信息学院(院、系) 专业 班 C语言程序设计 课
学号 姓名 实验日期 教师评定
实验名称:循环结构程序设计
实验目的:
(1)熟练掌握用三种循环语句实现循环的方法。
(2)掌握在程序设计中用循环方法实现的一些常用算法。
(3)进一步学习调试程序。
实验内容与总结:
编程练习
1、打印出所有“水仙花数”——教材P129-6.6
程序如下:
#include
void main()
{
int i,j,k,n;
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n-i*100-j*10;
if(n==i*i*i+j*j*j+k*k*k)
printf("水仙花数为:%d\n",n);
}
}
(1)程序编制要点:
①用for语句实现循环;
②立方的表示;
③if语句的表达。
(2)该题目涉及的知识点和难点:
①for语句的输入与使用;
②if语句的使用。
2、用迭代法求ax。求平方根的公式为:)(211nnnxaxx
程序如下:
第 2 页 共 3 页 #include
#include
void main ()
{
float x1,x2=1,a;
printf("请输入求平方跟的数a=");
scanf("%f",&a);
do
{
x1=x2;
x2=(x1+a/x1)/2;
}
while (fabs(x2-x1)>1e-5);
printf("x的平方根是:%f\n",x2);
}
(1)程序编制要点:
①用do…while语句实现循环;
5章循环结构程序设计C语言入门习题
第五章 循环结构程序设计
一、选择题
1. 以下程序的输出结果是( )。
main()
{ int n=4;
while (n--)
printf(〞%d〞,--n); }
A.20 B.31 C.321 D.210
2. 以下程序的输出结果是( )。
main()
{int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);}
A.10192 B.9876 C.10990 D.101091
3. 当执行以下程序段时。
x=-1;
do {x=x*x;}while (!x);
A.循环体将执行一次 B.循环体将执行两次
C.循环体将执行无数多次D.系统将提示有语法错误
4. 执行以下程序后输出的结果是( )。
main()
{ int y=10;
do{y--;}while(--y);
printf("%d\n",y--);}
A.-1 B.1 C.8 D.0
5. 下面程序的输出结果是( )。
main()
{ int x=3,y=6,a=0;
while (x++!=(y-=1))
{a+=1;
if (y
printf("x=%d,y=%d,a=%d\n",x,y,a);}
A.x=4,y=4,a=1 B.x=5,y=5,a=1
C.x=5,y=4,a=3 D.x=5,y=4,a=1
6.若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是 ( )。
for (i=5;i;i--)
for (j=0;j<4;j++){„}
A.20 B.24 C.25 D.30
8.在下列选项中,没有构成死循环的程序段是( )。
A.int i=100;
while (1)
{i=i%100+1;
if(i>100) break;}
B. for ( ; ;);
C.int k=1000;do {++k;}while (k>=10000);
C语言(循环结构程序设计)习题与答案
一、单选题
1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写__。
#include
void main( )
{
int i;
int t=__,s=__;
for(i=1;i<6;i++)
{
t=t*i;
s=s+t;
}
printf("1!+2!+3!+4!+5!=%d\n",s);
}
A.1 1
B.0 0
C.0 1
D.1 0
正确答案:D
2、下面代码段的输出是__
int k,m;
for(k=0;k<10;k++ )
{
if(m>50) continue;
m=k*k;
}
printf("%d,%d\n",k,m);
A.10,64
B.9,81 C.10,81
D.8,64
正确答案:A
3、对于以下代码:
int i;
for(i=0;i<10;i++)
printf("%d",i);
for循环结束后,i的值是__
A.11
B.10
C.9
D.i不再存在了
正确答案:B
4、对于以下代码:
int i=6;
do{
printf("%d", i--);
}while(i--);
正确的是__
A.输出6420-2-4...,程序无法停机
B.输出6420
C.输出6420-2
D.输出642
正确答案:A
5、对于以下代码:
int i=6;
do{ printf("%d", i--);
}while(i);
最后一个输出的值是__
A.2
B.3
C.0
D.1
正确答案:D
6、在代码:while(e)中,e等价于__
A.e == 0
B.e != 1
C.e == 1
D.e!=0
正确答案:D
7、在代码:while(e||1)中,e等价于__
A.e!=0
B.e == 1
C.e取任何值
D.e == 0
正确答案:C
8、设有程序段int k=5;
while(k=0) k=k-1;则下面描述中正确的是__
C语言第6章循环结构程序设计
第6章 循环控制程序设计
1/9
第6章 循环控制
本章要求:
1、初步熟悉用计算机解决问题的思路。
2、掌握while、do-while、for语句的特点和使用方法。
3、掌握break、continue语句的用法。
4、熟悉一些常见问题的算法及其C语言实现。
§6.1 概述
循环:反复执行称为“循环体”的程序段。
循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。
循环结构是结构化程序三种基本结构之一。(顺序结构、分支结构)。
根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环
1、用goto语句和if语句构成循环。
2、用while语句。
3、用do-while语句。
4、用for语句。
§6.2 goto语句
一般形式: goto 语句标号
作用: 无条件转向“语句标号”处执行。
“语句标号”是一个标识符,它表示程序指令的地址。
goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。
[例6.1] 用if语句和goto语句构成循环,求 。
main()
{
int i,sum=0;
i = 1;
loop: if (i <= 100)
{ sum = sum + i;
i++;
goto loop;
}
printf("%d",sum);
}
§6.3 while语句
一般形式:
while(表达式) 语句 第6章 循环控制程序设计
2/9
作用:实现“当型”循环。当“表达式”非0(真)时,执行“语句”。“语句”是被循环执行的程序,称为“循环体”。
C语言循环结构程序设计编程题
实验3 循环结构程序设计
一.实验目的:
1.掌握使用while语句,do-while语句和for语句实现循环的方法。
2.掌握在循环结构中使用break与continue语句的方法。
3.掌握多重循环的使用方法。
二.实验内容:
1.编写程序输出半径为1到15的圆的面积,若面积在30到100之间则予以输出,否则,不予输出。
2.打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方之和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。
3.编写程序,分行输出斐波那契序列的前20项(每行5个数)。
说明:斐波那契序列:1,1,2,3,5,8,13,21,……
4.编写程序,输出“九九乘法口诀表”。
5.编写程序,分行输出100以内所有的素数(每行5个数)。
6.有两个红球、三个黄球、四个白球,任意取五个球,其中必须有一个黄球,编程输出所有可能的方案。
7.编写程序求解sn=a+aa+…+a…a,其中a是1-9中的一个数字。n为一正整数,a和n均从键盘输入。(例如输入n为4,a为2,sn=2+22+222+2222)
8.编程统计从键盘输入的字符中数字字符的个数,用换行符结束循环。
9. 编写程序,输出200以内所有能被7整除的数。
10. 编写程序,求1~1000之间能被13整除的最大的那个数。
11. 找出若干个非零数中的最小值m以及它们的平均值a。要求:从键盘输入若干个数,每次输入一个赋给变量x,x为零时,结束输入。
12. 从键盘输入整数 n,输出 1+3+5+7+……前 n 项的和。(n<=100)
13. 编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
14. 编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
15. 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
C语言电子教案第四章循环结构程序设计
第1页
时
间 9 月 30日
星期 2 课
题 循环结构程序设计
教学目标 掌握三种循环语句的使用,以及执行过程
教学重点 while 语句do ~ while 语句for 语句的使用
教学难点 while 语句do ~ while 语句for 语句的关系和区别
课 型 公共课 教学媒体 多媒体
教法选择 讲授,举例,讨论
教 学 过 程 教法运用及板书要点
第四章循环结构程序设计
概述
C语言可实现循环的语句:
用goto 和 if 构成循环
while 语句
do ~ while 语句
for 语句
goto语句及用goto构成循环:
C语言不建议使用goto语句
4.1 while语句
一般形式:
while(表达式)
循环体语句;
#include
main()
{ int i,sum=0;
i=1;
while(i<=100)
{ sum=sum+i;
i++;}
printf("%d",sum);
}
特点:先判断表达式,后执行循环体
说明:
循环体有可能一次也不执行
循环体可为任意类型语句
下列情况,退出while循环
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环: while(1)
循环体; 第2页
4.2 do~while语句
一般形式:
do
循环体语句;
while(表达式);
#include
main()
{ int i,sum=0;
i=1;
do
嵌入式C语言循环结构程序设计
实验五 循环结构程序设计
【实验内容】
熟练掌握while、do—while和for三种循环语句的应用。
【实验目的】
通过实验,熟练掌握while、do—while和for三种循环语句,为以后开发打下基础。
【实验平台】
PC机
【实验步骤】
编写程序,完成下列题目:
1、求5!
2、求和s=1!+2!+3!
3、求和s=1!+3!+5!
4、求和s= 3+33+333
5、有一数列:2/1,3/2,5/3,8/5,„求出这个数列的前10项之和。
8、实验实训指导
1、程序清单:
int main(int argc,char **argv)
{
int n,t;
n=1;
t=1;
while(t<=5)
{
n=n*t;
t=t+1;
}
printf(“%d\n”,n);
}
2、程序清单:
int main(int argc,char **argv)
{
int n,s=0,t=1;
for(n=1;n<=3;n++)
{
t=t*n;
s=s+t; }
printf(“%d\n”,s);
}
3、程序清单:
int main(int argc,char **argv)
{
int s=0,t,i,j;
for(i=1;i<=3;i++)
{
t=1;
for(j=1;j<=2*i-1;j++)
t=t*j;
s=s+t;
}
printf(“%d\n”,s);
}
4、程序清单:
int main(int argc,char **argv)
{
int s=0,t=3,i;
for(i=1;i<=3;i++)
{
s=s+t;
t=10*t+3;
}
printf(“%d\n”,s);
}
5、程序清单:
int main(int argc,char **argv)
{
int n,t;
c语言第六章 循环结构程序设计(习题册答案)
第六章 循环结构程序设计
基础练习(A)
一、选择题
1、C语言中while和do-while循环的主要区别是(A)。
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件严格
C) C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合语句
2、以下描述中正确的是(C)。
A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D) do-while循环中,根据情况可以省略while
3、设有程序段
int k=10;
while(k) k=k-1;
则下面描述中正确的是( A )。
A)while循环执行10次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
4、下列循环语句中有语法错误的是( D )。
A) while(x=y) 5; B) while(0) ;
C) do 2;while(x==b); D) do x++ while(x==10);
5、已知int i=1; 执行语句while (i++<4) ;后,变量i的值为( C )。
A) 3 B) 4 C) 5 D) 6
6、语句while(!E);中的表达式!E等价于( A ) 。
A)E==0 B)E!=1 C)E!=0 D) E==1
7、下面程序段的运行结果是( A )。
a=1; b=2; c=2;
while(a
printf(“%d,%d,%d”,a,b,c);
C程序设计第五章课后习题答案
C程序设计(第四版)(谭浩强)第五章课后习题答案
循环结构程序设计
P115 5.1 用while计算1至100的合.
#include
int main()
{
int i=1,sum=0;
while(i<=100) //对于需要运算的值,要么在运算前可以赋值,要么一开始要指定.
{
sum=sum+i;
i++;
}
printf("The sum is %d .\n",sum);
return 0;
}
P117 5.2 用do-while来做1至100的合.
#include
int main()
{
int i=1,sum=0;
do // do-while可以做的事,用while都可以做到.
{ //do-while先做一次执行,再判断条件,而while却是先做一个条件,再执行.
sum=sum+i;
i++;
}while(i<=100);
printf("The sum is %d .\n",sum);
return 0;
}
P118 5.3 比较do-while与while的差别.
#include
C程序设计(第四版)(谭浩强)第五章课后习题答案
int main()
{
int i,sum=0;
printf("Please input a number :");
scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0.
while(i<=10)
{
sum=sum+i;
i++;
}
printf("The sum of 1-10 is %d .\n",sum);
return 0;
}
#include
int main()
{
int i,sum=0;
printf("Please input a number :");
scanf("%d",&i); //输入10以内,结果一样.输入11的话,先做操作,所以sum=11.
《C语言》章节列表
第1章程序设计和C语言1
第2章算法——程序的灵魂16
第3章最简单的C程序设计——顺序程序设计
第4章选择结构程序设计85
第5章循环结构程序设计114
第6章利用数组处理批量数据142
6.1怎样定义和引用一维数组142
6.1.1怎样定义一维数组143
6.1.2怎样引用一维数组元素144
6.1.3一维数组的初始化145
6.1.4一维数组程序举例146
6.2怎样定义和引用二维数组148
6.2.1怎样定义二维数组149
6.2.2怎样引用二维数组的元素150
6.2.3二维数组的初始化151
6.2.4二维数组程序举例152
6.3字符数组154
6.3.1怎样定义字符数组154
6.3.2字符数组的初始化155
6.3.3怎样引用字符数组中的元素155
6.3.4字符串和字符串结束标志156
6.3.5字符数组的输入输出159
6.3.6使用字符串处理函数161
6.3.7字符数组应用举例165
习题168
第7章用函数实现模块化程序设计170
7.1为什么要用函数170
7.2怎样定义函数172
7.2.1为什么要定义函数172
7.2.2定义函数的方法173
7.3调用函数174
7.3.1函数调用的形式174
7.3.2函数调用时的数据传递175
7.3.3函数调用的过程177
7.3.4函数的返回值178
7.4对被调用函数的声明和函数原型179
7.5函数的嵌套调用182
7.6函数的递归调用184
7.7数组作为函数参数192
7.7.1数组元素作函数实参193
7.7.2数组名作函数参数194
7.7.3多维数组名作函数参数197
7.8局部变量和全局变量199
7.8.1局部变量199 7.8.2全局变量200
7.9变量的存储方式和生存期204
7.9.1动态存储方式与静态存储方式204
7.9.2局部变量的存储类别205
7.9.3全局变量的存储类别208
7.9.4存储类别小结212
