資源描述:
《ctest題庫(kù)(ans)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、2003-2005年上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)(C程序設(shè)計(jì))試題一(每小題4分)解答下列各小題,把正確的解答寫(xiě)在答卷紙的對(duì)應(yīng)欄內(nèi)。(1)假設(shè)對(duì)n(n>0)個(gè)學(xué)生按下列方法進(jìn)行分班:每班k(k>0)個(gè)學(xué)生,最后一個(gè)班若不足k人也單獨(dú)編成一個(gè)班。試用C語(yǔ)言中的條件表達(dá)式表示所編班級(jí)個(gè)數(shù)。(2)設(shè)有變量定義:structrec{intx;inty;}s[]={{4,28},{9,36}},*p=s;計(jì)算表達(dá)式(p->y/p->x*s[1].x+s[1].y)的值。(3)寫(xiě)出下列程序的輸出結(jié)果。#includevoidmain(){chars[]="2473",c
2、,i;for(i=0;c=s[i];i++){switch(c-'0'){case2:case3:putchar(c+4);continue;case4:putchar(c+4);break;case5:putchar(c+3);default:putchar(c+2);}putchar(‘’);}}(4)分別寫(xiě)出下列4個(gè)指針變量p1,p2,p3,p4的含義。int*p1,*p2[5],(*p3)(),(*p4)[5];(5)寫(xiě)出程序的輸出結(jié)果(假定類(lèi)型unsignedint的字長(zhǎng)為16位)。#includevoidmain(){unsignedintu1=0x
3、958,u2,u3;u2=(u1&0xFF)<<4;u3=(u1&0xFF00)>>4;printf("%x%x%x",u2,u3,u2
4、u3);}(6)閱讀如下程序段,把其中的switch語(yǔ)句改寫(xiě)成先進(jìn)等價(jià)的條件語(yǔ)句。intx,y;scanf("%d",&x);switch(x!=0){case0:y=0;break;case1:switch(x>0){case1:y=1;break;case0:y=-1;}}(1)描述函數(shù)conv()的功能,并寫(xiě)出下列程序的輸出結(jié)果。voidconv(intm){if(m>=2)conv(m/2);printf("%d",m%2);}void
5、main(){conv(13);}(2)設(shè)有變量說(shuō)明:inta=5,b=4,c=3,r1,r2;請(qǐng)寫(xiě)出執(zhí)行下列語(yǔ)句后r1和r2的值。r1=a>b>c;r2=a>b&&b>c;(3)試寫(xiě)出下列算式的C語(yǔ)言表達(dá)式。(4)執(zhí)行下列程序后,i,j,k的值是多少?for(i=k=0,j=6;ivoidmain(){int*a[10],b,c;a[0]=&b;*a[0]=5;c=(*a[0])++;printf("%d%d",b,c);}(6)設(shè)有如下程序:#include
6、voidmain(){intclock;floatf;charcpu[20];scanf("%4d%f%s",&clock,&f,cpu);printf("%d%.0f%s",clock,f,cpu);}假設(shè)輸入數(shù)據(jù)流為200015.0P4isGOOD!,請(qǐng)寫(xiě)執(zhí)行該程序后的輸出結(jié)果。(1)下列程序的輸出結(jié)果是什么?#includemain(){intc1=0,c2=0,c3=0,c4=0;char*p="12395632123378";while(*p){switch(*p){case'1':c1++;break;case'2':c2++;ca
7、se'3':c3++;break;default:c4++;}p++;}printf("c1=%dc2=%dc3=%dc4=%d",c1,c2,c3,c4);}(2)執(zhí)行下列程序后,s的值為多少?#definesq(X)X*Xvoidmain(){ints=15,a=2,b=1;printf("s=%d",s=sq(a+b)/sq(a+b));}(3)設(shè)inta=12,試寫(xiě)出計(jì)算表達(dá)式a+=a/=a-=a*a以后的值。(4)設(shè):inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4]=a;求*(*(p+2)+1)(5)設(shè)有變量定義:s
8、tructnum{intx;inty;}sa[]={{2,32},{8,6}};structnum*p=sa;試計(jì)算表達(dá)式p->y/sa[1].x*++p->x的值。(6)寫(xiě)出如下程序段的輸出結(jié)果。inta=0,b=0,c=0,x;x=(a=50)&&(b=0)&&(c=100);printf(“%d,%d,%d,%d”,x,a,b,c);(7)執(zhí)行下面程序段以后,數(shù)組a的成員值各為多少?inta[4]={1,3,5,7};a[3]=--a[0]?++