1. 函数定义与声明
在C语言中,int 函数通常指的是返回值为整型的函数。首先,我们需要了解如何定义和声明一个 int 函数。
1.1 函数声明
int add(int a, int b);
这里,add 是一个函数名,它接受两个 int 类型的参数 a 和 b,并返回一个 int 类型的值。
1.2 函数定义
int add(int a, int b) {
return a + b;
}
这个函数将两个整数相加,并返回结果。
2. 函数调用
函数调用是将函数名后跟参数列表的过程。以下是如何调用前面定义的 add 函数:
int result = add(3, 4);
这将计算 3 和 4 的和,并将结果存储在 result 变量中。
3. 实战例题
以下是一些实战例题,帮助您更好地理解 int 函数的调用:
3.1 例题1:计算两个数的最大值
#include <stdio.h>
int max(int a, int b) {
return (a > b) ? a : b;
}
int main() {
int num1 = 10, num2 = 20;
printf("The maximum of %d and %d is %d\n", num1, num2, max(num1, num2));
return 0;
}
3.2 例题2:计算两个数的平均值
#include <stdio.h>
int average(int a, int b) {
return (a + b) / 2;
}
int main() {
int num1 = 15, num2 = 25;
printf("The average of %d and %d is %d\n", num1, num2, average(num1, num2));
return 0;
}
3.3 例题3:判断一个数是否为偶数
#include <stdio.h>
int isEven(int num) {
return (num % 2 == 0) ? 1 : 0;
}
int main() {
int num = 7;
printf("Is %d an even number? %s\n", num, isEven(num) ? "Yes" : "No");
return 0;
}
3.4 例题4:计算阶乘
#include <stdio.h>
int factorial(int n) {
if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int num = 5;
printf("Factorial of %d is %d\n", num, factorial(num));
return 0;
}
3.5 例题5:计算斐波那契数列的第n项
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n = 10;
printf("The %d-th Fibonacci number is %d\n", n, fibonacci(n));
return 0;
}
3.6 例题6:冒泡排序
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
printf("Sorted array: \n");
for (int i=0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
3.7 例题7:二分查找
#include <stdio.h>
int binarySearch(int arr[], int l, int r, int x) {
while (l <= r) {
int m = l + (r - l) / 2;
if (arr[m] == x)
return m;
if (arr[m] < x)
l = m + 1;
else
r = m - 1;
}
return -1;
}
int main() {
int arr[] = {2, 3, 4, 10, 40};
int n = sizeof(arr)/sizeof(arr[0]);
int x = 10;
int result = binarySearch(arr, 0, n-1, x);
if (result == -1)
printf("Element is not present in array");
else
printf("Element is present at index %d", result);
return 0;
}
3.8 例题9:计算字符串长度
#include <stdio.h>
#include <string.h>
int stringLength(const char *str) {
return strlen(str);
}
int main() {
const char *str = "Hello, World!";
printf("Length of the string is %d\n", stringLength(str));
return 0;
}
3.9 例题10:反转字符串
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
通过以上例题,您可以更好地理解C语言中 int 函数的调用和应用。希望这些例题能够帮助您在实际编程中更加熟练地使用 int 函数。
