



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2012年3月份全國計算機等級考試二級C語言筆試題庫!2012年3月份全國計算機等級考試二級C語言筆試題庫ー、選擇題在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為A)PAD圖B)N-S圖 C)結構圖 D)數據流圖(2)結構化程序設計主要強調的是A)程序的規模 B)程序的效率 C)程序設計語言的先進性(3)為了使模塊盡可能獨立,要求A)模塊的B)軟件開發工具 C)軟件開發費用(5)算法的有窮性是指A)算法程序的運行時間是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用(6)對長度為n的線性表排序,在最壞情況下,比較次數不是n(n-l)/2的排序方法是A)快速排序A)e3,el,e4,e2A)屬性RabfanTBaCODkl302h2klxlBCD01klnl B)冒泡排序C)直接插入排序 B)e2,e4,e3,el C)e3,e4,el,e2 D)堆排序 D)任意順序(7)如果進棧序列為el,e2,e3,e4,則可能的出棧序列是 (8)將E-R圖轉換到關系模式時,實體與聯系都可以表示成 B)關系 C)鍵 D)域(9)有三個關系R、S和T如下:BCD B)算法程序所處理的數據量是有限的 D)軟件系統功能D)程序易讀性山關系R和S通過運算得到關系T,則所使用的運算為A)并 B)自然連接C)笛卡爾積 D)交(10)下列有關數據庫的描述,正確的是A)數據處理是將信息轉化為數據的過程B)數據的物理獨立性是指當數據的邏輯結構改變時,數據的存儲結構不變C)關系中的每一列稱為元組,ー個元組就是ー個字段D)如果ー個關系中的屬性或屬性組并非該關系的關鍵字,但它是另ー個關系的關鍵字,則稱其為本關系的外關鍵字(11)以下敘述中正確的是A)用C程序實現的算法必須要有輸入和輸出操作B)用C程序實現的算法可以沒有輸出但必須要有輸入C)用C程序實現的算法可以沒有輸入但必須要有輸出D)用C程序實現的算法可以既沒有輸入也沒有輸出(12)下列可用于C語言用戶標識符的ー組是A)void,define,WORDB)a3_3,_123,CarC)For,-abc,IFCase(13)以下選項中可作為C語言合法常量的是A)-80 B)-080C)-8el.OD)-80.0e(14)若有語句:char*line[5];,以下敘述中正確的是A)定義!ine是一個數組,每個數組元素是一個基類型為char為指針變量B)定義!ine是一個指針變量,該變量可以指向ー個長度為5的字符型數組C)定義!ine是ー個指針數組,語句中的?號稱為間址運算符D)定義line是ー個指向字符型函數的指針(15)以下定義語句中正確的是A)inta=b=O;B)charA=65+1,b=b;C)floata=l,*b=&a,*c=&b;D)doublea=00;b=l.l;(16)有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執行上述程序段后輸出結果是A)因變量類型與格式描述符的類型不匹配輸出無定值B)輸出項與格式描述符個數不符,輸出為零值或不定值C)a,97,12k=12D)a,975k=12(17)有以下程序main(){inti,s=l;for(i=l;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d\n",s);}程序的輸出結果是A)409 B)277 C)1 D)91(18)當變量c的值不為2、4、6時,值也為"真"的表達式是 D)2a,DO,sizeofA)(c=2)||(c=4)||(c=6)B)(c>=2&&c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)(19)若變量已正確定義,有以下程序段 inta=3,b=5,c=7;ifi(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結果是A)程序段有語法錯 B)3,5,3(20)有以下程序#includc<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a-H-;break;case1:b++;break;}case2:a-H-;b-H-;break;case3:a++;b++;printfi("a=%d,b=%d\n",a,b);}程序的運行結果是A)a=l,b=0 B)a=2,b=2(21)下列程序的輸出結果是#include"stdio.h"main(){inti,a=0,b=0;fbr(i=1 10;i++){if(i%2=0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}A)a=4,b=4 B)a=4,b=5 C)a=5,b=4(22)已知#intt=0;while(t=l) C)3,5,5C)a=l,b=lD)a=5,b=5D)3,5,7D)a=2,b=l則以下敘述正確的是A)循環控制表達式的值為〇C)循環控制表達式不合法D)以上說法都不對(23)下面程序的輸出結果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下錯誤的定義語句是A)intx口[3]={{0},⑴,{1,2,3}}; B)intx[4][3]={{l,2,3},{U,3},{l,2,3),{U,3}};C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)intx[][3]={l,2,3,4);(25)有以下程序voidss(char*s,chart){while(*s){if(*s=t)*s=t-ra屮As++;})main(){charstrl[l00]="abcddfefidbd",c=,d/;ss(strl,c);printfi("%s\n",str1);}程序運行后的輸出結果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){charch[2][5]={"6937","8254"},*p[2];intij,s=O;for(i=0;i<2;i++)p[i]=ch[i];fbr(i=0;i<2;i++)fbr(j=0;p[i][j]>,\0,y+=2)s=10*s+p[i][j]-,0,;printf("%d\n",s);}該程序的輸出結果是A)69825 B)63825 C)6385 D)693825(27)有定義語句:char 若要從終端給s輸入5個字符,錯誤的輸入語句是A)gets(&s[O]); B)scanf("%s",s+1); C)gets(s);D)scanf("%s",s[1]);(28)以下敘述中錯誤的是C)#defineMAX是合法的宏定義命令行 D)C程序對預處理命令行的處理是在程序執行的過程中進行的(29)設有以下說明語句 B)循環控制表達式的值為1 A)在程序中凡是以"#"開始的語句行都是預處理命令行 B)預處理命令行的最后不能以分號表示結束typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是A)PER是結構體變量名 B)PER是結構體類型名 Otypedefstruct是結構體類型D)struct是結構體類型名(30)以下敘述中錯誤的是A)gets函數用于從終端讀入字符串 B)getchar函數用于從磁盤文件讀入字符C)fputs函數用于把字符串輸出到文件 D)fwrite函數用于以二進制形式輸出數據到文件(31)以下能正確定義一維數組的選項是A)inta[5]={0,l,2,3,4,5};B)chara卜{U,T2,3,4,5,へ。,}; C)chara={A?B?C,};D)inta[5]="0123";(32)有以下程序#include<string.h>main(){charp[]={爾,七','c'},q[10]={'a',も‘,'c'};printfl("%d%d\n",strlen(p),strlcn(q));}以下敘述中正確的是A)在給p和q數組置初值時,系統會自動添加字符串結束符,故輸出的長度都為3B)山于p數組中沒有字符串結束符,長度不能確定,但q數組中字符串長度為3C)由于q數組中沒有字符串結束符,長度不能確定,但p數組中字符串長度為3D)由于p和q數組中都沒有字符串結束符,故長度都不能確定(33)有以下程序#include<stdio.h>#include<string.h>voidfiin(char*s[],intn){char*t; intij;fbr(i=O;i<n-l;i++)fbr(j=i+l;j<nj++)main(){ char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5);printfi["%s,%s\n",ss[0],ss[4]);}程序的運行結果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序#include<stdio.h>intflfintx){inty;if(x==O||x=l)rctum(3);if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]:s[j];s[j]=t;}y=x*x-f(x-2);returny;}main(){intz;z=R3);printfl("%d\n",z);}程序的運行結果是A)0 B)9 C)6 D)8(35)下面程序段的運行結果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符。的地址 D)字符で(36)若有以下定義:structlink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結構:指針p指向變量a,q指向變量Co則能夠把c插入到a和b之間并形成新的鏈表的語句組是:A)a.next=c;c.next=b;B)p.next=q;q.next=p.next; C)p->next=&c;q->next=p->next;D)(*p).next=q;(*q).next=&b;(37)對于下述程序,在方式串分別采用"wt"和"wb"運行時,兩次生成的文件TEST的長度分別是#include<stdio.h>voidmain(){FILE*fp=fopen("TEST",);fputcCA;fp);fputc(^,,fp);fputcCB,,fp);fputc(,\n\fp);用utc(。,巾);fclose(fp);}0;i<3;i-H-)fbr0=O;j<3ij++)a[i][j]=2*i+j;for(i=O;i<8;i++)x+=a[i][j];printf("%d",x);A)9 B)不確定值 〇〇D)18(40)下列程序執行后的輸出結果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}A)6 B)7 C)8 D)9二、填空題請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。(1)測試的目的是暴露錯誤,評價程序的可靠性;而 m 的目的是發現錯誤的位置并改正錯誤。(2)某ニ叉樹中度為2的結點有18個,則該ニ叉樹中有 [2] 個葉子結點。(3)當循環隊列非空且隊尾指針等于隊頭指針時,說明循環隊列已滿,不能進行入隊運算。這種情況稱為TOC\o"1-5"\h\z(4)在關系模型中,把數據看成一個二維表,每ー個二維表稱為ー個 【4】 。(5)在計算機軟件系統的體系結構中,數據庫管理系統位于用戶和【5】之間。(6)以下程序的輸出結果是 [6】 。main(){charc='z';printf|"%c",c-25);}(7)閱讀下面語句,則程序的執行結果是 【7】〇#include"stdio.h"main(){inta=-l,b=l,k;if((-H-a<O)&&!(b-<=O))printfi("%d,%d\",a,b);elseprintfi("%d,%d\n",b,a);}(8)下列程序的輸出結果是 [8】。main(){inti;fbr(i=l;i+l;i4-+){if(i>4){printfif"%d\n",i);break;}printf("%d\n",i+4-);}}(9)以下程序的定義語句中,x[l]的初值是【9】,程序運行后輸出的【10】〇#include<stdio.h>main()3]〇【{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),*p[4],i;for(i=0;i<4;i-H-)(10)以下程序的輸出結果是 [11]〇#include<stdio.h>voidswap(int*a,int*b){int*t;t=a;a=b;b=t;}main(){inti=3j=5,*p=&i,*q=&j;swap(p,q); print出"%d%d\N,*p,*q))}(11)以下程序的輸出結果是 【12】 ?main(){chars[]="ABCD",*p;fbr(p=s+1;p<s+4;p-H-)printf("%s\n",p);}(12)以下程序的輸出結果是 [13] ?floatfun(intx,inty){retum(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}(13)有如下圖所示的雙鏈表結構,請根據圖示完成結構體的定義:Iheadstructaa{intdata;[14]}node;(14)fseek函數的正確調用形式是 【15】?ー、選擇題(1)B【解析】N-S圖是由Nassi和Shneiderman提出的ー種符合程序化結構設計原則的圖形描述工具。它的提出是為了避免流程圖在描述程序邏輯時的隨意性上靈活性。(2)D【解析】結構化程序設計方法的主要原則可以概括為自頂向下、逐步求精、模塊化及限制使用goto語句,總的來說可使程序結構良好、易讀、易理解、易維護。(3)B【解析】模塊的獨立程度可以由兩個定性標準度量:耦合性和rchild{p[i]=&x[2*i+l];}printf("%d",p[i][0]);printf("\n");)(4)D【解析】需求分析是軟件定義時期的最后一個階段,它的基本任務就是詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。選項A)軟件開發方法是在總體設計階段需完成的任務;選項B)軟件開發工具是在實現階段需完成的任務;選項C)軟件開發費用是在可行性研究階段需完成的任務。(5)A【解析】算法具有5個特性:①有窮性:ー個算法必須(對任何合法的輸入值)在執行有窮步之后結束,且每一步都可在有限時間【解析】在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數都為n(n-l)/2,堆排序需要的比較次數為nlog2no(7)B【解析】由棧"后進先出"的特點可知:A)中el不可能比e2先出,C)中e!不可能比e2先出,D)中棧是先進后出的,所以不可能是任意順序。B)中出棧過程如下圖所示:(8)B【解析】關系數據庫邏輯設計的主要工作是將E-R圖轉換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉換是比較直接的,實體與聯系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性,實體集也可以轉換成關系。(9)D【解析】在關系運算中,交的定義如下:設R1和R2為參加運算的兩個關系,它們具有相同的度n,且相對應的屬性值取自同一個域,則RIR2為交運算,結果仍為度等于n的關系,其中,交運算的結果既屬于R1,又屬于R2o(10)D【解析】數據處理是指將數據轉換成信息的過程,故選項A)敘述錯誤;數據的物理獨立性是指數據的物理結構的改變,不會影響數據庫的邏輯結構,故選項B)敘述錯誤;關系中的行稱為元組,對應存儲文件中的記錄,關系中的列稱為屬性,對應存儲文件中的字段,故選項C)敘述錯誤。H)C【解析】算法具有的5個特性是:有窮性;確定性;可行性;有0個或多個輸入;有一個或多個輸出。所以說,用C程序實現的算法可以沒有輸入但必須要有輸出。(12)B【解析】C語言規定標識符只能由字母、數字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,排除選項い和D);C語言中還規定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。(13)A【解析】選項B)項中,以〇開頭表示是ー個ハ進制數,而ハ進制數的取值范圍是〇?7,所以ー〇80是不合法的;選項C)和D)中,e后面的指數必須是整數,所以也不合法。(14)A【解析】C語言中[]比?優先級高,因此line先與[5]結合,形成line[5]形式,這是數組形式,它有5個元素,然后再與line前面的"*"結合,表示此數組是?個指針數組,每個數組元素都是一個基類型為char的指針變量。(15)B【解析】本題考查變量的定義方法。如果要一次進行多個變量的定義,則在它們之間要用逗號隔開,因此選項A)和D)錯誤。在選項C)中,變量c是ー個浮點型指針,它只能指向一個浮點型數據,不能指向指針變量b,故選項C)錯誤。(16)D【解析】輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號的十進制整型數輸出,所以第一個輸出語句輸出的結果為a,97;第二個輸出語句輸出的結果為k=12o(17)D【解析】本題是計算50之【解析】滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,60當變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為"真"。(19)B【解析】兩個if語句的判斷條件都不滿足,程序只執行了c=a這條語句,所以變量c的值等于3,變量b的值沒能變化,程序輸出的結果為3,5,3。所以正確答案為B).(20)D【解析】本題考查switch語句,首先,x=l符合條件case1,執行switch(y)語句,產〇符合case0語句,執行a++并跳出switeh(y)語句,此時a=!〇因為case1語句后面沒有break語句,所以向后執行case2語句,執行a++,b++燃后跳出switeh(x),得a=2,b=l。(21)B【解析】continue語句的作用是跳過本次循環體中余下尚未執行的語句,接著再一次進行循環條件的判定。當能被2整除時,a就會增1,之后執行continue語句,直接執行到for循環體的結尾,進行i++,判斷循環條件。(22)B【解析】t=l是將t賦值為1,所以循環控制表達式的值為1。判斷t是否等于1時,應用t==1,注意"="與"="的用法。(23)A【解析】在C語言中,數組元素是從〇開始的。指針變量p指向數組的首地址,(p+2)就會指向數組中的第3個元素。題目中要求輸出的是元素的值。(24)C【解析】本題考查的是二維數組的定義和初始化方法。C語言中,在定義并初始化二維數組時,可以省略數組第一維的長度,但是不能省略第二維的長度。故選項C)錯誤。(25)B【解析】在【解析】該題稍微難一點。主要要搞清楚以下幾點:①定義了一個指針數組char*p[2]后,程序中第一個循環for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數組的p[0]元素(它本身是一個指針)指向了二維數組ch的第一行字符串,并使指針數組的p[l]元素指向二維數組ch的第二行字符串,這樣,就使指針數組p和二維數組ch建立起了一種對應關系,以后對二維數組ch的某個元素的引用就有兩種等價的形式:ch[i][j]或p口]5。②對ニ維數組ch的初始化,使其第一行ch[0]中存入了字符串"6937",第二行ch[l]中的【解析】在格式輸入中,要求給岀的是變量的地址,而D)答案中給出的s[l]是ー個值的表達式。(28)D【解析】C語言中的預處理命令以符號#開頭,這些命令是在程序編譯之前進行處理的,選項D)的描述錯誤。(29)B【解析】本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的ー個結構體類型,此時,也可以用PER來定義變量。(30)B【解析】getchar函數的作用是從終端讀入一個字符。(31)B【解析】選項A)中,定義的初值個數大于數組的長度;選項C)中,數組名后少了中括號;選項D)中,整型數組不能賦予字符串。(32)A【解析】在給p和q數組賦初值時,系統會自動添加字符串結束符,從題目中可以看出數組p和q都有3個字符,所以長度均為3。(33)A【解析】函數fun(char*s口,intn)的功能是對字符串數組的元素按照字符串的長度從小到大排序。在主函數中執行fbn(ss,5)語句后,*ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},ss[O],ss[4]的輸出結果為xy,aaaacc。(34)C【解析】函數intRintx)是ー個遞歸函數調用,當x的值等于0或1時,函數值等于3,其他情況下尸x2-f(x-2),所以在主函數中執行語句z=f(3)時,廣3*3-出3-2)=9-出1)=9-3=6。(35)B【解析】考査指向字符串的指針變量。在該題中,指針變量p指向的應該是該字符串中的首地址,p+3指向的是字符串結束標志へ0啲地址,因而?(p+3)的值為〇〇(36)D【解析】本題考査鏈表的數據結構,必須利用指針變量才能實現,即ー個結點中應包含ー個指針變量,用它存放下ー結點的地址。(37)B【解析】以"wt"方式寫入的是字符文件,轉義字符被看作兩個字符來處理。而"wb"方式寫入的是二進制文件,轉義字符,是ーー個字符。(38)A【解析】本題考查的是位運算的知識,對于任何二進制數,和1進行異或運算會讓其取反,而和o進行異或運算不會產生任何變化。(39)C【解析】本題主要考查的是用二維數組首地址和下標來引用二維數組元素的方法。通過分析可知,程序中的雙重循環定義了一個如下的二維數組:TOC\o"1-5"\h\z0 1 22 3 44 5 6由于數組的下標是從〇開始的,所以二維數組元素表示的是二維數組a的第i+1行、第j+1列對應位置的元素。(40)A【解析】函數的參數不僅可以是整型、實型、字符型等數據,還可以是指針型。它的作用是將一個變量的地址傳遞到另?個函數中。當數組名作參數時,如果形參數組中的各元素的值發生變化,實參數組元素的值也將隨之發生變化。二、選擇題(1)【1】調試【解析】軟件測試的目標是在精心控制的環境下執行程序,以發現程序中的錯誤,給出程序可靠性的鑒定;調試也稱排錯,它是ー個與測試既有聯系又有區別的概念。具體來說,測試的□的是暴露錯誤,評價程序的可靠性,而調試的目的是發現錯誤的位置,并改正錯誤。(2)【2】19【解析】在任意一棵ニ叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。(3)【3】上溢【解析】入隊運算是指在循環隊列的隊尾加入一個新元素。這個運算有兩個基本操作:首先將隊尾指針進,(即rear=rearH),并當rear=m+l時,置rear=l;然后將新元素插入隊尾指針指向的位置。當循環隊列非空(s=l)且隊尾指針等于隊頭指針時,說明循環隊列已滿,不能進行入隊運算,這種情況稱為"上溢"。(4)【4】關系【解析】在關系模型中,把數據看成一個二維表,每ー個二維表稱為一個關系。表中的每一列稱為ー個屬性,相當于記錄中的ー個數據項,對屬性的命名稱為屬性名;表中的一行稱為ー個元組,相當于記錄值。(5)【5】操作系統或OS【解析】數據庫管理系統是數據庫的機構,它是一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務。位于用戶和操作系統之間。(6)【6】a【解析】3的ASCII碼值為122,經過c-25運算后,得97,以字符形式輸出是a〇(7)【7】1,0【解析】與運算兩邊的語句必須同時為真時,結果オ為真。當執行完if((++a<〇)&&!(b--<=O))時,a,b的值已經發生了變化。(8)[8]1 3 5【解析】本題考查了fbr循環語句的使用,break語句用在本題中是結束for循環直接跳出循環體外。當i=l時,因為if語句條件不滿足,所以直接執行printf("%d\n",i++);輸出1,同時i自加1;執行第二次for循環時,i=3;同樣的if語句條件不滿足,所以直接執行print["%d\n",i++);輸出3,同時i自加1;執行第三次for循環時,i=5,if語句條件滿足,所以執行printf("%d\n",i),輸出5,然后break語句跳出了for循環。(9)【9】22468【解析】在主函數中根據整型數組x口的定義可知,x[l]的初值等于2。在for循環語句中,當i=0時,p[O]=&x[l],p[〇][〇]=2;當i=l時,p[l]=&x[3],p[l][0]=4;當i=2時,p[2]=&x[5],p[2][0]=6;當i=3時,p[3]=&x[7],p[3][0]=8,所以程序輸出的結果為2、4、6、8。[11J35【解析】函數swap(int*a,int*b)的功能是實現?a和?b中兩個數據的交換,在主函數中調用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發生變化,所以輸出結果為35。[12]BCDCDD【解析】本題考查指向字符串的指針的運算方法。指針變量p首先指向字符串中的第一個字符A,執行p=s+!后,p指向字符串中的第二個字符B,然后輸出值"BCD"并換行,依次執行循環語句。[13]9【解析】本題考查函數的綜合知識。首先,我們可以利用強制轉換類型轉換運算符,將一個表達式轉換成所需類型。如:(double)a是將a轉換成double類型;(int)(x+y)是將x+y的值轉換成整型。本題可按部就班地逐步運算:fun((int)fun(a+c,b),a-c)fun((int)fun(l0,5),2-8)fun((int)15.000000,-6)ftin(15,-6)9[14]structaa*lhead,*rchild;【解析】結構體對鏈表的定義。(14)【15】fseek(文件指針,位移量,起始點)【解析】本題考查函數fseek的用法。fseek函數的調用形式為:fseek(文件指針,位移量,起始點)"起始點"用0,1或2代替,其中,〇代表"文件開始";l為"當前位置";2為"文件末尾"。"位移量"指以"起始點"為基點,向前移動的字節數。ANSIC和大多數C版本要求位移量是long型數據,這樣當文件的長度大于64k時不致出現問題。ANSIC標準規定在數字的末尾加一個字母L,就表示long型。ー、選擇題在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)程序流程圖中帶有箭頭的線段表示的是A)圖元關系 B)數據流 C)控制流 D)調用關系(2)下面不屬于軟件設計原則的是A)抽象 B)模塊化 C)自底向上 D)信息隱蔽(3)ド列選項中,不屬于模塊間耦合的是A)數據耦合 B)標記耦合C)異構耦合 D)公共耦合(4)ド列敘述中,不屬于軟件需求規格說明書的作用的A)便于用戶、開發人員進行理解和交流B)反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據C)作為確認測試和驗收的依據 D)便于開發人員進行需求分析(5)算法的時間復雜度是指A)執行算法程序所需要的時間 B)算法程序的長度 C)算法執行過程中所需要的基本運算次數D)算法程序中的指令條數(6)已知數據表A中每個元素距其最終位置不遠,為節省時間,應采用的算法是A)堆排序 B)直接插入排序 C)快速排序 D)B)和〇(7)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是A)ABCED B)DCBEA C)DBCEA D)CDABE(8)數據庫設計包括兩個方面的設計B)模式設計和〇D)結構特性設計和行為特性設計(9)關系表中的每一橫行稱為ー個A)元組 B)字段 C)屬性 D)碼(10)設有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績),則表SC的關鍵字(鍵或碼)為A)課號,成績 B)學號,成績 C)學號,課號 D)學號,姓名,成績(11)以下不正確的敘述是A)在C程序中,逗號運算符的優先級最低 B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變是D)當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型數值(12)請選出可用作C語言用戶標識符的是A)void,define,WORD B)a3_b3,_123,IFC)FOR,-abc,CaseD)2a,Do,Sizeof(13)以下選項中,不能作為合法常量的是A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C語言中,運算對象必須是整型數的運算符是A)% B)\ C)%和、D)**(15)若變量均已正確定義并賦值,以下合法的C語言賦值語句是A)x=y=5; B)x=n%2.5; C)x+n=i;(16)有以下程序段charch;intk;ch=H;k=12;printfi("%c,%d,",ch,ch,k);printfi("k=%d\n",k);已知字符a的ASCII碼值為97,則執行上述程序段后輸出結果是A)因變量類型與格式描述符的類型不匹配輸出無定值 B)輸出項與格式描述符個數不符,輸出為零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是A)kk>=,A/&&kk<='Z' B)!(kk>=,A,||kk<=,Z,)C)(kk+32)>='a'&&(kk+32)<='Z'D)isalpha(kk)&&(kk<91)(18)當變量c的值不為2、4、6時,值也為"真"的表達式是A)(c=2)||(c==4)||(c=6) B)(c>=2&&c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=l)(19)若有條件表達式(exp)?a++:b-,則以下表達式中能完全等價于表達式(exp)的是A)(exp=O)B)(exp!=O) C)(exp=l) D)(exp!=l)(20)以下不正確的定義語句是A)doublex[5]={2.0,4.0,6.0,8.0,10.0);B)inty[5]={0,l,3,5,7,9};C)charcl[]={T,,27374,,5};D)charc2[ド{Z10','xa',へx8'};(21)下列程序執行后的輸出結果是main(){inta[3][3],*p,i;p=&a[O][O];fbr(i=l;i<9;i++)p[i]=i+l;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)隨機數(22)設有以下程序段intx=O,s=O;while(!x!=O)s+=-H-x;printf^"%d",s);則A)運行程序段后輸出〇 B)運行程序段后輸出1 C)程序段中的控制表達式是非法的D)程序段執行無 D)x=5=4+1;限次(23)(23)下面程序段的運行結果是char*s="abcde";s+=2;printfi("%d",s);A)cde B)字符d C)字符*的地址 D)無確定的輸出結果(24)閱讀下列程序,則執行后的結果為#include"stdio.h"main(){ intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+l)-l-l));}A)3e,6(25)下面判斷正確的是A)char*a="china";等價于char*a;*a="china"; B)charstr[5]={"china"};等價于charstr[]={"china"};C)char*s="china";等價于 char*s;s="china"; D)char
c[4]="abc",d[4]="abc";等價于charc[4]=d[4]="abc";(26)若有定義:inta[2][3];,以下選項中對a數組元素正確引用的是A)a[2][!l] B)a[2][3] C)a[0][3] D)a[l>2][!l](27)有定義語句:charsu0];,若要從終端給s輸入5個字符,錯誤的輸入語句是A)gets(&s[O]); B)scanf("%s",s+1); C)gets(s);D)scanf("%s",s[1]);(28)有以下程序#includc<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){intil,i2;il=f(2);i2=f(l+l);printf("%d%d\n",il,i2);)程序的運行結果是D)127B)變量data所占D)data可以作為函數的實參C)56,5 D)3E,6D)127B)變量data所占D)data可以作為函數的實參C)56,5 D)3E,6(29)若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是A)data的每個成員起始地址都相同(30)有以下程序#include<stdio.h>B)62,5main(){FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintfl(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintfi(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fbpen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運行后的輸出結果是A)12 B)14 C)1234 D)123456(31)若已定義inta[]={0,1,2,3,4,5,6,7,8,9),*p=a,i;其中則對a數組元素不正確的引用是A)a[p-a]B)*(&a[i])C)p[i]D)a[10](32)有以下程序#include<stdio.h>voidfiin(int*s,intnl,intn2){intij,t;i=nl;j=n2;while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j-;})main(){inta[10]={l,2,3,4,5,6,7,8,9,0},k;fun(a,0,3);fun(a,4,9);fun(a,0,9);fbr(k=0;k<10;k-H-)printfi("%d",a[k]);printf("\n");)程序的運行結果是A)0987654321 B)4321098765 C)5678901234 D)0987651234(33)閱讀下列程序,當運行函數時,輸入asdafaaz67,則輸出為#include<stdio.h>#include<ctype.h>#include<string.h>intfun(char*str){intij=0;for(i=O;str[i]!=/\0x;i++)iftstr[i]!=fr)str[j++]=str[i];str[j]=ヘ〇,;main(){charstr[81];intn;printf(&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甲板船合同租賃合同協議
- 電梯委托保養合同協議
- 玻璃雨棚包工合同協議
- 玻璃餐桌采購合同協議
- 甲方合伙人合同協議
- 現代農業供貨合同協議
- 益陽書畫買賣合同協議
- 電機外殼購銷合同協議
- 物資代采合同協議書模板
- 男女朋友吵架合同協議
- 鐵路機務知識培訓課件
- 人工智能在制造業中的應用2024年智能工廠的新范式
- (高清版)TDT 1037-2013 土地整治重大項目可行性研究報告編制規程
- 呼氣一氧化氮檢測技術
- 礦山運輸及安全
- 鋁加工(深井鑄造)企業重點事項解讀(米)
- 鉛鋅礦的選礦工廠自動化控制技術
- 體育賽事管理課件
- 2024年采血針行業分析報告及未來發展趨勢
- 大學生思想政治理論課研究性學習成果
- 北師大版義務教育小學數學教材知識體系整理
評論
0/150
提交評論