第2次形成性考核 (数组与函数)
一、(填空题 – 3分)
定义一个包含10个整数的数组 arr 的语句是:int arr[_10___];
数组元素的下标从 __0__ 开始。
访问数组 arr 的第5个元素的表达式是 arr[_4___];
二、(选择题 – 3分)
下列关于C语言函数的说法,错误的是? D
- 函数可以没有返回值。
- 函数可以没有参数。
- 函数必须在调用之前进行声明或定义。
- 函数名可以与变量名相同。
三、(编程题 – 8分)
编写一个C程序,定义一个包含5个整数的数组,并从键盘输入这5个整数。然后,计算并输出数组中所有元素的平均值(结果保留一位小数)。
示例输入:
10 20 30 40 50
示例输出:
Average: 30.0
#include <stdio.h>
int main() {
int arr[5];
double sum = 0;
// 输入5个整数
for (int i = 0; i < 5; i++) {
scanf(“%d”, &arr[i]);
sum += arr[i];
}
// 计算平均值并输出
printf(“Average: %.1f\n”, sum / 5);
return 0;
}
四、(编程题 – 8分)
编写一个函数 int findMax(int a, int b, int c),该函数接收三个整数作为参数,返回其中的最大值。在 main 函数中调用该函数,并输出结果。
示例输入 (在main函数中处理,或直接在调用时给定值):
// 假设在main函数中调用 findMax(15, 7, 22)
示例输出:
Max value is: 22
#include <stdio.h>
int findMax(int a, int b, int c) {
int max = a;
if (b > max) max = b;
if (c > max) max = c;
return max;
}
int main() {
int result = findMax(15, 7, 22);
printf(“Max value is: %d\n”, result);
return 0;
}
五、(编程题 – 8分)
编写一个C程序,输入一个字符串(不包含空格,长度不超过50),然后统计并输出该字符串中大写字母的个数。
示例输入:
HelloC
示例输出:
Uppercase letters: 2
#include <stdio.h>
#include <string.h>
int main() {
char str[51];
int count = 0;
// 输入字符串
scanf(“%s”, str);
// 统计大写字母
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= ‘A’ && str[i] <= ‘Z’) {
count++;
}
}
// 输出结果
printf(“Uppercase letters: %d\n”, count);
return 0;
}