首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 范文大全
  • 古典文学
  • 职场知识
  • 中国文学
  • 公文书信
  • 外国名著
  • 寓言童话
  • 百家讲坛
  • 散文/诗歌
  • 美文欣赏
  • 礼仪知识
  • 民俗风情
  • 谜语大全
  • 名言警句
  • 《C语言程序开发》实验报告和参考答案

    时间:2020-07-04 11:47:52 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:参考答案 程序开发 语言

      1

      实 实

     验

     报

     告

      课程名称:C 语言程序开发 学生姓名:

     学生学号:

     专业班级:

     指导教师:

     实验日期:

      2 目

     录

     实验 一

     循环结构程序设计

     (一)求 1+2+3+.......+100, 1100nn (二)输出 100~200 之间的不能被 3 整除的数。

     实验 二

     数组及其应用

     (一)有一个 3×4 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

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

     实验 三

     函数及其应用

     (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。

     (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。

     实验 四

     指针及其应用

     (一)将若干字符串按字母顺序(由小到大)输出。

     (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。

      3 实验 一

     循环结构程序设计

     实验题目:

     (一)求 1+2+3+.......+100, 1100nn (二)输出 100~200 之间的不能被 3 整除的数。

     实验目的 1.掌握循环语句的执行过程及用法 2.初步掌握循环程序设计的基本技巧 3.掌握用 while 语句,do-while 语句和 for 语句实现循环的方法 4.掌握多重循环的使用 (一)实验步骤 1.题目分析 2. 源程序代码 3.运行结果 (二)实验步骤:

     1.题目分析 源程序代码 3.运行结果

      4 实验 二

     数组及其应用

     实验题目:

     (一)有一个 3×4 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

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

     实验目的 1.掌握一维数组的定义及其元素的引用方法 2.掌握利用一维数组实现一些常用算法的基本技巧 3.掌握二维数组的定义及其应用 4.掌握字符数组和字符串函数的使用 5.掌握有关二维数组的基本编程技巧 (一)实验步骤:

     1.题目分析 2. 源程序代码:

     3.运行结果 (二)实验步骤:

     1.题目分析 2.源程序代码 3.运行结果

      5 实验 三

     函数及其应用

     实验题目:

     (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。

     (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。

     实验目的 1.掌握函数的定义及其调用方法 2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念 3.掌握函数的嵌套调用和递归调用的方法 4.初步学会使用函数进行程序设计的基本方法 (一)实验步骤:

     1.题目分析 2. 源程序代码:

     3.运行结果 (二)实验步骤 1. 题目分析 2. 源程序代码 3.运行结果

      6 实验 四

     指针及其应用

     实验题目:

     (一)将若干字符串按字母顺序(由小到大)输出。

     (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。

     实验目的 1. 掌握指针的概念,会定义和使用指针变量 2. 掌握数组的指针及其基本用法 3. 掌握指针变量函数作参数时,参数的传递过程及其用法 4. 掌握字符串的指针及其用法 5. 掌握函数的指针及其用法

     (一)实验步骤:

     1.题目分析 2. 源程序代码:

     3.运行结果 (二)实验步骤:

     1.题目分析 3. 源程序代码:

     3.运行结果

      7

      实 实

     验

     报

     告

      课程名称:C 语言程序开发 学生姓名:

     学生学号:

     专业班级:

     指导教师:

     实验日期:

      8 目

     录

     实验 一

     循环结构程序设计

     (一)求 1+2+3+.......+100, 1100nn (二)输出 100~200 之间的不能被 3 整除的数。

     实验 二

     数组及其应用

     (一)有一个 3×4 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

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

     实验 三

     函数及其应用

     (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。

     (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。

     实验 四

     指针及其应用

     (一)将若干字符串按字母顺序(由小到大)输出。

     (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。

      9 实验 一

     循环结构程序设计

     实验题目:(一)求 1+2+3+.......+100, 1100nn (二)输出 100~200 之间的不能被 3 整除的数。

     实验目的 1.掌握循环语句的执行过程及用法 2.初步掌握循环程序设计的基本技巧 3.掌握用 while 语句,do-while 语句和 for 语句实现循环的方法。

     4.掌握多重循环的使用 (一)实验步骤 1.题目分析

      10 3. 源程序代码 #include<stdio.h> int main() {

     int i=1,sum=0;

      //定义变量 i 的初值为 1,sum 的初值为 0

     while(i<=100)

     //当 i>100,条件表达式 i<=100 的值为假,不执行循环体

     {

     //循环体开始

      sum=sum+i;

      //第 1 次累加后,sum 的值为 1

      i++;

     //加完后,i 的值加 1,为下次累加做准备

     }

     //循环体结束

     printf("sum=%d\n",sum); //输出 1+2+3…+100 的累加和

     return 0; } 3.运行结果

      11 (二)实验步骤:

     1.题目分析

     2. 源程序代码 #include <stdio.h> int main() { int n;

     for (n=100;n<=200;n++)

     { if (n%3==0)

     continue;

      printf("%d ",n);

     }

     printf("\n");

     return 0; }

     3.运行结果

      12 实验 二

     数组及其应用

     实验题目:

     (一)有一个 3×4 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

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

     实验目的 1.掌握一维数组的定义及其元素的引用方法 2.掌握利用一维数组实现一些常用算法的基本技巧 3.掌握二维数组的定义及其应用 4.掌握字符数组和字符串函数的使用 5.掌握有关二维数组的基本编程技巧 (一)实验步骤:

     1.题目分析 先思考一下在打擂台时怎样确定最后的优胜者。先找出任一人站在台上,第 2 人上去与之比武,胜者留在台上。再上去第 3 人,与台上的人(即刚才的得胜者)比武,胜者留台上,败者下台。以后每一个人都是与当时留在台上的人比武。直到所有人都上台比过为止,最后留在台上的就是冠军。

      13

     3. 源程序代码:

     #include <stdio.h> int main() { int i,j,row=0,colum=0,max;

     int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};

     //定义数组并赋初值

     max=a[0][0];

     //先认为 a[0][0]最大

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

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

      if(a[i][j]>max)//如果某元素大于 max,就取代 max 的原值

      { max=a[i][j];

     row=i;

      //记下此元素的行号

     colum=j;

      //记下此元素的列号

      }

     printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);

     return 0; }

      14 3.运行结果

      (二)实验步骤:

     1.题目分析 string:用于存放字符串。

     i:计数器,用于遍历字符串中的每个字符。

     word:用于判断是否开始了一个新单词的标志。若 word=0 表示未出现新单词,如出现了新单词,就把 word 置成 1。

     num:用于统计单词数。

      15 2.源程序代码 #include <stdio.h> int main() {

     char string[81];

     int i,num=0,word=0;

     char c;

     gets(string); //输入一个字符串给字符数组 string

     for(i=0;(c=string[i])!="\0";i++)

     //只要字符不是"\0"就循环

      if(c==" ") word=0;

     //若是空格字符,使 word 置 0

      else if(word==0) //如果不是空格字符且 word 原值为 0

      { word=1;

     //使 word 置 1

     num++;

      //num 累加 1,表示增加一个单词

      }

     printf("There are %d words in this line.\n",num);

      //输出单词数

     return 0; }

      16 3.运行结果

      17 实验 三

     函数及其应用

     实验题目:

     (一)有 5 个学生坐在一起,问第 5 个学生多少岁,他说比第 4 个学生大 2 岁。问第 4 个学生岁数,他说比第 3 个学生大 2 岁。问第 3 个学生,又说比第 2 个学生大 2 岁。问第 2 个学生,说比第 1 个学生大2 岁。最后问第 1 个学生,他说是 10 岁。请问第 5 个学生多大。

     (二)用选择法对数组中 10 个整数按由小到大排序,一维数组名作函数参数。

     实验目的 1.掌握函数的定义及其调用方法 2.掌握函数实参与形参的对应关系,了解“值传递”与“地址传递”的概念 3.掌握函数的嵌套调用和递归调用的方法 4.初步学会使用函数进行程序设计的基本方法 (一)实验步骤:

     1.题目分析

      18 3. 源程序代码:

     #include <stdio.h> int main() { int age(int n);

      //对 age 函数的声明

     printf("NO.5,age:%d\n",age(5));

     //输出第 5 个学生的年龄

     return 0; }

     int age(int n)

      //定义递归函数 { int c;

      //c 用作存放函数的返回值的变量

     if(n==1)

      //如果 n 等于 1

      c=10;

      //年龄为 10

     else

     //如果 n 不等于 1

      c=age(n-1)+2;

      //年龄是前一个学生的年龄加2(如第4 个学生年龄是第 3 个学生年龄加 2)

     return(c);

     //返回年龄 } 3.运行结果

      19 (二)实验步骤 3. 题目分析

     4. 源程序代码 #include <stdio.h> int main() { void sort(int array[],int n);

     int a[10],i;

     printf("enter array:\n");

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

      scanf("%d",&a[i]);

     sort(a,10); //调用 sort 函数,a 为数组名,大小为 10

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

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

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

     printf("\n");

     return 0; }

      20

     void sort(int array[],int n) { int 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.运行结果

      21 实验 四

     指针及其应用

     实验题目:(一)将若干字符串按字母顺序(由小到大)输出。

     (二)有 a 个学生,每个学生有 b 门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数来实现。

     实验目的 6. 掌握指针的概念,会定义和使用指针变量 7. 掌握数组的指针及其基本用法。

     8. 掌握指针变量函数作参数时,参数的传递过程及其用法 9. 掌握字符串的指针及其用法 10. 掌握函数的指针及其用法

     (一)实验步骤:

     1.题目分析

      22 4. 源程序代码:

     #include <stdio.h> #include <string.h> int main() { void sort(char *name[],int n);

     //函数声明

     void print(char *name[],int n); //函数声明

     char *name[]={"Follow me","BASIC",

     "Great Wall","FORTRAN","Computer design"};

      //定义指针数组,它的元素分别指向 5 个字符串

     int n=5;

     sort(name,n);

     //调用 sort 函数,对字符串排序

      print(name,n); //调用 print 函数,输出字符串

     return 0; }

     void sort(char *name[],int n)

      //定义 sort 函数 { char *temp;

     int i,j,k;

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

      //用选择法排序

     { k=i;

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

     if(strcmp(name[k],name[j])>0) k=j;

      23

      if(k!=i)

      { temp=name[i]; name[i]=name[k]; name[k]=temp;}

     } }

     void print(char *name[],int n) //定义 print 函数 { int i;

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

      printf("%s\n",name[i]);

      //按指针数组元素的顺序输出它们所指向的字符串 }

     3.运行结果

      24 (二)实验步骤:

     1.题目分析 pointer score 数组 pointer+1 60 70 80 90

     56 89 67 88

     34 78 90 66

     5. 源程序代码:

     #include <stdio.h> int main() { float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};

      //定义数组,存放成绩

     float *search(float (*pointer)[4],int n); //函数声明

     float *p;

     int i,k;

     printf("enter the number of student:");

     scanf("%d",&k); //输入要找的学生的序号

     printf("The scores of No.%d are:\n",k);

     p=search(score,k); //调用 search 函数,返回 score[k][0]的地址

      25

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

      printf("%5.2f\t",*(p+i)); //输出score[k][0]~score[k][3]的值

     printf("\n");

     return 0; }

     float *search(float (*pointer)[4],int n) //形参 pointer 是指向一维数组的指针变量 { float *pt;

     pt=*(pointer+n); //pt 的值是&score[k][0]

     return(pt); } 3.运行结果

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识