《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输入并运行下面的程序:#include <stdio.h>int main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include <stdio.h>int main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运行结果(或截图):2. (1) 改正后的源程序:(2) 运行结果(或截图):五、思考题:1. 一个C程序上机的步骤有哪些?答:2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
二、预习内容:教材《C语言程序设计教程》第2章。
三、实验内容:1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。
main( ){char m,n;m=280;n=320;printf(“%d\t%d\n”,m,n);printf(“%c\t%c\n”,m,n);}2. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。
#include <stdio.h>int main( ){int a=3,b=4,c=8;float d,e;d=a+b/c;e=a+(float)b/c;printf("d=%f,e=%f\n",d,e);}3. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。
#include <stdio.h>main( ){int a,b,c,d,i,j,m,n;a=b=c=d=3;i=a++;j=++b;m=c--;n=--d;printf("a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%d\n",a,b,c,d,i,j,m,n);}4. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。
#include <stdio.h>main( ){int a=4;a+=a-=a*a+a;printf("a=%d\n",a);}四、实验结果:1. 运行结果(或截图):2. 运行结果(或截图):3. 运行结果(或截图):4. 运行结果(或截图):五、思考题:1. 给变量命名应该注意哪些问题?答:2. 程序2的运行结果中,d和e的值为什么不同?答:3. 程序3的运行结果中,i和j的值为什么不同?m和n的值为什么不同?答:4. 请分析表达式a+=a-=a*a+a的运算过程(写出运算步骤)。
答:成绩指导教师签名实验三 实验项目名称:简单的输入输出及顺序程序设计所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:1. 掌握整型、实型与字符型数据的正确输入方法(scanf 函数的使用);2. 掌握整型、实型与字符型数据的正确输出方法(printf 函数的使用);3. 掌握编写顺序程序的方法。
二、预习内容:教材《C 语言程序设计教程》第3章。
三、实验内容:1. 编写C 程序,按下列公式计算并输出S 的值,其中a 和b 的值有键盘输入。
2)(2b a abs +=main() { int a,b; float s;scanf(“%d,%d ”,&a,&b); s=2.0*a*b/(a+b) /(a+b); printf(“s=%f\n ”,s); }①输入并调试。
②将scanf 函数改为scanf(“%d%d ”,&a,&b);再编译,运行。
③观察结果。
2. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析程序运行过程及结果。
#include <stdio.h> int main( ) {int a,b,sum;printf("请输入第一个整数:"); scanf("%d",&a);printf("请输入第二个整数:"); scanf("%d",&b); sum=a+b;printf("%d+%d=%d\n",a,b,sum); }3. 设圆半径r=1.5,编写程序求圆周长、圆面积和圆球的体积。
要求用scanf 语句输入半径,输出时取小数点后两位。
四、实验结果:2. 运行结果(或截图):3. (1) 程序中用到的变量(类型)(2) 算法(用伪代码描述或自然语言)(3) 源程序清单(4) 运行结果(或截图)五、思考题:scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输入数据的方式有什么不同?从两种输入方式的对比中你得到什么启发?答:成绩指导教师签名实验四实验项目名称:选择结构程序设计所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:1. 正确使用关系运算符和关系表达式;2. 正确使用逻辑运算符和逻辑表达式;3. 熟练使用if 语句实现选择结构程序;2. 熟练使用switch 语句实现多分支选择结构程序。
二、预习内容:教材《C 语言程序设计教程》第4章。
三、实验内容:1. 下面程序的功能是:输入学生成绩,若成绩在90分以上,输出“Excellent!”;若成绩在60—89分之间,输出“Pass!”;若成绩在60分以下,输出“Fail!”。
请将程序补充完整,并上机运行程序。
#include <stdio.h> int main( ) {int score ;printf("请输入分数(0--100):"); scanf("%d ", );if(score>100 || score<0) printf("Input Error!\n "); else if( ) printf("Excellent!\n ");else if( ) printf("Pass!\n "); printf("Fail!\n "); }运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果:2. 有如下分段函数:⎪⎩⎪⎨⎧≥<≤<--=10101111312x x x x x xy请输入x 的值,求解对应的y 值。
3. 给出一个百分制成绩,要求输出成绩等级’A ’、 ’B ’、 ’C ’、 ’D ’、 ’E ’。
90-100为’A’,80-89为’B’,70-79为’C’,60-69为’D’,60分以下为’E’。
用switch语句写。
四、程序中所用的变量及其类型:2.3.五、算法(用伪代码或自然语言描述):2.3.六、源程序清单:2.3.七、实验结果:2. 运行结果(执行程序3次,分别输入不同的3个数,对应3种不同的情况):3. 运行结果(执行程序5次,分别输入5组不同的数据,对应5种不同的情况):成绩指导教师签名实验五实验项目名称:简单循环程序设计所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1. 掌握循环程序的基本结构;2. 熟练掌握while、do—while及for语句,并会用来编写循环结构程序。
二、预习内容:教材《C语言程序设计教程》第4章。
三、实验内容:1.编写一个程序,计算并输出数列:1,3,5,…,2n-1,…的前几项之和,其中n由键盘输入。
要求分别用3种循环语句实现。
方法1:用for语句实现。
main(){ long s,n,k,i;scanf(““,&n);k=2*n-1;;for(i=1;i<=k; ) s+=i;printf(“1+3+…+%ld=%ld\n”,k,s);}方法2:用while语句实现。
main(){long ,n,i=1;scanf(“%ld”,&n);while( ){s+=i;;}printf(“1+3+…+%ld=%ld\n”,2*n-1,s);}方法3:用do-while语句实现。
main(){long s=0,n,i=1;scanf(“%ld”,&n);do{s+=i;i=i+2;}while( );printf(“1+3+…+%ld=%ld\n”,2*n-1,s);}填上所缺的空,运行程序,写出结果。
2.输入两个正整数,求其中最大公约数和最小公倍数。
四、程序中所用的变量(类型及其初值):2.五、算法(用伪代码描述):2.六、源程序清单:2.七、实验结果:1.2. 运行结果(或截图):成绩指导教师签名实验六实验项目名称:多层循环程序设计及break、continue语句在循环程序中的应用所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1. 掌握多层循环程序的执行过程及设计方法;2. 掌握break及continue语句在循环程序中的使用方法。
二、预习内容:教材《C语言程序设计教程》第4章。
三、实验内容:1. 百马百担问题。
有100匹马,驮100担。
大马驮3担,中马驮2担,两个小马驮1担。
问大、中、小马各多少?(考虑适当减少循环次数)2. 编程输出100以内的所有素数。
3. 编程输出所有水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身,例如,153=13+53+33,所以153是一个水仙花数)。
四、程序中所用的变量(类型及其初值):1.2.3.五、算法(用伪代码或自然语言描述):1.2.3.1.2.3.七、实验结果:1. 运行结果(或截图):2. 运行结果(或截图):3. 运行结果(或截图):实验七实验项目名称:一维、二维和字符数组程序设计所使用的工具软件及环境:Visual C++ 6.0一、实验目的:1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法;2. 掌握字符数组的使用。