(44)變量a所占的內(nèi)存字節(jié)數(shù)是______ 。 A)4 B)5 C)6 D)8 Union U { char st[4]; Int i: Long l; }; Struct A { int c; Union U u; }a; 答案:C 評(píng)析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占內(nèi)存長(zhǎng)度之和,而共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。本題結(jié)構(gòu)體變量a中成員c為整型占2個(gè)字節(jié),共用體變量u最大長(zhǎng)度為4個(gè)字節(jié),故選C。
(8) 以下程序的輸出是 【8】 。 main() { char strl[]="How do you do",*pl=strl: strcpy(strl+strlen(strl)/2,"es she"); printf("%s\n",p1); } 答案:【8】How does she 評(píng)析:strcpy(strl,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括'\O'在內(nèi)。本題中strlen(strll的值為13,則strcpy(strl+strlen(strl)/2,"es she",);相當(dāng)于strcpy(strl+6,"es she");,因此可得答案為How does she。
(9)以上程序運(yùn)行后的輸出結(jié)果是 【9】 。 main() {int i=10,J=0; do {j=j+i;i--;} while(i>2); printf("%d\n",j); } 答案:【9】52 評(píng)析:do...while語(yǔ)句的形式為: do { 語(yǔ)句: }while(條件表達(dá)式) 當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。