全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套_第1頁
全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套_第2頁
全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套_第3頁
全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套_第4頁
全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)二級(jí)C選擇題題庫第34套1、下列敘述中錯(cuò)誤的是A)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素不能是另一數(shù)據(jù)結(jié)構(gòu)B)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)C)空數(shù)據(jù)結(jié)構(gòu)可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)D)非空數(shù)據(jù)結(jié)構(gòu)可以沒有根結(jié)點(diǎn)參考答案:A數(shù)據(jù)元素是一個(gè)含義很廣泛的概念,它是數(shù)據(jù)的"基本單位",在計(jì)算機(jī)中通常作為一個(gè)整體進(jìn)行考慮和處理。數(shù)據(jù)元素可以是一個(gè)數(shù)據(jù)也可以是被抽象出的具有一定結(jié)構(gòu)數(shù)據(jù)集合,所以數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)元素可以是另一數(shù)據(jù)結(jié)構(gòu)。滿足有且只有一個(gè)根結(jié)點(diǎn)并且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件的非空的數(shù)據(jù)結(jié)構(gòu)認(rèn)為是線性結(jié)構(gòu),不滿足條件的結(jié)構(gòu)為非線性結(jié)構(gòu)??諗?shù)據(jù)結(jié)構(gòu)可以是線性結(jié)構(gòu)也可以是非線性結(jié)構(gòu)。非空數(shù)據(jù)結(jié)構(gòu)可以沒有根結(jié)點(diǎn),如非性線結(jié)構(gòu)"圖"就沒有根結(jié)點(diǎn)。故選A選項(xiàng)。2、為了降低算法的空間復(fù)雜度,要求算法盡量采用原地工作(inplace)。所謂原地工作是指A)執(zhí)行算法時(shí)所使用的額外空間固定(即不隨算法所處理的數(shù)據(jù)空間大小的變化而變化)B)執(zhí)行算法時(shí)所使用的額外空間隨算法所處理的數(shù)據(jù)空間大小的變化而變化C)執(zhí)行算法時(shí)不使用額外空間D)執(zhí)行算法時(shí)不使用任何存儲(chǔ)空間參考答案:A算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間,包括輸入數(shù)據(jù)所占的存儲(chǔ)空間、程序本身所占的存儲(chǔ)空間、算法執(zhí)行過程中所需要的額外空間。如果額外空間量相對(duì)于問題規(guī)模(即輸入數(shù)據(jù)所占的存儲(chǔ)空間)來說是常數(shù),即額外空間量不隨問題規(guī)模的變化而變化,則稱該算法是原地工作的。故選A選項(xiàng)3、某循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為front=rear=m?,F(xiàn)經(jīng)過一系列的入隊(duì)操作和退隊(duì)操作后,front=m,rear=m-1,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為A)m-1B)mC)1D)0參考答案:A循環(huán)隊(duì)列長(zhǎng)度為m,由初始狀態(tài)為front=rear=m,可知此時(shí)循環(huán)隊(duì)列為空。入隊(duì)運(yùn)算時(shí),首先隊(duì)尾指針進(jìn)1(即rear+1),然后在rear指針指向的位置插入新元素。特別的,當(dāng)隊(duì)尾指針rear=m+1時(shí),置rear=1。退隊(duì)運(yùn)算時(shí),排頭指針進(jìn)1(即front+1),然后刪除front指針指向的位置上的元素,當(dāng)排頭指針front=m+1時(shí),置front=1。從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。如果rear-front>0,則隊(duì)列中的元素個(gè)數(shù)為rear-front個(gè);如果rear-front<0,則隊(duì)列中的元素個(gè)數(shù)為rear-front+m。該題中m-1<m,即rear-front<0,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為(m-1)-m+m=m-1。故選A選項(xiàng)。數(shù)據(jù)庫系統(tǒng)可以解決數(shù)據(jù)冗余和數(shù)據(jù)獨(dú)立性問題,而文件系統(tǒng)不能。數(shù)據(jù)庫系統(tǒng)和文件系統(tǒng)的區(qū)別不僅在于管理的文件類型與數(shù)據(jù)量的多少。數(shù)據(jù)庫系統(tǒng)具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性,而文件系統(tǒng)獨(dú)立性較好。故本題選A選項(xiàng)。11、關(guān)于程序模塊化,以下敘述錯(cuò)誤的是A)程序模塊化可以提高程序運(yùn)行的效率B)程序模塊化可以提高程序編制的效率C)程序模塊化可以提高程序代碼復(fù)用率D)程序模塊化可以提高調(diào)試程序的效率參考答案:A模塊化程序的優(yōu)點(diǎn):1、易于維護(hù)和復(fù)用,可以提高程序編制的效率,2、易于分工合作,3、易于模塊化調(diào)試測(cè)試。模塊化程序的副作用:1、可能會(huì)降低程序運(yùn)行效率,2、設(shè)計(jì)的前期工作需要多花費(fèi)時(shí)間??芍x項(xiàng)B,C,D正確。12、以下是正確C語言標(biāo)識(shí)符的A)&3B)#3C)_3D)-3參考答案:CC語言合法標(biāo)識(shí)名的命名規(guī)則是:(1)標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,(2)第一個(gè)字符不能是數(shù)字只能是字母或下劃線。選項(xiàng)A的第一個(gè)字符為&,非法,選項(xiàng)B,第一個(gè)字符為#,非法,選項(xiàng)D,第一個(gè)字符為-,非法。答案為選項(xiàng)C。13、若有定義:inta,b,c;以下程序段的輸出結(jié)果是a=11;b=3;c=0;printf("%d\n",c=(a/b,a%b));A)2B)0C)3D)1參考答案:AC語言中,逗號(hào)運(yùn)算符可以把兩個(gè)以上(包含兩個(gè))的表達(dá)式連接成一個(gè)表達(dá)式。逗號(hào)運(yùn)算符的優(yōu)先級(jí)是所有運(yùn)算符中級(jí)別最低的,逗號(hào)運(yùn)算符保證左邊的子表達(dá)式運(yùn)算結(jié)束后才進(jìn)行右邊的子表達(dá)式的運(yùn)算。也就是說,逗號(hào)運(yùn)算符是一個(gè)序列點(diǎn),其左邊所有副作用都結(jié)束后,才對(duì)其右邊的子表達(dá)式進(jìn)行運(yùn)算,并以最右邊表達(dá)式值作為整個(gè)逗號(hào)表達(dá)式的值。因此c的值為a%b即11%3=2,故答案為A選項(xiàng)。14、以下選項(xiàng)中合法的C語言常量是A)'C-STR'B)2014.1C)"\1.0D)2EK參考答案:B所謂常量是指在程序運(yùn)行的過程中,其值不能被改變的量。在C語言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。選項(xiàng)A是字符串,但使用單引號(hào),錯(cuò)誤,選項(xiàng)C,D,為實(shí)型常量中指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù),錯(cuò)誤。故答案為B選項(xiàng)。15、設(shè)有定義:intx,y,z;,且各變量已賦正整數(shù)值,則以下能正確表示代數(shù)式""的C語言表達(dá)式是()。A)1.0/x/y/zB)1/x*y*zC)1/(x*y*z)D)1/x/y/(double)z參考答案:A代數(shù)表達(dá)式1/是小數(shù),轉(zhuǎn)為c語言的表達(dá)式必須是小數(shù)A選項(xiàng)由于1.0為浮點(diǎn)數(shù),計(jì)算結(jié)果自動(dòng)轉(zhuǎn)換為浮點(diǎn)數(shù),故A正確。選項(xiàng)B,C,D的表達(dá)式均為0,因此只有選項(xiàng)A正確。答案為A選項(xiàng)。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);}當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開始,<CR>代表回車,注意:回車也是一個(gè)字符)12<CR>34<CR>則輸出結(jié)果是A)123B)12C)1234D)1234參考答案:Ascanf()函數(shù)從標(biāo)準(zhǔn)輸入輸出中讀入兩個(gè)字符'1''2'分別賦給變量a、b,遇到回車自動(dòng)結(jié)束,但回車符已經(jīng)存入緩沖區(qū),函數(shù)getchar()將從中接受這個(gè)字符,故c賦值為回車符,然后第二個(gè)getchar()讀入字符'3',因此a='1',b='2',c=<CR>,d='3',故答案為A選項(xiàng)。17、有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){default:printf("%d,",b+1);continue;case1:printf("%d,",b+1);case2:printf("%d,",b+1);continue;}}}執(zhí)行時(shí)輸入:123<回車>,則輸出結(jié)果是A)2,2,3,4,4,4,B)2,3,4,C)2,2,3,4,D)2,3,3,4,5,6,參考答案:Ccontinue語句的作用是跳過循環(huán)體中剩余的語句而強(qiáng)行執(zhí)行下一次循環(huán)。switch…case如果沒有break會(huì)導(dǎo)致多個(gè)分支重疊。因此,輸入1,2,3,則1執(zhí)行case1:printf("%d,",b+1);case2:printf("%d,",b+1);continue;后結(jié)束。2則執(zhí)行case2:printf("%d,",b+1);continue;3則執(zhí)行default:printf("%d,",b+1);continue;得到的結(jié)果是2,2,3,4。故答案為C選項(xiàng)。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í)行時(shí)輸入:3.62.4<回車>,則輸出結(jié)果是A)2.400000B)1.500000C)1.600000D)2.000000參考答案:A題目中程序執(zhí)行過程中關(guān)鍵語句的結(jié)果為:z=1.5,if條件成立,x=2.4,y=2.4,z=1.0,下一次循環(huán)if條件不成立跳出循環(huán),按照格式打印y值為2.400000。故答案為A選項(xiàng)。19、有以下程序#include<stdio.h>main(){inti;charc;scanf("%c",&c);for(i=0;i<5;i++){if(i>c)continue;printf("%d,",i);}}執(zhí)行時(shí)輸入:0<回車>后,則輸出結(jié)果是A)5B)0,0,0,0,0,C)0,1,2,3,4,D)0,1,參考答案:Cscanf("%c",&c),輸入的字符,題目中輸入了0,是字符,對(duì)應(yīng)于ASCII碼為48,因此for循環(huán),i的范圍從0~5,均小于48,if條件不成立,直接執(zhí)行下一條語句,因此執(zhí)行printf,因此得到的結(jié)果是0,1,2,3,4。故答案為C選項(xiàng)。20、以下程序擬實(shí)現(xiàn)計(jì)算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);}程序運(yùn)行后,不能得到正確結(jié)果,出現(xiàn)問題的語句是A)sum+=1/i;B)while(i<50);C)sum=1.0;D)i++;參考答案:A選項(xiàng)A,sum+=1/i;i為整型,因此1/i是整型類型,當(dāng)1/i有小數(shù)時(shí),會(huì)被截?cái)?。因?/i結(jié)果始終為0,導(dǎo)致結(jié)果出錯(cuò)。,應(yīng)該改為sum+=1.0/i。因此答案為A選項(xiàng)。21、若有定義語句:doublea,*p=&a;以下敘述中錯(cuò)誤的是A)定義語句中的*號(hào)是一個(gè)間址運(yùn)算符B)定義語句中的*號(hào)是一個(gè)說明符C)定義語句中的p只能存放double類型變量的地址D)定義語句中*p=&a把變量a的地址作為初值賦給指針變量p參考答案:A指針運(yùn)算符(通常稱為間接引用運(yùn)算符:indirectionoperator或復(fù)引用運(yùn)算符:dereferencingoperator),它返回其操作數(shù)(即一個(gè)指針)所指向的對(duì)象的值。定義語句中的*號(hào)不是一個(gè)間址運(yùn)算符,而是定義指針變量的說明符,因此,A項(xiàng)錯(cuò)誤,B項(xiàng)正確,原則上說p可以放double兼容性的變量地址,C項(xiàng)正確,根據(jù)指針的賦值運(yùn)算,可知D項(xiàng)正確。故答案為A選項(xiàng)。22、關(guān)于函數(shù)返回值,以下敘述正確的是A)函數(shù)可以返回整個(gè)結(jié)構(gòu)體,即使結(jié)構(gòu)體中有數(shù)組B)函數(shù)只能返回基本數(shù)據(jù)類型的數(shù)值或指針C)函數(shù)不可以返回一個(gè)數(shù)組D)函數(shù)不能沒有返回值參考答案:A函數(shù)返回值可以整型、實(shí)型、字符型、指針和結(jié)構(gòu)類型,也可以沒有返回值。因此選項(xiàng)A正確,可以返回?cái)?shù)組指針,因此可知選項(xiàng)B,C,D錯(cuò)誤。故答案為A選項(xiàng)。23、有以下程序#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);}程序運(yùn)行后的輸出結(jié)果是A)24B)720C)120D)6參考答案:Cfun(),求數(shù)組指定返回的元素的積。fun(a,3),求的是數(shù)組a[0]~a[3]的積。因此結(jié)果為2*3*4*5=120,故答案為C選項(xiàng)。24、若有語句:inta[3][4],(*p)[4];p=a;,則以下選項(xiàng)中敘述錯(cuò)誤的是A)系統(tǒng)將開辟一個(gè)名為p的二維數(shù)組,p[0][0]中的值即為a[0][0]中的值B)p+1代表a[1][0]的地址C)p中將存放a數(shù)組的首地址D)p+2代表a數(shù)組最后一行的首地址參考答案:A(*p)[4]定義了一個(gè)數(shù)組指針。p可以指向類似于arry[][4]的數(shù)組,題設(shè)中,p不是一個(gè)二維數(shù)組,只是可以指向這類二維數(shù)組,因此選項(xiàng)A錯(cuò)誤。p+1代表了第一行第一個(gè)元素的地址,p=a指向數(shù)組a的首地址,則B、C選項(xiàng)正確,同理可知選項(xiàng)D也正確。故答案為A選項(xiàng)。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]);}程序運(yùn)行后的輸出結(jié)果是A)B,C,D,E,B)A,B,C,D,C)C,D,E,F,D)B,D,F,H,參考答案:A函數(shù)change()的作用將從數(shù)組尾部將數(shù)組內(nèi)的元素值加1。數(shù)組的初始值為ABCD,因此經(jīng)change()后,得到的值為BCDE。故答案為A選項(xiàng)。26、設(shè)有以下程序段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};定義了一個(gè)包含8個(gè)float型元素的數(shù)組,并初始化了數(shù)組的前2項(xiàng),其他項(xiàng)是隨機(jī)數(shù)。intb[1]={0},定義了只有一個(gè)int型元素的數(shù)組,并初始化為0。charc[]={"A","B"};定義一個(gè)char型數(shù)組,大小有初始化元素決定,但初始化值是字符串,類型不兼容,編譯出錯(cuò)。chard="1";定義一個(gè)char型變量,但是初始化賦值字符串,類型不兼容,編譯出錯(cuò)。因此只有a,b定義和初始化正確。故答案為D選項(xiàng)。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í)行時(shí)輸入:2<回車>,則輸出結(jié)果是A)1234B)5431C)1235D)3214參考答案:C第一個(gè)for循環(huán)初始化數(shù)組a,分別為1,3,5,隨機(jī)數(shù),形成了基本有序的序列,再將輸入的數(shù)字插入到數(shù)組a,使他們形成有序序列。因此可以分析出,打印的結(jié)果為1,2,3,5。故答案為C選項(xiàng)。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));}程序運(yùn)行后的輸出結(jié)果是A)9B)-1C)10D)0參考答案:Awhile(p<a+n&&*p!=x)p++;p=a;n=10,x=10;while循環(huán)條件成立,直到p=a+9,結(jié)束循環(huán),執(zhí)行下一條語句,if條件成立,返回p-a,此時(shí)執(zhí)行p-a=a+9-a=9;因此,輸出9。故答案為A選項(xiàng)。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);}程序運(yùn)行后的輸出結(jié)果是A)ejotyB)afkpuC)agmsyD)eimqu參考答案:C數(shù)組a是二維數(shù)組,數(shù)組w存放二維數(shù)組a行列值相同位置的元素,由a[5][10]可得w[0]~w[4]的元素分別是agmsy,因此打印結(jié)果為agmsy。故答案為C選項(xiàng)。30、語句printf("%d\n",strlen("\t\"\\\n\'\065\08AB"));的輸出結(jié)果是A)6B)7C)8D)9參考答案:A字符串"\t\"\\\n\'\065\08AB"中共有13個(gè)字符,而strlen()函數(shù)從字符串第一個(gè)字符開始掃描,直到碰到第一個(gè)結(jié)束符'\0'為止,然后返回計(jì)數(shù)器值(長(zhǎng)度不包含"\0")。故輸出結(jié)果為6。答案為A選項(xiàng)。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(){charss[10]="012345678";intn=6;fun(ss,0,n-1);fun(ss,9,n);fun(ss,0,9);printf("%s\n",ss);}程序運(yùn)行后的輸出結(jié)果是A)012345B)876543210C)876543D)012345678參考答案:Afun(*ss,m1,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。因此打印結(jié)果012345。故答案為A選項(xiàng)。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);}程序運(yùn)行后的輸出結(jié)果是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)局部變量同名時(shí),局部變量會(huì)覆蓋全局變量,因此在sub1()函數(shù)內(nèi),全局變量m,n是不可見的,在sub1()對(duì)m,n操作的是局部變量,對(duì)全局變量不產(chǎn)生影響。但在sub2()函數(shù)內(nèi),由于沒有和全局變量變量重名,因此在此函數(shù)內(nèi),m,n是可見的。因此,第一個(gè)printf()打印的是全局變量m,n,故打印的是1,2,第二個(gè)printf(),調(diào)用sub1(),沒有修改全局變量m,n.故打印的是1,2,第三個(gè)printf(),之前調(diào)用了sub2(),修改了全局變量m,n。因此,打印的是2,4,故答案為A選項(xiàng)。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));}程序運(yùn)行后的輸出結(jié)果是A)-263B)2C)0D)-26參考答案:Disspace(c)檢查參數(shù)c是否為空格字符,也就是判斷是否為空格('')、水平定位字符('\t')、歸位鍵('\r')、換行('\n')、垂直定位字符('\v')或翻頁('\f')的情況。若參數(shù)c為空格字符,則返回TRUE,否則返回NULL(0)。Isdigit(c)函數(shù)檢查參數(shù)c是否為阿拉伯?dāng)?shù)字0到9。返回值若參數(shù)c為阿拉伯?dāng)?shù)字,則返回TRUE,否則返回NULL(0)。fun()函數(shù)的第一個(gè)for循環(huán)判斷字符串是否負(fù)號(hào)。第二個(gè)for循環(huán)獲取符號(hào)后面的數(shù)字字符,并將它們轉(zhuǎn)化為整數(shù)。遇到了非數(shù)字的字符跳出,最后返回?cái)?shù)組的結(jié)果。因此,可知首先獲取負(fù)號(hào),緊接著獲取數(shù)值26,遇到了字符a,跳出返回-26,因此打印的結(jié)果是-26。故答案為D選項(xiàng)。34、設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯(cuò)誤的是A)data2=(2,6);B)data2=data1;C)data2.real=data1.real;D)data2.real=data1.unreal;參考答案:A結(jié)構(gòu)體變量建議在定義的時(shí)候進(jìn)行初始化。結(jié)構(gòu)體常見的幾種初始化方法如下:(1)structaa1={.b=1,.c=2};(2)structaa1={b:1,c:2};(3)structaa1={1,2};計(jì)算機(jī)內(nèi)核喜歡用第一種,使用第一種和第二種時(shí),成員初始化順序可變。因此,可以判斷選項(xiàng)A錯(cuò)誤。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));}程序運(yùn)行后的輸出結(jié)果是A)11,11B)29,29C)26,29D)121,121參考答案:B#define命令是C語言中的一個(gè)宏定義命令,標(biāo)識(shí)符一般使用大寫,為了區(qū)分其他標(biāo)識(shí)符,它用來將一個(gè)標(biāo)識(shí)符定義為一個(gè)字符串,該標(biāo)識(shí)符被稱為宏名,被定義的字符串稱為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。S(k+j+2)=k+j+2*k+j+2/k+j+2,經(jīng)計(jì)算可得29,S(j+k+2)=j+k+2*k+j+2/j+k+2,計(jì)算可得29。因此輸出為29,29。答案為B選項(xiàng)。36、若有定義typedefint*T[10];Ta;則以下選項(xiàng)與上述定義中a的類型完全相同的是A)int*a[10];B)int(*a)[10];C)inta[10];D)int(*a[10])();參考答案:AC語言允許由用戶自己定義類型說明符,也就是說允許由用戶為數(shù)據(jù)類型取"別名"。類型定義符typedef即可用來完成此功能,可以完全代替原來的類型說明符。因此,變量a的類型為int*a[10]。typedefint*T[10],由于[]運(yùn)算符優(yōu)先級(jí)高于*,可以看成typedefint[10]*T,替換T可得int[10]*a=>int*a[10],因此,答案為A選項(xiàng)。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);}程序運(yùn)行后的輸出結(jié)果是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,參考答案:Afopen("data.dat","w+");w+打開可讀寫文件,若文件存在則文件長(zhǎng)度清為零,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。rewind(fp);使文件fp的位置指針指向文件開始。fprintf(fp,"%d\n",a[5-i]);將a[i]輸

溫馨提示

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

評(píng)論

0/150

提交評(píng)論