C语言函数实验
一、实验目的
1、掌握C语言函数相关知识
2、使用C语言掌握函数定义及应用。
二、实验设备与器件
PC机、头歌实践教学平台
三、实验内容
使用头歌平台编程:

(一)设计题目
计算机程序设计(C)1、函数综合实验(A)
编写一个函数 sum(),接受两个整数参数,返回它们的和。在 main() 函数中调用 sum() 函数并输出结果。
C程序1: |
#include <stdio.h> int sum(int x, int y) { /***********begin********/ return x + y; /**********end***********/ } int main() { int a = 10, b = 20; int result = sum(a, b); printf("result = %d\n", result); return 0; }
 |
2、函数综合实验(B)
编写一个函数 search(),接受一个整型数组 arr、数组的长度 len 和一个整数 target,返回 target 在数组中的位置,如果 target 不在数组中则返回 -1。在 main() 函数中定义一个数组并初始化,调用 search() 函数并输出结果。
C程序2: |
#include <stdio.h> int search(int arr[], int len, int target) { /***********begin********/ for (int i = 0; i < len; i++) { if (arr[i] == target) { return i; } } return -1; /**********end***********/ } int main() { int arr[] = {10, 20, 30, 40, 50}; int len = sizeof(arr) / sizeof(arr[0]); int target = 40; int pos = search(arr, len, target); if (pos == -1) { printf("%d not found\n", target); } else { printf("%d found at position %d\n", target, pos); } return 0; }
 |
3、变量的存储类别
编写一个程序,在 main() 函数中定义一个自动变量 num,并将它的值传递给一个函数 add(),在 add() 函数中定义一个自动变量 x,将 num 加 10 并赋值给 x,然后输出 x 的值。
C程序3: |
#include <stdio.h> void add(int num) { /***********begin********/ int x = num + 10; printf("%d", x); /**********end***********/ } int main() { int num = 20; add(num); return 0; }
 |
4、变量的作用域
编写程序,计算两个数的和并返回结果。其中一个数为全局变量,另一个数为局部变量。
C程序4: |
#include<stdio.h> /***********begin********/ int gn= 10; // 定义全局变量 /**********end***********/ int main() { /***********begin********/ int ln = 20; // 定义局部变量 int sum = gn + ln; // 计算两个数的和 printf("%d",sum); /**********end***********/ return 0; }
 |
5、公约数
写一个函数 int gcd(int a, int b),该函数接收两个正整数 a 和 b,返回它们的最大公约数。
C程序5: |
#include <stdio.h> int gcd(int a, int b) { /***********begin********/ int temp; while (b != 0) { temp = b; b = a % b; a = temp; } return a; /**********end***********/ } int main() { int x, y; scanf("%d%d",&x,&y); int g = gcd(x, y); printf("%d",g); return 0; }



 |
6、函数的定义2
编写一个函数,接受两个整数参数,返回它们中的最大数。
C程序6: |
#include <stdio.h> int max(int a, int b ){ /***********begin********/ int max_num = a; if(b>a) max_num = b; return max_num; /**********end***********/ } int main() { int a,b; scanf("%d %d",&a,&b); printf("%d",max(a,b)); }


 |