1、 程 序 设 计 基 础 C实验报告教学班级:_111040602_ 学号:_ 姓名:_课程教师:_ 实验辅导教师:_程序设计基础 C 实验报告1重庆理工大学计算机学院 2012 年 2 月程序设计基础 C 实验报告2实验 6 循环程序设计教学班级:_ 学号:_ 姓名:_实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、实验目的1. 了解 C 语言循环结构的使用范围。2. 学会正确使用逻辑运算符和逻辑表达式。3. 熟练掌握 C 语言的三种循环结构:whilc 语句、do_while 语句、for语句的特点和使用方法。4. 能够编写一些有实际应用意义的循环结构程序。二、实验内容1基本内容题目
2、 1:编写一个自然数 1 至 n 的累加程序(如:1+2+3+n) 。 (使用 goto 语句)(文件名:f1.cpp): #includevoid main() int i,a,n;a=i=0;printf(“n=“);scanf(“%d”,E: i+;a+=i;if (ivoid main()题目 2:计算 1357 99+101 的值 (提示:注意符号的变化) (文件名:f2.cpp )#includevoid main() int i,t=1,s=0; /* t 标识符号 */for (i=1;ivoid main() int i=1,n;long s=1;scanf(“%d“,whi
3、le(i) s*=i; i+;if(in) break;printf(“s=%ldn“,s);程序运行结果是: 输入数的阶乘 不使用 break 语句,此程序应如何修改? #include程序设计基础 C 实验报告4void main() int i=1,n;long s=1;scanf(“%d“,while(ivoid main() int i,j;for(i=0; ivoid main() char c,d;putchar();do c=getchar();c=(a); while(c!=/); /* 判断是否是”/” ,则停止转换 */程序设计基础 C 实验报告5运行程序,输入 2Aab
4、cEfgAB/程序运行结果是: 2AabcE2AABCEfgFGABAB 将第 9 行改为:if (c=n)再运行程序,输入 2AabcEfgAB/程序运行结果是: 2AabcE2AABCEfgFGABAB 2选择内容题目 6:根据公式 求 e 的近似值,精度要求为 10-n!312!1e(文件名:f6.cpp)include void main() int i;double e,n;e=1.0; n=1.0;for (i=1;n=1e-6;i+) n=n/i; e+=n; printf(“e=%fn”,e);完善程序,运行结果: e=2.718282 题目 7:打印出如下图案(文件名:f7.
5、cpp)程序设计基础 C 实验报告6#include void main()int i,j;for(i=1;i=1;i-)for(j=1;jvoid main()* * * * * * * * * * * * * * * * * * *程序设计基础 C 实验报告7#includevoid main()int i,j;for(i=1;ivoid main()int i,j,k,m,n;for(i=1;ivoid main() int i,s=0,a10=0,1,2,3,4,5,6,7,8,9;for(i=3;ivoid main() int k,s,i,a10=1,2,3,4,5,6,7,8,9
6、,10;float ave;for(k=s=i=0;ivoid main() int a10;int i,j,max,min;printf(“Please input 10 numbers:n“);for(i=0;iaj+1)max=aj;min=aj+1;else max=aj+1;min=aj;printf(“max=%d min=%d“,max,min);程序设计基础 C 实验报告15题目 5:冒泡法对 10 个数排序(从小到大) 。 (文件名:g5 .cpp)#include void main() int a10;int i,j,temp;printf(“Please input 1
7、0 numbers:n“);for(i=0;iaj+1) temp=aj;aj=aj+1;aj+1=temp;printf(“The sorted numbers:n“);for(i=0;i#include void main()char c30;int i,sum=0;gets(c);for(i=0;ivoid main() int i,j,row,col,min;int a34=1,2,3,4,9,8,7,6,-1,-2,0,5;min=a00;row=col=0;for(i=0;i void main() char s20,s120;scanf(“%s”,s);printf(“s=%sn
8、”,s); scanf(“%s%s”,s,s1);printf(“s=%s,s1=%s”,s,s1);puts(“n”);gets(s); puts(s);2选择内容实验 7:题目 6:任意输入 20 个数在一维数组 a 中,求 20 个数的平均值。 (文件名:g6.cpp)程序代码: 程序设计基础 C 实验报告17#includevoid main()float score 10,avg=0,sum=0;int i;for(i=0;ivoid main()实验 8:题目 8:用字符数组存储任意输入的 10 字符,求该 10 字符中最大字符。 (文件名:h8.cpp)程序代码: #includ
9、evoid main()题目 9:从键盘上任意键入一个 3 行 4 列的矩阵,要求输出其转置矩阵。 (文件名:h9.cpp)程序设计基础 C 实验报告18程序代码: #includevoid main()题目 10:有 5 个学生,考 3 门功课。求出每一个学生的总分及平均分,统计平均成绩低于 60 分的学生人数。 (文件名:h10.cpp)程序代码:#includevoid main()int a3 ;int i,ave,sum,x;for(iscanf(”%d”,三、 实验结果(用截图说明)实验七题目一程序设计基础 C 实验报告19题目二实验八程序设计基础 C 实验报告20第二题第三题程序
10、设计基础 C 实验报告21四、调试心得(选作)程序设计基础 C 实验报告22实验 9,10 函数实验教学班级:_ 学号:_ 姓名:_实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的1. 理解函数定义的方法。2. 掌握函数实参与形参的对应关系,以及”参数传递” 的方式;3. 掌握函数的嵌套调用和递归调用的方法;4. 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。二、 实验任务1基本内容实验 9:题目 1:以下程序是求 3 个数中的最大值(文件名:i1.cpp)#includevoid main() int a,b,c,m;int max(int x,int y);
11、/* 函数声明*/printf(“input a,b,c=“);scanf(“%d,%d,%d”,printf(“m=%dn”,m);int max(int x,int y) /*函数定义*/ int z;z=(xy)?x:y;return z; 完善程序,如果输入 4,2,6,程序运行结果: 程序设计基础 C 实验报告23题目 2:(文件名:i2.cpp )#includevoid main() int a3=0,2,4,6,8,10,12,14,16,sum;int func(int a3); /*函数声明*/sum=func(a);printf(“n sum=%dn”,sum);int
12、func(int a3) /*函数定义*/ int i,j,sum=0;for(i=0;ifloat average(float array10) /* 注意数据类型的一致 */ int i; float aver,sum=0;for (i=0;ivoid main() int number;printf(“请输入一个正整数:n”);scanf(“%d”,if ( )printf(“n %d 是素数:”,number);elseprintf(“n %d 不是素数:”,number);int prime(int number) int flag=1,n;for (n=2; flag=1 int
13、max(int a,int b) int c;c=ab?a:b;return c;void main() int a=8;printf(“%d”,max(a,b);程序设计基础 C 实验报告25局部变量: int a=3,b=5;int c;全局变量: a=8; 程序运行结果: 8 题目 5:以下是一个求 1-10 累加和的错误程序,请改正。 (文件名:j5.cpp)#includevoid main() int i,s;for(i=1;i#include void main() void inverse(char str);char str100;printf(“输入字符串:n”);scan
14、f(“%s”,str);inverse(str);printf(“转换后的字符串是:%sn”,str);程序设计基础 C 实验报告26void inverse(char str) char t;int i,j;for (i=0,j=strlen(str); ivoid main()题目 7:在主函数中定义二维数组 A34、B4,用子函数对数组 A34每一行求和,其值放在数组 B4中,在主函数中输出该值。 (文件名:i7.cpp)程序代码: #includevoid main()程序设计基础 C 实验报告27三、 实验结果(用截图说明)第二题第五题程序设计基础 C 实验报告28四、调试心得(选作
15、)程序设计基础 C 实验报告29实验 11 指针实验教学班级:_ 学号:_ 姓名:_实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的1掌握指针的概念,指针变量的定义和使用。2熟悉和了解 C 语言指针一般设计方法。3学会使用 C 语言指针进行程序设计。4学会使用数组的指针和指向数组的指针变量。5进行简单 C 语言指针语句的设计、调试、编译和运行。二、 实验任务1基本内容题目 1:阅读以下程序。 (文件名:k1.cpp#includevoid main() int x=1,y=2, *p, *q;p=x;q=y; /* error */printf(“x=%d,y=%dn”,x,y);printf(“printf(“p=%d,q=%dn”,p,q);printf(“p=%d,q=%dn”,*p,*q);请改正程序中的错误。预测程序结果,并上机调试运行程序。题目 2:预测程序结果,并上机运行程序验证结果。 (文件名:k2.cpp)#includevoid main() int a=1,3,5,7,9,11,13;int *p=a ;