《C语言及程序设计》实践项目——程序的多文件组织

    xiaoxiao2025-10-16  9

    返回:贺老师课程教学链接

    【项目1-程序的多文件组织】请将下面的程序中的代码分别保存在两个文件中,利用多文件的方式组织。

    * main.c(也可以是别的名字)

    #include <stdio.h> int max(int x,int y); int min(int x,int y); int main( ) { int a,b,c1,c2; printf("输入两数:"); scanf("%d %d", &a, &b); c1=max(a,b); printf("max=%d\n", c1); c2=min(a,b); printf("min=%d\n", c2); return 0; }

    * fun.cpp(也可以是别的名字)

    //文件开头还可以根据需要写#include<>及其他声明(本程序不需要) int max(int x,int y) { int z; z=x>y?x:y; return(z); } int min(int x,int y) { int z; z=x<y?x:y; return(z); }

    【项目2——带头文件的程序】建立下面由多个头文件和源文件组成的程序,并运行 * main.h

    #ifndef MAIN_H #define MAIN_H #include <stdio.h> #include <stdlib.h> int *a; int b; #endif

    *main.cpp

    #include "main.h" #include "extern.h" int main() { a = (int *)malloc(sizeof(int)); *a = 1; b = 2; printf("int a = %d\n",*a); printf("int b = %d\n",b); func(); free(a); return 0; }

    * extern.h

    #ifndef EXTERN_H #define EXTERN_H #include <stdio.h> extern int *a; extern int b; static int c = 8; void func(); #endif

    * extern.cpp

    #include "extern.h" void func() { printf("Before:\n"); printf("in func a = %d\n",*a); printf("in func b = %d\n",b); *a = 3; b = 4; printf("After:\n"); printf("in func a = %d\n",*a); printf("in func b = %d\n",b); printf("only used in extern.h c = %d",c); }

    【项目3-随便改】保持下面程序主体for循环部分不变,用你能想到的办法修改程序,使下面程序的输出的a每次都能变化,输出1 2 3 4

    #include<stdio.h> void change(int a) { a=a+1; } int main() { int a=0; int n=4; int i=0; for(i=0; i<n; i++) { change(a); printf("%d ",a);//如何使这里a的值,每次都发生改变 } return 0; }

    [参考解答]

    【项目4-自选多文件组】 选择一个你在前面做过的一个“大程序”,将mian()函数保存在一个单独的源文件中,程序中所需要变量、类型、函数声明,保存到一个.h文件中,而涉及到的自定义函数,分类别地保存到不同的源文件中。以此巩固用多文件组织的能力,体会这样组织程序的好处。

    相关资源:C语言实验报告(初学所有典型实验分析、流程图、程序、结果)
    最新回复(0)