c语言实验报告

2022-07-01

报告在当前的社会发展阶段,已经成为常见的事后总结方式,报告的内容,是以严谨、准确为特点的,有效的报告一般都具有哪些要素呢?今天小编为大家精心挑选了关于《c语言实验报告六》,欢迎阅读,希望大家能够喜欢。

第一篇:c语言实验报告六

实验1-C语言实验报告

C语言程序设计(A)

(2011-2012-1)

实验报告1

教学班级: 机械094 学号: 01 姓名:谭亮恩 课程教师:

曹瑛

实验辅导教师:

曹瑛

江西理工大学

P6-4:/*P6-4

表示第6页 第四题*/

int main () { float r,s; r=15.5; s=2*3.14*r;

printf("r=%4.2f,s=%f", r, s); return 0; }

结果是:r=15.5

s=97.34

P32-3-1: /*P32-3-1

表示第6页 第四题 第一小题*/ #include int main() { printf("this is cC program. T " ); return 0; } 结果是: This is C program.

P32-3-2: /*P32-3-2

表示第6页 第四题 第二小题*/ #include int main() { printf("*abdc *ABCD105x46*" ); return 0; }

结果是: *ABCDEF*

江西理工大学

第二篇:C语言实验报告

C语言第一学期实验:

第1次实验: 时间 2010-9-15

项目名称:创建第一个C语言程序

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0

实验程序:

1、 单击“开始”“程序”“Microsoft Visual Studio 6.0”“Microsoft Visual C++ 6.0”,打开VC++。

2、 在菜单中选择“文件”“新建”,在“工程”选项卡中选择“Win32 Console Application”,

输入一个名称,点“确定”,新建一个新的工程。

3、 再选择“文件”“新建”命令,在“文件”选项卡中选择“C++ Source File”,输入一个

名称,点“确定”,新建一个C++源文件。由于C++全面支持C,因此可以在此输入C语言的源代码,进行实验。

4、 在代码框中输入如下代码:

#include

void main ( )

{

int a,b,sum;

a=123; b=456;

sum=a+b;

printf ("sum is %d ", sum);

}

5、 编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中

选择“构建”最后在“编译”中选择“执行”。

实验结果:

sum is 579

讨论:本实验让我们了解了如何创建一个C语言的控制台应用程序,并学会了C语言程序的基本构架和个别特殊语句如“main”“printf”等。

实验地点:3B-20

3第2次实验:时间:2010-10-6

项目名称:顺序结构程序设计实验

(书89页4.9题,先把题抄下来)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0

实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下:

(自己写代码)

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行”。

实验结果:„„

讨论:„„

实验地点:3B-20

3第3次实验:时间:2010-10-27

项目名称: 选择语句switch的使用

(书111页5.6题,先抄题)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下:

(自己写代码)

2、 编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行”。 实验结果:„„ 讨论:„„ 实验地点:3B-20

3第4次实验:时间:2010-11-17 项目名称:循环语句for的使用(书129页6.1,先抄题)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下:

(自己写代码)

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行” 实验结果:„„ 讨论:„„

实验地点:3B-20

3第5次实验:时间: 2010-12-8 项目名称: 数组的应用(书134页例题7.3,先抄题)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下: (自己写代码)

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行” 实验结果:„„ 讨论:„„

实验地点:3B-20

3第二学期实验:

第1次实验: 时间 2011-2-25 项目名称:编写函数

(在主函数中输入两个数,分别调用四个自定义函数,实现两个数的加、减、乘、

除并输出结果。)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

6、 打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下: #include void main() {

int add(int x,int y); int sub(int x,int y); int mul(int x,int y); float div(int x,int y); int c,a,b; float d;

scanf("%d,%d",&a,&b); c=add(a,b);

printf("%d+%d=%d ",a,b,c); c=sub(a,b);

printf("%d-%d=%d ",a,b,c); c=mul(a,b);

printf("%d*%d=%d ",a,b,c);

d=div(a,b);printf("%d/%d=%f ",a,b,d); }

int add(int x,int y) {

return x+y;

}

int sub(int x,int y) {}

return x-y;

int mul(int x,int y) {} {

return x*y;

float div(int x,int y)

return (float)x/(float)y;

}

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行”。 实验结果:„„ 讨论:„„。

实验地点:3B-20

1第2次实验:时间:2011-3-11 项目名称:指针的应用(书278页10.3,先抄题)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下: (自己写代码)

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行”。 实验结果:„„ 讨论:„„

实验地点:3B-20

3第3次实验:时间:2011-4-8

项目名称:顺序结构程序设计实验(书318页11.3题,先把题抄下来)

仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序:

1、打开VC++6.0,新建一个C++源程序,在代码窗口输入程序如下:

(自己写代码)

2、编译、连接、运行:在“编译”中选择“编译”,没有错误和警告以后,在“编译”中选择“构建”最后在“编译”中选择“执行”。 实验结果:„„ 讨论:„„

实验地点:3B-203

9.1

#include

#define S(A,B,T) T=A;A=B;B=T void main(){} 9.6

#include #define PR printf #define NL " "

int a,b,t;

scanf("%d,%d",&a,&b); S(a,b,t);

printf("%d,%d ",a,b);

#define F "%6.2f"

#define F1 F NL #define F2 F F NL #define F3 F F F NL void main() {

float a,b,c; a=1;b=2;c=3; PR(F1,a);

PR(F2,a,b);PR(F3,a,b,c); }

作业:

#include

#include

void main() {

void fun1(float a,float b, float c);void fun2(float a,float b ,float c);void fun3(float a,float b, float c);float a,b,c,disc;

scanf("%f%f%f",&a,&b,&c);disc=b*b-4*a*c; if(disc>0)fun1(a,b,c); else if(disc==0)fun2(a,b,c); else

fun3(a,b,c); }

void fun1(float a,float b,float c) {

float d=b*b-4*a*c; float x1,x2;

x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("%f,%f ",x1,x2); }

void fun2(float a,float b,float c) {

float d=b*b-4*a*c; float x1,x2;

x1=x2=(-b)/(2*a);

printf("%f,%f ",x1,x2); }

void fun3(float a,float b,float c) {

printf("此函数无解"); } P278

#include void main() {void aa(int x[],int n);int i,a[10];

for(i=0;i<10;i++)scanf("%d",&a[i]);

printf("交换前: ");

for(i=0;i<10;i++)printf("%d,",a[i]);printf(" ");aa(a,10);

printf("交换后: ");for(i=0;i<10;i++)

printf("%d,",a[i]);printf(" ");

}

void aa(int x[],int n) {

int

temp,max=x[0],min=x[0],max_n=0,min_n=0,i;//假设第一个数是最大和最小的数,那么max,min的下标就=0for(i=1;i

max=x[i];max_n=i;}

if(min>x[i]){min=x[i];

min_n=i;

}}

if(min_n!=0){temp=x[0];x[0]=x[min_n];

x[min_n]=temp;

}

if(max_n!=n-1){temp=x[n-1];x[n-1]=x[max_n];x[max_n]=temp;

}

} eee:

#include

void main() {void jiaohuan(int *pt1,int *pt2);int a,b;

scanf("%d,%d",&a,&b);printf(" 交换前: ");printf("a=%d,b=%d ",a,b);jiaohuan(&a,&b);printf(" 交换后: ");printf("a=%d,b=%d ",a,b);

}

void jiaohuan(int *pt1,int *pt2) {int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;

}

习题11.3 方法一: #include void main() {int i;

struct student{int num;

char name[10];int score[3];

}stu[5]={{101,"A",50,60,80},{102,"B",9

0,67,45},{103,"C",30,40,50},{104,"D",90,80,70},{105,"E",60,70,80}};

printf("NUM

NAME SCORE ");for(i=0;i<5;i++)

printf("%4d%8s%8d,%2d,%2d ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);

}

方法二 : #include void main() {int i;

struct student{int num;

char name[10];

int score[3];}stu[5];for(i=0;i<5;i++){

printf("

学号:");scanf("%d",&stu[i].num);printf("姓名:");scanf("%s",&stu[i].name);printf("成

");scanf("%d,%d,%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);}printf("NUMNAME SCORE ");for(i=0;i<5;i++)

printf("%4d%8s%8d,%2d,%2d ",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);}

第三篇:c语言实验报告

实验报告一

(注意:红字不用抄写,其它必须抄写。实验纸不够用写反面。)

一、实验内容

if语句、ifelse语句、ifelse if语句的练习

二、重点难点

分析题目,正确应用相应的选择语句

三、实验目的

掌握if语句、ifelse语句、ifelse if语句的简单用法

四、实验要求

根据题目,编写程序并在vc6.0开发平台运行,查看运行结果是否与期望一致

五、实验题目

输入三角形的三边边长,判断并输出,说明三角形是等边、等腰、直角、一般三角形。

六、实验过程

1. 画流程图

2. 编写完整的程序

3. 写出实验程序运行结果

七、实验总结:(模仿着写三行文字即可)

通过……对……进行了练习……实验中遇到了……经过……解决了……从实验中学到了……以后在实验中应注意……。

第四篇:c语言实验报告

南昌大学实验报告

学生姓名: 学 号: 专业班级:

√ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称

实验3 控制语句

二.实验目的

1.熟练掌握if 、if…else、if……elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。

2.熟练掌握while语句、do……while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

三.实验内容

1. 选择结构程序设计; 2. if语句的使用;

3. 使用switch语句实现多分支选择结构; 4. 三种循环语句的应用; 5. 循环结构的嵌套;

6. break和continue语句的使用。

三.实验环境

PC微机

DOS操作系统或 Windows 操作系统 Visual c++程序集成环境

四.实验内容和步骤

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。学会单步调试和断点调试程序及变量跟踪方法。

1. 任意输入4个整数,要求按由小到大的顺序输出。

2.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。

要求: (1)将变量定义为整型。

(2)输入整数前,利用puts()/printf()给出提示信息。

(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。 (4)该程序利用if语句实现。

运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。

3.编写程序:根据公式

261111...... ,输出 π的值。

122232n2要求:

(1)变量π为单精度类型,n为整型;

(2)计算当n的取值分别为20,50 ,100,200时的π值,说明什么问题?

(3)修改程序,不给出n值,而改为求π值,直到最后一项的数值小于10-4 为止。

(4)对修改后的程序,输出π值以及总的项数n。输出格式为:π=值;n=值。

4.从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12)。

要求:

(1)采用while循环语句实现。

(2)输出格式为:Input:12 Output:1,2,3,4,6,12 5.从键盘输入学生的考试成绩,利用计算机将学生的成绩划分等级并输出。学生的成绩可分成5个等级,90-100分为A级,80-89分为B级,70-79分为C级,60-69分为D级,0-59分为E级。要求在输入负数时,给出错误提示。

① 事先编好程序,要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。

② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束 6.某航空公司规定:在旅游旺季7~9月份,如果订票20张及其以上,优惠票价的10%,20张以下,优惠5%;在旅游淡季1~6月份,10~12月份,订票20张及其以上,优惠票价的20%,20张以下,优惠10%。编写一个C程序,根据月份和旅客订票张数决定优惠率。已知机票单价,请算出旅客的总付款。请使用不同的测试数据进行测试。 7.计算并输出1000以内最大的10个素数以及它们的和。

要求:

(1)在程序内部加必要的注释。

(2)由于偶数不是素数,可以不考虑对偶数的处理。

(3)虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。

(4) 输出形式为:素数1+素数2+素数+…+素数10 = 总和值。

五.实验数据及处理结果

/*写出实验内容的算法(用流程图表示)、完整的程序、结果并能对结果的正确性及上机时产生的问题进行分析,注意程序变量命名应见名知意、有适当的注释,程序书写规范*/ 【习题1】

【设计思路】 :输入a,b,c,d四个数,将四个数两两进行比较,如果前者大于后者,则将两数的值交换,否则不变。这样重复操作6次,最后输出a,b,c,d的值,则a,b,c,d从大到小排列。

【数据输入】输入整型变量 a,b,c,d 【数据输出】输出 a,b,c,d的值,使其从大到小排列。 【源程序实现】

#include main() {

int a,b,c,d,t; printf("please input four numbers(example:1 2 3 4): "); scanf("%d %d %d %d",&a,&b,&c,&d); if(a>b) {t=a;a=b;b=t;}/* 实现a,b的交换 */ if(a>c) {t=a;a=c;c=t;}/* 实现a,c的交换 */ if(a>d)

} {t=a;a=d;d=t;}/* 实现a,d的交换 */ if(b>c) {t=b;b=c;c=t;}/* 实现b,c的交换 */ if(b>d) {t=b;b=d;d=t;}/* 实现b,d的交换 */ if(c>d) {t=c;c=d;d=t;}/* 实现c,d的交换 */ printf("%d,%d,%d,%d",a,b,c,d); 【结果及截图】

答:输入64 3 5 23,运行结果为3,5,23,64,其截图如下:

输入格式的提示。

【修改后程序实现及结果】 /*习题

2、4请添加此步*/

【问题分析】 输入数据时,没有按正确格式输入,所以在输入数据之前,应该给出一个【习题2】

【设计思路】

【数据输入】 输入整型变量x。 【数据输出】 输出x的范围。 【源程序实现】

#include

main()

{

int x;

printf("Please input a number: ");

scanf("%d",&x);

printf("%d is ",x);

if(x<10) printf("less than 10 ");

else if(x<100) printf("10 to 99 ");

else if(x<1000) printf("100 to 999 ");

else printf("more than 1000 ");

return 0;

}

【结果及截图】

答:运行程序,分别输入9,21,321,4321,截图如下:

【习题3】

【源程序实现】

#include

#include

main()

{

int n,N;

float pi,sum=0;

printf("Please input a number: N=");

scanf("%d",&N);

for(n=1;n<=N;n++)

sum+=1.0/(n*n);

pi=sqrt(6*sum);

printf("pi=%f",pi);

return 0; } 修改后的程序: #include #include main() {

int n=0;

float pi,sum=0;

do

{

n++;

sum+=1.0/(n*n);

}while(1.0/(n*n)>=1e-4);

pi=sqrt(6*sum);

printf("pi=%f; n=%d",pi,n);

return 0; }

【结果i及截图】

答:计算当N的取值分别为20,50 ,100,200时,截图如下:

【结果ii及截图】

【习题4】

【源程序实现】

#include main() { int num,i=2; printf("Input:"); scanf("%d",&num); printf("Output: 1"); /*第一个因式为 1*/ while(i<1000) { if(num%i==0)printf(",%d",i); i++; } return 0; }

【结果及截图】

答:输入30,得其因式为 1,2,3,5,6,10,15,30,截图如下:

【习题5】

【源程序实现】

If 语句

#include main() {

int num;

printf("Input:");

scanf("%d",&num);

if(num<0||num>100)printf("The number is wrong!");

else if(num<=59)printf("E");

else if(num<=69)printf("D");

else if(num<=79)printf("C");

else if(num<=89)printf("B");

else printf("A");

return 0; }

Switch 语句

#include main() {

int num,n;

printf("Input:");

scanf("%d",&num);

n=num/10;

switch(n)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5: printf("E");break;

case 6: printf("D");break;

case 7: printf("C");break;

case 8: printf("B");break;

case 9:

case 10: printf("A");break;

default: printf("error!");

}

return 0; }

【问题分析】

【习题6】

【源程序实现】

#include main() { int month,num; float price,cost; printf("month=");scanf("%d",&month); printf(" price=");scanf("%f",&price); printf(" num=");scanf("%d",&num); if(month>=7&&month<=9) {if(num>=20) cost=price*0.9*num; else cost=price*0.95*num;} if((month>=1&&month<=6)||(month>=11&&month<=12)) {if(num>=20) cost=price*0.8*num; else cost=price*0.9*num;} printf("cost=%f",cost); }

【习题7】

【源程序实现】

#include #include void main() { int num,i,sum=0,count=0; for(num=999;count!=10;num-=2) {for(i=2;i=sqrt(num)) {count++; sum+=num; printf("%d+",num);} } printf("=%d",sum); } 【结果及截图】

六.简答题

七、实验总结及体会

第五篇:高级语言程序设计实验报告 C语言实验报告

C语言程序设计实验报告

实验二 循环结构程序设计

班级 2012196 学号 201219628 姓名 李明月

一、实验目的

(1)掌握用while语句,do-while语句和for语句实现循环的方法; (2)掌握循环结构的嵌套;

(3)掌握break语句和continue语句的使用方法。

二、 实验内容及步骤

1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?

程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+„+263 程序代码:

#include int main( ) //定义一个主函数 { int i; double t=1,sum=1,v; //定义变量

for(i=1;i<=63;i++) //用for循环语句实现循环运算 { t=t*2; sum+=t; //循环表达式 } printf("总麦粒数为:%f ",sum); v=sum/1.42e8; printf("折合体积为: %f立方米 ",v); //对结果进行输出

return 0; } 运行结果:

1

2. 求完数。

程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);

程序代码:

#include int main() { int i,j,sum,n=0; printf(" 1000以内的完数有: "); for(i=1;i<=1000;i++) {

sum=0; for(j=1;j

if(i%j==0)

{

sum=sum+j;

} } if(sum==i)

{ printf(" %d",i);

n=n+1;

if(n%2==0)

printf(" ");

} } printf(" "); return 0; } 运行结果:

2

3.打印九九乘法表

程序3:编程输出如下上三角形式的九九乘法表。

1 2 3 4 5 6 7 8 9---- - - - "); for(i=1;i<10;i++) //i { for(j=1;j<=i;j++) // printf(" "); for(j=i;j<10;j++) //j printf("%-2d ",i*j); // printf(" "); }

代表行 输出空格达到来使得向右对齐代表列

输出行与列的乘积 3 1 2 3 4 5 6 7 8 9

运行结果:

三、问题讨论

break语句和continue语句在循环结构中使用时有何区别?举例说明。

break语句是跳出整个循环过程,不再判断执行循环的田间是否成立,并且break语句不能用于循环语句和switch语句之外的任何其他语句中。而continue语句则只是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

例子:

#include int main( ) { int i; for(i=100;i<=200;i++) { if(i%3==0) continue;

printf("%d",i); } printf(" "); return 0; } 输出:

但是换成break之后:

四、实验心得

个人感觉对于这几个循环语句还是for循环最为灵活,不进可以用于循环次数一句in个确定的情况,还可用于不确定的情况下,它也完全可以代替while语句。并且是程序看起来更为简洁明了。

5

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:第3课情感的记录下一篇:兰花400字作文