《程序设计基础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