#include
void fun(char*t.char*s)
{ while(*tl=0)t++;
while((*t++-*s++)!一0);
)
main()
{char ssElo]=”aCC”,aaElo]=”bbxxyy”;
fun(SS,aa);printf(”%s,%s”,SS,aa);
)
程序運行結(jié)果是( )。A. accxyy,bbxxyyB. acc,bbxxyyC. accxxyy,bbxxyyD. accbbxxyy,bbxxyy
本題共1分,參考答案:D:D!窘馕觥恐骱瘮(shù)中語句fun(SS,aa)的功能是將字符串a(chǎn)a連接到字符串ss的末尾。
12下述程序的輸出結(jié)果是( )。
#includedstdio.h>
main()
{char ehE2][5]={”1234”,”5678”),*p[2];
int i,j,s=0;
for(i一0;i<2;i++)
pEi]=ch[i];
for(i一0;i<2;i++)
{s=p[i][j]-'0';
printf(”%d”,s);)
}A. 6357B. 6135C. 37D. 69j357
本題共1分,參考答案:C:C!窘馕觥勘绢}先將指針P指向二維數(shù)組eh[2]E5],相當(dāng)于p[o]一”l234”,p[1]一”5678”;通過雙重for循環(huán),將P中的字符隔一個輸出一個,通過“s=p[i][i]-'0';”語句將所要輸出的字符轉(zhuǎn)換成相應(yīng)的十迸制數(shù)。
13有以下程序
#include
main()
{FILE*fp;int a[10]=(1,2,3,0,0),i;
fp—fopen(”d2.dat,”wb”);
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp—fopen(”d2.dat”,”rb”);
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i十f-)printf("%d",a[i]);
}
程序的運行結(jié)果是( )。A. 1,2,3,0,0,0.0,0,0,0,B. 1,2,3,1,2,3,0,0,0,0,C. 123,0,0,0,0,123,0,0,O,O,D. 1,2,3,0,0,1,2,3,0,0,本題共1分,參考答案:D:D。【解析】本題程序首先用函數(shù)fopen()以“wb”的方式開打文件“d2.dat”,然后調(diào)用兩次fwrite函數(shù)將數(shù)組a的5個元素,依次輸出到文件fp中,共10個字節(jié),關(guān)閉文件。再次打開文件,使用文件指針指向文件的開頭,調(diào)用head函數(shù)從文件印中讀取這l0個字節(jié)的數(shù)據(jù)到數(shù)組a中。14下列程序的輸出結(jié)果是( )。
void fun(int*x,int y)
{printf(”%d%d”,*x,”y);*x=3;。y=4;)
main()
{ int x=1.y=2:
fun(&y,&x);
printf(”%dXd”,X,y);
) A. 2 1 4 3B. 1 2 1 2C. 1 2 3 4D. 2 1 1 2
本題共1分,參考答案:C:C。【解析】當(dāng)執(zhí)行fun函數(shù)時,因為參數(shù)傳遞時是地址傳遞,因此形參值的改變會影響實參中的數(shù),在執(zhí)行fun函數(shù)時先輸出l2,接著把*x賦3,*Y賦4,此時帶回主函數(shù)中,輸出的值為34。
15有以下程序,其中函數(shù)f的功能是將多個字符串按字典順序排序( )。
#{nc[ude%string.h>
void{(char*p[],int n)
{char*t;int i,j;
for(i=0:i
for(j=i+1;j
if(strcmp(p[i],p[j]>O){t=p[i];p[i]=p[j];p[j]
=t;}
}
main()
{char *P[5]={¨abc”,”aabdfg”,”abbd”,”dcdbe”,”ed”);
f(p,5):
print[("%d\n",strlen(p[1]));
程序運行后的輸出結(jié)果是( )。A. 2B. 3C. 6D. 4
本題共1分,參考答案:D:D!窘馕觥亢瘮(shù)voidf的功能是將字符指針數(shù)組*p[]中的每個字符串按照從小到大的順序排序。在主函數(shù)main()中,調(diào)用f(p,5)后,字符指針數(shù)組*pE5]中的字符串按照字典順序從小到大排列為如下形式,即*pE5]一(”aab—df9”,”abbd”,”abc”,”cd¨,”dcdbe”),因此P[1]=”abdb”,strlen(p[1])=4。
16下面程序的功能是輸m以下形式的金字塔圖案:
main()
{ int i,j;
for(i-1;i<-4;i++) ***
{ for(j=1;j<=4-i;j++)printf("");
*****
for(j=1;j<=________;j++)printf(”*”);
******
printf(”\n”):
}
}
在下劃線處應(yīng)填入的是( )。A. iB. 2*i-1C. 2*i+1D. i+2
本題共1分,參考答案:B:B!窘馕觥客ㄟ^觀察可知圖形共4行,主函數(shù)中通過一個for循環(huán)四次,輸出4行。第一行輸出3個空格和l個“*”,第2行輸出2個空格和3個“*”,第3行輸出3個空格和5個“*”,第四行輸出7個“*”,主函數(shù)中通過第二個循環(huán)控制每行的輸出空格數(shù),第三個for循環(huán)控制輸出的“*”的個數(shù),總結(jié)規(guī)律:每行輸出的“*”的個數(shù),總比前一行的多2個,且第一行的個數(shù)為l,可以斷定每行輸出的“*”的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出“*”的個數(shù)即該等差數(shù)列的通項,故該空格處應(yīng)該填寫2*i一1。
17設(shè)a、b和C都是int型變量。且a=3,b=4,c=5,則以下的表達(dá)式中值為0的表達(dá)式是( )。A. a&&.bB. a<=bC. aD. E. b+c&&b-cF. !((a
本題共1分,參考答案:D:D!窘馕觥縷|和&&的優(yōu)先級高于十和一,ll和&&的優(yōu)先級相等,且是左結(jié)合的,就是從左邊開始結(jié)合到右邊。按照這個規(guī)則,正確選項為D。
18下列變量聲明合法的是( )。A. short a=1.4e-1;B. double b=1+3e2.8;C. 10ng do=0xfdaL;D. float 2_aaa=1e-3;
本題共1分,參考答案:A:A。【解析】解答本題需了解3個知識點:①標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線;②d0是C語言的一個關(guān)鍵字,不能再用做變量名和函數(shù)名;③C語言規(guī)定指數(shù)形式的實型數(shù)量e或E后面的指數(shù)必須是整數(shù)。
19以下程序的輸出結(jié)果是( )。
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf(”%d,%d,%d,%d\n”,*P,*q,a,b);
)A. 8,7,8,7B. 7,8,7,8C. 8,7,7,8D. 7,8,8,7
本題共1分,參考答案:C:C!窘馕觥吭凇皉=P;p=q;q=r;”三個語句是表示P與q交換,經(jīng)過交換后P指向b的地址,q指向a的地址,因此最后輸出為8,7,7,8,故選擇C選項。
20有下列程序:
main()
{ int y=10
do(y--;}while(--y);
printf(”%d\n”,--y);
)
當(dāng)執(zhí)行程序時,輸出的結(jié)果是( )。A. -1B. 1C. 4D. 0
本題共1分,參考答案:D:D。【解析】本題考查d0—while循環(huán)。當(dāng)--Y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |