《程序设计基础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
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 { 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 { 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 for(i=0; ;i++) { j=i*10+6; if( ) continue; printf(\} 题目5:编写一个把小写字母转换为大写字母的程序。要求敲入”/”,则停止转换。(文件名:f5.cpp) #include 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 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