C语言上机实验报告.docx
- 文档编号:8471312
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:44
- 大小:138.57KB
C语言上机实验报告.docx
《C语言上机实验报告.docx》由会员分享,可在线阅读,更多相关《C语言上机实验报告.docx(44页珍藏版)》请在冰豆网上搜索。
C语言上机实验报告
青岛理工大学
课程实验报告
课程名称调
(C)
计算机程序设计
班级
软件111
实验日期
姓名试
赵亚东1
学号
9
实验成绩
实验名称
实验一C程序的运行环境和运行C程序的方法
实验目的及要求
1.熟悉VisualC++环境。
2.了解建立控制台应用程序的基本步骤。
3.初步了解VisualC++的环境设置。
4.初步学会简单的程序调试方法。
5.学会编写简单的C程序。
6.初步熟悉C语言操输入scanf函数、输出printf函数的使用。
7.掌握C语言基本数据类型,熟悉变量的定义及变量的初始化和赋值操作。
8.掌握不同的类型数据之间赋值的规律。
9.掌握C语言的算术运算符的使用以及算术表达式的使用;掌握自加自减运算符的特点及使用。
实验环境
Visual++Windows7
实验内容
1.按照上述步骤,创建一个基于控制台的应用程序,该程序项目中只包含一个源程序文件。
功能为求两个整数的和,数据从键盘输入。
2.创建一个基于控制台的应用程序,求一元二次方程的根。
使得当输入三个实数a,b,c(满足b*b-4*a*c>0),能够求出方程a*x*x+b*x+c=0的两个实根,并显示在屏幕上。
分析提示:
通过键盘输入方程系数a,b,c的值,而后根据求根公式计算并输出它的两个根。
算法描述及
实验一
1、先定义两个变量a,b。
2、键入a和b。
3、输出两个数的和。
实验二
1、定义并输入abc。
2、判断d=b^2-4ac的大小。
3、如果小于零则个解。
零有两、大于4。
x1=(-b)/(2*a)解,个有一等于零无解,
实x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);5、输出结果。
验步骤
过
程2及实
验结果掌握了掌握C语言基本数据类型,变量的定义及变量的初始化和赋值操作,不同的类型数据之间赋值的规律。
总
了解了C语言的算术运算符的使用以及算术表达式的使用,自加自减
运算符的特点及使用。
结
实验一1
#include<>附
voidmain()录
{
inta,b,s;
scanf(%d%d,&a,&b);
printf(s=%d\n,a+b);
}
实验一2
#include<>
#include<>
voidmain()
{
doublea,b,c,d,x1,x2;
printf(abc:
);
scanf(%lf%lf%lf,&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
牰湩晴尨无解\n);
elseif(d==0)
{
x1=(-b)/(2*a);
牰湩晴尨一个解:
x=%g\n,x1);
}
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
牰湩晴尨两个解:
x1=%g,x2=%g\n,x1,x2);
}
}
青岛理工大学
课程实验报告
课程名称程及
(C)
计算机程序设计
班级
111软件
实验日期
姓名实
赵亚东4
学号
9
实验成绩
实验名称
实验二选择结构程序设计
实验目的及要求
1.掌握赋值语句的使用方法。
2.掌握各种类型数据的输入输出方法,能正确使用各种格式转换符。
3.能正确使用关系运算符及表达式、逻辑运算符及表达式。
4.熟练掌握if语句,学会使用if-else语句设计双分支和多分支结构程序。
5.熟练掌握switch语句的特点,学会使用switch语句设计多分支结构程序。
实验环境
Visual++Windows7
实验内容
3.编写程序,根据输入的学生成绩,给出相应的等级。
90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。
要求分别用if语句和switch语句实现。
4.使用switch语句编写简单的四则运算程序。
算法描述及实验步骤
实验3用if语句时:
先输入学生成绩,判断等级,然后直接输出等级代号A,B,C,D,E。
用switch语句时:
先输入学生成绩,除以十,取整。
根据数值6到9判断等级。
然后输出等级代号A,B,C,D,E。
实验4先定义字符变量c和数值变量a,b。
然后判断字符变量为何种运算符号。
最后输出相应结果。
调
试
3过
验结果掌握了赋值语句的使用方法,各种类型数据的输入输出方法,能
正确使用各种格式转换符、关系运算符及表达式、总逻辑运算符及表达式。
掌握了if语句,学会使用结if-else语句设计双分支和多分支结构程序;掌握了switch语句的特点,学会使用switch语句设计多分支结构程序
实验二3
附用if录语句:
#include<>
voidmain()
{
inta;
牰湩晴尨请输入学生成绩:
\n);
scanf(%d,&a);
if(a>90)
牰湩晴尨该学生成绩等级是A\n);
elseif(a>80)
牰湩晴尨该学生成绩等级是B\n);
elseif(a>70)
牰湩晴尨该学生成绩等级是C\n);
elseif(a>60)
牰湩晴尨该学生成绩等级是D\n);
else
牰湩晴尨该学生成绩等级是E\n);
}
用switch语句:
#include<>
voidmain()
{
inta,m;
实
验
结
牰湩晴尨请输入学生成绩:
\n);
scanf(%d,&a);
m=a/10;
switch(m)
{
慣敳?
瀺楲瑮?
该学生的成绩等级是:
A\n);
慣敳?
瀺楲瑮?
该学生的成绩等级是:
B\n);
慣敳?
瀺楲瑮?
该学生的成绩等级是:
C\n);
慣敳?
瀺楲瑮?
该学生的成绩等级是:
D\n);
:
E\n);敤慦汵?
牰湩晴尨该学生的成绩等级是
}
}
4实验二
#include<>
voidmain()
{
floata,b;
charc;
scanf(%f%c%f,&a,&c,&b);
switch(c)
{
case'+':
printf(%f\n,a+b);break;
case'-':
printf(%f\n,a-b);break;
case'*':
printf(%f\n,a*b);break;
case'/':
printf(%f\n,a/b);break;
}
}
学理工大青岛
课程实验报告课程实验日2012-5-2
计算机程序设111
软件班级期名称(C)
计
实验成9
学号赵亚东姓名绩实验循环结构程序设计实验三名称
实for语句的特点,学会设计循环结构程序。
while.熟练掌握、do-while、1验continue语句的特点及使用范围。
2.掌握break语句以及目.学会编写循环嵌套程序。
3的.结合程序掌握一些简单的算法。
3及4.进一步学习调试程序。
要求实Windows7Visual++验环境4.编程练习。
求的部分和。
直到最后一项的值小于。
2nxxx...x?
?
?
?
...e?
1?
!
n2!
n+1n/(n+1)!
n提示:
第项u=x第/n!
n+1项u=xn+1n实(x/(n+1))
=uu及nn+1验四个数字,能组成多少个互不相同且无重复数字的三位数?
分42、3、5.编程练习。
有1、内别是多少?
容
算4、、直到n大于10000。
3
2、定义xsij。
输入x。
法s=s+i;5、输出s
i=i*(x/(j+1));
描语句。
1、定义ijkfre=0。
2、利用三重forfor(i=1;i<=4;i++)实验五述;for(k=1;k<=4;k++)。
for(j=1;j<=4;j++)
及、最后输出,输出3、if(i!
=k&&i!
=j&&k!
=j)i*100+j*10+k。
4尨总数为:
%d\n,fre)
实
验
步
骤
调
3、试、4过
程及
果(对实验结果进行分析,问题回答,实验心得体会及改进意见)
总
结
实验三3
#include<>附
#include<>录
voidmain()
{
intx;
doubles,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=%f\n,s);
}
实验三4
#include<>
voidmain()
{inti,j,k,fre=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!
=k&&i!
=j&&k!
=j)
{
printf(],i*100+j*10+k);
fre=fre+1;
}
}
printf(\
);
牰湩晴尨总数为:
%d\n,fre);
}
学大青岛理工课程实验报告课程实验日2012-5-2
计算机程序设计111
软件班级期名称(C)
实验成9
赵亚东学号姓名绩数组程序设计实验实验四
名称
实1.掌握一维数组、二维数组的定义、引用及其存储方式。
验2.掌握字符数组、字符串以及字符串数组的含义及区别。
目3.掌握常用字符函数及字符串函数的使用。
的4.掌握常用数组的排序、查找等算法。
及要求实VisualC++WindowsXP验环境实2.编写程序,定义一个含有30个元素的int类型数组.依次给数组元素赋奇数1、验3、5、7……;然后按每行十个数顺序输出,最后再按每行十个数逆序输出。
内3.已知数组中的值在0-9的范围内,统计每个整数的个数。
容
实验21、定义一个一维数组a[30],i,j=1。
2、利用for循环输出,算a[i+1]=a[i]+2;printf(m,a[i])。
法3、输出数组,定义初始值1描或者59。
确定顺、逆序。
实验3述1、定义一个一维随机数组含20个数。
2、输出该一维数组。
及3、利用for循环intm,n,k;for(m=0;m<=9;m++)for(n=0;n<20;n++)
实if(m==a[n])。
4、输出每个数各有几个。
验步骤2调、
试
过程及实验结果
3、
掌握常用字符函数及字符串函数的使用,掌握常用数组的排总序、查找等算法。
结
实验2
#include<>附voidmain()录{
inta[30],i,j=1;
for(i=1;i<31;i++)
{
a[1]=1;
a[i+1]=a[i]+2;
printf(m,a[i]);
if(i_x0010_==0)
printf(\
);
}
printf(\
);
for(i=1;i<31;i++)
{
a[1]=59;
a[i+1]=a[i]-2;
printf(m,a[i]);
if(i_x0010_==0)
printf(\
);
}
}
实
验
结
实验4
#include<>
#include<>
voidmain()
{
inti,a[20];
for(i=0;i<20;i++)
{
a[i]=rand()_x0010_;
printf(=,a[i]);
}
printf(\
);
intm,n,k;
for(m=0;m<=9;m++)
{
k=0;
for(n=0;n<20;n++)
if(m==a[n])
k++;
printf(%d有%d个\n,m,k);
}
}
学工大青岛理课程实验报告2012-5-7
实验日期软件课程名称111
班级(C)
计算机程序设计赵亚东实验成绩9
姓名学号实验五函数实验名称
1.掌握函数定义的各个要素。
如函数返回值的类型、形式参数与实际参数等。
实2.掌握变量的作用域和生存期的概念。
验3.掌握局部变量与全局变量的区别、静态局部变量和局部变量的区别、静态目全局变量和全局变量的区别;理解外部变量和外部函数的概念。
的4.理解数组作为函数的参数的含义。
及5.理解函数的嵌套调用。
要6.掌握函数的递归调用。
求
实VisualC++window7验环境3.求100~200之间的素数。
要求:
每行10个数输出;定义子函数isprime,函数原型为intisprime(intn);
实32232+f(x),编程实现输入+3),q(x)=3f(x).设f(x)=(2xx+3x+2f(x)-4x+1)/(10x的值,4验计算输出q(x)的值,要求有q(x)和f(x)的定义。
内5.求菲波那契数列1,1,2,3,5,8,13,21,34……的前20项。
容要求:
使用递归;每行输出5个数。
实验31、定义函数算isprime(intn)。
2、当(n%i==0)时,返回0.否则返回1。
3法、定义main函数。
确定范围100~200.4、当isprime函数成立,每五个一行输出。
描
实验述41、定义函数
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
函数。
验实验51、定义步fib函数。
前两项为、利用递归函。
Fib(x)=骤fib(x-1)+fib(x-2);。
3、每五项一行输出。
调试过程3及、
果
、54、1,掌握了函数定义的各个要素。
2,如函数返回值的类型、形式参数与实际参数等.总
3,需要进一步掌握函数。
结
实验3
#include<>
附
intisprime(intn)录{
inti;
for(i=2;i { if(n%i==0) return0; } return1; } main() { intn,m=0; for(n=100;n<=200;n++) { if(isprime(n)) { printf(],n); m++; } if(m_x0010_==0) printf(\ ); } printf(\ ); } 实验4 #include<> #include<> doublef(floatx) { doublec; c=(2*pow(x,3)+3*pow(x,2)-4*x+1)/(10*pow(x,2)+3); returnc; } doubleq(floatx) { doublec; c=3*pow(f(x),3)+2*pow(f(x),2)+f(x); returnc; } main() { floatx; doubley; scanf(%f,&x); y=q(x); printf(%lf\n,y); } 实验5 #include<> intfib(intx) { if(x==1||x==2) return1; else returnfib(x-1)+fib(x-2); } main() { intn,s; for(n=1;n<=20;n++) { s=fib(n); printf(%-5d,s); if(n%5==0) printf(\ ); } printf(%\n); } 大学岛理工青 课程实验报告2012-5-16 实验日期软件111 课程名称班级(C) 计算机程序设计 赵亚东实验成绩9 姓名学号实验六实验名称指针 1.理解指针的定义,学会指针变量的初始化以及指针可以参与的运实算。 验 2.掌握指针和一维数组的关系。 目 3.理解指针和二维数组的关系、理解行指针(或数组指针)的概念。 的4.及理解指针数组和数组指针的区别。 5.理解指针和函数的关系以及指针函数和函数指针的含义。 要 6.了解指针的指针(即二级指针)求。 实VisualC++window7验环境6.编写程序。 读入三个浮点数,将整数部分和小数部分分别输出。 实要求使用指针作形参。 验 7内.编写一个函数,返回数组元素中最大值的地址,并在主函数中输出该元素。 容 实验61、定义函数,指针做形参。 2、定义算法描a为整数部分,*p-a既是小数部分。 然后输出。 3、主函数中,键入三个浮点型数。 并使用述及实fu函数。 验 实验71步、定义dizhi函数,指针做形参。 返回地址。 2、定义主函数,以及一个数组。 骤3、调用dizhi函数,输出数组和最大值。 调试过6、程 及实验、7结果1.运用指针时应时刻注意指针指向的改变,避免逻辑上的错误,加大总通过指针变量可以提高程序质量,编写程序方便灵2.编程时的难度。 结 活,可以实现多个值的返回 附录 实验6#include<>voidfu(float*p){inta; a=(int)*p; 牰湩晴尨整数部分是%d小数部分是%f\n,a,*p-a); } main() { floata[3]; inti; for(i=0;i<3;i++) { scanf(%f,&a[i]); fu(&a[i]); } }实验7 #include<> intdizhi(int*p) { ints; p=&s; 牰湩晴尨地址是: %d\n,p); returnp; } main() { inti,s,a[10],*p; for(i=0;i<10;i++) {a[i]=rand()_x0010_; printf(%d,a[i]); } printf(\ ); s=a[0]; for(i=0;i<10;i++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 实验 报告