c语言实验报告_c语言实验报告完整

其他范文 时间:2020-02-27 16:48:03 收藏本文下载本文
【www.daodoc.com - 其他范文】

c语言实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实验报告完整”。

实验一 熟悉C语言程序的运行环境

一、实验目的1、了解在该系统上如何编辑、编译、连接和运行一个C 程序;

2、通过运行简单的C程序,初步了解C程序的特点。

二、实验预习

1、认真阅读简单的C程序介绍,C程序上机步骤部分内容;

2、编写好所需要的程序,程序的书写应该清楚整洁,一般检查应该是没有明显的错误。

如果在程序中有疑问的地方,可以标记起来,以便于上机调试时予以注意。初学者特别忌讳

上机前自己不编写程序,到时随便地抄别人的程序。

三、实验指导

1、输入并运行一个简单的程序,从而熟悉所用系统的上机方法与步骤。(1)选择File->New,使编辑窗口变成空白(2)输入下面的程序(例题1.1)#include void main(){ printf(“This is a C program.n”);}(3)按功能键【F9】进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错 信息”,则应找出原因并改正之,再进行编译。

(4)如果编译无错误,按【Ctrl+F9】键使程序运行,按【Alt+F5】键,切换到用户 屏,观察分析运行结果。

2、输入并运行一个需要在运行时输入数据的程序(1)清空编辑窗口,输入下面的程序(例题1.2)。#include void main(){ int a,b,c;printf(“input a & b:”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);} int max(int x,int y){ int z;if(x>y)z=x;else z=y;return(z);}(2)编译并运行,在运行时从键盘输入整数2 和5,格式为:2, 5(注意:两数据间 用逗号分隔开),然后按回车键,按【ALT+F5】键,观察运行结果。(3)自己试着改动一些数据或输入格式,再运行,观察结果作比较。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、试编写一程序完成如下信息的显示。********************************** “How are you!” **********************************

3、编写一个C 程序(习题1.6):输入a, b, c 三个值,输出其中最大者。根据上述题目要求编程并上机调试运行。

五、实验报告要求

实验结束后,应整理实验报告,其内容应包括:

1、实验题目

2、设计思路

3、写出程序源代码

4、写出程序运行结果

5、对实验结果进行分析、总结

六、设计思路

1.5题:以main为主函数,对三条语句进行编码,分别输出,即可达到所要求的结果。1.6题:以main为主函数,先输入三个整形十进制数,任取其一,与其它两个中的任一进行对比,取其最大,再与剩余的一个进行对比,可得最大。

七、源程序清单 1.5题:

#include main(){

printf(“n**********************n”);printf(“ ”how are you“n”);printf(“**********************n”);} 1.6题:

#include main(){ int a,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max

八、分析、总结、及心得

通过本次实验让我学会c程序的编写应注意的一些细节,理解一些简单程序的编写方法。

实验二 数据类型,运算符与表达式

一、实验目的1、掌握C 语言数据类型,以及对它们赋值的方法;

2、掌握不同的数据类型之间赋值的规律;

3、学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用;

4、进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验预习

1、认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。

三、实验指导

1、输入并运行下面的程序: #include void main(){ int a,b;unsigned c,d;long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf(“%d,%d n ”,a,b);printf(“%u,%u n ”,a,b);printf(“%u,%u n ”,c,b);c=a=e;d=b=f;printf(“%d,%d n ”,a,b);printf(“%u,%u n ”,c,d);} 请对照程序和运行结果分析:

(1)将一个负整数赋给一个无符号的变量,会得到什么结果。

(2)将一个大于32767 的长整数赋给整形变量,会得到什麽结果。

(3)将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。

同学们可以改变程序中各变量的值,以便比较。例如: a = 65580, b =-40000, e = 65535,f = 65580。

2、输入下面程序: #include void main(){ int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}(1)运行程序,注意i,j,m,n 各变量的值,分别作以下改动并运行。(2)将第3 行中m, n 的值改为:m=i++;n=++j;再运行。(3)将程序改为: #include void main(){ int i, j;i=8;j=10;printf(“%d,%d”, i++, j++);} 运行并分析结果。

(4)在(3)的基础上,将printf 语句改为:

printf(“%d,%d”, ++i, ++j);运行并分析结果。(5)再将printf 语句改为:

printf(“%d,%d,%d,%d”, i, j, i++, j++);运行并分析结果。(6)将程序改为: #include void main(){ int i,j,m=0,n=0;j=10;i=8;m+=i++;n-=--j;printf(“i=%d, j=%d, m=%d, n=%d”,i,j,m,n);} 运行并分析结果。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、试编一程序实现输入长宽高,计算长方体的表面积。

3、按习题3.7 的要求编程序并上机运行,该题的要求是:

要将“China”译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母“A”后面第4 个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5 五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5 分别变为’G’、’l’、’m’、’r’、’e’、,并输出。

(1)输入编好的程序,并运行该程序。分析是否符合要求。

五、实验结果 1题:

(1):100,-100 100,65436 100,65436(2):-15536,32767(3):5000,32767 2题:

(1):9,119,10(2):9,11,8,11(3):8,10(4):9,11(5):9,11,8,10(6):i=9,j=9,m=8,n=-9

六、源程序清单 四.2题

#include void main(){ float a,b,c,s;scanf(“%f,%f,%f”,&a,&b,&c);s=2*a*b+2*a*c+2*b*c;printf(“s=%.2f”,s);} 3题

#include void mian(){ char c1='C',c2='h',c3='i',c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(“%c%c%c%c%cn”,c1,c2,c3,c4,c5);}

七、分析、总结、及心得

通过本次的实验,熟悉如何定义一个整型、字符型和实型的变量,掌握算术运算符的使用,以及包含这些运算符的表达式,特别是自加和自减运算符的使用,学会一些简单程序编写所注意的问题。

实验三 简单C程序设计

一、实验目的1、掌握C 语言中赋值语句的使用方法;

2、掌握不同类型数据的输入输出方法,能正确使用各种格式转换符;

二、实验预习

1、认真阅读数据的输入输出部分内容。

三、实验指导

1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。

(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。(2)根据结果书写源程序 #include void main(){ int x,y,sub;scanf(“%d%d”,&x,&y);/* 变量前一定要加取地址符& */ sub=x*x-y*y;printf(“%c,%c,%d”,x,y,sub);}(3)在C 编辑环境下编辑源程序。(4)编译【F9】,直到程序没有错误。(5)运行【Ctrl+F9】,从键盘输入: 100 50↙

注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙(6)查看结果【Alt+F5】

2、输入程序

#include void main(){ int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,n,p,q);}(1)运行程序并分析结果。

(2)在此基础上,修改程序的第7~11 行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789 d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。(3)将printf 语句改为:

printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);运行程序,分析结果。

(4)将p、q 改用%o 格式符输出。运行程序,分析结果。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、本节实验题目:

(1)若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的输出格式和结果,请写出程序。要求输出结果如下:(注意空格的输出)a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ASCII)c2='B' or 98(ASCII)(2)假设m是一个三位数,试编写一程序完成将m的个位,十位,百位反序输出(例如:123反序输出为321)。

五、实验结果

三、1:

d,2,7500

2、(1): a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000(2): a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536(3): c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1(4): a=15536,b=5536 c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 p=12640,q=177777

六、源程序清单 2(1): #include void main(){ int a=3,b=4,c=5;long int u=51274,n=128765;float x=1.2,y=2.4,z=-3.6;char c1='a',c2='b';printf(“a=%2d b=%2d c=%2dn”,a,b,c);printf(“x=%f,y=%f,z=%fn”,x,y,z);printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2fn”,x+y,y+z,z+x);printf(“u=%6ld n=%9ldn”,u,n);printf(“%s %s %d%sn”,“c1='a'”,“or”,c1,“(ASCII)”);printf(“%s %s %d%sn”,“c2='B'”,“or”,c2,“(ASCII)”);

}(2:)#include void main(){ int a,b;scanf(“%d”,&a);b=a/100+a%100/10*10+a%10*100;printf(“%d”,b);

}

七、分析、总结、及心得

在本次实验中,学会了赋值语句的使用方法,不同类型数据的输入输出,尤其是某些空格应特别注意,了解了在scanf语句中不能用n,这也是我一直犯的错误。

实验四 选择结构程序设计

一、实验目的1、学会正确使用逻辑运算符及逻辑表达式;

2、熟练掌握if 语句与switch 语句;

二、实验预习

1、认真阅读if 语句和switch 语句部分内容。

2、编写好所需要的程序。

三、实验指导

1、输入三角形的三边长,判断这个三角形是否是直角三角形。

(1)算法分析:直角三角形斜边最长,要先找出三边中最长的边,判断最长边的平方 是否等于其余两边的平方和,若相等就是直角三角形。根据分析结果书写源程序。#include void main(){ int a,b,c,t;/* 三边设为a,b,c,t 是用于交换的中间变量*/ scanf(“%d,%d,%d”,&a,&b,&c);if(a

t=a;

a=b;

b=t;}/* a 中放a,b 中较长边*/ if(a

t=a;

a=c;

c=t;}/* a 中放a,b,c 中的最长边*/ if(a*a==b*b+c*c)

printf(“Y”);else

printf(“N”);}(2)编辑源程序(3)编译【F9】,直到没有错误。(4)运行【Ctrl+F9】,输入: 3,4,5↙

(5)查看结果【Alt+F5】,输出: Y

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、本节实验题目:

(1)给出一个百分制成绩,要求输出成绩等级A、B、C、D。90 分以上为A,80~89分为B,70~79 分为C,60~69 分为D,60 分以下为E。

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

②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。

③修改程序,使之能正确处理任何数据。当输入数据大于100 或小于0 时,通知用户“输入数据错”,程序结束。

(2)给出一个不多于5位的正整数,要求:①求出它是几位数。②分别打印出每一位数。③按逆序打印出各位数字。

五、简述编程思路

2.1.1首先写一段程序(switch语句)来对不是所要求的输入的判断与执行,其次写出主要要执行的语句对于switch要求用break跳出,if则不同,六、源程序清单 2.1.1:(用switch)#include void main(){ float a;char b;printf(“please input a score:”);scanf(“%f”,&a);while(a100){ printf(“input error”);

scanf(“%f”,&a);} switch((int)a/10){

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:b='E';break;

case 6:b='D';break;

case 7:b='C';break;

case 8:b='B';break;

case 9:

case 10:b='A';}

printf(“b=%cn”,b);

} 2.1.2:(用if)

#include void main(){ float a;char b;printf(“please input a score:”);scanf(“%f”,&a);while(a100){ printf(“input error”);

scanf(“%f”,&a);} if(a>=0&&a

b='E';else if(a>=60&&a

b='D';else if(a>=70&&a

b='C';else if(a>=80 &&a

b='B';else

b='A';

printf(“b=%cn”,b);

} 2.2: #include void main(){ long int a;long int g,s,b,q,w,f,place;scanf(“%ld”,&a);while(a>99999){ printf(“input error”);scanf(“%ld”,&a);} if(a>9999)place=5;else if(a>999)place=4;else if(a>99)place=3;else if(a>9)place=2;else place=1;printf(“%dn”,place);g=a%10;s=a%100/10;b=a%1000/100;q=a%10000/1000;w=a/10000;printf(“%ld,%ld,%ld,%ld,%ldn”,g,s,b,q,w);f=a%10*10000+a%100/10*1000+a%1000/100*100+a%10000/1000*10+a/10000;printf(“f=%ldn”,f);

}

七、实验心得

通过本次实验,明白了if和switch的联系,以及长整形在打印时注意的地方,学会使用逻辑运算符及逻辑表达式。

实验五 循环控制

一、实验目的1.熟练掌握for 语句、while 语句、do-while 语句实现循环的方法; 2.理解循环嵌套及其使用方法;

3.掌握break 语句与continue 语句的使用;

4.掌握用循环实现一些常用算法(如穷举、迭代、递推等)。

二、实验预习 1.认真阅读本章教材中循环控制部分.2.编写好所需要的程序。

三、实验指导 1.打印如下图案

* * *

* * * * * * * * * * * *

(1)算法分析:从图案中找出行数,空格数,星号数间的关系如下: 行数空格数星号数 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用双重循环控制整个图案的输出。若用循环变量i,j 分别控制外层,内层循环,则 i 的取值从1 到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,星号个数是2*i-1。

(2)根据分析结果写出源程序 #include void main(){ int i,j;/*定义循环控制变量*/ for(i=1;i

(6)查看结果【Alt+F5】。输出题目要求的图案。

四、实验内容

1.在C 编辑环境下编辑实验指导中给出的程序,编译并运行。2.要求学生独立完成如下题目:

(1)输出100到1000之间的所有水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

(2)输入一行字符,分别统计出其中英文字母、空格、数字 和其他字符的个数。

(3)试利用图形函数完成极坐标函数ρ=cos(3*X)图像的绘制。【进阶题目,选做】 根据以上题目要求编程并上机调试运行。

五、编程思路

2(1)对一个数字每一位的输出的前提下在利用一个if语句即可。2(2)先明白英文字母、空格、数字的ASCII,在用if函数即可。

六、程序运行结果 2(1):

#include #include void main(){ int a=100,g,s,b;while(a>=100&&a

printf(“%dn”,a);

a++;}

}(2):

#include void main(){ char c;int i=0,j=0,k=0,l=0;while((c=getchar())!='n'){

if(c>=65&&c96&&c

i++;

else if(c>=48&&c

j++;

else if(c==32)

k++;

else

l++;} printf(“i=%d,j=%d,k=%d,l=%dn”,i,j,k,l);

}(3):

#include #include #define PI 3.1415926

int main(){ int gdriver, gmode;float p,x,px,py,zx,zy;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, “c: c”);for(x=0;x

p=cos(3*x);

zx=p*cos(x);

zy=p*sin(x);

px=320+zx*100;

py=240-zy*100;

putpixel(px,py,14);}

getch();closegraph();return 0;}

七、实验总结、心得

通过本次实验,理解了一些循环语句的选择、运用,对一些简单循环的嵌套有了更进一步的理解。

C语言实验报告

实验报告Ⅰ指导教师曾宪华实验时间: 2010 年10月日 学院通信与信息工程专业通信类班级0101105学号2011210150姓名陈环宇 实验室s313实验目的及要求:(1)掌握选择结构程序设计,学会......

c语言实验报告

实验报告一(注意:红字不用抄写,其它必须抄写。实验纸不够用写反面。)一、实验内容if语句、ifelse语句、ifelse if语句的练习二、重点难点分析题目,正确应用相应的选择语句三、实......

C语言实验报告

《C语言程序设计》实验报告实验名称 ____ C程序的运行环境和运行C程序的方法_学期日期同组人李江涛指导老师_杨雪松___________成绩___________ -------------------------......

c语言实验报告

南昌大学实验报告学生姓名: 学 号: 专业班级:√ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称实验3 控制语句二.实验目的1.熟练掌握if 、if…else、i......

C语言实验报告

郑州轻工业学院 实 践 报 告实现内容:OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件)学号:541507020140 学生姓名:王红旭专业班级:电子信息科......

下载c语言实验报告word格式文档
下载c语言实验报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文