多选题\n 全局变量的作用域是( )。 A. 从定义变量的位置开始到文件结束为止 B. 从定义变量的位置开始到函数结束为止 C. 所有函数 D. 所有文件 \n多选题\n 以下不能正确进行字符数组赋初值的语句是( )。 A. char str[5]= "good"; B. char str="good"; C. char str[]="good"; D. char str[5]={'g', 'o', 'o', 'd'}; \n简答题\n 下面程序的功能是:删除字符串s中所出现的与变量c相同的字符。请填空。 #include void Squeeze(char s[], char c); int main(void) { char s[80], c; gets(s); scanf("%c", &c); Squeeze( (1) ); puts(s); return 0; } void Squeeze(char s[], char c) { int i, j = 0; for (i = 0; s[i] != '\0'; i++) { if (s[i] != c) { (2) ; j++; } } (3) ; }\n简答题\n 某函数有返回值,某次调用该函数结束后,该函数能够返回的值的个数为 个(填数字)。\n多选题\n 关于递归函数以下说法错误的是( )。 A. C语言允许直接递归调用和间接递归调用 B. 递归函数通常有出口结束递归 C. 递归函数的效率一定比功能等价的非递归函数效率低许多 D. 递归函数通常有书写简单和形式直观的优点 \n多选题\n 以下程序的输出结果是( )。 #include int func(int a, int b) { return a + b; } int main() { int x = 2, y = 5, z = 8, r; r = func(func(x, y), z); printf("%d\n", r); return 0; } A. 12 B. 13 C. 14 D. 15 \n多选题\n 以下函数定义的return语句括号内不可以填写的是( )。int fun(int p){ int a = 0, b[2] = { 0 }; return ( );} A. a B. b[0] C. p D. b \n简答题\n 下面程序要实现的功能是:用二分法在一个升序排列的数组中查找某个数。若存在,输出该数及其下标位置;若不存在,则输出表示找不到此数的信息。该程序中有4处错误。 改错形式: 错误一:原语句: 修改为: 错误二:原语句: 修改为: 错误三:原语句: 修改为: 错误四:原语句: 修改为: 【带错误的源代码】 #include int main(void) { int a[10] = { 2,5,6,8,11,15,18,22,60,88 }; int low, high, m, i, x; scanf("%f", &x); low = 0; high = 9; while (low > high) { m = (low + high) / 2; if (x == a[m]) break; else if (x > a[m]) high = m + 1; else low = m - 1; } if (low printf("%d is found, the position is %d", x, m); else printf("%d is not found\n", x); return 0; }\n多选题\n 以下关于函数的描述中,不正确的是( )。 A. 函数类型为void时表示函数没有返回值 B. 函数参数为void时表示函数不接受参数 C. 标准库函数printf()和scanf()都有返回值 D. 函数只能调用同一源文件中的其他函数 \n多选题\n 递归函数 f(n) = f(n-1) + n ( n>1 ) 的递归出口是( )。 A. f(1) = 0 B. f(1) = 1 C. f(0) = 1 D. f(n) = n \n多选题\n 下列对函数void BC(int x, double y){}的声明中正确的是( )。 A. void BC(int, double); B. void BC(int, int); C. void BC(double y, int x); D. void BC(int x, double y){ } \n多选题\n 对于使用一维数组名作函数实参,以下说法中正确的是 ( )。 A. 实参数组必须说明大小 B. 实参数组类型与形参数组类型可以不匹配 C. 形参数组不必声明大小 D. 实参数组名与形参数组名必须一致 \n多选题\n 如果在函数中的复合语句内定义了一个变量,则该变量( )。 A. 只在该复合语句中有效 B. 在整个函数中有效 C. 在整个程序范围内有效 D. 在整个文件内有效 \n简答题\n 以下程序段的运行结果 。 int num = 0; while(num { num ++; if(num == 3) break; printf("%d#", num); }\n多选题\n 若有定义int i=1;,执行语句while (i++ 3 B. 4 C. 5 D. 6 \n简答题\n 下列程序的功能是:求 的值。请填空。 #include int main(void) { int i = 2; float ; while ( ) { sum = sum + 1.0 / i; ; } printf("sum=%f\n", ); return 0; }\n多选题\n 执行下列的程序段后z的值是( )。 int x=10, y=20, z; char c='A'; z=(x&&y)&&(c>'B'); A. false B. true C. 1 D. 0 \n多选题\n 以下关于函数参数的说法中不正确的是( )。 A. 实参可以是常量、变量或表达式 B. 形参可以是常量、变量或表达式 C. 实参可以为与形参兼容的任意类型 D. 如果形参和实参的类型不一致,以形参类型为准 \n多选题\n 以下选项中,不合法的C语言常量是( )。 A. .123 B. 345L C. 2.5e-3 D. 'no' \n简答题\n 下面程序的功能是:从键盘输入若干学生的成绩(不超过1000个),统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 #include int main(void) { float x[1000], sum = 0.0, ave, a; int n = 0, i; printf("Enter mark:\n"); scanf("%f", &a); while (a >= 0.0 && n { sum = ; x[n] = ; n++; scanf("%f", &a); } ave = sum / n; printf("Output: "); printf("ave=%.1f\n", ave); for (i = 0; i if ( ) printf("under ave:%.1f\n", x[i]); return 0; }\n