多选题\n sizeof(2.5)的值是( )。 A. 2 B. 4 C. 6 D. 8 \n简答题\n 有下列函数定义, 当执行语句"k=f(f(1)); "后, 变量k的值为 。 int f(int x) { static int k = 0; k = k + x; return k; }\n多选题\n 若有说明语句:char s= '\42 ';则变量s ( )。 A. 包含一个字符 B. 包含两个字符 C. 包含三个字符 D. 说明不合法,s的值不确定 \n多选题\n 判断整数n是否为两位数的表达式是( )。 A. 10 n>=10 || n 10 n>=10 && n<=99 \n简答题\n 下面程序的功能是:将一维数组a中数据元素按照从小到大的顺序排序。请填空。 #include int main(void) { int i, a[8] = { 23,15,6,12,8,21,4,16 }; printf("Before sorting: \n"); for (i = 0; i printf("%d ", a[i]); printf("\n"); sort(a, 8); printf("After sorting:\n"); for (i = 0; i printf("%d ", a[i]); printf("\n"); return 0; } void sort(int array[], int n) { int i, j, k, t; for (i = 0; i { k = i; for (j = i + 1; j { if ( ) k = j; } if (k != i) { t = ; array[i] = array[k]; array[k] = t; } } }\n多选题\n 以下程序的运行结果是( )。#include void fun(int a, int b){ int temp = a; a = b; b = temp;}int main( ){ int a = 1, b = 2; fun(a, b); printf("%d %d\n", a, b); return 0;} A. 1 1 B. 1 2 C. 2 1 D. 2 2 \n简答题\n 下面程序的功能是:数组的元素左移1个位置,将第一个元素存到末尾。如数组为1 2 3 4 5 6 7 8,则循环左移后变为2 3 4 5 6 7 8 1。请填空。 #include void change(int arr[], int n) { int i, (1) ; for (i = 0; i (2) ; arr[n - 1] = temp; } int main(void) { int a[10], i; for (i = 0; i scanf("%d", &a[i]); (3) ; for (i = 0; i printf("%d ", a[i]); return 0; }\n多选题\n 以下关于void关键字的说法中正确的是( )。 A. 表示函数返回任意类型值 B. 可以表示函数没有返回值 C. 可以用作函数实际参数 D. 可以用作函数的返回值 \n多选题\n 关于函数声明,以下不正确的说法是( )。 A. 如果函数定义出现在函数调用之前,可以不必加函数原型声明 B. 一个函数的原型只需要在所有主调函数之前声明一次 C. 函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查 D. 调用标准库函数前不需要函数原型声明 \n多选题\n 对于一个正常运行和正常退出的程序,以下叙述正确的是( )。 A. 程序从main()函数第一条可执行语句开始执行,在main()函数结束 B. 程序的执行总是从程序的第一个函数开始,在main()函数结束 C. 程序的执行总是从main()函数开始,在最后一个函数中结束 D. 从程序的第一个函数开始,在程序的最后一个函数中结束 \n多选题\n 函数的实参和形参之间的数据传递是单向的,则称为( )。 A. 地址传递 B. 值传递 C. 指针传递 D. 由用户指定传递方式 \n多选题\n 假定int类型占用4字节,若有定义int x[10]={0,2,4};则数组x在内存中所占的字节数是( )。 A. 3 B. 10 C. 12 D. 40 \n多选题\n 调用一个没有return语句的函数,以下说法正确的是( )。 A. 该函数没有返回值 B. 该函数返回若干个系统默认值 C. 该函数返回一个用户希望的值 D. 该函数返回一个随机数 \n简答题\n 结束一个没有返回值的函数语句是 。\n多选题\n 执行下列程序段的输出结果是( )。 int a = 0, b = 0, c = 0; switch (c) { case 0: b++; case 1: a++; case 2: a++; b++; } printf("a=%d, b=%d\n", a, b); A. a=2, b=2 B. a=1, b=1 C. a=1, b=0 D. a=1, b=2 \n多选题\n 有以下程序,程序运行后的输出结果是( )。 #include #define f(x) x*x*x int main() { int a = 3, s, t; s = f( a+1 ); t = f(( a+1)); printf( "%d,%d\n", s, t ); } A. 10,64 B. 10,10 C. 64,10 D. 64,64 \n多选题\n 以下正确使用宏定义#define TIMES(a,b) a*b求两个参数乘积的是( )。 A. TIMES(1 2) B. TIMES(1+1,2+2) C. printf("%s", TIMES(1,2)) D. TIMES(1,2) \n简答题\n 函数f()调用函数g(),而函数g()又调用函数f(),这种函数调用方式称为 。\n简答题\n 已知函数调用fun((a,a+a),(c+d,d+e,e)),则函数fun()的实参个数为 。\n多选题\n 已知定义#define TEN 3+7,则语句printf("%d\n", TEN * TEN);输出为( )。 A. 100 B. 31 C. TEN * TEN D. 3+7*3+7 \n