c语言考试题库大一函数题
时间: 2025-02-10 12:58:53 浏览: 56
### C语言大一水平的函数相关考试题目
#### 题目1:求一组数中奇数的和
编写一个名为 `sum_odd` 的函数,接收一个整型数组及其长度作为参数,返回该数组中所有奇数元素的和。
```c
#include <stdio.h>
int sum_odd(int arr[], int length) {
int sum = 0;
for (int i = 0; i < length; ++i) {
if (arr[i] % 2 != 0) {
sum += arr[i];
}
}
return sum;
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int size = sizeof(numbers) / sizeof(numbers[0]);
printf("Odd sum: %d\n", sum_odd(numbers, size));
return 0;
}
```
此代码展示了如何通过遍历数组并累加其中所有的奇数值来实现功能[^1]。
#### 题目2:判断给定数字是否为质数
创建一个叫做 `is_prime` 的函数,接受单个整数参数,并返回布尔值表示这个数是不是质数。
```c
#include <stdbool.h>
#include <stdio.h>
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0) return false;
}
return true;
}
int main() {
int test_num = 29;
if (is_prime(test_num)) {
printf("%d 是素数。\n", test_num);
} else {
printf("%d 不是素数。\n", test_num);
}
return 0;
}
```
这段程序利用了更高效的算法优化了原始版本中的循环次数,从而提高了性能[^3]。
#### 题目3:计算小于等于指定范围内的8的倍数总和
定义一个无参函数 `sum_of_multiples_of_8_below_1000` 来找出不超过1000的所有能被8整除的自然数并将它们相加以获得最终的结果。
```c
#include <stdio.h>
int sum_of_multiples_of_8_below_1000(void){
int sum = 0;
for (int i = 8; i <= 1000; i+=8) {
sum += i;
}
return sum;
}
int main(){
printf("Sum of multiples of 8 below or equal to 1000 is :%d \n", sum_of_multiples_of_8_below_1000());
return 0;
}
```
这里实现了对于特定条件下序列求和的功能,同时也体现了良好的编码习惯——使用更具描述性的变量名以及简洁明了的逻辑结构[^2]。
阅读全文
相关推荐


















