全國計算機二級C選擇題題庫第套_第1頁
全國計算機二級C選擇題題庫第套_第2頁
全國計算機二級C選擇題題庫第套_第3頁
全國計算機二級C選擇題題庫第套_第4頁
全國計算機二級C選擇題題庫第套_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

全國計算機二級C選擇題題庫第34套1、下列敘述中錯誤的是A)數(shù)據(jù)結構中的數(shù)據(jù)元素不能是另一數(shù)據(jù)結構B)數(shù)據(jù)結構中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結構C)空數(shù)據(jù)結構可以是線性結構也可以是非線性結構D)非空數(shù)據(jù)結構可以沒有根結點參考答案:A數(shù)據(jù)元素是一個含義很廣泛的概念, 它是數(shù)據(jù)的"基本單位;在計算機中通常作為一個整體進行考慮和處理。數(shù)據(jù)元素可以是一個數(shù)據(jù)也可以是被抽象出的具有一定結構數(shù)據(jù)集合,所以數(shù)據(jù)結構中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結構。滿足有且只有一個根結點并且每一個結點最多有一個前件, 也最多有一個后件的非空的數(shù)據(jù)結構認為是線性結構,不滿足條件的結構為非線性結構??諗?shù)據(jù)結構可以是線性結構也可以是非線性結構。 非空數(shù)據(jù)結構可以沒有根結點,如非性線結構"圖”就沒有根結點。故選A?項。2、為了降低算法的空間復雜度,要求算法盡量采用原地工作 (inplace)。所謂原地工作是指A)執(zhí)行算法時所使用的額外空間固定(即不隨算法所處理的數(shù)據(jù)空間大小的變化而變化)B)執(zhí)行算法時所使用的額外空間隨算法所處理的數(shù)據(jù)空間大小的變化而變化C)執(zhí)行算法時不使用額外空間D)執(zhí)行算法時不使用任何存儲空間參考答案:A算法的空間復雜度是指執(zhí)行這個算法所需要的內(nèi)存空間, 包括輸入數(shù)據(jù)所占的存儲空間、程序本身所占的存儲空間、算法執(zhí)行過程中所需要的額外空間。如果額外空間量相對于問題規(guī)模(即輸入數(shù)據(jù)所占的存儲空間)來說是常數(shù),即額外空間量不隨問題規(guī)模的變化而變化,則稱該算法是原地工作的。故選A?項3、某循環(huán)隊列的存儲空間為Q(1:m),初始狀態(tài)為front=rear=m?,F(xiàn)經(jīng)過一系列的入隊操作和退隊操作后,front=m,rear=m-1,則該循環(huán)隊列中的元素個數(shù)為A)m-1m10參考答案:A循環(huán)隊列長度為m由初始狀態(tài)為front=rear=m,可知此時循環(huán)隊列為空。入隊運算時,首先隊尾指針進1(即rear+1),然后在rear指針指向的位置插入新元素。特別的,當隊尾指針rear=m+1時,置rear=1。退隊運算時,排頭指針進1(即front+1),然后刪除front指針指向的位置上的元素,當排頭指針front=m+1時,置front=1。從排頭指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素。如果rear-front>0,則隊列中的元素個數(shù)為rear-front個;如果rear-front<0,則隊列中的元素個數(shù)為rear-front+m。該題中m-1<m即rear-front<0,則該循環(huán)隊列中的元素個數(shù)為(m-1)-m+m=m-1故選頌項。4、某棵樹只有度為3的結點和葉子結點,其中度為3的結點有8個,則該樹中的葉子結點數(shù)為151617D)不存在這樣的樹參考答案:C樹是一種簡單的非線性結構,直觀地來看,樹是以分支關系定義的層次結構。在樹結構中,一個結點所擁有的后件個數(shù)稱為該結點的度,所有結點中最大的度稱為樹的度。由于只有度為3的結點和葉子結點,可知最后一層都為葉子結點,倒數(shù)第二層一部分結點度為3,一部分為葉子結點,其余的結點的度均為3,計算度為3的結點總數(shù)(33-1-1)/2<8<(34-1-1)/2可知,樹共有4層,前兩層有度為3的結點(33-1-1)/2=4個,第三層有33=9個結點,其中4個是度為3的結點,5個是葉子結點,所以該樹中的葉子結點數(shù)為4X3+5=17。故選C4項。5、某二叉樹共有530個結點,其中度為2的結點有250個,則度為1的結點數(shù)為2930249251參考答案:A在樹結構中,一個結點所擁有的后件個數(shù)稱為該結點的度,所有結點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結點總是比度為2的結點多一個。二叉樹結點總數(shù)為530,度為2的結點有250個,則度為0的結點有251個,那么度為1的結點個數(shù)為530-250-251=29。故選Ai4項。6、若某二叉樹中的所有結點值均大于其左子樹上的所有結點值,且小于右子樹上的所有結點值,則該二叉樹遍歷序列中有序的是A)前序序列B)中序序列C)后序序列D)以上說法均可以參考答案:B二叉樹遍歷可以分為3種:前序遍歷(訪問根結點在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根結點在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根結點在訪問左子樹和訪問右子樹之后)。由于結點值均大于其左子樹上的所有結點值,且小于右子樹上的所有結點值,那么只要遍歷時訪問根結點在訪問左子樹和右子樹之間,遍歷序列有序,即中序序列有序。故選璉項。7、將C?言的整數(shù)設為整數(shù)類I,則下面屬于類I實例的是-10310E310.3"0103"參考答案:A整數(shù)類實例包括:十進制常量用0?9表示,不能以0開頭;八進制常量用0?7表示,必須用0開頭;十六進制常量用0?9和A?F(a?f)表示,必須以0x或0X開頭。本題中斑項是科學計數(shù)法表示的浮點數(shù)實例,C選項是浮點數(shù)實例,匚選項是字符串實例。故選A4項。8、下列敘述中正確的是A)軟件是程序、數(shù)據(jù)和文檔B)軟件是程序和數(shù)據(jù)C)軟件是算法和數(shù)據(jù)結構D)軟件是算法和程序參考答案:A計算機軟件由兩部分組成:一是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關的文檔。故選 A選項。9、軟件生命周期是指A)軟件的定義和開發(fā)階段B)軟件的需求分析、設計與實現(xiàn)階段C)軟件的開發(fā)階段D)軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程參考答案:D通常把軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用、退役的過程稱為軟件生命周期。選項A、B、C選項均為生命周期的一部分。故選四項。10、下列敘述中正確的是A)數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨立性問題,而文件系統(tǒng)不能B)數(shù)據(jù)庫系統(tǒng)能夠管理各種類型的文件,而文件系統(tǒng)只能管理程序文件C)數(shù)據(jù)庫系統(tǒng)可以管理龐大的數(shù)據(jù)量,而文件系統(tǒng)管理的數(shù)據(jù)量較少D)數(shù)據(jù)庫系統(tǒng)獨立性較差,而文件系統(tǒng)獨立性較好參考答案:A數(shù)據(jù)管理技術的發(fā)展經(jīng)歷了3個階段: 人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。三者各自的特點如下表所示特點人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段管理者人文件系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)面向?qū)ο竽硞€應用程序某個應用程序現(xiàn)實世界共享程度無共享,冗余度大共享性差,冗余度大共學性大,冗余度小獨立性不獨立,完全依賴于程序獨立性差具后高度的物理獨立性和一定的邏輯獨立性結構化無結構記錄內(nèi)后結構,整體無結構整體結構化,用數(shù)據(jù)模型描述控制能由應用程序控制由應用程序控制由DBMS供數(shù)據(jù)安全性、力完整性、并發(fā)控制和恢復數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨立性問題,而文件系統(tǒng)不能。數(shù)據(jù)庫系統(tǒng)和文件系統(tǒng)的區(qū)別不僅在于管理的文件類型與數(shù)據(jù)量的多少。數(shù)據(jù)庫系統(tǒng)具有高度的物理獨立性和一定的邏輯獨立性,而文件系統(tǒng)獨立性較好。故本題選 A選項。11、關于程序模塊化,以下敘述錯誤的是A)程序模塊化可以提高程序運行的效率B)程序模塊化可以提高程序編制的效率C)程序模塊化可以提高程序代碼復用率D)程序模塊化可以提高調(diào)試程序的效率參考答案:A模塊化程序的優(yōu)點:1、易于維護和復用,可以提高程序編制的效率,2、易于分工合作,3、易于模塊化調(diào)試測試。模塊化程序的副作用:1、可能會降低程序運行效率,2、設計的前期工作需要多花費時間??芍x項B,C,D正確。12、以下是正確C§言標識符的&3#3_3-3參考答案:CC語言合法標識名的命名規(guī)則是:(1)標識符由字母、數(shù)字和下劃線組成,(2)第一個字符不能是數(shù)字只能是字母或下劃線。選項 A的第一個字符為&,非法,選項B,第一個字符為#,非法,選項D,第一個字符為-,非法。答案為選項C13、若有定義:inta,b,c; 以下程序段的輸出結果是a=11;b=3;c=0;printf("%d\n",c=(a/b,a%b));2031參考答案:AC語言中,逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式。逗號運算符的優(yōu)先級是所有運算符中級別最低的,逗號運算符保證左邊的子表達式運算結束后才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結束后,才對其右邊的子表達式進行運算,并以最右邊表達式值作為整個逗號表達式的值。因此 c的值為a%kW11%3=2故答案為A?項。14、以下選項中合法的C語言常量是'C-STR'2014.1”\1.02EK參考答案:B所謂常量是指在程序運行的過程中,具值不能被改變的量。在CS言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項A是字符串,但使用單引號,錯誤,選項C,D,為實型常量中指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù),錯誤。故答案為璉項。15、設有定義:intx,y,z;,且各變量已賦正整數(shù)值,則以下能正確表示代數(shù)式""的C語言表達式是( )。1.0/x/y/z1/x*y*z1/(x*y*z)1/x/y/(double)z參考答案:A代數(shù)表達式1/xyz是小數(shù),轉(zhuǎn)為c語言的表達式必須是小數(shù)A選項由于1.0為浮點數(shù),計算結果自動轉(zhuǎn)換為浮點數(shù),故A1E確。選項B,C,D勺表達式均為0,因此只有選項A正確。答案為A選項。16、有以下程序#include<stdio.h>main(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}當執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第1列開始,<CR代表回車,注意:回車也是一個字符)12<CR>34<CR>則輸出結果是1231212341234參考答案:Ascanf()函數(shù)從標準輸入輸出中讀入兩個字符/"/2/分別賦給變量a、b,遇到回車自動結束,但回車符已經(jīng)存入緩沖區(qū),函數(shù)getchar()將從中接受這個字符,故c賦值為回車符,然后第二個getchar()讀入字符/3,,因此a=/",b=/2/,c=<CR>d=/3/,故答案為頌項。17、有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",b+1);continue;printf("%d,",b+1);printf("%d,",b+1);continue;}}}執(zhí)行時輸入:123<回車,,則輸出結果是A)2,2,3,4,4,4,2,3,4,2,2,3,4,D)2,3,3,4,5,6,參考答案:Ccontinue語句的作用是跳過循環(huán)體中剩余的語句而強行執(zhí)行下一次循環(huán)。switch???case如果沒有break會導致多個分支重疊。因此,輸入1,2,3,則1執(zhí)行case1:printf("%d,",b+1);case2:printf("%d,",b+1);continue; 后結束。2則執(zhí)行case2:printf("%d,",b+1);continue;3 則執(zhí)行default:printf("%d,",b+1);continue; 得到的結果是2,2,3,4。故答案為C£項。18、有以下程序#include<stdio.h>#include<math.h>main(){doublex,y,z;scanf("%lf%lf",&x,&y);z=x/y;while(1)if(fabs(z)>1.0){x=y;y=x;z=x/y;}elsebreak;printf("y=%f\n",y);}執(zhí)行時輸入:3.62.4<回車,,則輸出結果是2.4000001.5000001.6000002.000000參考答案:A題目中程序執(zhí)行過程中關鍵語句的結果為:z=1.5,if條件成立,x=2.4,y=2.4,z=1.0,下一次循環(huán)if條件不成立跳出循環(huán),按照格式打印y值為2.400000。故答案為A?項。19、有以下程序#include<stdio.h>main(){inti;charc;scanf("%c",&c);for(i=0;i<5;i++){if(i>c)continue;printf("%d,",i);}}執(zhí)行時輸入:0V回車>后,則輸出結果是50,0,0,0,0,0,1,2,3,4,0,1,參考答案:Cscanf("%c",&c),輸入的字符,題目中輸入了0,是字符,對應于ASCII碼為48,因此for循環(huán),i的范圍從0~5,均小于48,if條件不成立,直接執(zhí)行下一條語句,因此執(zhí)行 printf,因此得到的結果是0,1,2,3,4。故答案為佻項。20、以下程序擬實現(xiàn)計算sum=1+1/2+1/3+??+1/50。#include<stdio.h>main(){inti;doublesum;sum=1.0;i=1;do{i++;sum+=1/i;}while(i<50);printf("sum=%lf\n”,sum);}程序運行后,不能得到正確結果,出現(xiàn)問題的語句是sum+=1/i;while(i<50);sum=1.0;i++;參考答案:A選項A,sum+=1/i;i為整型,因此1/i是整型類型,當1/i有小數(shù)時,會被截斷。因此1/i結果始終為0,導致結果出錯。,應該改為sum+=1.0/i。因此答案為A先項。21、若有定義語句:doublea,*p=&a;以下敘述中錯誤的是A)定義語句中的*號是一個間址運算符B)定義語句中的*號是一個說明符C)定義語句中的p只能存放double類型變量的地址D)定義語句中*p=&a把變量a的地址作為初值賦給指針變量p參考答案:A指針運算符(通常稱為間接引用運算符:indirectionoperator或復引用運算符:dereferencingoperator), 它返回其操作數(shù)(即一個指針)所指向的對象的值。定義語句中的*號不是一個間址運算符,而是定義指針變量的說明符 ,因此,A項錯誤,B項正確,原則上說p可以放double兼容性的變量地址,C項正確,根據(jù)指針的賦值運算,可知D項正確。故答案為A4項。22、關于函數(shù)返回值,以下敘述正確的是A)函數(shù)可以返回整個結構體,即使結構體中有數(shù)組B)函數(shù)只能返回基本數(shù)據(jù)類型的數(shù)值或指針C)函數(shù)不可以返回一個數(shù)組D)函數(shù)不能沒有返回值參考答案:A函數(shù)返回值可以整型、實型、字符型、指針和結構類型,也可以沒有返回值。因此選項A£確,可以返回數(shù)組指針,因此可知選項B,C,D昔誤。故答案為陽項c23、有以下程序#include<stdio.h>intfun(int*b,intn){inti,r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=fun(a,3);printf("%d\n",x);}程序運行后的輸出結果是247201206參考答案:Cfun(),求數(shù)組指定返回的元素的積。fun(a,3),求的是數(shù)組a[0]?a[3]的積。因此結果為2*3*4*5=120,故答案為佻項。24、若有語句:inta[3][4],(*p)[4];p=a; ,則以下選項中敘述錯誤的是A)系統(tǒng)將開辟一個名為p的二維數(shù)組,p[0][0]中的值即為a[0][0]中的值p+1代表a[1][0]的地址p中將存放a數(shù)組的首地址p+2代表a數(shù)組最后一行的首地址參考答案:A(*p)[4]定義了一個數(shù)組指針。p可以指向類似于arry[][4] 的數(shù)組,題設中,p不是一個二維數(shù)組,只是可以指向這類二維數(shù)組 ,因此選項A昔誤。p+1代表了第一行第一個元素的地址,p=a指向數(shù)組a的首地址,則B>G4項正確,同理可知選項D&正確。故答案為A4項。25、有以下程序#include<stdio.h>voidchange(char*array,intlen){for(len--;len>=0;len--)array[len]+=1;}main(){inti;chararray[5]="ABCD";change(array,4);for(i=0;i<4;i++)printf("%c,",array[i]);}程序運行后的輸出結果是B,C,D,E,A,B,C,D,C,D,E,F,B,D,F,H,參考答案:A函數(shù)change()的作用將從數(shù)組尾部將數(shù)組內(nèi)的元素值加 1。數(shù)組的初始值為ABCD因此經(jīng)change()后,得到的值為BCDE故答案為A4項。26、設有以下程序段floata[8]={1.0,2.0};intb[1]={0};charc[]={"A","B"};chard=="1";以下敘述正確的是A)只有變量c的定義是合法的B)只有變量a,b,c的定義是完全合法的C)所有變量的定義都是完全合法的D)只有變量a,b的定義是完全合法的參考答案:Dfloata[8]={1.0,2.0}; 定義了一個包含8個float型元素的數(shù)組,并初始化了數(shù)組的前2項,其他項是隨機數(shù)。intb[1]={0}, 定義了只有一個int型元素的數(shù)組,并初始化為0ocharc[]={"A","B"}; 定義一個char型數(shù)組,大小有初始化元素決定,但初始化值是字符串,類型不兼容,編譯出錯。chard="1";定義一個char型變量,但是初始化賦值字符串,類型不兼容,編譯出錯。因此只有a,b定義和初始化正確。故答案為選項。27、有以下程序#include<stdio.h>main(){inta[4],p,x,i;for(i=3;i>0;i--)a[i-1]=i*2-1;scanf("%d",&x);i=0;while(a[i]<x)i++;p=i;for(i=3;i>p;i--)a[i]=a[i-1];a[p]=x;for(i=0;i<4;i++)printf("%3d",a[i]);printf("\n");}執(zhí)行時輸入:2V回車>,則輸出結果是TOC\o"1-5"\h\z1 2 3 45 4 3 11 2 3 53 2 1 4參考答案:C第一個for循環(huán)初始化數(shù)組a,分別為1,3,5,隨機數(shù),形成了基本有序的序列,再將輸入的數(shù)字插入到數(shù)組a,使他們形成有序序列。因此可以分析出,打印的結果為1,2,3,5。故答案為C?項。28、有以下程序#include<stdio.h>intfun(inta[],intn,intx){int*p=a;while(p<a+n&&*p!=x)p++;if(p<a+n)returnp-a;elsereturn-1;}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};printf("%d\n",fun(a,10,10));}程序運行后的輸出結果是9-1100參考答案:Awhile(p<a+n&&*p!=x)p++;p=a;n=10,x=10;while循環(huán)條件成立,直到p=a+9,結束循環(huán),執(zhí)行下一條語句,if條件成立,返回p-a,此時執(zhí)行p-a=a+9-a=9;因此,輸出9。故答案為A選項。29、有以下程序#include<stdio.h>main(){charw[20], a[5][10]={"abcde","fghij","klmno","pqrst","uvwxy"};inti;for(i=0;i<5;i++)w[i]=a[i][i];w[5]='\0';printf("%s\n",w);}程序運行后的輸出結果是ejotyafkpuagmsyeimqu參考答案:C數(shù)組a是二維數(shù)組,數(shù)組w存放二21數(shù)組a行列值相同位置的元素,由a[5][10]可得w[0]~w[4]的元素分別是agmsy,因此打印結果為agmsy故答案為C選項。30、語句printf("%d\n",strlen("\t\"\\\n\'\065\08AB")); 的輸出結果是6789參考答案:A字符串"\t\"\\\n\'\065\08AB"中共有13個字符,而strlen() 函數(shù)從字符串第一個字符開始掃描,直到碰到第一個結束符'\0'為止,然后返回計數(shù)器值(長度不包含"\0")。故輸出結果為6。答案為A選項。31、有以下程序#include<stdio.h>#include<string.h>voidfun(char*s,intm1,intm2){chart,*p;p=s+m1;s=s+m2;while(s<p){t=*s;*s=*p;*p=t;s++;p--;}}main()intn=6;fun(ss,0,n-1);fun(ss,9,n);fun(ss,0,9);printf("%s\n",ss);程序運行后的輸出結果是A)012345B)C)876543D)參考答案:Afun(*ss,ml,m2) 的作用是,如果m1>m2換數(shù)組元素ss[m1],ss[m2]。因止匕,fun(ss,0,5)后ss的0,1,2,3,4,5,6,7,8,\0 。fun(ss,9,6)后ss的0,1,2,3,4,5,\0,8,7,6。fun(ss,0,9)后ss的0,1,2,3,4,5,\0,8,7,6 。因止匕打印結果012345。故答案為陽項。32、有以下程序#include<stdio.h>intm=1,n=2;voidsub1(intm,intn){m+=2;n++;}voidsub2(){m++;n+=2;}main(){printf("%d,%d,",m,n);sub1(4,5);printf("%d,%d,",m,n);sub2();printf("%d,%d\n",m,n);}程序運行后的輸出結果是A)1,2,1,2,2,4B)1,2,6,6,7,8C)1,2,2,4,2,4D)1,2,6,6,2,4參考答案:A全局變量與函數(shù)體內(nèi)局部變量同名時,局部變量會覆蓋全局變量,因此在sub1()函數(shù)內(nèi),全局變量m,n是不可見的,在sub1()對m,n操作的是局部變量,對全局變量不產(chǎn)生影響。但在sub2()函數(shù)內(nèi),由于沒有和全局變量變量重名,因此在此函數(shù)內(nèi),m,n>可見的。因此,第一個printf() 打印的是全局變量m,n,故打印的是1,2,第二個printf(),調(diào)用sub1(),沒有修改全局變量m,n.故打印的是1,2,第三個printf(),之前調(diào)用了sub2(),修改了全局變量mn。因此,打印的是2,4,故答案為A選項。33、有以下程序#include<ctype.h>#include<stdio.h>longfun(chars[]){longn;intsign;for(;isspace(*s);s++);sign=(*s=='-')?-1:1;if(*s=='+'||*s=='-')s++;for(n=0;isdigit(*s);s++)n=10*n+(*s-'0');returnsign*n;)main(){chars[]="-26a3";printf("%d\n",fun(s));)程序運行后的輸出結果是-26320D)-26參考答案:Disspace(c)檢查參數(shù)c是否為空格字符,也就是判斷是否為空格 L,)、水平定位字符(/\t/)、歸位鍵(/\r/)、換行(/\n/)、垂直定位字符(/\v/)或翻頁(/\f/)的情況。若參數(shù)c為空格字符,則返回TRUE否則返回NULL(0)。Isdigit(c)函數(shù)檢查參數(shù)c是否為阿拉伯數(shù)字0到9。返回值若參數(shù)c為阿拉伯數(shù)字,則返回TRUE否則返回NULL(0)ofun()函數(shù)的第一個for循環(huán)判斷字符串是否負號。第二個for循環(huán)獲取符號后面的數(shù)字字符,并將它們轉(zhuǎn)化為整數(shù)。遇到了非數(shù)字的字符跳出,最后返回數(shù)組的結果。因此,可知首先獲取負號,緊接著獲取數(shù)值26,遇到了字符a,跳出返回-26,因此打印的結果是-26。故答案為醛項。34、設有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯誤的是data2=(2,6);data2=data1;data2.real=data1.real;data2.real=data1.unreal;參考答案:A結構體變量建議在定義的時候進行初始化。結構體常見的幾種初始化方法如下:(1)structaa1={.b=1,.c=2};(2)structaa1={b:1,c:2};(3)structaa1={1,2};計算機內(nèi)核喜歡用第一種,使用第一種和第二種時,成員初始化順序可變。因此,可以判斷選項A錯誤。35、有以下程序#include<stdio.h>#defineS(x)x*x/xmain(){intk=6,j=3;printf("%d,%d\n”,S(k+j+2),S(j+k+2));}程序運行后的輸出結果是A)11,11B)29,29C)26,29D)121,121參考答案:B#define命令是C?言中的一個宏定義命令,標識符一般使用大寫,為了區(qū)分其他標識符,它用來將一個標識符定義為一個字符串,該標識符被稱為宏名,被定義的字符串稱為替換文本。宏定義不進行其他操作,僅僅只是替換標識符。S(k+j+2)=k+j+2*k+j+2/k+j+2,經(jīng)計算可得29,S(j+k+2)=j+k+2*k+j+2/j+k+2 ,計算可得29。因此卒U出為29,29。答案為B選項。36、若有定義typedefint*T[10];Ta;則以下選項與上述定義中a的類型完全相同的是int*a[10];int(*a)[10];inta[10];int(*a[10])();參考答案:AC語言允許由用戶自己定義類型說明符,也就是說允許由用戶為數(shù)據(jù)類型取 "別名”。類型定義符typedef即可用來完成此功能,可以完全代替原來的類型說明符。因此,變量a的類型為int*a[10] 。typedefint叮[10], 由于口運算符優(yōu)先級高于*,可以看成typedefint[10] *T,替換TW得int[10] *a=>int*a[10],因此,答案為A選項。37、有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen("data.dat","w+");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[5-i]);rewind(fp);for(i=0;i<6;i++){fscanf(fp,"%d",&k);printf("%d,",k);)fclose(fp);)程序運行后的輸出結果是A)6,5,4,3,2,1,B)1,2,3,4,5,6,C)1,1,1,1,1,1D)6,6,6,6,6,6,參考答案:Afope

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論