标签: ,

第2次形成性考核 (数组与函数)

 

一、(填空题 – 3分)

定义一个包含10个整数的数组 arr 的语句是:int arr[_10___];

数组元素的下标从 __0__ 开始。

访问数组 arr 的第5个元素的表达式是 arr[_4___];

 

二、(选择题 – 3分)

下列关于C语言函数的说法,错误的是? D

  1. 函数可以没有返回值。
  2. 函数可以没有参数。
  3. 函数必须在调用之前进行声明或定义。
  4. 函数名可以与变量名相同。

 

三、(编程题 – 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;

}