C语言实验报告

 

《C语言》实验报告

学 院: 专 业: 班 级: 1班 学 号: 1140100114 姓 名:指导教师:

年 月

实验一 简单C程序

【实验目的】

1、 掌握上机运行一个C程序的全部过程。

2、 初步学会VC++集成环境的使用方法。

3、 初步学会差错和排错的技能。

4、 加深理解程序执行的过程以及程序设计的有关概念。

【实验步骤】

1、启动VC++集成环境。

2、在编辑状态下输入源程序,保存后生成扩展名为cpp的源文件。

3、对源文件进行编译,生成扩展名为obj的目标文件,如果编译通不过,再回到编辑状态修改程序。

4、对目标文件进行连接,生成扩展名为exe的可执行文件。

5、最后运行可执行文件,得到程序运行结果。

注:具体实验内容为第1,2,3章作业,每题要有题目,源程序,C编译系统下的编译示图,C编译系统下的运行结果示图。

【题目一】 编写一个C程序,输入a b c 三个值,输出其中最大值

【源程序】

# include <stdio.h>

int main ()

{

}

int max(int x,int y)

{

}

int z; if(x>y)z=x; else z=y; return(z); int max(int x,int y); int a,b,c,d; scanf("%d%d%d",&a,&b,&c); d=max(max(a,b),c); printf("max=%d\n",d); return 0;

【C编译系统下的编译示图】

C编译系统下的运行结果示图

【题目二】请编写程序将“China”译成密码,密码的规律是用原来的字母后面第4个字母代替原来的字母。例如字母“A”后面第4个字母是“E”代替“A”。因此“China”译成“Glmre”。请编写程序,用赋初值的方法使c1.c2.c3.c4.c5这五个变量的值分别为“G”“l”“m”“r”“e”.分别用Putchar函数和Printf函数输出这五个字符。

【源程序】

# include <stdio.h>

int main ()

{

char c1='C',c2='h',c3='i',c4='n',c5='a'; putchar(c1+4); putchar(c2+4);

putchar(c3+4);

putchar(c4+4);

putchar(c5+4);

return 0;

}

# include <stdio.h>

int main ()

{

char c1='C',c2='h',c3='i',c4='n',c5='a',a,b,c,d,e; a=c1+4; b=c2+4; c=c3+4; d=c4+4; e=c5+4; printf("a=%c",b=%c,c=%c,d=%c,e=%c\n",a,b,c,d,e); return 0; }

【C编译系统下的编译示图】

【C编译系统下的运行结果示图】

题目2:设圆的半径为r=1.5,圆柱体h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编写程序。

源程序

#include <stdio.h>

#define PI 3.14

int main ()

{

int h;

float r,s1,s2,c,v;

scanf("%d,%f",&h,&r);

v=4.0/3*PI*r*r*r;

c=2*PI*r;

s1=PI*r*r;

s2=4*PI*r*r;

printf("v=%.2f\n",v);

printf("c=%.2f\n",c);

printf("s1=%.2f\n",s1);

printf("s2=%.2f\n",s2);

return 0;

}

编译试图

运行结果

实验二 选择结构

【实验目的】

1、掌握逻辑运算和逻辑表达式的用法。

2、掌握选择结构的程序设计方法。

3、掌握if语句和switch语句。

4、了解c语言表示逻辑量的方法,以0代表“假”,以非0代表“真”。

注:具体实验内容为第4章作业,每题要有题目,源程序,C编译系统下的编译示图,C编译系统下的运行结果示图。

【题目一】给个不多于5位的正整数

1, 求出他是几位数

2, 分别输出每一位数

3, 按逆序输出

【源程序】

#include<stdio.h>

int main()

{

int a,b,c,d,e,f,g,h;

scanf("%d",&a);

if(a<10)b=1,c=a%10,h=c;

else if(a<100)b=2,d=a/10%10,c=a%10,h=c*10+d;

else if(a<1000)b=3,e=a/100%10,d=a/10%10,c=a%10,h=c*100+d*10+e;

else

if(a<10000)b=4,f=a/1000%10,e=a/100%10,d=a/10%10,c=a%10,h=c*1000+d*100+e*10+f; else if(a<100000)

b=5,g=a/10000%10,f=a/1000%10,e=a/100%10,d=a/10%10,c=a%10,h=c*10000+d*1000+e*100+f*10+g;

printf("b=%d,c=%d,d=%d,e=%d,f=%d,g=%d,h=%d/n",b,c,d,e,f,g,h);

return 0;

}

【C编译系统下的编译示图】

【C编译系统下的运行结果示图】

实验三 循环结构

【实验目的】

1、掌握循环语句的执行过程及用法。

2、初步掌握循环语句设计的基本技巧。

3、掌握用do while语句,while语句和for语句实现循环的方法。

4、学会单步跟踪的操作方法。

注:具体实验内容为第5章作业,每题要有题目,源程序,C编译系统下的编译示图,C编译系统下的运行结果示图。

【题目一】

一个数如果恰好等于它的因子之和,这个数九称为完数编写程序找小虎1000以内所有完数 一这种形式输出

6 its factors are 1,2,3

【源程序】

#include<stdio.h>

int main()

{

int m,i,j,s;

for(m=6;m<1000;m++)

{s=m-1;

for(i=2;i<m;i++)

if(m%i==0)s=s-i;

if(s==0)

{

printf("%5d its factors are 1",m); for(j=2;j<m;j++)

if(m%j==0)

printf("%d",j); printf("\n");}

}

}}

【C编译系统下

的编译示图】

【C编译系统下的运行结果示图】

题目2

140.7题

源程序

#include<stdio.h>

int main()

{

int i,a=0,b=0,c=0,sum;

for(i=1;i<=100;i++)

a+=i;

for(i=1;i<=50;i++)

a+=i*i;

for(i=1;i<=10;i++)

b+=1/i;

sum=a+c+b;

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

return 0;

}

编译试图

运行结果

1题目

Sn=a+aa+aaa…….(n个a)现在以为输入N,A求SN 源程序

#include<stdio.h>

int main()

{

int i,s,t,n,a;

scanf("%d,%d",&n,&a);

s=a;

t=a;

for(i=2;i<=n;i++) {

t=10*t+a; s+=t; }

printf("%d",s); return 0; }

2编译试图

3运行结果

实验四 数组与函数

【实验目的】

1、 掌握一维和二维数组的定义及应用。

2、 掌握一维和二维数组的基本编程技巧。

3、 掌握使用函数进行程序设计的方法。

注:具体实验内容为第6,7章作业,每题要有题目,源程序,C编译系统下的编译示图,C编译系统下的运行结果示图。

【题目一】

输出杨辉三角形

【源程序】

#include<stdio.h>

int main()

{

int a[10][10],i,j;

for(i=0;i<10;i++)

for(j=0;j<=i;j++)

{if(i==j||j==0)

a[i][j]=1;

else a[i][j]=a[i-1][j-1]+a[i-1][j];

}

for(i=0;i<10;i++)

{

for(j=0;j<=i;j++)

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

printf("\n");

}

【C编译系统下的编译示图】

【C编译系统下的运行结果示图】

题目2

有一个已经排好的序的数组民谣求输入一个数后,按原来排序的逆序输出,入 8,6,5,4,1输出1,4,5,6,8

源程序

#include<stdio.h>

int main()

{

int a[5]={{8},{6},{5},{4},{1}};

int b[5],i;

for(i=0;i<5;i++)

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

b[4-i]=a[i];

}

printf("\n");

for(i=0;i<5;i++)

{printf("%5d",b[i]);

}

printf("\n");

return 0;

}

编译试图

运行结果

题目

输出年月日计算改日是改年的多少天 源程序

#include<stdio.h>

int main()

{

int find(int x,int y,int z); int year,month,date, day;

scanf("%d%d%d",&year,&month,&date); day=find(year,month,date);

printf("the date is%dth days\n",day); return 0;

}

int find(int x,int y,int z)

{int i,s,t,days=0;

if(x%4==0)t=1;

else t=0;

for(i=1;i<y;i++)

{if(i==2)s=2-t;

else s=0;

days+=30+i%2-s;

}

days=days+z;

return(days);

}

编译试图

运行结果

题目

输入10个学生的,5门课程的分数,分别用函数实现下列功能

1. 计算每个学生的平均成绩

2. 计算每门课的平均成绩

3. 找出50个分数的中最高分和分数所对应的成绩

源程序

#include <stdio.h>

#define N 10

#define M 5

float score[N][M];

float a_stu[N],a_cour[M];

int r,c;

int main()

{ int i,j;

float h;

float s_var(void);

float highest();

void input_stu(void);

void aver_stu(void);

void aver_cour(void);

input_stu();

aver_stu();

aver_cour();

printf("\n NO. cour1 cour2 cour3 cour4 cour5 aver\n"); for(i=0;i<N;i++)

{printf("\n NO %2d ",i+1);

for(j=0;j<M;j++)

printf("%8.2f",score[i][j]);

printf("%8.2f\n",a_stu[i]);

}

printf("\naverage:");

for (j=0;j<M;j++)

printf("%8.2f",a_cour[j]);

printf("\n");

www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。


TOP最近更新内容

    长城小学关爱留守儿童工作制度
    园林史名词解释
  • 上一篇:第一学期初二⑸班语文教学工作总结
  • 下一篇:个人从教行为自查整改报告