C语言知识上机实验报告.doc
《C语言知识上机实验报告.doc》由会员分享,可在线阅读,更多相关《C语言知识上机实验报告.doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.*青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件 111实验日期2011.04.21姓名赵亚东学号201107209实验成绩实验名称实验一 C程序的运行环境和运行C程序的方法实验目的及要求1熟悉Visual C+6.0环境。 2了解建立控制台应用程序的基本步骤。3初步了解Visual C+6.0的环境设置。4初步学会简单的程序调试方法。5学会编写简单的C程序。6初步熟悉C语言操输入scanf函数、输出printf函数的使用。7掌握C语言基本数据类型,熟悉变量的定义及变量的初始化和赋值操作。8掌握不同的类型数据之间赋值的规律。9掌握C语言的算术运算符的使用以及算术表达
2、式的使用;掌握自加自减运算符的特点及使用。实验环境Visual 6.0+ Windows 7实验内容1按照上述步骤,创建一个基于控制台的应用程序,该程序项目中只包含一个源程序文件。功能为求两个整数的和,数据从键盘输入。2创建一个基于控制台的应用程序,求一元二次方程的根。使得当输入三个实数a,b,c(满足b*b-4*a*c0),能够求出方程a*x*x+b*x+c=0的两个实根,并显示在屏幕上。分析提示: 通过键盘输入方程系数a,b,c的值,而后根据求根公式计算并输出它的两个根。算法描述及实验步骤实验 一 1、 先定义两个变量 a,b。2、键入a和b。3、输出两个数的和。实验 二1、定义并输入a
3、b c。2、判断d=b2-4ac的大小。3、如果小于零则无解,等于零有一个解,x1=(-b)/(2*a)。4、大于零有两个解。x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);5、输出结果。调试过程及实验结果1 2 总结掌握了掌握C语言基本数据类型,变量的定义及变量的初始化和赋值操作,不同的类型数据之间赋值的规律。了解了C语言的算术运算符的使用以及算术表达式的使用,自加自减运算符的特点及使用。附录实验一 1#includevoid main()int a,b,s;scanf(%d%d,&a,&b);printf(s=%dn,a+b);实验一 2#include
4、#includevoid main()double a,b,c,d,x1,x2;printf(a b c :);scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;if (d0)printf(无解n);else if (d=0)x1=(-b)/(2*a);printf(一个解:x=%gn,x1);else x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(两个解:x1=%g,x2=%gn,x1,x2);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件 111实验日期2012.4.28姓名赵亚东学号2
5、01107209实验成绩实验名称实验二 选择结构程序设计实验目的及要求1掌握赋值语句的使用方法。2掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。3能正确使用关系运算符及表达式、逻辑运算符及表达式。4熟练掌握if语句,学会使用if-else语句设计双分支和多分支结构程序。5熟练掌握switch语句的特点,学会使用switch语句设计多分支结构程序。实验环境Visual 6.0+ Windows 7实验内容3编写程序,根据输入的学生成绩,给出相应的等级。90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。要求分别用if语句和switch语句实现。4使用switch语句编
6、写简单的四则运算程序。算法描述及实验步骤实验 3 用if 语句时:先输入学生成绩,判断等级,然后直接输出等级代号A,B,C,D,E。 用switch 语句时:先输入学生成绩,除以十,取整。根据数值6到9判断等级。然后输出等级代号A,B,C,D,E。实验 4 先定义字符变量c和数值变量a,b。然后判断字符变量为何种运算符号。最后输出相应结果。调试过程及实验结果34总结掌握了赋值语句的使用方法,各种类型数据的输入输出方法,能正确使用各种格式转换符、关系运算符及表达式、逻辑运算符及表达式。 掌握了if语句,学会使用if-else语句设计双分支和多分支结构程序;掌握了switch语句的特点,学会使用s
7、witch语句设计多分支结构程序附录实验二 3用 if 语句:#includevoid main()int a;printf(请输入学生成绩:n);scanf(%d,&a);if (a90)printf(该学生成绩等级是 An);else if (a80)printf(该学生成绩等级是 Bn);else if (a70)printf(该学生成绩等级是 Cn);else if (a60)printf(该学生成绩等级是 Dn);else printf(该学生成绩等级是 En);用 switch 语句:#includevoid main()int a,m;printf(请输入学生成绩:n);scan
8、f(%d,&a);m=a/10;switch(m)case 9:printf(该学生的成绩等级是:An);case 8:printf(该学生的成绩等级是:Bn);case 7:printf(该学生的成绩等级是:Cn);case 6:printf(该学生的成绩等级是:Dn);default:printf(该学生的成绩等级是:En);实验二 4#includevoid main()float a,b;char c;scanf(%f%c%f,&a,&c,&b);switch(c)case +:printf(%fn,a+b);break;case -:printf(%fn,a-b);break;cas
9、e *:printf(%fn,a*b);break;case /:printf(%fn,a/b);break;青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-2姓名赵亚东学号201107209实验成绩实验名称实验三 循环结构程序设计实验目的及要求1熟练掌握while、do-while、for语句的特点,学会设计循环结构程序。2掌握break语句以及continue语句的特点及使用范围。3学会编写循环嵌套程序。3结合程序掌握一些简单的算法。4进一步学习调试程序。实验环境Visual 6.0+ Windows 7实验内容4编程练习。求 的部分和。
10、直到最后一项的值小于1.0e-4。 提示:第 n 项 un=xn/n!, 第 n+1 项 un+1= xn+1/(n+1)! 及 un+1 = un(x/(n+1)5编程练习。有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?分别是多少?算法描述及实验步骤实验四1、调用函数。2、定义x s i j。输入x。3、直到n大于10000。4、i=i*(x/(j+1); s=s+i; 5、输出s实验五 1、定义i j k fre=0。2、利用三重for语句。for(i=1;i=4;i+)for(j=1;j=4;j+);for(k=1;k=4;k+)。3、if(i!=k&i!=j&k!
11、=j),输出i*100+j*10+k。4、最后输出(总数为:%dn,fre) 调试过程及实验结果3、4、总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)附录实验三 3#include#includevoid main()int x;double s,i,j;scanf(%d,&x);s=1,j=0;for(i=1;i=pow(10,-4);j+)i=i*(x/(j+1);s=s+i;printf(s=%fn,s);实验三 4#include void main()int i,j,k,fre=0;for(i=1;i=4;i+)for(j=1;j=4;j+)for(k=1;k=4;k+
12、)if(i!=k&i!=j&k!=j)printf(%5d,i*100+j*10+k);fre=fre+1;printf(n);printf(总数为:%dn,fre);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-2姓名赵亚东学号201107209实验成绩实验名称实验四 数组程序设计实验目的及要求1.掌握一维数组、二维数组的定义、引用及其存储方式。2.掌握字符数组、字符串以及字符串数组的含义及区别。3.掌握常用字符函数及字符串函数的使用。4.掌握常用数组的排序、查找等算法。实验环境Visual C+6.0 Windows XP实验内容2编写
13、程序,定义一个含有30个元素的int类型数组.依次给数组元素赋奇数1、3、5、7;然后按每行十个数顺序输出,最后再按每行十个数逆序输出。3已知数组中的值在0-9的范围内,统计每个整数的个数。算 法描述及实验步骤实验2 1、定义一个一维数组a30,i,j=1。2、利用for循环输出,ai+1=ai+2;printf(%6d,ai)。 3、输出数组,定义初始值1或者59。确定顺、逆序。实验 3 1、定义一个一维随机数组含20个数。2、输出该一维数组。 3、利用for循环int m,n,k; for(m=0;m=9;m+) for(n=0;n20;n+) if(m=an)。4、输出每个数各有几个。调
14、试过程及实验结果 2、3、总结掌握常用字符函数及字符串函数的使用,掌握常用数组的排序、查找等算法。附录实验2#includevoid main()int a30,i,j=1;for(i=1;i31;i+)a1=1;ai+1=ai+2;printf(%6d,ai);if(i%10=0)printf(n);printf(n);for(i=1;i31;i+)a1=59;ai+1=ai-2;printf(%6d,ai);if(i%10=0)printf(n);实验4#include#includevoid main()int i,a20;for(i=0;i20;i+)ai=rand()%10;prin
15、tf(%3d,ai);printf(n);int m,n,k;for(m=0;m=9;m+)k=0;for(n=0;n20;n+)if(m=an)k+;printf(%d有%d个n,m,k);青 岛 理 工 大 学课程实验报告课程名称计算机程序设计 (C)班级软件111实验日期2012-5-7姓名赵亚东学号201107209实验成绩实验名称实验五 函数实验目的及要求1掌握函数定义的各个要素。如函数返回值的类型、形式参数与实际参数等。2掌握变量的作用域和生存期的概念。3掌握局部变量与全局变量的区别、静态局部变量和局部变量的区别、静态全局变量和全局变量的区别;理解外部变量和外部函数的概念。4理解数
16、组作为函数的参数的含义。5理解函数的嵌套调用。6掌握函数的递归调用。实验环境Visual C+6.0 window7实验内容3求100200之间的素数。要求:每行10个数输出;定义子函数isprime,函数原型为 int isprime( int n);4设f(x)=(2x3+3x2-4x+1)/(10x2+3),q(x)=3f(x)3+2f(x)2+f(x),编程实现输入x的值,计算输出q(x)的值,要求有q(x)和f(x)的定义。5求菲波那契数列1,1,2,3,5,8,13,21,34的前20项。要求:使用递归;每行输出5个数。算法描述及实验步骤实验3 1、定义函数 isprime(int
17、 n)。2、当(n%i=0)时,返回0.否则返回1。3、定义main函数。确定范围100200. 4、当isprime函数成立,每五个一行输出。实验 4 1、定义函数f= (2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); q= 3*pow(f(x),3)+2*pow(f(x),2)+f(x);。2、定义main 函数。3、输出q函数。实验 5 1、定义fib函数。前两项为1.2、利用递归函。Fib(x)= fib(x-1)+fib(x-2);。3、每五项一行输出。调试过程及实验结果3、4、5、总结1,掌握了函数定义的各个要素。2,如函数返回值的类型、
18、形式参数与实际参数等.3,需要进一步掌握函数。附录实验 3#includeint isprime(int n)int i;for(i=2;in;i+)if(n%i=0)return 0;return 1;main()int n,m=0;for(n=100;n=200;n+)if(isprime(n)printf(%5d,n);m+;if(m%10=0)printf(n);printf(n);实验 4#include#includedouble f(float x)double c;c=(2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3);return c;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 上机 实验 试验 报告 讲演 呈文
限制150内