C语言电子版实验报告样式

时间:2024.4.21

C语言程序设计 课程实验报告

系 (院): 信息工程学院 班 级: 学 号: 姓 名: 完成日期: 20xx年2-6月 指导教师: 徐永安

二○一三年六月

C语言程序设计实验内容安排

实验一、了解编程环境

主要内容:基于Visual C++6.0对C语言的兼容,了解Visual C++6.0--Win32 Console Application 的编程步骤,通过简单编程了解printf()、scanf()、getch()/getchar()的基本用途,了解基本编程规范。

实验二、顺序结构

主要内容:学会在程序中运用基本类型数据和表达式;重点掌握赋值语句和格式I/O语句在程序开发中的运用。

实验三、条件结构

主要内容:熟悉if语句和switch语句的语法规则及应用;学会编写分支结构的C程序。 实验四、循环结构

主要内容:训练循环设计技巧,重点训练for循环、while循环和do-while循环的构造技术,进一步加深对有关经典算法的理解,能灵活运用循环结构编写高质量的C程序。

实验五、数组

主要内容:掌握数值型数组和字符型数组各自的编程特点,积累有关经典算法,能在程序中灵活使用数组技术。

实验六、函数

主要内容:熟悉模块化设计方法在C语言中的实现,能进行正确的函数调用,并能实现函数嵌套调用,进一步积累程序调试经验,增强编写大型程序的能力。

实验七、指针

主要内容:练习指针变量、指向一维数组的指针变量、指向二维数组的指针变量在程序中的运用,练习编写返回指针值的函数,掌握指针在函数通信中的运用,能合理运用指针技术编写更为高效、紧凑的C程序。

实验八、结构

主要内容:学会在程序中运用结构变量和结构数组,掌握指向结构体的指针变量的定义和使用方法,掌握动态存储分配函数,熟练掌握链表操作。

实验九、文件

主要内容:学会数据文件的建立、读写和关闭操作。能在程序中使用数据文件实现相关算法。

备注:

(1)实验报告总量控制在10页以内,标题黑体小四,其它五号字体、单倍行距。

(2)提交程序全部工程的压缩文件。

(3)考虑Word文档实验报告的篇幅限制(10以内),可挑选实验二到九中的任意4个实验写Word文档实验报告。实验结果输出界面为黑底白字的,请做反色处理。

(以下是某个实验的文档格式,供大家参考)

实验五、数组应用

1、 实验目的

掌握数值型数组和字符型数组各自的编程特点,积累有关经典算法,能在程序中灵活使用数组技术。

2、 实验内容

输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

3、设计思路

C语言电子版实验报告样式

4、实现代码

#include<stdio.h>

void main()

{

char string[81]; //字符数组

int i,num=0;//统计单词个数

int word=0;//判别是否是单词的标志,word=0表示未出现单词,若出现单词word就置为1 char c;

gets(string); //键盘输入字符串

for(i=0;(c=string[i])!='\0';i++) //循环与数组结合,统计字符串中的单词数

{

if(c==' ')

word=0;

else if(word==0)

{

word=1;

num++;

}

}

printf("There are %d words in the line.\n",num);//输出结果

}

5、实验结果

C语言电子版实验报告样式

6、实验体会

通过实验验证,将数组和循环相结合,能够有效提高数据处理效率。


第二篇:《C语言》课内实验报告



一、实验题目:

函数的应用

二、实验目的:

1.进一步掌握函数的定义方法、调用方法,实参与形参的对应关系,以及调用函数的执行过程。

2.掌握函数的嵌套调用、递归调用、数组作为函数参数的设计方法。

3.进一步理解变量的作用域和生存期。

三、实验内容:

1.定义一个求阶乘的递归调用函数double fac(int n),在主函数中调用3次该函数分别求出8!、10!、18!的准确值(结果:8!=40320,10!=3628800,18!=6402373705728000)。编写源程序,给出注释及运行结果。(提示,请参阅教材上174页例8.7的程序)。

2.编写一个将n个整数用选择法按由小到大的顺序排序的函数void sort(int array[], int n),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。编写源程序,给出注释及运行结果。(提示,请参阅教材上181页例8.13的程序)。

3.编写一个求3个学生的各科平均成绩的程序,每个学生有4科成绩,学生成绩存放在a数组中,求平均成绩需调用函数void aver(float array[][4], int n),n为学生数,其中a数组的矩阵表示为 。编写源程序,给出注释及运行结果,自己试着增加学生数或者成绩科数再运行程序。(提示,可参阅教材183页例8.14的程序,注意按科平均成绩可存入数组A中,只需将A增加1行并先付初值0,求出平均值之后替换0)

四、实验结果:

1

#include <stdio.h>                                               /*标准函数输入输出库*/

void main()                                                           /*主函数*/

{

       float fac(int n);                                              /*声明调用的函数*/

       int n,i;                                                            /*定义整型变量*/

       float y;                                                           /*定义浮点型变量*/

       printf("input the integer number:\n");

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

       {

              scanf("%d",&n);                                     /*输入n的值*/

              y=fac(n);                                                /*把fac的值赋给y*/

              printf("%d!=%10.0f\n",n,y);    /*输出y的值*/

       }

}

float fac(int n)                                        /*定义浮点型函数*/

{

       float f;                                             /*定义浮点型变量*/

       if(n<0)                                            

       {

              printf("n<0,dataerror!");           /*当n<0时输出n<0,dataerror*/

       }

       else

              if(n==0||n==1)                                

                     f=1;                                   /*当n等于0或2时f赋值1*/

              else

                     f=fac(n-1)*n;                     /*当n大于1时把n*(n-1)的值赋给f*/

       return(f);                                          /*返回f的值*/

}

2

#include <stdio.h>                          /*标准函数输入输出库*/

void main()                                      /*定义空型主函数*/

{

       void sort(int array[],int n); /*声明调用的函数*/

       int a[10],i,b[15];                       /*定义整型数组a,b和变量i*/

       printf("enter the array:\n");

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

              scanf("%d",&a[i]);            /*依次输入数组a的值*/

       sort(a,10);                                 /*把a和10传给函数sort*/

       printf("the sorted array:\n");

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

              printf("%5d",a[i]);             /*依次输出数组a的值*/

       printf("\n");

       printf("enter the array:\n");

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

              scanf("%d",&b[i]);            /*依次输入数组b的值*/

       sort(b,15);                                 /*把b和15传给函数sort*/

       printf("the sorted array:\n");

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

              printf("%5d",b[i]);             /*依次输出数组b*/

       printf("\n");

}

void sort(int array[],int n)        /*定义函数sort*/

{

       int i,j,k,t;                                   /*定义变量i,j,k,t*/

       for(i=0;i<n-1;i++)

       {

              k=i;

              for(j=i+1;j<n;j++)

              if(array[j]<array[k])           /*判断数组的前向是否小于后向*/

                     k=j;

              t=array[k];

              array[k]=array[i];

              array[i]=t;                   /*交换相邻两厢的值*/

       }

}

3

#include <stdio.h>                                 /*标准函数输入输出库*/

void main()                                             /*定义空型主函数*/

{

       void aver(float a[][5],int n);            /*声明调用的函数*/

       float a[3][5]={{65,67,70,60,0},{80,87,90,81,0},{90,99,100,98,0}};

       aver(a,3);

}

void aver(float a[][5],int n)                    /*定义函数aver*/

{

       int i,j;                                               /*定义整型变量*/

       float sum;                                        /*定义浮点型变量*/

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

       {

              sum=0;

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

                     sum=sum+a[i][j];        /*把每列的和赋给sum*/

              a[i][4]=sum/4;                           /*把每列的平均值赋给第5列*/

              printf("%6.2f",a[i][4]);             /*输出每列的平均值*/

       }

}

#include <stdio.h>

void main()

{

       void aver(float a[][5],int n);

       int i;

       float a[4][5]={{65,67,70,60,0},{80,87,90,81,0},{90,99,100,98,0},{80,75,87,98,0}};

       aver(a,4);

}

void aver(float a[][5],int n)

{

       int i,j;

       float sum;

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

       {

              sum=0;

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

                     sum=sum+a[i][j];

              a[i][4]=sum/4;

              printf("%6.2f",a[i][4]);

       }

}

更多相关推荐:
电子束的偏转与聚焦(北京科技大学物理实验报告)

北京科技大学实验预习报告实验名称电子束的偏转与聚焦实验目的研究带电粒子在电场和磁场中偏转和聚焦的规律了解电子束线管的构造和工作原理实验原理A电子束流的产生与控制通过阴极K发射电子控制栅极G是一个顶端有小孔的圆筒...

实验九、电子束的偏转

605舍海霞晓珍春云文静实验九电子束的偏转实验时间20xx1125

电子束电偏转实验报告册

实验项目名称电子射线束的电偏转和磁偏转学号姓名班级实验序号时间第周星期第节课联系方式实验目的1研究带电粒子在电场及磁场中偏转的规律2了解电子阴极射线管的结构和原理3学会用外加磁场的方法使示波管中的电子射线束产生...

电子荷质比的测定(实验报告)

大学物理实验报告实验名称磁聚焦法测电子荷质比实验日期20xx0424实验人员袁淳20xx02120xx6实验目的大学物理实验报告磁聚焦法测电子荷质比1了解电子在电场和磁场中的运动规律2学习用磁聚焦法测量电子的荷...

扫描电镜实验报告

扫描电镜实验报告姓名xxx专业xxx学号xxxxxxxx一实验目的1了解扫描电镜的构造及工作原理2学习扫描电镜的样品制备3学习扫描电镜的操作3利用扫描电镜对铝粉的形貌进行观察二实验原理扫描电镜原理是由电子枪发射...

物理设计实验---电子束实验

物理设计实验电子束实验摘要根据电荷在磁场中的运动特点分析了电子束的磁聚焦原理推导了测量电子荷质比的计算公式并测量电子荷质比附带舟山地磁水平分量测量关键词地磁磁聚焦电子荷质比螺旋运动测量物理学方面的一些常数是物理...

电子束实验

电选二电子束实验随着近代科学的发展电子技术的应用已深入到各个领域关于带电粒子在电场磁场中运动规律已成为掌握现代科学技术必不可少的居处知识我们常用示波器中的示波管又名阴极射线管来研究带电粒子在电场磁场中运动的归路...

透射电镜实验报告

实验报告

TEM 实验报告

TEM实验报告学院材料科学与工程学院班级材型1202学生刘玉蒙学号20xx14020xx3时间20xx年7月实验报告一实验目的与任务1初步了解透射电镜操作过程2初步掌握样品的制样方法3学会分析典型组织图像二透射...

扫描电镜实验报告

扫描电镜实验报告一实验目的1了解扫描电镜的发展原理应用范围2初步掌握扫描电镜的使用及其注意事项二实验仪器及样品JEOL扫描电镜硫酸钙晶须三实验原理扫描电镜全称为扫描电子显微镜英文为scanningelectro...

SEM实验报告

扫描电镜实验报告化工学院化学工程105班陈维030100890一实验目的1了解扫描电镜的用途结构及基本原理2了解扫描电镜的样品制备3上机操作利用扫描电镜电子信号观察打印纸的形貌二实验仪器钨丝扫描电镜最大放大倍数...

实验3.TEM(投射电镜)_实验报告.

湖北大学化学化工学院硕士研究生实验报告课程名称现代测试技术实验实验项目透射电子显微镜观察聚合物的微相分离结构专业班级20xx应用化学姓名叶青学号20xx111106000700

电子束实验实验报告(50篇)