C语言上机实验报告.docx

上传人:b****6 文档编号:8471312 上传时间:2023-01-31 格式:DOCX 页数:44 大小:138.57KB
下载 相关 举报
C语言上机实验报告.docx_第1页
第1页 / 共44页
C语言上机实验报告.docx_第2页
第2页 / 共44页
C语言上机实验报告.docx_第3页
第3页 / 共44页
C语言上机实验报告.docx_第4页
第4页 / 共44页
C语言上机实验报告.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

C语言上机实验报告.docx

《C语言上机实验报告.docx》由会员分享,可在线阅读,更多相关《C语言上机实验报告.docx(44页珍藏版)》请在冰豆网上搜索。

C语言上机实验报告.docx

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实验四1、调用函数。

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++)

{

if(s

s=a[i];

災楲瑮?

最大数是;%d\n,s);

dizhi(&s);

}

大学岛理工青

课程实验报告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(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1