资源描述:
《复试C语言准备》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、读程序,写执行结果1、(2006年)#includevoidmain(){inta[]={2,4,6,8},p[3]={a+2,a+1,a},q=p;printf("%d",(p[0]+1)+(q+2));}结果:102、(2006年)#includevoidmain(){intx,y,z,w;z=(x=-1)?(y=-1,y+=x+5):(x=7,y=3);w='A'+y;printf("%d%d%d%c",x,y,z,w);}结果:-133D3、(2005年)#includeintmain()
2、{inta=4,b=3,c=1,x;x=a>b;printf("%d",x);x=--a+b++;printf("%d",x);x=a>b;printf("%d",x);x=c&&b==c;printf("%d",x);return0;}结果:16004、(2005年)#includeintmain(){inti,j;for(i=0;i<8;i+=2){for(j=0;j<(8-i)/2;j++)printf("+");for(j=0;j<=i;j++)printf("");printf("");}return0;}结果:+
3、+++++++++5、(2007年)#includeintmain(void){inti=1,j=3;printf("%d,",i++);{inti=0;i+=j2;printf("%d,%d,",i,j);}printf("%d,%d",i,j);return0;}结果:1,6,3,2,36、(2007年)#include#defineN2#defineMN+1#defineNUM(M+1)M/2intmain(void){inti,n=0;for(i=1;i<=NUM;i++){n++;printf("%d",n);}
4、printf("");return0;}结果:123456787、(2003年)#includevoidswap(intp1,intp2){intt;t=p1;p1=p2;p2=t;}voidmain(){inta=1,b=3,p=&a,q=&b;swap(&p,&q);printf("%d,%d,%d,%d",a,b,p,q);}结果:1,3,3,18、(2003年)#includevoidmerge(chard,chars1,chars2){while(s1!=' '&&s2!=' ')if(s15、=s1++;elsed++=s2++;while(s1!=' ')d++=s1++;while(s2!=' ')d++=s2++;d=' ';}voidmain(){chars1="acdgh",s2="bcfhi",s3[20];merge(s3,s1,s2);puts(s3);}结果:abccdfghhi一、写出下列表达式运算后a的值,设a,b均为int,每个表达式运算前a=2,b=3。(2004年)(1)a+=b5;答案:17(2)a=b++;答案:3(3)a%=(a%=b);答案:0(4)a=a>b&&>aa;答案:1(5)a=!b6、;答案:1一、下面的程序构造一个有向图,请画出其示意图。(2004年)#includestructnode/有向图的节点类型/{intkey;structnodeleft,right,up,down;};intmain(){inti;structnodenodes[5];for(i=0;i<5;i++){nodes[i].key=i;nodes[i].left=NULL;nodes[i].right=NULL;nodes[i].up=NULL;nodes[i].down=NULL;}nodes[0].left=nodes+1;nodes[1].
7、left=nodes;nodes[1].up=nodes+2;nodes[2].down=nodes+3;nodes[3].right=nodes+4;nodes[4].up=nodes;nodes[4].down=nodes+1;return0;}答:二、按要求完成C函数1、intmaxSameChar(chars);该函数计算字符串s中最大连续相同的字符个数。例如,若s为”aaabbbb”,则返回值为4;若s为”abcde”,则返回值为1。(2003年)解:intmaxSameChar(chars){inttemp=1,max=0;charc=' ';wh
8、ile(s){if(c=