微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!
a[1],"you"); a[0][3]=''&''; printf("%s\n",a);} A.are&you B.you C.are D.& 参考答案: A strcpy(a,"are")中数组名a代表数首地址a[o][o]的地址常量,该操作把are复制到stropy(a[1],“you”)中you代表aEl][O]的首地址该操作把you复制到aEi]中,故输出a为“areg~you”a[0][3]=''&''。----------------------------------------36、下列程序的运行结果是( )。#include<stdio.h>#define ADD(x)X+Xmain(){ int m=1,n=2,k=3; int S=ADD(m+n)*k; printf("S=%d",s);} A.sum=18B.sum=10 C.sum=9 D.sum=25 参考答案: B 本题考查带参数的宏的定义#define ADD(x)x+x,本x代表m+n,故s写成s=m+n+m+n*k=1+2+1+2*3=10。----------------------------------------37、有以下程序:fun(int X,int y){return(X+y);}main(){ int a=1,b=2,c=2,sum; sum—fun((a++,b++,a+b),c++); printf("%d\n",sum);执行后的结果是( )。 A.6 B.7C.8D.9 参考答案: C 表达式a++.b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果。所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x的值为5;表达式c++先把变量c的值传给形参y,然后c的值加1,所以y的值为3,因此函数fun((a++,b+4-,a+b),c++)的返回值为8。----------------------------------------38、设x=011050,设x=x&01252的值是( ) A.0000001000101000B.1111110100011001C.0000001011100010D.1100000000101000 参考答案: A 本题考查按位与运算按位与就是相同为1,不同为0,把x=011050化成二进制为0001001000101000,把01252化成二进制为0000001010101010两者相与得0000001000101000。----------------------------------------39、有以下程序:fun(int x){ int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p;}main(){printf("%d\n",fun(7));} 执行后的结果是( )。 A.7B.3 C.2 D.0 参考答案: C 调用函数fun(7)时,由于x的值为7,执行语句p=x—fun(x一2);,相当于执行p=7一fun(5): 调用函数fun(5)时,由于x的值为5,执行语句p=x—fun(x一2);,相当于执行p=7一fun(3); 调用函数fun(3)时,由于x的值为3,执行语句p=x—fun(x一2);,相当于执行p=7一fun(