![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2015年10月江蘇省計(jì)算機(jī)二級(jí)C真實(shí)考卷 |
2015年10月江蘇省高校計(jì)算機(jī)等級(jí)考試 二級(jí)C真實(shí)考卷 第一部分 計(jì)算機(jī)基礎(chǔ)知識(shí) 下列有關(guān)數(shù)字技術(shù)與微電子技術(shù)的敘述中,錯(cuò)誤的是______ A.數(shù)字技術(shù)是采用有限個(gè)狀態(tài)(主要是兩個(gè)狀態(tài))來表示、處理、存儲(chǔ)和傳輸信息的技術(shù) B.比特是信息的基本單位,1個(gè)比特可以表示8位二進(jìn)制數(shù) C.集成電路芯片是微電子技術(shù)的結(jié)晶,是現(xiàn)代信息產(chǎn)業(yè)的基礎(chǔ) D.Moore定律是指"單塊集成電路的集成度平均每18-24個(gè)月翻一番" B 解析: 比特是信息的基本單位,1個(gè)比特可以表示1位二進(jìn)制數(shù) 1 下列有關(guān)計(jì)算機(jī)發(fā)展與分類的敘述中,錯(cuò)誤的是______。 A.數(shù)字電子計(jì)算機(jī)誕生于20世紀(jì)40年代,個(gè)人計(jì)算機(jī)(微型計(jì)算機(jī))產(chǎn)生于20世紀(jì)80年代初 B.第4代計(jì)算機(jī)的CPU主要采用中小規(guī)模集成電路,第5代計(jì)算機(jī)采用超大規(guī)模集成電路 C.計(jì)算機(jī)分類有多種方法,按其內(nèi)部邏輯結(jié)構(gòu)通常分為16位機(jī)、32位機(jī)或64位機(jī)等,目前使用的PC機(jī)大多是32位機(jī)或64位機(jī) D.巨型計(jì)算機(jī)一般采用大規(guī)模并行處理的體系結(jié)構(gòu),我國國防科技大學(xué)研制的"天河1號(hào),巨型計(jì)算機(jī),其性能可在全球巨型機(jī)排行榜中位居前10名 B 解析:計(jì)算機(jī)的發(fā)展一共4代,第4代計(jì)算機(jī)的CPU主要采用超大規(guī)模與極大規(guī)模集成電路 2 下列有關(guān)PC機(jī)微處理器的敘述中,錯(cuò)誤的是_________ A.目前PC機(jī)所用的各種微處理器均由Intel公司設(shè)計(jì)和生產(chǎn) B.微處理器通常由單片集成電路制成 C.一臺(tái)高性能PC機(jī)中通常包含多個(gè)微處理器 D.臺(tái)式PC機(jī)與筆記本PC機(jī)采用的微處理器通常有所不同公司 A 解析:目前PC機(jī)所使用的各種微處理器主要是由Intel與AMD公司設(shè)計(jì)和生產(chǎn)的,我們國家也能生產(chǎn)CPU 2 下列是PC機(jī)常用的四種外設(shè)接口,其中適用于連接硬盤和光驅(qū)的是______ A.RS-232 B.SATA C.IEEE-1394 D.VGA B 解析:VGA是連接顯示器接口,IEEE-1394用于連接高速數(shù)據(jù)傳輸設(shè)備 2 按照軟件著作權(quán)益的處置方式,軟件可以分為商品軟件、共享軟件、自由軟件等類型。在下列相關(guān)敘述中,錯(cuò)誤的是_________。 A.商品軟件需要用戶付費(fèi)才能得到其使用權(quán) B.共享軟件是具有版權(quán)的軟件,允許用戶有條件的使用 C.自由軟件允許使用者隨意拷貝、傳播,允許修改其源代碼但必須公開修改內(nèi)容 D.共享軟件、自由軟件均屬于免費(fèi)軟件 D 解析:共享軟件是買前免費(fèi)試用,不屬于免費(fèi)軟件,自由軟件屬于免費(fèi)軟件 3 因特網(wǎng)中的IP地址可以分為A類、B類、C類、D類等。在下列4個(gè)IP地址中,屬于C類地址的是_________ 。 A.28.129.200.19 B.88.129.200.19 C.188.129.200.19 D.222.129.200.19 D 解析:A類IP地址首個(gè)數(shù)字的范圍是0—127, B類IP地址首個(gè)數(shù)字范圍是128-191,C類IP地址首個(gè)數(shù)字范圍是192—223范圍內(nèi), 4 通常所說的TCP/IP協(xié)議,是指由100多個(gè)協(xié)議組成的協(xié)議系列(包含下列幾個(gè)協(xié)議)。在下列協(xié)議中,發(fā)送電子郵件主要依賴______. A.HTTP協(xié)議 B.FTP協(xié)議 C.Telnet協(xié)議 D.SMTP協(xié)議 D 解析:HTTP是上網(wǎng)時(shí)所用的協(xié)議,FTP是文件傳輸時(shí)使用的協(xié)議,Telnet是遠(yuǎn)程登錄協(xié)議 4 下列有關(guān)采用ADSL技術(shù)接入因特網(wǎng)的敘述中,錯(cuò)誤的是_________ A.計(jì)算機(jī)中需要安裝(集成)以太網(wǎng)網(wǎng)卡 B.需要使用專用的ADSL MODEM設(shè)備 C.上行與下行傳輸速率相同,傳輸速率可達(dá)100Mbps D.可傳送數(shù)據(jù)、音頻、視頻等信息 C 解析:ADSL上行與下行傳輸速率不相同,上行傳輸速率小于下行傳輸速率 4 下列有關(guān)漢字字符集及其編碼的敘述中,錯(cuò)誤的是_________ A.GB2312是我國頒布的第一個(gè)漢字編碼國家標(biāo)準(zhǔn),該標(biāo)準(zhǔn)包含了6000多個(gè)漢字 B.GB2312的所有字符在計(jì)算機(jī)內(nèi)都采用2個(gè)字節(jié)來表示 C.GBK收錄了包括繁體字在內(nèi)的20000多個(gè)漢字和符號(hào),它向下兼容GB2312 D.GB18030是我國最新頒布的漢字編碼標(biāo)準(zhǔn),它與GB2312和GBK均不兼容 D 解析: GB18030是我國最新頒布的漢字編碼標(biāo)準(zhǔn),它與GB2312和GBK均保持兼容 5 語音在數(shù)字化時(shí)常用的取樣頻率為8kHz、量化位數(shù)為8bits。若聲道數(shù)為2,則每分鐘的數(shù)字語音數(shù)據(jù)量在未壓縮時(shí)大約為_________ A.64KB B.128KB C.1MB D.2MB C 解析:8Khz*8b*2*60=8000b*8b*2*60=8000*960b/8=8000*120B=960 000B大約為1MB 5 第二部分 C程序設(shè)計(jì) 一、選擇題(用答題卡答題,答案依次填在21-30答題號(hào)內(nèi)) 已有聲明”int x,a=3,b=2;”,則執(zhí)行賦值語句”x=a>b++?a++:b++;”后,變量x、a、b的值分別為______ 。 A.3 4 3 B.3 3 4 C.3 3 3 D.4 3 4 A 解析:根據(jù)運(yùn)算符規(guī)則,首先執(zhí)行b++,因?yàn)?/SPAN>++在b之后,所以首先返回b的值2,然后b自增1變?yōu)?/SPAN>3,即a>2返回真值,所以執(zhí)行a++,同樣++在后邊,首先返回a的值3,然后a自增1變?yōu)?/SPAN>4,即x=3,所以x,a,b的值分別是3,4,3 5 已有聲明"int a,b,k;",以下語句中與"if(a>b) k=0; else k=1;"等價(jià)的是_________。 A.k=a<=b; B.k=a C.k=a>b; D.k=(a>b)?1:0; A 解析:題目中if語句作用是a>b條件成立時(shí)給k賦值0,不成立執(zhí)行給k賦值1,與選項(xiàng)A符合 5 已有結(jié)構(gòu)定義和聲明如下: A. *p->str++與(*p)->str++等價(jià) B.(p++)->len與p++->len不等價(jià) C.++p->len使p增1 D.++p->len使p指向的結(jié)構(gòu)變量中成員len增1 D 解析:根據(jù)運(yùn)算符的優(yōu)先級(jí),->的優(yōu)先級(jí)高于++,++的優(yōu)先級(jí)高于*, 所以首先執(zhí)行->然后執(zhí)行++,所以A選項(xiàng)錯(cuò)誤。B選項(xiàng)是等價(jià)的。 11 已有聲明“int i; char c, s[20];”,現(xiàn)要求從輸入序列“123, b45efg”中將123看作十進(jìn)制整數(shù)字符串轉(zhuǎn)換為int整型數(shù)據(jù)后讀入變量i,將'b'讀入變量c、將"45efg"讀入數(shù)組s,正確的scanf語句應(yīng)為_______。 A.scanf("%d,%c%s",i,c,s); B.scanf("%d,%c%s",&i,&c,s); C.scanf("%d%c%s",&i,&c,s); D.scanf("%d%c%c%s",&i,&c,s); B 解析: A選項(xiàng)錯(cuò)誤,用scanf獲取值時(shí),變量必須以地址的形式,i,c要修改為&i,&c。C選項(xiàng)沒有在%d與%c之間加,號(hào),這樣導(dǎo)致將符號(hào),賦值給變量c了。D選項(xiàng)中格式符與變量不匹配,s是地址,卻對(duì)應(yīng)了%c。 5 以下函數(shù)的功能是__________。 A.求字符串s和字符串t的長度差 B. 按ASCII編碼值比較字符串s和字符串t C. 連接字符串s和字符t D. 將字符串s復(fù)制到字符串t中 B 解析:for循環(huán)的作用比較*s是否等于*t,如果相等就執(zhí)行下一次循環(huán),否則for循環(huán)停止,具體見視頻詳細(xì)解析 10 C填空題 以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_________,第二行是_________。 dcbaef@dcbfea 解析:具體見視頻詳細(xì)解析 10 以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_________,第二行是_________。 *#@#*# 解析:具體見視頻詳細(xì)解析 6 以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_________,第二行是_________。 6@2 解析:具體見視頻詳細(xì)解析 7 以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是_________,第二行是_________。 ABCDE@AB 解析:具體見視頻詳細(xì)解析 10 以下程序運(yùn)行時(shí),輸出結(jié)果中第一行是__________,第二行是__________。 Mongland@Korea 解析:具體見視頻詳細(xì)解析 7 C操作題 一、(完善程序): 【要求】 1. 打開T盤中的文件myf0.c,按以下程序功能完善文件中的程序。 2. 修改后的源程序仍保存在T盤myf0.c文件中,請(qǐng)勿改變myf0.c的文件名。 【程序功能】 某人有5張1塊,3張2塊和4張3塊的游戲幣,求解使用這些游戲幣能組合出多少種不同面值的游戲活動(dòng)。 【運(yùn)行結(jié)果】 24 kinds: 0,3,6,9,12,2,5,8,11,14,4,7,10,13,16,15,18,1,17,19,20,21,22,23, 【待完善的源程序】 #include #include int getZuhe( (1) ) { int i,j,k,m,s,n=0; for (i=0;i<6;i++) for (j=0;j<4;j++) for (k=0;k<5; k++) { s= (2) ; for (m=0;m if(s==a[m]) break; if( (3) ) a[n++]=s; } return n; } int main() { int k, kind; int a[120]={0}; kind=getZuhe(a); printf("\n%d kinds:",kind); for (k=0; (4) ;k++) printf("%d,", a[k]); getch(); return 0; } int a[]@i+2*j+k*3或i*1+j*2+k*3@m==n或m>=n@k 解析: (1) int a[] (2) i+2*j+k*3 (3) m==n或m>=n (4) k 具體見視頻詳細(xì)解析 二、(改錯(cuò)題): 【要求】 1. 打開T盤中的文件myf1.c,按以下程序功能改正文件中程序的錯(cuò)誤。 2. 可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加變量聲明或預(yù)處理命令,但不能增加其他語句,也不能刪去整條語句。 3. 修改后的源程序仍保存在T盤myf1.c中,請(qǐng)勿改變myf1.c的文件名。 【程序功能】 函數(shù)int fun(int num[],int n,char res[][50])的功能是對(duì)num指向的數(shù)組中n個(gè)整數(shù)中的每個(gè)整數(shù)r尋找滿足等式“xyz+yzz=r”的x、y、z(x、y、z分別代表一位十進(jìn)制數(shù)字)。如果找到一組x, y, z使得等式成立則生成一個(gè)等式字符串存儲(chǔ)到res數(shù)組的一行中,如果未找到就將“not found for”字符串存入res數(shù)組的一行中,函數(shù)返回num數(shù)組中滿足上述等式的整數(shù)個(gè)數(shù)。 函數(shù)void itostr(int n,char *s)的功能是將整數(shù)n轉(zhuǎn)換為一個(gè)十進(jìn)制表示的字符串存入s指向的數(shù)組中。 【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】 測(cè)試數(shù)據(jù): 762, 145, 678 輸出: found 2 equations for 3 nums 251+511=762 not found for 145 334+344=678 【含有錯(cuò)誤的源程序】 #include #include #include int main() { int fun(int num[],int n,char res[][50]); int num[3]={762,145,678}; char res[10][50],ct,i; ct=fun(num,3,res); printf("found %d equations for %d nums\n",ct,3); for(i=0;i<3;i++) puts(res); getch(); return 0; } void itostr(int n,char *s) { int i=0,j; char ch; while(n>10) { s[i++]=n+'0'; n=n/10; } s[i]='\0'; j=0,i--; while(j { ch=s[i]; s[i]=s[j]; s[j]=ch; i--,j++; } } int fun(int num[],int n,char res[][50]) { int x,y,z,i,j,k,f,ct=0; char tmp[50]; for(k=0;k { for (f=0,i=100;i<=999;i++) { y=i/10; z=i; if (i+100*y+10*z+z=num[k]) { itostr(i, tmp); strcpy(res[k],tmp); strcat(res[k],"+"); itostr(100*y+10*z+z,tmp); strcat(res[k],tmp); strcat(res[k],"="); itostr(num[k],tmp); strcat(res[k],tmp); f=1; ct++; break; } } if(!f) { strcpy(res[k],"not found for "); itostr(num[k],tmp); strcat(res[k],tmp); } } return ct; } puts(res[i])@i+100*y+10*z+z==num[k]@n>0@y=i/10; 解析: (1) puts(res[i]) (2) i+100*y+10*z+z==num[k] (3) n>0 (4) y= i/10; 具體見視頻詳細(xì)解析 三、(編程題): 【要求】 1. 打開T盤中的文件myf2.c,在其中輸入所編寫的程序。 2. 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實(shí)現(xiàn)。 3. 請(qǐng)勿改變myf2.c的文件名。 【程序功能】 計(jì)算一個(gè)歌唱比賽參賽選手的得分。 假設(shè)有N個(gè)裁判給一個(gè)參賽選手打分(分值在0到10之間)。選手得分計(jì)算方法為:去掉一個(gè)最高分和一個(gè)次高分,再去掉一個(gè)最低分和一個(gè)次低分,所剩分?jǐn)?shù)的平均分作為該參賽選手的最后得分。 【編程要求】 1. 編寫函數(shù)double getscore(double *score) 。函數(shù)形參score指向的數(shù)組中存放N個(gè)裁判給一個(gè)參賽選手的打分。函數(shù)功能是依據(jù)score數(shù)組中的分?jǐn)?shù)按上述方法計(jì)算一個(gè)參賽選手的最后得分,并作為函數(shù)返回值返回。 2. 編寫main函數(shù)。函數(shù)功能是聲明數(shù)組score并用測(cè)試數(shù)據(jù)初始化,用score數(shù)組作為實(shí)參調(diào)用getscore函數(shù)計(jì)算數(shù)組score中參賽選手的最后得分,將score數(shù)組中數(shù)據(jù)及該選手的最后得分輸出到屏幕及文件myf2.out中。最后將考生本人準(zhǔn)考證號(hào)輸出到文件myf2.out中。 【測(cè)試數(shù)據(jù)與運(yùn)行結(jié)果】 測(cè)試數(shù)據(jù): 9.47 9.56 9.96 10.00 9.75 9.78 9.95 9.86 9.82 9.18 輸出: 9.47 9.56 9.96 10.00 9.75 9.78 9.95 9.86 9.82 9.18 last score = 9.79 #include #include #define N 10 double getscore(double *score) { int i; double num,sum=0,max=score[0],min=score[0],max2=-1,min2=11; for(i=0;i { if(score[i]>max) max=score[i]; if(score[i] } for(i=0;i { if(score[i]>max2&&score[i] if(score[i] } num=i-4; for(i=0;i { sum=sum+score[i]; } sum=sum-max-max2-min-min2; return sum/num; //返回參賽選手的最后得分 } int main() { int i; double score[20]={9.47,9.56,9.96,10.00,9.75,9.78,9.95,9.86,9.82,9.18},average; FILE *fp; if((fp=fopen("myf2.out","w"))==NULL) { printf("\nCan't open the file!"); exit (0);} average=getscore(score); printf("\n測(cè)試數(shù)據(jù):\n"),fprintf(fp,"\n測(cè)試數(shù)據(jù):\n"); for(i=0;score[i]!='\0';i++) printf("%6.2lf",score[i]),fprintf(fp,"%6.2lf",score[i]); printf("\n"),fprintf(fp,"\n"); printf("last score=%4.2lf\n",average),fprintf(fp,"last score=%4.2lf\n",average); printf("\nMy number is:001122\n"),fprintf(fp,"\nMy number is:001122\n"); fclose(fp); return 0; } |