![2023年全國計算機二級C選擇題題庫_第1頁](http://file4.renrendoc.com/view/13b0cbc8dd61a06c0bccd04449336d8b/13b0cbc8dd61a06c0bccd04449336d8b1.gif)
![2023年全國計算機二級C選擇題題庫_第2頁](http://file4.renrendoc.com/view/13b0cbc8dd61a06c0bccd04449336d8b/13b0cbc8dd61a06c0bccd04449336d8b2.gif)
![2023年全國計算機二級C選擇題題庫_第3頁](http://file4.renrendoc.com/view/13b0cbc8dd61a06c0bccd04449336d8b/13b0cbc8dd61a06c0bccd04449336d8b3.gif)
![2023年全國計算機二級C選擇題題庫_第4頁](http://file4.renrendoc.com/view/13b0cbc8dd61a06c0bccd04449336d8b/13b0cbc8dd61a06c0bccd04449336d8b4.gif)
![2023年全國計算機二級C選擇題題庫_第5頁](http://file4.renrendoc.com/view/13b0cbc8dd61a06c0bccd04449336d8b/13b0cbc8dd61a06c0bccd04449336d8b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
全國計算機二級C選擇題題庫第35套1、下列敘述中對的的是A)程序可以作為算法的一種表達方式B)算法的有窮性是指算法的規(guī)模不能太大C)算法的復(fù)雜度用于衡量算法的控制結(jié)構(gòu)D)算法的效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)參考答案:A算法的有窮性是指操作環(huán)節(jié)有限且能在有限時間內(nèi)完畢,假如一個算法執(zhí)行花費的時間太長,即使最終得出了對的結(jié)果,也是沒故意義的。B選項錯誤。一個算法復(fù)雜度的高低體現(xiàn)在運營該算法所需要的計算機資源的多少。C選項錯誤。算法的效率是指算法執(zhí)行的時間,算法執(zhí)行時間需通過依據(jù)該算法編制的程序在計算機上運營時所消耗的時間來度量,這就與算法自身設(shè)計的優(yōu)劣以及具體的編程實現(xiàn)有關(guān),數(shù)據(jù)的存儲結(jié)構(gòu)會極大的影響程序的執(zhí)行時間。D選項錯誤。算法在實現(xiàn)時需要用品體的程序設(shè)計語言來實現(xiàn),所以程序可以作為實現(xiàn)算法的一種表達方式。故選A選項。2、某循環(huán)隊列的存儲空間為Q(1:m),初始狀態(tài)為front=rear=m?,F(xiàn)通過一系列的入隊操作和退隊操作后,front=m-1,rear=m,則該循環(huán)隊列中的元素個數(shù)為A)m-1B)1C)mD)0參考答案:B循環(huán)隊列長度為m,由初始狀態(tài)為front=rear=m可知此時循環(huán)隊列為空。入隊運算時,一方面隊尾指針(rear)進1(即rear+1),然后在rear指針指向的位置插入新元素。特別的,當(dāng)隊尾指針rear=m+1時,置rear=1。退隊運算時,排頭指針(front)進1(即front+1),然后刪除front指針指向的位置上的元素,當(dāng)排頭指針front=m+1時,置front=1。從排頭指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素,則該循環(huán)隊列中的元素個數(shù)為m-(m-1)=1。故選擇A選項。3、能從任意一個結(jié)點開始沒有反復(fù)地掃描到所有結(jié)點的數(shù)據(jù)結(jié)構(gòu)是A)循環(huán)鏈表B)雙向鏈表C)二叉鏈表D)有序鏈表參考答案:A在單鏈表的第一個結(jié)點前增長一個表頭結(jié)點,隊頭指針指向表頭結(jié)點,最后一個結(jié)點的指針域的值由NULL改為指向表頭結(jié)點,這樣的鏈表稱為循環(huán)鏈表。在循環(huán)鏈表中,只要指出表中任何一個結(jié)點的位置,就可以從它出發(fā)沒有反復(fù)地掃描到表中其他所有的結(jié)點。雙向鏈表與二叉鏈表都可以掃描到所有結(jié)點,但是會有反復(fù)。有序鏈表假如是單鏈表的情況下,不能掃描到所有結(jié)點。故A選項對的。4、某棵樹中共有25個結(jié)點,且只有度為3的結(jié)點和葉子結(jié)點,其中葉子結(jié)點有7個,則該樹中度為3的結(jié)點數(shù)為A)不存在這樣的樹B)7C)8D)6參考答案:A樹是一種簡樸的非線性結(jié)構(gòu),直觀地來看,樹是以分支關(guān)系定義的層次結(jié)構(gòu)。在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后件個數(shù)稱為該結(jié)點的度,所有結(jié)點中最大的度稱為樹的度。一方面假設(shè)這樣的樹是存在的,由于只有度為3的結(jié)點和葉子結(jié)點,可知最后一層都為葉子結(jié)點,倒數(shù)第二層一部分結(jié)點的度為3,一部分結(jié)點為葉子結(jié)點。結(jié)點總數(shù)為25,葉子結(jié)點有7個,則度為3的結(jié)點有18個,由于(34-1-1)/2<18<(35-1-1)/2可知,樹共有5層,前三層有度為3的結(jié)點(34-1-1)/2=13個,第四層有34-1=27個結(jié)點,其中5個是度為3的結(jié)點,22個是葉子結(jié)點,此時與題目給出的葉子結(jié)點有7個相矛盾,故不存在這樣的樹。故選擇A選項。5、在最壞情況下,二分查找法的時間復(fù)雜度為A)B)C)D)參考答案:C二分法查找也稱拆半查找,能使用二分法查找的線性表必須滿足兩個條件,用順序存儲結(jié)構(gòu)以及線性表有序。運用二分法查找元素X的過程如下:將X與線性表的中間項比較,假如X的值與中間項的值相等,則查找成功,結(jié)束查找;假如X小于中間項的值,則在線性表的前半部分以二分法繼續(xù)查找;假如X大于中間項的值,則在線性表的后半部分以二分法繼續(xù)查找。可以證明,對于長度為n的有序線性表,在最壞情況下,二分法查找需比較次,故時間復(fù)雜度為。故選擇A選項。6、某二叉樹共有730個結(jié)點,其中度為1的結(jié)點有30個,則葉子結(jié)點個數(shù)為A)不存在這樣的二叉樹B)351C)1D)350參考答案:A在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后件個數(shù)稱為該結(jié)點的度,所有結(jié)點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結(jié)點總是比度為2的結(jié)點多一個。假如有一棵二叉樹,結(jié)點總數(shù)為730,假設(shè)度為0的結(jié)點個數(shù)為n,則有n+30+n-1=730,n=350.5,由于結(jié)點個數(shù)必須是整數(shù),所以不也許存在題目中這樣的二叉樹。故選A選項。7、軟件開發(fā)中需求分析的重要任務(wù)是A)定義和描述目的系統(tǒng)"做什么"B)獲取需求C)給出軟件解決方案D)需求評審參考答案:A需求分析階段的工作可以分為4個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程,是描述"做什么"的軟件開發(fā)階段。故選A選項。8、軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是A)學(xué)生成績管理系統(tǒng)B)ERP系統(tǒng)C)辦公自動化系統(tǒng)D)UNIX系統(tǒng)參考答案:D系統(tǒng)軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務(wù)的軟件。應(yīng)用軟件是為了應(yīng)用于特定的領(lǐng)域而開發(fā)的軟件。選項A屬于系統(tǒng)軟件,選項B、C、D屬于應(yīng)用軟件。故選D選項。9、醫(yī)生可認(rèn)為病人開不同的藥,而同一種藥也可由不同醫(yī)生開給病人,則實體醫(yī)生和實體藥之間的聯(lián)系是A)多對多B)一對一C)多對一D)一對多參考答案:A實體集之間通過聯(lián)系來建立聯(lián)接關(guān)系分為三類:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:m)、多對多聯(lián)系(m:n)。由于醫(yī)生可認(rèn)為病人開不同的藥,而同一種藥也可由不同醫(yī)生開給病人,所以兩者的聯(lián)系屬于多對多。故選A選項。10、學(xué)生選課成績表的關(guān)系模式是SC(S#,C#,G),其中S#為學(xué)號,C#為課號,G為成績,檢索課號為2且成績及格的學(xué)生學(xué)號的表達式為A)B)C)D)參考答案:A表達針對屬性進行的投影運算,表達針對元組進行的選擇運算,''表達交運算,''表達并運算。規(guī)定檢索結(jié)果為關(guān)系模式中的學(xué)生學(xué)號S#,一方面在幾種屬性中選擇學(xué)生學(xué)號,另一方面要在其中選擇滿足條件的元組,條件是課號為2且成績及格,即為"",故完整表達式為。本題選A選項。11、若想定義int型變量a,b,c,d并都賦值為1,以下寫法中錯誤的是A)inta=b=c=d=1;B)inta=1,b=1,c=1,d=1;C)inta,b,c,d;a=b=c=d=1;D)inta,b,c,d=1;a=b=c=d;參考答案:AC語言賦值運算符的結(jié)合方向是從右向左,使用的變量必須都是已經(jīng)定義了的,inta=b=c=d=1;本條語句一方面執(zhí)行賦值運算d=1,由于b并未定義,故編譯不通過,提醒沒有定義標(biāo)記符b、c、d,故A項錯誤。答案為A選項。12、若有定義:charc;doubled;程序運營時輸入:12<回車>,能把字符1輸入給變量c、數(shù)值2輸入給變量d的輸入語句是A)scanf("%d%lf",&c,&d);B)scanf("%c%lf",&c,&d);C)scanf("%c%f",&c,&d);D)scanf("%d%f",&c,&d);參考答案:B%lf是針對double的,假如僅用%f,輸入的數(shù)據(jù)也許沒有被完全接受,數(shù)據(jù)的精度也許局限性,選項C,D錯誤。%f重要針對float類型的變量的輸入。%d重要針對整型數(shù)據(jù)的輸入,%c重要針對字符類型的數(shù)據(jù)的輸入,選項A錯誤。故答案為B選項。13、輸出語句:printf("%d\n",11+011);的輸出結(jié)果是A)20B)22C)022D)021參考答案:Aprintf("%d\n",11+011)中,11為十進制,011為八進制形式,打印格式%d表達十進制格式輸出,,因此,先將八進制數(shù)轉(zhuǎn)化為十進制,011(8)=81*1+1*80=9,相稱于printf("%d\n",11+9),故答案為20,A選項對的。14、以下敘述對的的是A)有些算法不能用三種基本結(jié)構(gòu)來表達B)C語言程序不編譯也能直接運營C)結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)D)假如C語言程序?qū)崿F(xiàn)的算法很簡樸,則計算機不進行任何代碼轉(zhuǎn)換就能執(zhí)行程序參考答案:C算法的三種基本結(jié)構(gòu)可以表達任何算法,只是不同的實現(xiàn)復(fù)雜度不相同。因此選項A錯誤。C語言是編譯型語言,程序必須先編譯、鏈接才干運營,因此選項B錯誤。C語言是高級程序語言,計算機不能辨認(rèn)除了機器語言以外的任何語言,因此C程序代碼轉(zhuǎn)換為機器語言才干在計算機上運營。因此選項D錯誤。答案為C選項。15、若有定義:doublex;,則表達式:x=0,x+10,x++的值是A)11.0B)10.0C)0.0D)1.0參考答案:CC語言中,逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式。逗號運算符的優(yōu)先級是所有運算符中級別最低的,逗號運算符保證左邊的子表達式運算結(jié)束后才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結(jié)束后,才對其右邊的子表達式進行運算,并以最右邊表達式值作為整個逗號表達式的值。1、后置自增運算:k++表達先運算,后自加。2、前置自增運算:++k表達先自加,后運算。因此,表達式x=0,x+10,x++的計算過程為一方面賦值x=0,然后將x加10,但是并不對x進行賦值,最后計算x++,并,根據(jù)后置自增運算的計算結(jié)果,即為x=0.0。,故答案為C選項。16、有以下程序#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序的運營結(jié)果是A)a=2,b=2B)a=2,b=1C)a=1,b=1D)a=1,b=0參考答案:BC語言還提供了一種用于多分支選擇的switch語句,計算表達式的值。并逐個與其后的常量表達式值相比較,當(dāng)表達式的值與某個常量表達式的值相等時,即執(zhí)行其后的語句,然后不再進行判斷,繼續(xù)執(zhí)行后面所有case后的語句。如表達式的值與所有case后的常量表達式均不相同時,則執(zhí)行default后的語句。x=1;進入第一層switch,y=0;進入第二層switch,執(zhí)行a++;break;后a=1;在進入case2,(這里case1:沒有break,)執(zhí)行了a++,b++,由于存在break,則跳出switch,得到a=2,b=1,因此答案為B選項。左邊所有副作用都結(jié)束后,才對其右邊的子表達式進行運算,并以最右邊表達式值作為整個逗號表達式的值。1、后置自增運算:k++表達先運算,后自加。2、前置自增運算:++k表達先自加,后運算。因此,表達式x=0,x+10,x++的計算過程為一方面賦值x=0,然后將x加10,但是并不對x進行賦值,最后計算x++,并,根據(jù)后置自增運算的計算結(jié)果,即為x=0.0。,故答案為C選項。17、以下程序段中的變量已對的定義for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");該程序段的輸出結(jié)果是A)*B)****C)**D)********參考答案:AC語言約定分號為一條語句的結(jié)束。因此for(i=0;i<4;i++,i++)for(k=1;k<3;k++);是完整的語句,對printf();沒有任何影響,最后printf("*"),執(zhí)行一次。因此答案為A選項。18、有以下程序#include<stdio.h>main(){charc;for(;(c=getchar())!='#';){if(c>='a'&&c<='z')c=c-'a'+'A';putchar(++c);}}執(zhí)行時輸入:aBcDefG##<回車>,則輸出結(jié)果是A)AbCdEFgB)ABCDEFGC)BCDEFGHD)bcdefgh參考答案:C循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,getchar()每次讀入一個字符,putchar()每次輸出一個字符,當(dāng)碰到#字符結(jié)束。putchar(++c),表達將字符變量c加1后輸出。因此,輸入aBcDefG##,得到的結(jié)果是BCDEFGH。故答案為C選項。19、有以下程序#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));printf("%d\n",m);}intf(intx){returnx*2;}程序運營后的輸出結(jié)果是A)4B)2C)8D)1參考答案:C在C語言中,需要在main函數(shù)后面定義函數(shù),需要提前聲明,否則調(diào)用報錯,無法找到該函數(shù)。m=f(f(f(n))),一共調(diào)用3次f()函數(shù),f()函數(shù)是對n*2,因此,結(jié)果是n*2*2*2,得到結(jié)果為8。故答案為C選項20、關(guān)于地址和指針,以下敘述對的的是A)可以通過強制類型轉(zhuǎn)換讓char型指針指向double型變量B)函數(shù)指針p指向一個同類型的函數(shù)f時,必須寫成:p=&f;C)指針p指向一個數(shù)組f時,必須寫成:p=&f;D)一個指針變量p可以指向自身參考答案:A函數(shù)指針p指向一個同類型的函數(shù)f時,可以寫成:p=f,而不能寫成&f,選項B錯誤。函數(shù)名代表函數(shù)的入口地址,指針p指向一個數(shù)組f時,可以寫成:p=f,也可寫成&f,數(shù)組名f,可以代表數(shù)組的首地址,選項C錯誤。指針變量指向的是地址,是個常量,不能將地址指向另一個地址,選項D錯誤。char型根據(jù)轉(zhuǎn)化原則可以轉(zhuǎn)化為double類型,因此答案為A選項。21、有以下程序#include<stdio.h>#defineN4intfun(inta[][N]){inti,j,x=0;for(i=0;i<N;i++)for(j=0;j<N;j++)if(i==j)x+=a[N-1-j][i];returnx;}main(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,17}},y;y=fun(x);printf("%d\n",y);}程序運營后的輸出結(jié)果是A)34B)35C)28D)59參考答案:Afun函數(shù)求矩陣反對角線的元素之和。根據(jù)fun()函數(shù),當(dāng)數(shù)組的行列下標(biāo)相等時,對該行反對角線上的元素求和。故結(jié)果為4+7+11+13=34,答案為A選項。22、有以下程序#include<stdio.h>#defineN3voidfun(intx[][N],int*r1,int*r2){inti,j;*r1=*r2=0;for(i=0;i<N;i++){j=N-(i+1);if(x[*r1][*r2]<x[i][j]){*r1=i;*r2=j;}}}main(){inta[N][N]={1,5,7,9,2,6,4,3,8},i,j;fun(a,&i,&j);printf("%d\n",a[i][j]);}程序運營后的輸出結(jié)果是A)8B)6C)7D)9參考答案:Cfun()獲取矩陣正反對角線的元素的最大值,fun()中for(i=0;i<N;i++){j=N-(i+1);//反對角線列位置if(x[*r1][*r2]<x[i][j]){*r1=i;*r2=j;}//比較正反對角線的元素,使得*r1,*r2始終只在最大元素的位置。}由數(shù)組元素可得,正反對角線的最大元素為7。答案為C選項。23、對于以下函數(shù)聲明voidfun(intarray[4],int*ptr);以下敘述中對的的是A)array,ptr都是指針變量B)調(diào)用fun函數(shù)時,實參的值將逐個復(fù)制給arrayC)調(diào)用fun函數(shù)時,array按值傳送,ptr按地址傳送D)array是數(shù)組,ptr是指針,它們的性質(zhì)不同參考答案:Avoidfun(intarray[4],int*ptr);fun()函數(shù),第一個參數(shù)雖然是數(shù)組類型,但是會退化為指針,并且形參數(shù)組的個數(shù)沒有用。第二個參數(shù)是指針,因此事實上二個形參都是指針。兩個形參都是指針,傳遞的都是地址,而不是值??芍x項B、C、D錯誤。答案為A選項。24、設(shè)有定義:intx[10],*p=x,i;,若要為數(shù)組x讀入數(shù)據(jù),以下選項對的的是A)for(i=0;i<10;i++)scanf("%d",p+i);B)for(i=0;i<10;i++)scanf("%d",*p+i);C)for(i=0;i<10;i++)scanf("%d",*(p+i));D)for(i=0;i<10;i++)scanf("%d",x[i]);參考答案:AC語言聲明scanf("<格式化字符串>",<地址表>);可知scanf()的第二個參數(shù)是地址,因此,從四個答案中可以判斷,只有選項A是p[i]的地址,其他的均是變量自身。故答案為A選項。25、有以下程序#include<stdio.h>main(){chars[]="012xy\08s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序運營后的輸出結(jié)果是A)7B)0C)3D)8參考答案:C題意記錄字符s中阿拉伯?dāng)?shù)字的個數(shù)。chars[]='012xy\08s34f4w2';元素是字符型。'0'=48;而'\0'=0;因此可以計算出'\0'之前阿拉伯?dāng)?shù)字的個數(shù),由字符串s可知,有3個阿拉伯?dāng)?shù)字。答案為C選項。26、有以下程序段charstr[4][12]={"aaa","bbb","ccc","ddd"},*p[4];inti;for(i=0;i<4;i++)p[i]=str[i];以下選項中不能對的引用字符串的是A)*p[3]B)p[3]C)str[2]D)*p參考答案:A*p[3]p[3][0]是一個字符,不是字符串,選項A錯誤。p[3]和str[2]和*p分別代表了ddd,ccc,aaa。答案為A選項。27、有以下程序#include<stdio.h>intmul(intval){staticintinit=1;returninit*=val;}main(){inti;for(i=1;i<=5;i++)printf("%d,",mul(i));}程序運營后的輸出結(jié)果是A)1,2,6,24,120,B)1,2,3,4,5,C)1,1,1,1,1,D)1,2,4,6,8,參考答案:Astatic靜態(tài)變量只在聲明時初始化一次。mul()累乘,第一次init=1,init*=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五層init=24,val=5,因此結(jié)果為1,2,6,24,120。故答案為A選項。28、有以下程序#include<stdio.h>voidfun(intn){staticintk=0;if(n<0){printf("-");n=-n;}k+=n%10;printf("%d,",k);if(n/10)fun(n/10);}main(){intx=-12;fun(x);printf("\n");}程序運營后的輸出結(jié)果是A)-2,3B)-1,-2,C)-2,-3,D)-2,1參考答案:Afun()函數(shù)使用了靜態(tài)變量,靜態(tài)變量只在聲明時初始化一次。一方面實參的數(shù)值是-12,if判斷后輸出負號,并將n=12,計算k+=n%10k+=22,因此輸出2,,后將數(shù)值除以10,結(jié)果為1,遞歸調(diào)用fun()函數(shù),第二次調(diào)用fun(),此時n=1,k=2,計算k+=n%10k+=13,因此打印3,。故最后打印結(jié)果為-2,3,。故答案為A選項。29、有以下程序#include<stdio.h>structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序運營后的輸出結(jié)果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)2,3,1,6,8,7,5,4,10,9,D)10,9,8,7,6,1,2,3,4,5,參考答案:A結(jié)構(gòu)體s中n代表數(shù)組的實際長度,a是個定長數(shù)組。函數(shù)f(),對結(jié)構(gòu)體S內(nèi)的a數(shù)組元素使用冒泡法進行遞增排序。因此最終數(shù)組的元素是一個遞增序列。故答案為A選項。30、有以下程序#include<stdio.h>typedefstructstu{charname[10];chargender;intscore;}STU;voidf(STUa,STU*b,STUc){*b=c=a;printf("%s,%c,%d,",b->name,b->gender,b->score);printf("%s,%c,%d,",,c.gender,c.score);}main(){STUa={"Zhao",'m',290},b={"Qian",'f',350},c={"Sun",'m',370};f(a,&b,c);printf("%s,%c,%d,",,b.gender,b.score);printf("%s,%c,%d\n",,c.gender,c.score);}程序運營后的輸出結(jié)果是A)Zhao,m,290,Zhao,m,290,Zhao,m,290,Sun,m,370B)Zhao,m,290,Zhao,m,290,Zhao,m,290,Zhao,m,290C)Zhao,m,290,Zhao,m,290,Qian,f,350,Sun,m,370D)Zhao,m,290,Zhao,m,290,Qian,f,350,Zhao,m,290參考答案:AC語言函數(shù)參數(shù)傳遞分為:1、值傳遞過程中,被調(diào)函數(shù)的形參作為被調(diào)函數(shù)的局部變量解決,即在內(nèi)存的堆棧中開辟空間以存放由主調(diào)函數(shù)放進來的實參的值,從而成為了實參的一個拷貝。值傳遞的特點是被調(diào)函數(shù)對形參的任何操作都是作為局部變量進行,不會影響主調(diào)函數(shù)的實參變量的值。2、地址傳遞過程中,被調(diào)函數(shù)的形參雖然也作為局部變量在堆棧中開辟了內(nèi)存空間,但是這時存放的是由主調(diào)函數(shù)放進來的實參變量的地址。被調(diào)函數(shù)對形參的任何操作都被解決成間接尋址,即通過堆棧中存放的地址訪問主調(diào)函數(shù)中的實參變量。正由于如此,被調(diào)函數(shù)對形參做的任何操作都影響了主調(diào)函數(shù)中的實參變量。題設(shè)中,參數(shù)b是地址傳遞,因此會直接影響實參變量。a,c是值傳遞,傳遞是a,c的拷貝,不會a,c實參產(chǎn)生影響,因此,調(diào)用函數(shù)返回,c沒有被修改,b被修改了。故答案為A選項。31、有以下程序#include<stdio.h>#defineSUB(x,y)(x)*(y)main(){inta=3,b=4;printf("%d\n",SUB(a++,b++));}程序運營后的輸出結(jié)果是A)15B)12C)16D)20參考答案:B#define命令是C語言中的一個宏定義命令,標(biāo)記符一般使用大寫,為了區(qū)分其他標(biāo)記符,它用來將一個標(biāo)記符定義為一個字符串,該標(biāo)記符被稱為宏名,被定義的字符串稱為替換文本。宏定義不進行其他操作,僅僅只是替換標(biāo)記符。后置自增運算:k++表達先運算,后自加。意思是碰到k++了,先把當(dāng)前的k的值拿來參與運算,后面再去管它的自加。SUB(a++,b++)(a++)*(b++)3*4。故答案為B選項。32、有以下程序#include<stdio.h>main(){structcm{intx;inty;}a[2]={4,3,2,1};printf("%d\n",a[0].y/a[0].x*a[1].x);}程序運營后的輸出結(jié)果是A)1B)4C)0D)3參考答案:C由結(jié)構(gòu)體的定義同時初始化可知,a[0].x=4,a[0].y=3,a[1].x=2,a[1].y=1,因此計算a[0].y/a[0].x*a[1].x=3/4*2=(3/4)*2=0*2=0,故答案為C選項。33、以下選項中的編譯預(yù)解決命令行,對的的是A)#defineE2.38B)##definePI_21.56C)#defineintINTD)#DEFINETRUE參考答案:A無參宏定義格式:#define標(biāo)記符字符串,標(biāo)記符與C語言規(guī)定相同,因此,可知選項B,多了#,選項C使用c語言的關(guān)鍵字,選項D格式不對。因此答案為A選項。34、設(shè)有以下程序段structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;規(guī)定輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯誤的輸入語句是A)scanf("%s",ptr.title);B)scanf("%s",rec.title);C)scanf("%s",(*ptr).title);D)scanf("%s",ptr->title);參考答案:A"->"是指針特用的,"."用于指定元素的成員。ptr是指針,只能用->,因此選項A錯誤。*p是指定元素(rec)可以使用.運算,因此選項D對的。選項B,rec.title代表數(shù)組title,同理選項C對的。答案為A選項。35、有以下程序#include<stdio.h>#include<string.h>structcomputer{charCPU[10];};main(){structcomputerpc1,pc2;strcpy(pc1.CPU,"3.2G");strcpy(pc2.CPU,"????");pc1=pc2;printf("%s\n",pc1.CPU);}程序運營后的輸出結(jié)果是A)?B)3.2GC)????D)?.2G參考答案:C二個類型相同的結(jié)構(gòu)體,可以使用一個給另一個初始化,使它們相等。前提是右值結(jié)構(gòu)體變量所有成員所有初始化了。pc1=pc2,pc2的成員值和pc1中相應(yīng)的成員相等。因此pc1.CPU輸出????。答案為C選項。36、有以下程序#
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012建筑租賃合同范本
- 人防租賃轉(zhuǎn)讓合同范本
- 分項勞務(wù)合同范本
- 加盟銷售合同范例
- 人情補償寫合同范本
- 出租車司機加盟合同范本
- 2025年中國恒轉(zhuǎn)矩變頻器行業(yè)市場深度研究及投資戰(zhàn)略規(guī)劃報告
- 上海建筑施工合同范本
- 2025年中國工業(yè)防水插座行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 公司聯(lián)營股合同范本
- 中國氫內(nèi)燃機行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2024版)
- 開學(xué)季初三沖刺中考開學(xué)第一課為夢想加油課件
- 《自然保護區(qū)劃分》課件
- 2025年普通卷釘項目可行性研究報告
- 中日合同范本
- T-CARM 002-2023 康復(fù)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 《康復(fù)按摩知識》課件
- 立式加工中心說明書
- 唐太宗李世民
- 作文紙格子信紙
- 第八版神經(jīng)病學(xué)配套課件-12-中樞神經(jīng)系統(tǒng)感染性疾病
評論
0/150
提交評論