2023年計算機等級考試二級C語言考前模擬密卷及答_第1頁
2023年計算機等級考試二級C語言考前模擬密卷及答_第2頁
2023年計算機等級考試二級C語言考前模擬密卷及答_第3頁
2023年計算機等級考試二級C語言考前模擬密卷及答_第4頁
2023年計算機等級考試二級C語言考前模擬密卷及答_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023計算機等級考試二級C語言考前模擬密卷及答案(3)一、選擇題(1)算法的空間復雜度是指A)算法程序的長度B)算法程序中的指令條數(shù)C)算法程序所占的存儲空間D)執(zhí)行過程中所需要的存儲空間(2)用鏈表表達線性表的優(yōu)點是A)便于隨機存?。?花費的存儲空間較順序存儲少C)便于插入和刪除操作D)數(shù)據(jù)元素的物理順序與邏輯順序相同(3)數(shù)據(jù)結構中,與所使用的計算機無關的是數(shù)據(jù)的A)存儲結構B)物理結構C)邏輯結構D)物理和存儲結構(4)結構化程序設計重要強調的是A)程序的規(guī)模B)程序的效率C)程序設計語言的先進性D)程序易讀性(5)軟件設計涉及軟件的結構、數(shù)據(jù)接口和過程設計,其中軟件的過程設計是指A)模塊間的關系B)系統(tǒng)結構部件轉換成軟件的過程描述C)軟件層次結構D)軟件開發(fā)過程(6)檢查軟件產品是否符合需求定義的過程稱為A)確認測試B)集成測試C)驗證測試D)驗收測試(7)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標記的圖符不屬于數(shù)據(jù)流圖合法圖符的是A)控制流B)加工C)數(shù)據(jù)存儲D)源和潭(8)應用數(shù)據(jù)庫的重要目的是A)解決數(shù)據(jù)保密問題B)解決數(shù)據(jù)完整性問題C)解決數(shù)據(jù)共享問題D)解決數(shù)據(jù)量大的問題(9)在數(shù)據(jù)庫設計中,將E-R圖轉換成關系數(shù)據(jù)模型的過程屬于A)需求分析階段B)邏輯設計階段C)概念設計階段

D)物理設計階段(10)在數(shù)據(jù)管理技術的發(fā)展過程中,經歷了人工管理階段、文獻系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是A)數(shù)據(jù)庫系統(tǒng)B)文獻系統(tǒng)C)人工管理D)數(shù)據(jù)項管理(11)以下敘述中對的的是A)構成C程序的基本單位是函數(shù)B)可以在一個函數(shù)中定義另一個函數(shù)C)main()函數(shù)必須放在其他函數(shù)之前D)C函數(shù)定義的格式是K&R格式(12)結構化程序所規(guī)定的三種最基本控制結構是A)輸入、解決、輸出B)樹形、網形、環(huán)形C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)(13)一個C語言程序是由A)一個主程序和若干子程序組成B)函數(shù)組成C)若干過程組成D)若干子程序組成(14)請選出可用作C語言用戶標記符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,--abc,CaseD)2a,Do,Sizeof(15)下列各數(shù)據(jù)類型不屬于構造類型的是A)枚舉型B)共用型C)結構型D)數(shù)組型(16)在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的對的語句是A)a=20230+20230;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L(17)以下不對的的敘述是A)在C程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變D)當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值(18)sizeof(float)是A)一個雙精度型表達式B)一個整型表達式C)一種函數(shù)調用D)一個不合法的表達式(19)若x,i,j和k都是int型變量,則計算表達式x=(i=4,j=16,k=32)后,x的值為A)4B)16C)32D)52(20)下面程序的功能是把316表達為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while(______);j=k/11;

printf("316=13*%d+11*%d",i,j);}A)k/11B)kC)k/11==0D)k==0(21)設有定義:intn=0,*p=&n,**q=&p,則下列選項中對的的賦值語句是A)p=1;B)*q=2;C)q=p;D)*p=5;(22)下面程序的運營結果是#includemain(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A)-1B)1C)8D)0(23)下面程序的輸出結果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3B)4C)1D)2(24)有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是A)5B)6C)9D)8(25)設有intx=11;則表達式(x++*1/3)的值是A)3B)4C)11D)12(26)請選出以下語句的輸出結果printf("%d\n",strlen("\t\"\065\xff\n"));A)5B)14C)8D)輸出項不合法,無正常輸出(27)下列程序的輸出結果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}A)3B)3.2C)0D)3.07(28)下列程序的輸出結果是intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}A)4B)6C)8D)10(29)下面能對的進行字符串賦值操作的是A)chars[5]={"ABCDE"};B)chars[5]={′A′,′B′,′C′,′D′,′E′};C)char*s;s="ABCDE";D)char*s;chara;scanf("%s",&s);(30)執(zhí)行以下程序后,a,b的值分別為main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}A)-1,5B)1,6C)0,7D)4,10(31)設有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為A)4個字節(jié)B)5個字節(jié)C)6個字節(jié)D)7個字節(jié)(32)若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不對的的引用是A)a[p-a]B)*(&a[i])C)p[i]D)a[10](33)以下不對的的定義語句是A)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5]={0,1,3,5,7,9};C)charc1[]={′1′,′2′,′3′,′4′,′5′};D)charc2[]={′\x10′,′\xa′,′\x8′};(34)若有以下程序#include

inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序輸出結果是A)6B)8C)4D)2(35)下面程序段的運營結果是char*format="%s,a=%d,b=%d\n";inta=11,b=10;a+=b;printf(format,"a+=b",a,b);A)for,"a+=b",abB)format,"a+=b"C)a+=b,a=21,b=10D)以上結果都不對(36)C語言允許函數(shù)類型缺省定義,此時函數(shù)值隱含的類型是A)floatB)intC)longD)double(37)以下程序有語法錯誤,有關錯誤因素的對的說法是main(){intG=5,k;voidprt_char();...k=prt_char(G);...}A)語句voidprt_char();有錯,它是函數(shù)調用語句,不能用void說明B)變量名不能使用大寫字母C)函數(shù)說明和函數(shù)調用語句之間有矛盾D)函數(shù)名不能使用下劃線(38)以下敘述中不對的的是A)在不同的函數(shù)中可以使用相同的名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個函數(shù)內定義的變量只在本函數(shù)范圍內有效D)在一個函數(shù)內的復合語句中定義的變量在本函數(shù)范圍內有效(39)有以下程序:#includeunionpw{inti;charch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}程序的輸出結果是A)13B)14C)208D)209(40)在16位IBM-PC機上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結構變量b占用內存的字節(jié)數(shù)是A)1B)2C)7D)11(41)下面程序的運營結果是#includemain(){inta=1,b=10;do{b-=a;a++;}while(b--<0);printf("a=%d,b=%d\n",a,b);}A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9(42)以下程序的輸出結果是voidreverse(inta[],intn){inti,t;for(i=0;i{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}A)22B)10C)34D)30(43)有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%d\n",fib(3));}該程序的輸出結果是A)2B)4C)6D)8(44)假定以下程序經編譯和連接后生成可執(zhí)行文獻PROG.EXE,假如在此可執(zhí)行文獻所在目錄的DOS提醒符下鍵入:PROGABCDEFGHIJKL<回車>,則輸出結果為main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}A)ABCDEFGB)IJHL

C)ABCDEFGHIJKLD)IJKLABCDEFGH(45)以下程序有錯,錯誤因素是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;......}A)p和q的類型不一致,不能執(zhí)行*p=*q;語句B)*p中存放的是地址值,因此不能執(zhí)行*p=40;語句C)q沒有指向具體的存儲單元,所以*q沒有實際意義D)q雖然指向了具體的存儲單元,但該單元中沒有擬定的值,所以執(zhí)行*p=*q;沒故意義,也許會影響后面語句的執(zhí)行結果(46)函數(shù)rewind的作用是A)使文獻位置指針重新返回文獻的開始位置B)將文獻位置指針指向文獻中所規(guī)定的特定位置C)使文獻位置指針指向文獻的末尾D)使文獻位置指針自動移至下一個字符位置(47)設有以下說明語句structex{intx;floaty;charz;}example;則下面的敘述中不對的的是A)struct結構體類型的關鍵字B)example是結構體類型名C)x,y,z都是結構體成員名D)structex是結構體類型名(48)設有以下語句:charx=3,y=6,z;z=x^y<<2;則z的二進制值是A)00010100B)00011011C)00011100D)00011000(49)閱讀以下程序及對程序功能的描述,其中對的的描述是#includemain(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完畢將磁盤文獻的信息在屏幕上顯示的功能B)程序完畢將兩個磁盤文獻合二為一的功能C)程序完畢將一個磁盤文獻復制到另一個磁盤文獻中D)程序完畢將兩個磁盤文獻合并并在屏幕上輸出(50)C語言中,能辨認解決的文獻為A)文本文獻和數(shù)據(jù)塊文獻B)文本文獻和二進制文獻C)流文獻和文本文獻D)數(shù)據(jù)文獻和二進制文獻二、填空題(1)數(shù)據(jù)的邏輯結構有線性結構和【1】兩大類。解析:數(shù)據(jù)的邏輯結構有線性結構和非線性結構兩大類。(2)順序存儲方法是把邏輯上相鄰的結點存儲在物理位置【2】的存儲單元中。解析:常用的存儲表達方法有4種,順序存儲、鏈式存儲、索引存儲、散列存儲。其中,順序存儲方法是把邏輯上相鄰的結點存儲在物理位置也相鄰的存儲單元中。(3)一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【3】。解析:本題考察了繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結構,從而大大減少了程序中的冗余,提高軟件的可重用性。(4)軟件工程研究的內容重要涉及:【4】技術和軟件工程管理。解析:基于軟件工程的目的,軟件工程的理論和技術性研究的內容重要涉及:軟件開發(fā)技術和軟件工程管理。軟件開發(fā)技術涉及:軟件開發(fā)方法學、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內容是軟件開發(fā)方法學。軟件工程管理涉及:軟件管理學、軟件工程經濟學,以及軟件心理學等內容。(5)關系操作的特點是【5】操作。解析:在關系操作中,所有操作對象與操作結果都是關系。而關系定義為元數(shù)相同的元組的集合。因此,關系操作的特點是集合操作。(6)下面程序是指從終端讀入的20個字符放入字符數(shù)組中,然后運用指針變量輸出上述字符串,請?zhí)羁铡?includemain(){inti;char

s[21],*p;for(i=0;i<20;i++)s[i]=getchar();s[i]=【6】;p=【7】while(*p)putchar

(【8】);}解析:本題選通過for循環(huán)從鍵盤讀入20個字符,然后在最后賦一定值′\0′后為結束標志,再使指針P指向字符串的首地址。最后通過while循環(huán)對字符串進行掃描并輸出。(7)以下程序將數(shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat(yī)的二進制文獻中,請?zhí)羁铡##閚cludemain(){FILE

*fp;chara[4]="1234",b[6]="abcedf";if((fp=fopen("【9】","wb"))=NULL)exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b,【10】,1,fp);fclose(fp);}解析:本題重要考察函數(shù)fwrite(char*pt,unsignedsize,unsignedn,FILE*fp),把pt所指向的n*size個字節(jié)輸出到fp所指定的文獻中。(8)在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內存中所占的字節(jié)數(shù)為4;一個double型數(shù)據(jù)在內存中所占的字節(jié)數(shù)為【11】。解析:在一般系統(tǒng)中,一個float型數(shù)據(jù)在內存中占4個字節(jié)(32位),一個double型數(shù)據(jù)占8個字節(jié)。(9)以下程序輸出的結果是【12】。main(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);}解析:本題的關鍵在于對變量c的賦值運算:d=(a>b>c)d=(5>4>3)先算5>3,為真,得1,即:d=(1>3),此時1>3,為假,得0。(10)以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。例如,若x中的值為30,則有4個數(shù)符合規(guī)定,它們是1,3,5,15。請按題意,完畢填空。試題程序:#include#includevoidfun(intx,intpp[],int*n){inti,j=0;【13】if(x%i==0)pp[j++]=i;【14】;}main(){int

x,aa[1000],n,i;clrscr();printf("\nPleaseenteranintegernumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;iprintf("%d",aa[i]);printf("\n");}解析:本題題干信息是能整除且不是偶數(shù)的所有整數(shù)之和。循環(huán)語句中i從1開始且每次增2,所以i始終是奇數(shù),*n=j;語句是記錄可以符合題意的各個整數(shù)的各數(shù)。#include#includeintfun(int*s,intt,int*k){inti;*k=0;【15】if(s[*k]return【16】;}main(){inta[10]={876,675,896,101,301,401,980,431,451,777},k;clrscr();fun(a,10,&k);printf("%d,%d\n",k,a[k]);}解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應認*k的值為數(shù)組中的某一下標值,即*k=0。(12)mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁?。intmystrlen(char*str){inti;for(i=0;【17】!=′\0′;i++);return(i);}解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+i)來訪問字符串中的第i個元素,判斷是否是結束標志,假如不是,i=i+1,繼續(xù)取下一個元素進行判斷,直到*(str+i)的值為′\0′為止,也可以用下標的方式引用字符,如*(str+i)相稱于str[i]。(13)以下程序的輸出結果為【18】。#defineJFT(x)x*xmain(){inta,k=3;a=++JFT(k+1);printf("%d",a);}解析:宏替換的原則是按原樣替換,本題中碰到形參x則以實參k+1替換,其他字符不變。所以JFT(k+1)經替換后為k+1*k+1,所以a=++k+1*k+1,若k+1,若k的值為3,則通過運算為a=4+1*4+1=9。(14)以下定義的結構體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成

溫馨提示

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

評論

0/150

提交評論