程序设计基础C实验报告 下载本文

《程序设计基础C》

教学班级:课程教师:

实 验 报 告

_______ 学号:__________ 姓名:___________ ______________ 实验辅导教师:_____________

重庆理工大学计算机学院

2012年2月

程序设计基础C实验报告

实验6 循环程序设计

教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 实验成绩:___________ 一、实验目的

1. 了解C语言循环结构的使用范围。

2. 学会正确使用逻辑运算符和逻辑表达式。

3. 熟练掌握C语言的三种循环结构:whilc语句、do_while语句、for语句的特点和使用方法。

4. 能够编写一些有实际应用意义的循环结构程序。

二、实验内容

1.基本内容

题目1:编写一个自然数1至n的累加程序(如:1+2+3+…n)。(使用goto语句) (文件名:f1.cpp): #include void main() { int i,a,n; a=i=0;

printf(“n=“); scanf(“%d”,&n); E: i++; a+=i; if (i

printf(“\\n a=%d”,a); }

① 输入10,程序运行结果是: ② 把该程序用for循环语句进行改写 程序代码:

#include

1

程序设计基础C实验报告

void main() {

}

题目2:计算1-3+5-7+......-99+101的值.(提示:注意符号的变化)(文件名:f2.cpp)

#include void main()

{ int i,t=1,s=0; /* t标识符号 */ for (i=1;i<101; i+=2) /*error*/ {s+=i*t; t= -t; } printf(“s=%d\\n”,s); }

以上程序运行结果不对,请将标有”erro”处改正。改正后,程序执行结果:

题目3:阅读下列程序,预测其输出结果,并上机验证。(文件名:f3.cpp)

#include void main()

{ int i=1,n; long s=1;

scanf(\ while(i) { s*=i; i++;

if(i>n) break; }

printf(\ }

①程序运行结果是:

②不使用break语句,此程序应如何修改?

2

程序设计基础C实验报告

题目4:下面程序的功能是打印100以内个位数为6且能被3整除的所有数,选择合适的语句填入该空格中。(文件名:f4.cpp)

#include void main() { int i,j;

for(i=0; ;i++) { j=i*10+6;

if( ) continue; printf(\}

题目5:编写一个把小写字母转换为大写字母的程序。要求敲入”/”,则停止转换。(文件名:f5.cpp) #include void main() { char c,d; putchar(?>?); do {

c=getchar();

c=(?a?<=c)&&(c<=?z?)?c-32:c; putchar(c);

if (c==?\\n?) ; //error putchar(?>?);

} while(c!=?/?); /* 判断是否是”/”,则停止转换 */ }

①运行程序,输入2AabcE?fg?AB/

程序运行结果是: ②将第9行改为:if (c==?\\n?)

再运行程序,输入2AabcE?fg?AB/

程序运行结果是:

2.选择内容

题目6:根据公式 e?1?11!?12!?13!?? 求e的近似值,精度要求为10-6 (文件名:f6.cpp)

3

程序设计基础C实验报告

#include

void main() { int i;

double e,n;

e=1.0; n=1.0; for (i=1;n>=1e-6;i++) { e+=n; } printf(“e=%f\\n”,e); }

完善程序,运行结果:

题目7:打印出如下图案(文件名:f7.cpp) *

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

#include void main() {int i,j;

for(i=1;i<=4;i++)

{ for(j=1;j<=8-i;j++) //理解数字8的作用 printf(\ \

for(j=1;j<=2*i-1;j++) printf(\ printf(\

} /* 上面的程序输出上三角形 */ /* 下面的程序输出下三角形 */ for(i=3;i>=1;i--)

{for(j=1;j<=8-i;j++) printf(\ \

for(j=1;j<=2*i-1;j++)

4