就业数据资源平台
当前位置:首页 > C语言程序设计
2013年计算机二级考试C语言笔试题及答案9

(41)有以下程序


#include 


int a=1;


int f(int c)


{static int a=2;


c=c+1;


return (a++)+c;}


main()


{ int i,k=0;


for(i=0;i<2;i++){int a=3;k+=f(a);}


k+=a;


printf(“%d\n”,k);


}


程序运行结果是


A) 14 B) 15


C) 16 D) 17


(42)有以下程序


#include 


void fun(int n,int *p)


{ int f1,f2;


if(n==1||n==2) *p=1;


else


{ fun(n-1,&f1); fun(n-2,&f2);


*p=f1+f2;


}


}


main()


{ int s;


fun(3,&s); printf("%d\n",s);


}


程序的运行结果是


A)2 B)3 C)4 D)5


(43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是


A)宏定义行中定义了标识符N的值为整数100


B)在编译程序对C源程序进行预处理时用100替换标识符N


C) 对C源程序进行编译时用100替换标识符N


D)在运行时用100替换标识符N


(44)以下关于typedef的叙述错误的是


A)用typedef可以增加新类型


B)typedef只是将已存在的类型用一个新的名字来代表


C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名


D)用typedef为类型说明一个新名,通常可以增加程序的可读性


(45)有以下程序


#include


struct tt 


{int x;struct tt *y;} *p;


struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};


main()


{ int i;


p=a;


for(i=1;i<=2;i++) {printf("%d,",p->x); p=p->y;}


}


程序的运行结果是


A)20,30, B)30,17 C)15,30, D)20,15,


41-45 AABAD

就业数据资源平台