一、单选题1、有以下程序#define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++) printf("%d",a[i]); }程序运行后的输出结果是______。 A:10234 B:12344 C:12334 D:12234答案:C评析:本题考查的是循环的嵌套。本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用"fun(a,2,9);"可知,函数fun用于将a[2]到a[9]的各元素依次向后移一位,移完后,a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。故本题答案为C。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:没有定义2、有以下程序#define P 3 void F(int x){return(P*x*x);} main() {printf("%d\n",F(3+5));}程序运行后的输出结果是______。A:192 B:29 C:25D:编译出错答案:D评析:本题考查的是宏定义。return语句用于从被调函数带回一个函数值。void关键字表示"无类型",即不需要从被调函数中带回函数值,所以不需要return语句,故编译时出错。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的类型和返回值、宏定义3、有以下程序int fun1(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y); return(int)(a+b);}main(){double w;w=fun2(1.1,2.0);……}程序执行后变量w中的值是______。 A:5.211 B:5 C:5.0 D:0.0答案:C评析:本题考查的是数值类型的定义与强制转换。本题在进行调用函数fun2()时,又对函数fun1()进行了调用,由于函数fun1()定义为整型,所以第一次调用fun1()时返回的值为1,然后再将1赋值给a,此时由于a为double型,则系统自动类型转换,将1转换成了1.000000赋值给了变量a,以此类推,得b的值为4.000000,然后通过"return(int)(a+b);"将a+b的值强制转换为int型5返回给主函数,此时又由w的类型为double,所以返回的整型值5又被转换为double型。故输出结果为5.0。故本题答案为C。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点...