國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共270題)_第1頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共270題)_第2頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共270題)_第3頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共270題)_第4頁(yè)
國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共270題)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷6(共9套)(共270題)國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第1套一、選擇題(本題共25題,每題1.0分,共25分。)1、以下敘述中正確的是A、C程序中的每…行只能寫一條語(yǔ)句B、簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束C、C語(yǔ)言程序中的注釋必須與語(yǔ)句寫在同一行D、C語(yǔ)句必須在一行內(nèi)寫完標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:C語(yǔ)言的書寫格式自由,一行可寫多條語(yǔ)句,一條語(yǔ)句也可寫在不同行上。C語(yǔ)言注釋是比較自由的,可以寫在一行或者多行。C語(yǔ)言規(guī)定每條語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào),分號(hào)是C語(yǔ)句的必要組成部分。2、按照C語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是A、連接符B、大寫字母C、數(shù)寧字符D、下劃線標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在C語(yǔ)言中,合法標(biāo)識(shí)符的命令規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字或下劃線組成,并且第一個(gè)字符必須為字母或下劃線。在C語(yǔ)言的標(biāo)識(shí)符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符。選項(xiàng)A是連字符,不在C語(yǔ)言規(guī)定的命名變量標(biāo)識(shí)符的范圍內(nèi)。3、下列描述中,正確的是()。A、線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B、棧與隊(duì)列是非線性結(jié)構(gòu)C、雙向鏈表是非線性結(jié)構(gòu)D、只有根結(jié)點(diǎn)的二叉樹(shù)是線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:①有且只有一個(gè)根結(jié)點(diǎn);②每個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。4、程序測(cè)試的目的是()。A、為被測(cè)程序設(shè)計(jì)正確的測(cè)試用例B、發(fā)現(xiàn)并改正程序中的錯(cuò)誤C、發(fā)現(xiàn)程序中的錯(cuò)誤D、改正程序中的錯(cuò)誤標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:程序測(cè)試是使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別,即為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,而不是改正錯(cuò)誤。故正確答案為C。5、數(shù)據(jù)流程圖(DFD圖)是A、軟件概要設(shè)計(jì)的工具B、軟件詳細(xì)設(shè)計(jì)的工具C、結(jié)構(gòu)化方法的需求分析工具D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ邩?biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:DFD(數(shù)據(jù)流圖Data-Flow-Diagram)是描述數(shù)據(jù)處理過(guò)程的工具,是需求理解的邏輯模型的圖形表示。它直接支持系統(tǒng)功能建模。在軟件詳細(xì)設(shè)計(jì)的過(guò)程階段,要對(duì)每個(gè)模塊規(guī)定的功能以及算法的設(shè)計(jì)給出適當(dāng)?shù)乃惴枋?。常?jiàn)的過(guò)程設(shè)計(jì)工具有:圖形工具:程序流程圖,N-S,PAD,HIPO;表格工具:判定表:語(yǔ)言工具:PDL(偽碼)。6、若有以下程序main(){inta=-2,b=0;do{++b;}while(a++);printf("%d,%d\n",a,b);}則程序的輸出結(jié)果是A、0,2B、1,2C、1,3D、2,3標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:由于a的初始值等于-2,所以while循環(huán)語(yǔ)言執(zhí)行三次結(jié)束,第一次a=-2,b=1,然后判斷循環(huán)條件a++非零,執(zhí)行第二次循環(huán)體a=-1,b=2,判斷循環(huán)條件非零,執(zhí)行循環(huán)體a=0,b=3,判斷循環(huán)條件為0,此時(shí)變量a的值等于1。7、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。A、多態(tài)性B、標(biāo)識(shí)惟一性C、封裝性D、耦合性標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:面向?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:標(biāo)識(shí)惟一性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性好。8、數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于()。A、軟件結(jié)構(gòu)圖B、方框圖C、數(shù)據(jù)流圖(DFD圖)D、程序流程圖標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)字典(DD)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各元素做出詳細(xì)的說(shuō)明。9、若有定義語(yǔ)句:intx=10;則表達(dá)式x-=x+x的值為()。A、-10B、-20C、0D、10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查復(fù)合賦值運(yùn)算符。x-=x+x與x=x-(x+x)等價(jià),所以輸出結(jié)果為A)。10、表達(dá)式:(int)((double)9/2)-9%2的值是A、0B、4C、3D、5標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:這個(gè)表達(dá)式的計(jì)算過(guò)程為,首先求出9除以2的商等于4,再把其強(qiáng)制轉(zhuǎn)化為實(shí)型數(shù)據(jù)為4.0,然后再?gòu)?qiáng)制轉(zhuǎn)4,減去9對(duì)2求余數(shù)1,得到其結(jié)果等于3。11、以下不能用于描述算法的是A、程序語(yǔ)句B、E—R圖C、偽代碼和流程圖D、文字?jǐn)⑹鰳?biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:E—R圖為實(shí)體.聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。描述算法的有流程圖,盒圖,偽代碼,文字描述以及程序代碼描述。12、一個(gè)教師可講授多門課程,一門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是()。A、1:1聯(lián)系B、1:m聯(lián)系C、m:1聯(lián)系D、m:n聯(lián)系標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:因?yàn)橐粋€(gè)教師可講授多門課程,而一門課程又能由多個(gè)老師講授所以他們之間是多對(duì)多的關(guān)系,可以表示為m:n。13、以下程序的輸出結(jié)果是()。#includemain(){chara=4;printf(’’%d’’,a=a<<1);}A、8B、16C、64D、4標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題主要考查按位左移運(yùn)算。左移一位等于乘以2,a=4的二進(jìn)制為00000100,a<<1后為00001000,其值為十進(jìn)制數(shù)值8。14、以下選項(xiàng)中與if(a==1)a=b;elsea++;語(yǔ)句功能不同的switch語(yǔ)句是A、switch(a==1){case0:a=b;break;case1:a++;}B、switch(a){case1:a=b;break;default:a++;}C、switch(a){default:a++;break;case1:a=b;}D、switch(a==1){case1:a=b;break;case0:a++;}標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:if語(yǔ)句的含義是如果a的值為1,將b的值賦給a,否則將a的值自增1?Swich(a==1)中表達(dá)式a==1的結(jié)果如果為真即為1,則從case1開(kāi)始執(zhí)行,直到遇到break語(yǔ)句跳出switch語(yǔ)句,如果a==1的結(jié)果如果為假即0,則從case0開(kāi)始執(zhí)行,所以與題干含義執(zhí)行操作相反的是選項(xiàng)A中的語(yǔ)句。15、以下敘述中正確的是A、對(duì)于邏輯表達(dá)式:a++&&b++,設(shè)a的值為0,則求解表達(dá)式的值后,b的值會(huì)發(fā)生改變B、對(duì)于邏輯表達(dá)式:a++||b++,設(shè)a的值為1,則求解表達(dá)式的值后,b的值會(huì)發(fā)生改變C、關(guān)系運(yùn)算符的結(jié)果有三種:0,1,-1D、else不是一條獨(dú)立的語(yǔ)句,它只是if語(yǔ)句的一部分標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:else不能單獨(dú)使用,和if匹配使用,要注意邏輯與運(yùn)算和邏輯或運(yùn)算出現(xiàn)的短路現(xiàn)象,關(guān)系運(yùn)算結(jié)果僅有0和1。16、若有以下程序main(){inta=6,b=0,c=0;for(;a;){b+=a;a-=++C:}printf("%d,%d,%d\n",a,b,c);}則程序的輸出結(jié)果是A、1,14,3B、0,18,3C、0,14,3D、0,14,6標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:循環(huán)體執(zhí)行三次,a初值6,第一次執(zhí)行循環(huán)體,b=6,a=5。繼續(xù)執(zhí)行循環(huán)體,b=11,a=3,第三次執(zhí)行循環(huán)體,b=14,a=0,循環(huán)退出。17、有以下程序#inCludemain(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++)fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++)printf("%d",a[i]);}A、1,2,3,4,5,6B、6,5,4,3,2,1,C、4,5,6,1,2,3,D、1,2,3,3,2,1,標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在程序中定義了一個(gè)整型數(shù)組a[6],并對(duì)它賦初值,并以寫入的方式打開(kāi)了文件d2.dat。然后利用一個(gè)for循環(huán)把數(shù)組a中的元素?cái)?shù)據(jù)寫入文件d2.dat中,調(diào)用函數(shù)rewind把將文件內(nèi)部的位置指針重新指向一個(gè)文件的開(kāi)頭,再利用for循環(huán)語(yǔ)句把文件中的數(shù)據(jù)依次寫入到倒序排列的數(shù)組a中,最后輸出數(shù)組a中的數(shù)組元素。18、以下敘述中錯(cuò)誤的是A、函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡(jiǎn)單類型B、只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值C、可以通過(guò)指針變量來(lái)訪問(wèn)結(jié)構(gòu)體變量的任何成員D、函數(shù)可以返回指向結(jié)構(gòu)體變量的指針標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)的返回值類型可以是結(jié)構(gòu)體類型。結(jié)構(gòu)體變量之間可以相互復(fù)制。19、下面不屬于軟件設(shè)計(jì)階段任務(wù)的是A、軟件總體設(shè)計(jì)B、算法設(shè)計(jì)C、制定軟件確認(rèn)測(cè)試計(jì)劃D、數(shù)據(jù)庫(kù)設(shè)計(jì)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:從技術(shù)觀點(diǎn)上看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過(guò)程設(shè)計(jì)。所以A、B、D正確,C為軟件測(cè)試階段的任務(wù)。20、有以下程序#include<stdio.h>voidmain(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}A、9B、7C、5D、3標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在這段程序中,整型變量c的初始值賦為0,在第一次執(zhí)行for循環(huán)語(yǔ)句時(shí),因?yàn)榇藭r(shí)變量k的值等于1,所以在switch語(yǔ)句中首先執(zhí)行default語(yǔ)句,給變量c的值加1,因?yàn)樵赿efault語(yǔ)句后面沒(méi)有break語(yǔ)句,所以就會(huì)接著執(zhí)行case2這條語(yǔ)句,再給變量c的值加1,其值變?yōu)?,這時(shí)退出switch語(yǔ)句塊,進(jìn)入第二次for循環(huán),此時(shí)k的值等于2,就會(huì)執(zhí)行switch語(yǔ)句塊中的case2這條語(yǔ)句,再給變量c的值加1,這時(shí)變量c的值就是3,此時(shí)退出switch語(yǔ)句塊,循環(huán)變量k的值加1,成為3,此時(shí)已不再滿足循環(huán)條件,執(zhí)行程序中的最后一條語(yǔ)句,把變量c的值在屏幕上輸出。21、有以下程序main(){inti=1;i=i^i;printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是A、-1B、0C、1D、7標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:按位異或(n)的運(yùn)算規(guī)則是:參與運(yùn)算的兩個(gè)運(yùn)算數(shù)中相對(duì)應(yīng)的二進(jìn)制位上,若數(shù)相同,則該位的結(jié)果為0:若數(shù)不同,該位的結(jié)果為1。本題中表達(dá)式i^i的值必為0,因?yàn)閕的各個(gè)位置的二進(jìn)制值相同。22、下列函數(shù)的功能是voidfun(char*a,char*b){while((*b=*a)!=’\0’){a++;b++;}}A、將a所指字符串賦給b所指空間B、使指針b指向a所指字符串C、將a所指字符串和b所指字符串進(jìn)行比較D、檢查a和b所指字符串中是否有’\0’標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:While循環(huán)條件為:(*b=*a)!=’\0’,執(zhí)行時(shí)先把指針a所指向的字符賦給指針b所在內(nèi)存單元,如果該字符不是結(jié)束標(biāo)識(shí)"\0",執(zhí)行循環(huán)體a++;b++;,指針a、b分別指向下一個(gè)字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在內(nèi)存單元,直到遇到結(jié)束標(biāo)識(shí)為止。因此A選項(xiàng)正確。23、以下選項(xiàng)中能表示合法常量的是A、1,200B、1.5E2.0C、’\’D、\007標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:A選項(xiàng)中整型常量應(yīng)表示為1200,不能包含","。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以"\"開(kāi)始,若要表示字符"\",應(yīng)寫為"\\"。24、軟件生命周期是指()。A、軟件的運(yùn)行和維護(hù)B、軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)C、軟件的實(shí)現(xiàn)和維護(hù)D、軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。25、若有語(yǔ)句:void*P=malloc(80);,則以下敘述錯(cuò)誤的是()。A、可以通過(guò)指針P直接訪問(wèn)用malloc開(kāi)辟的這塊內(nèi)存B、p所指內(nèi)存可以通過(guò)強(qiáng)制類型轉(zhuǎn)換當(dāng)作具有20個(gè)int型元素的一維數(shù)組來(lái)使用C、p所指內(nèi)存可以通過(guò)強(qiáng)制類型轉(zhuǎn)換當(dāng)作具有10個(gè)double型元素的一維數(shù)組來(lái)使用D、p所指內(nèi)存可以通過(guò)強(qiáng)制類型轉(zhuǎn)換當(dāng)作具有80個(gè)char型元素的一維數(shù)組來(lái)使用標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:題意中使用malloc()函數(shù)分配了80個(gè)字節(jié)的內(nèi)存單元,void指針p指向該內(nèi)存單元,在C語(yǔ)言中,void*不能直接使用,必須利用強(qiáng)制類型轉(zhuǎn)換將其轉(zhuǎn)成所需的類型才能使用,選項(xiàng)A錯(cuò)誤;int類型的元素占4個(gè)字節(jié),所以可以將p指向的內(nèi)存強(qiáng)制類型轉(zhuǎn)換成具有20個(gè)int類型的一維數(shù)組來(lái)使用,同理,也可以強(qiáng)制類型轉(zhuǎn)換成10個(gè)double類型的一維數(shù)組,或強(qiáng)制類型轉(zhuǎn)換成80個(gè)char類型的一維數(shù)組,選項(xiàng)B、C、D正確,本題答案為A。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第2套一、選擇題(本題共24題,每題1.0分,共24分。)1、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:m),初始狀態(tài)為空?,F(xiàn)經(jīng)過(guò)一系列正常的人隊(duì)與退隊(duì)操作后,front=m,rear=m-1,此后從該循環(huán)隊(duì)列中刪除一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為()。A、m-1B、m-2C、0D、1標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在循環(huán)隊(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-1。此后從該循環(huán)隊(duì)列中刪除一個(gè)元素,則隊(duì)列中的元素個(gè)數(shù)為m-1-1=m-2。2、下面對(duì)“對(duì)象”概念描述正確的是()。A、屬性就是對(duì)象B、操作是對(duì)象的動(dòng)態(tài)屬性C、任何對(duì)象都必須有繼承性D、對(duì)象是對(duì)象名和方法的封裝體標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象可以做的操作表示它的動(dòng)態(tài)行為,通常也稱為方法或服務(wù),屬性即對(duì)象所包含的信息。對(duì)象名唯一標(biāo)識(shí)一個(gè)對(duì)象。對(duì)象可以有繼承性,但并不是任何對(duì)象都必須有繼承性。3、以下敘述中正確的是A、在C程序中的八進(jìn)制和1十六進(jìn)制,可以是浮點(diǎn)數(shù)B、八進(jìn)制數(shù)的開(kāi)頭要使用英文字母o,否則不能與十進(jìn)制區(qū)分開(kāi)C、整型變量可以分為int型、short型、long型和unsigned型四種D、英文大寫字母X和英文小寫字母X都可以作為二進(jìn)制數(shù)字的開(kāi)頭字符標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:整型變量分為以下4種類型:①基本型:以int表示。②短整型:以shortint表示,或以short表示。③長(zhǎng)整型:以longint表示,或以long表示。④無(wú)符號(hào)型:以u(píng)nsignedint表示,選項(xiàng)C)正確,實(shí)型常量?jī)H有十進(jìn)制表示形式,八進(jìn)制以數(shù)字0開(kāi)頭,十六進(jìn)制開(kāi)頭為0x或者0X,不是二進(jìn)制。4、以下程序段給數(shù)組所有元素輸入數(shù)據(jù)()。main(){intt[10],j=0;while(j<10)scanf("%d",);}A、&t[j+1];B、t+(j++);C、&t[++j];D、t+j;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題利用while循環(huán)給數(shù)組t的所有元素賦值,橫線處應(yīng)該填寫數(shù)組元素的地址。選項(xiàng)A)能給t[1]賦值;選項(xiàng)D)只能給t[0]賦值;選項(xiàng)C)可以給下標(biāo)為1~10的數(shù)組元素賦值,但沒(méi)給a[0]賦值,還使元素的下標(biāo)越界,因此都不正確。只有選項(xiàng)B)是正確的,在什(j++)中,a代表數(shù)組的首地址,當(dāng)j為0時(shí),輸入項(xiàng)是t[0]的地址,第二次循環(huán)時(shí),輸入項(xiàng)是t[1]的地址,依次類推,直到最后一項(xiàng)t[9]的地址,j為10時(shí)退出循環(huán)。5、有以下程序main(){chara=’H’;a=(a>=’A’&&a<=’Z’)?(a+32):a;printf("%cha",a);}程序運(yùn)行后的輸出結(jié)果是A、HB、AC、hD、a標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:表達(dá)式a=(a>=’A’&&a<=’Z’)?(a+32):a,為條件表達(dá)式,如果a是大寫字符,則轉(zhuǎn)換為小寫字符存放到a中,否則不變。6、有以下程序:#includemain(){intk=一17:prinff(“%d,%0,%x\n”,k,1一k,1一k);}程序的運(yùn)行結(jié)果是()。A、一17,22,12B、一17,12,22C、一17,一22,一12D、17,22,12標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:整型常量有3種表示方法,分別是十進(jìn)制數(shù)表示法、八進(jìn)制數(shù)表示法和十六進(jìn)制數(shù)表示法。十進(jìn)制整常量沒(méi)有前綴,輸出格式控制符為%d;八進(jìn)制整常量以0作為前綴,輸出格式控制符為%0;十六進(jìn)制整常量以0X或0x作為前綴,輸出格式控制符為%x。1一k=18,整型常量18用八進(jìn)制表示為22,十六進(jìn)制表示為12,故A選項(xiàng)正確。7、數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下面圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是A、控制流B、加工C、數(shù)據(jù)存儲(chǔ)D、源和潭標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:數(shù)據(jù)流圖中的主要圖形元素有加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭等。8、有以下程序:main(){intx=1,y=0,a=0,b=0;switch(x){ease1:switch(y)}}printf(“a=%d,b=%d\n”,a,b);}程序的運(yùn)行結(jié)果是()。A、a=2,b=2B、a=2,b=1C、a=1,b:1D、a=1,b=0標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:case常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不使該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的case語(yǔ)句,就從此case子句執(zhí)行下去,不再進(jìn)行判斷,直到碰到break或函數(shù)結(jié)束為止。所以執(zhí)行內(nèi)層switch(y)時(shí)只執(zhí)行了a++,此時(shí)a的值為1,然后執(zhí)行外層case2語(yǔ)句的a++;b++;,a為2,b為1,所以結(jié)果為B選項(xiàng)。9、若在定義語(yǔ)句:inta,b,c,*p=&c;接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是A、scanf("%d%d%d",a,b,c);B、scanf("%d",a,b,c);C、scanf("%d”,p);D、scanf("%d",&p);標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:程序語(yǔ)句inta,b,c,*p=&c;定義了三個(gè)整型變量a,b,c,和一個(gè)整型指針變量p,并且把變量c的地址賦給p。scanf函數(shù)的一般形式為“scanf(“格式控制字符串”,地址列表)”,其中的地址列表應(yīng)當(dāng)是存放輸入數(shù)據(jù)變量的地址。10、下面屬于整數(shù)類Ⅰ實(shí)例的是A、-101B、101C、101E02D、123.456標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:整數(shù)的全體構(gòu)成整數(shù)集,整數(shù)集是一個(gè)數(shù)環(huán)。在整數(shù)系中,零和正整數(shù)統(tǒng)稱為自然數(shù)。-1、-2、-3、…、-n、…(n為非零自然數(shù))為負(fù)整數(shù)。則正整數(shù)、零與負(fù)整數(shù)構(gòu)成整數(shù)系。整數(shù)不包括小數(shù)、分?jǐn)?shù)。選項(xiàng)A是負(fù)數(shù),屬于整數(shù);選項(xiàng)B是字符串;選項(xiàng)C是科學(xué)計(jì)數(shù)法;選項(xiàng)D是小數(shù)。11、以下選項(xiàng)中關(guān)于C語(yǔ)言常量的敘述錯(cuò)誤的是A、常量分為整型常量、實(shí)型常量、字符常量和字符串常量B、經(jīng)常被使用的變量可以定義成常量C、常量可分為數(shù)值型常量和非數(shù)值型常量D、所謂常量,是指在程序運(yùn)行過(guò)程中,其值不能被改變的量標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:常量指在程序運(yùn)行過(guò)程中,其值不能被改變的量。常量分為整型常暈(即整常數(shù))、實(shí)型常量、字符型常量和字符串常量。常量也可以拔數(shù)據(jù)類型分為為數(shù)據(jù)常量和非數(shù)據(jù)常量。變量是指在程序運(yùn)行過(guò)程中,其值能被改變的量。12、以下選項(xiàng)中,沒(méi)有編譯錯(cuò)誤的是A、charstr3[]={’d’,’e’,’b’,’u’,’g’,’\0’’};B、charstrl[5]=’’pass’’,str2[6];str2=str1;C、charname[10];name=’’china’’:D、charstr4[];str4=’’helloworld’’;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)A是定義了字符數(shù)組str3[],并對(duì)其賦初值。選項(xiàng)B中語(yǔ)句str2=strl非法,字符數(shù)組不能直接賦值。選項(xiàng)C,D和選項(xiàng)B一致。13、設(shè)有定義:intx=0,*p;緊接著的賦值語(yǔ)句正確的是A、*p=NULL;B、p=NULL;C、p=x;D、*p=x;標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:定義指針變量時(shí),必須將指針變量初始化為NuLL(為空),否則,如果不賦給它地址,系統(tǒng)會(huì)隨機(jī)給它分配一個(gè)地址。14、若有以下程序#include<stdio.h>main(){inta=-11,b=10;a/=b/=-4:printf("%d%d\n",a,b);}則程序的輸出結(jié)果是A、-1-2B、5-2C、4-3D、5-3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:對(duì)于語(yǔ)句“a/=b,=-4;”相當(dāng)于“a=a/(b=b/-4);”a初值為-11,b的初值為10,則運(yùn)算以后10/-4值為-2,-11/-2值為5。15、有以下程序#include#includevoidfun(chars[][10],intn){chart;inti,j;for(i=0;is[j][0]){t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;}}main(){charss[5][10]={"bcc","bbcc","xy","aaaacc","aabcc”};fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的運(yùn)行結(jié)果是A、aaaacc,xyB、bcc,aabccC、xy,aaaaccD、aabcc,bcc標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:函數(shù)fun(chars[][10],intn)通過(guò)兩重for循環(huán)語(yǔ)句,比較二維字符數(shù)組s[][10]的每個(gè)字符串的首字符大小,如果前一個(gè)字符串首字符大于后一個(gè)字符串的首字符,則交換這兩個(gè)字符串的首字符。在主函數(shù)中,語(yǔ)句fun(ss,5)的作用是對(duì)二維字符數(shù)組ss[5][10]的5個(gè)字符串的首字符進(jìn)行從小到大的排序,不影響各個(gè)字符串另外的字符。所以排序結(jié)束后,5個(gè)字符串的第一個(gè)字符依次變?yōu)閍、a、b、b和x;最后輸出第1個(gè)和第4個(gè)字符串。16、有以下程序#includemain(){intc[6]={10,20,30,40,50,60},*p,*s;P=c;S=&c[5];printf("%d\n",s-P);}程序運(yùn)行后的輸出結(jié)果是A、50B、6C、5D、60標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:主函數(shù)中指針變量P指向數(shù)組c,s保存了數(shù)組最后一個(gè)元素的地址,那么s-P為兩個(gè)地址之間的元素差5。17、以下程序的主函數(shù)中調(diào)用了其前面定義的fun函數(shù)#include<stdio.h>……main(){doublea[15],k;k=fun(a);}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是A、doublefun(doublea[15])B、doublefun(double*a)C、doublefun(doublea[])D、doublefun(doublea)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查函數(shù)的定義和調(diào)用。根據(jù)對(duì)fun函數(shù)的調(diào)用可知,fun函數(shù)的返回值為double類型的,輸入?yún)?shù)是一個(gè)double類型的地址(指針),因此選項(xiàng)D)錯(cuò)誤。18、有以下程序#includemain(){intx=35,B;charz=’B’;B=((x)&&(z<’b’));printf("%d\n",B);}程序運(yùn)行后的輸出結(jié)果是A、1B、0C、35D、66標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題重點(diǎn)考察邏輯運(yùn)算符和關(guān)系運(yùn)算符的相關(guān)知識(shí),已知變量x為整型變量,并賦值為35,變量z為字符型變量,并賦值為’B’。語(yǔ)句B=((x)&&(z<’b’));中,(x)的值為1,’B’的asscii碼小于’b’的asscii碼,所以(z<’b’)的值也為1,1&&1結(jié)果為1。因此A選項(xiàng)正確。19、有以下程序#includemain(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是A、20B、30C、10D、40標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:因?yàn)橹羔樧兞縫的初始值指向數(shù)組a,所以執(zhí)行for循環(huán)語(yǔ)句后,數(shù)組a中的元素的值不變。20、有以下程序main(){inti=1;i=i^i;printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是A、-1B、0C、1D、7標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:按位異或(n)的運(yùn)算規(guī)則是:參與運(yùn)算的兩個(gè)運(yùn)算數(shù)中相對(duì)應(yīng)的二進(jìn)制位上,若數(shù)相同,則該位的結(jié)果為0:若數(shù)不同,該位的結(jié)果為1。本題中表達(dá)式i^i的值必為0,因?yàn)閕的各個(gè)位置的二進(jìn)制值相同。21、有以下程序#includemain(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen("data.dat","w+");fprintf(fp,"%d\n",a[0]);for(i=1;i<6;i++){fseek(fp,0L,0);fscanf(fp,"%d",&k);fseek(fp,0L,0);fprintf(fp,"%d\n",a[i]+k);}rewind(fp);fscanf(fp,"%d",&k);fclose(fp);printf("%d\n",k);}程序的運(yùn)行結(jié)果是()。A、21B、6C、123456D、11標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:該段代碼以讀寫的方式打開(kāi)文件data.dat,然后把數(shù)組a的第一個(gè)元素寫入文件,接下來(lái)的for循環(huán)是不斷讀取當(dāng)前文件中的數(shù)據(jù),將該數(shù)據(jù)和數(shù)組a的下一個(gè)元素累加后又寫入到文件當(dāng)中(語(yǔ)句"fseek(fp,0L,0);"和"rewind(fp)"的作用是將文件指針移動(dòng)至文件首),所以最終文件內(nèi)記錄的是數(shù)組a中所有元素之和,答案選A。22、有以下程序#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fp=fopen("myfile.dat","a+");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str);puts(str);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是A、28cB、abc28C、abcD、因類型不一致而出錯(cuò)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在程序中首先把字符串a(chǎn)bc寫入到文件myfile.dat中,然后再把整數(shù)28追加到字符串a(chǎn)bc的后面,最后把文件myfile.dat的內(nèi)容讀入到字符串str中,并把其內(nèi)容輸出。23、有以下程序#includemain(){intx=8;for(;x>0;x--){if(x%3){printf("%d,",x--);continue;}printf("%d,",--x);}}程序的運(yùn)行結(jié)果是A、7,4,2,B、8,7,5,2,C、9,7,6,4,D、8,5,4,2,標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:coutinue的作用是跳出循環(huán)體中剩余的語(yǔ)句而進(jìn)行下一次循環(huán)。第一次循環(huán)x的值為8,循環(huán)體中if條件成立,打印x的值8后將x減1,再執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。第二次判斷循環(huán)條件時(shí),x的值變?yōu)?,不滿足循環(huán)體內(nèi)if條件,執(zhí)行打印--x的操作,即打印5后跳出循環(huán)。第三次判斷循環(huán)條件時(shí)x的值為4,滿足循環(huán)體中if條件,執(zhí)行打印x--的操作,即打印4,后將x值減一,執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。第四次判斷循環(huán)條件時(shí)x的為2,滿足循環(huán)體中if條件,打印x--,即打印2后將x減一,執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。在進(jìn)行for條件表達(dá)式中第三個(gè)表達(dá)式x--的操作后x的值為0,不滿足條件結(jié)束循環(huán)。所以打印結(jié)果為8,5,4,2,。24、將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為()。A、屬性B、鍵C、關(guān)系D、域標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。25、設(shè)變量均已正確定義,若要通過(guò)scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語(yǔ)句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:□代表空格字符)A、10□X<回車>20□Y<回車>B、10□X20□Y<回車>C、10X<回車>20Y<回車>D、10□X□20□Y<回車>標(biāo)準(zhǔn)答案:知識(shí)點(diǎn)解析:輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、C選項(xiàng)中在數(shù)字10后面均輸入了空格,則會(huì)將空格賦給變量c1,而不是把X賦給c1,所以選擇C選項(xiàng)。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第3套一、選擇題(本題共25題,每題1.0分,共25分。)1、以下選項(xiàng)中非法的C語(yǔ)言字符常量是A、’\b’B、’\007’C、’aa’D、’\xaa’標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:一個(gè)字符常量代表ASCII字符集中的一個(gè)字符,在程序中用單引號(hào)把一個(gè)字符括起來(lái)作為字符常量。2、在調(diào)用函數(shù)時(shí),如果參數(shù)是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。A、單向值傳遞B、地址傳遞C、由實(shí)參傳給形參,再由形參傳回實(shí)參D、傳遞方式由用戶指定標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,簡(jiǎn)單變量或數(shù)組元素為實(shí)參時(shí),是單向值傳遞,即實(shí)參可以改變形參的值,但形參不能改變實(shí)參的值。3、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是A、數(shù)據(jù)庫(kù)設(shè)計(jì)B、數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)C、數(shù)據(jù)庫(kù)維護(hù)D、數(shù)據(jù)庫(kù)管理員培訓(xùn)標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的一個(gè)核心問(wèn)題就是設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù),這就是數(shù)據(jù)庫(kù)設(shè)計(jì)。所以數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用的核心。4、合法的C語(yǔ)言標(biāo)識(shí)符是()。A、_1_B、2_8C、voidD、unsigned標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:用戶的標(biāo)識(shí)符只能由字母或下劃線開(kāi)始,其他任何字符開(kāi)始均會(huì)出錯(cuò)。一般強(qiáng)調(diào)文見(jiàn)其義的命名方法。但是C語(yǔ)言中的保留字不能用作用戶的標(biāo)識(shí)符。而選項(xiàng)C和D全部為保留字,選項(xiàng)B中以數(shù)字開(kāi)頭,這些都不正確。5、以下敘述中錯(cuò)誤的是()。A、gets函數(shù)用于從終端讀入字符串B、getehar函數(shù)用于從磁盤文件讀入字符C、fputs函數(shù)用于把字符串輸出到文件D、fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查字符處理函數(shù)和文件讀寫函數(shù),屬于基礎(chǔ)知識(shí)。其中B選項(xiàng)的getchar函數(shù)用于從終端讀入字符。6、有兩個(gè)關(guān)系R,S如下,由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的操作為()。A、并B、自然連接C、笛卡爾積D、差標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:由關(guān)系可以看出,關(guān)系T是由關(guān)系R中減去關(guān)系R和關(guān)系S共有的元組得到的,所以答案選擇D。7、數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程不包括A、概念設(shè)計(jì)B、邏輯設(shè)計(jì)C、物理設(shè)計(jì)D、算法設(shè)計(jì)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。8、以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。A、可以是任意合法的表達(dá)式B、只能是整數(shù)0或非0整數(shù)C、可以是結(jié)構(gòu)體類型的數(shù)據(jù)D、只能是整數(shù)0或1標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以任意合法的表達(dá)式,最終會(huì)根據(jù)兩側(cè)表達(dá)式計(jì)算出的數(shù)值來(lái)判定該邏輯表達(dá)式為真(1)或假(0)。答案選A。9、關(guān)于字符數(shù)組定義中存在語(yǔ)法錯(cuò)誤的是()。A、charss[][20]={’’right’’};B、char*ss[6];ss[1]=’’right?’’;C、char*ss[]={’’right?’’};D、charss[6][20];ss[1]=’’right?’’;標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查字符數(shù)組,選項(xiàng)D中定義了二維數(shù)組ss,可以用于存儲(chǔ)字符串,但是字符串的存儲(chǔ)不能通過(guò)賦值,僅可以初始化或者輸入得到,而選項(xiàng)C和A不同,選項(xiàng)B為指針數(shù)組,對(duì)于指針變量可以保存常量字符串的地址。10、C語(yǔ)言程序中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是A、/B、%C、&&D、*標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:%要求參與運(yùn)算的運(yùn)算量為整型,其他三個(gè)運(yùn)算符對(duì)于參與運(yùn)算的運(yùn)算量沒(méi)有直接要求。11、關(guān)于結(jié)構(gòu)體說(shuō)明和變量定義中,正確的是()。A、typedefstructabc{intn;doublem;}ABC;ABCx,y;B、structabc{intn;floatm};structabcx,y;C、structABC{intn;floatm;}structABCx,y;D、structabc{intn;floatm;};abcx,y;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:結(jié)構(gòu)體的定義是正常的C語(yǔ)言語(yǔ)句。選項(xiàng)B中結(jié)構(gòu)體定義中每個(gè)成員后面的分號(hào)都不能省略,選項(xiàng)C結(jié)構(gòu)體類型定義完畢后的}外沒(méi)加分號(hào),選項(xiàng)D中定義變量要加上關(guān)鍵字struct。12、以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是A、n=0;do{++n;}while(n<=0);B、n=0;while(1){n++;}C、n=10;while(n);{n--;}D、for(n=0,i=1;;i++)n+=i;標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:選項(xiàng)B)中while(1)永遠(yuǎn)為真所以進(jìn)入死循環(huán),選項(xiàng)C)中while(n=10)同理,選項(xiàng)D)中for循環(huán)沒(méi)有循環(huán)限定條件也將進(jìn)入無(wú)限循環(huán),只有選項(xiàng)A)中while(n<=0)循環(huán)判定成立,循環(huán)將不進(jìn)入無(wú)限循環(huán)。13、以下敘述中正確的是A、break語(yǔ)句不能用于提前結(jié)束for語(yǔ)句的本層循環(huán)B、continue語(yǔ)句使得整個(gè)循環(huán)終止C、使用break語(yǔ)句可以使流程跳出switch語(yǔ)句體D、在for語(yǔ)句中,continue與break的效果是一樣的,可以互換標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:用break語(yǔ)句可以使程序流程跳出switch語(yǔ)句體,也可用break語(yǔ)句在循環(huán)結(jié)構(gòu)中終止循環(huán)體,從而提前結(jié)束循環(huán)。而continue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中continue語(yǔ)句后面的語(yǔ)句,立刻進(jìn)行下一次的循環(huán)條件判斷,可以理解為僅結(jié)束本次循環(huán)。14、若變量已正確定義for(x=0,y=0;(y!=99&&x<4);x++)則以上for循環(huán)()。A、執(zhí)行4次B、執(zhí)行3次C、執(zhí)行無(wú)限次D、執(zhí)行次數(shù)不定標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:for語(yǔ)句的一般形式為"for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體語(yǔ)句}",其執(zhí)行流程是先計(jì)算表達(dá)式1,之后計(jì)算表達(dá)式2,根據(jù)表達(dá)式2的值來(lái)判定是否進(jìn)行循環(huán),若為真,則執(zhí)行循環(huán)體,循環(huán)體執(zhí)行完畢之后再計(jì)算表達(dá)式3的值。該循環(huán)的循環(huán)條件是(y!=99&&x<4),每次循環(huán)后x自增1,x由0自增到3,循環(huán)執(zhí)行4次,答案選A。15、下列選項(xiàng)中,能夠滿足“只要字符串s1等于字符串s2,則執(zhí)行ST”要求的是A、if(s1==s2)ST;B、if(strcpy(s1,s2)==1)ST;C、if(strcmp(s2,s1)==0)ST;D、if(s1-s2==0)ST;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中要對(duì)兩個(gè)字符串的大小進(jìn)行比較,就需要調(diào)用字符串比較函數(shù)strcmp(),如果這個(gè)函數(shù)的返回值等于0,說(shuō)明兩個(gè)字符串相等。16、有以下程序#includemain(){FILE*pf;char*s1="China",*s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開(kāi)頭*/fwrite(s1,5,1,pf);fclose(pf);}以上程序執(zhí)行后abc.dat文件的內(nèi)容是A、ChinangB、ChinaC、ChinaBeijingD、BeijingChina標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題主要查函數(shù)fwtite的使用。函數(shù)fwrite的凋用形式為:intfwrite(chat*pt,unsignedsizc,unsigncdn,F(xiàn)ILE*fp);其功能是把pt所指向的n*size個(gè)字節(jié)輸出到fn所指文件中。在本題中fwritc(s2,7,1,pf);的功能是把字符串“Beijing”輸入到文件abc.dat中,然后調(diào)用rewind(pf),把文件位置指針回到文件開(kāi)頭,再調(diào)剛fwrite(s1,5,1,pf)把字符串“china”寫入到文件abc.dat中,所以此時(shí)文件abc.dat的內(nèi)容為Chinang。17、有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的運(yùn)行結(jié)果是A、0B、1C、2D、3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在程序中,內(nèi)層循環(huán)判斷條件為““j<=i”,而i的初值為3,故當(dāng)外層循環(huán)變量i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)循環(huán)才會(huì)執(zhí)行一次。因?yàn)閙的值為55對(duì)3求余結(jié)果為1。18、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;iA、-3,-1,1,3,B、-12,-3,0,0,C、0,1,2,3,D、-3,-3,-3,-3,標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:函數(shù)fun()的功能是計(jì)算b[i]:b[0]=a[0][0]-a[0][3]=-3,b[1]=a[1][1]-a[1][2]=-1,b[2]=a[2][2]-a[2][1]=1,b[3]=a[3][3]-a[3][0]=3,所以計(jì)算得到的y值為選項(xiàng)A)。19、有以下程序#include<stdio.h>intfun(inta,intb){returna+b;}main(){intx=6,y=7,z=8,r;r=fun(fun(x,y),z--);printf("%d\n",r);}程序運(yùn)行后的輸出結(jié)果是A、15B、21C、20D、31標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查函數(shù)的調(diào)用,函數(shù)fun功能為求兩個(gè)數(shù)據(jù)的和。主函數(shù)中表達(dá)式r=fun(fun(x,y),z--),首先計(jì)算內(nèi)層調(diào)用fun(x,y),計(jì)算結(jié)果為13,然后外層調(diào)用fun(13,8),結(jié)果為21。20、有以下程序#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是A、10B、8C、9D、7標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查函數(shù)的嵌套調(diào)用。首先計(jì)算f(a,b)與f(a,c),f(a,b)=(b-a)*a=3,f(a,c)=(c-a)*a=6,然后計(jì)算f(3,6)=(6-3)*3=9。21、若有以下程序#include<stdio.h>voidsp(int*a){intb=2;main(){intk=3,*p=&k;a=&b;sp(p);*a=*a*2;printf("%d,%d\n",k,*p);printf("%d,",*a);}}則程序的輸出結(jié)果是A、4,3,4B、4,3,3C、6,3,6D、6,6,6標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:主函數(shù)中定義指針變量p指向k,調(diào)用函數(shù)sp(p),將k的地址傳遞給形參指針a,函數(shù)轉(zhuǎn)到sp運(yùn)行,a指向b的地址,表達(dá)式*a=*a*2,相當(dāng)于b=b*2,得到*a的數(shù)據(jù)4輸出。函數(shù)調(diào)用結(jié)束,此時(shí)a和b的空間撤銷,而對(duì)實(shí)參k和p的值并沒(méi)有改變,仍舊是3。22、有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s\n",*p);}main(){char*a[]=("Morning","Afternoon","Evening","Night");fun(a);}程序的運(yùn)行結(jié)果是A、fternoonB、MorningC、orningD、Afternoon標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在程序中,指針的指針變量a和p都是指向字符串的指針。執(zhí)行fun(a)語(yǔ)句時(shí),p指向的是字符串?dāng)?shù)組a的第一個(gè)字符串“Morning”,p自加1之后,*p指向了字符串?dāng)?shù)組a的第2個(gè)字符串“Afternoon”。23、設(shè)有定義charstr[]="Hello";則語(yǔ)句printf("%d%d",sizeof(str),strlen(str));的輸出結(jié)果是A、55B、66C、65D、56標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查sizeof和strlen對(duì)字符串的處理不同之處,sizeof求出字符串的字符個(gè)數(shù),包括結(jié)尾符。Strlen求出字符串的實(shí)際字符,不包括結(jié)尾符。所以答案為6,5,C選項(xiàng)正確。24、已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語(yǔ)句是A、c=(’A’+c)%26-’a’B、c=c+32C、c=c-’A’+’a’D、c=(c-’A’)%26+’a’標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:根據(jù)題意可知,小寫字母比與之對(duì)應(yīng)的大寫字母的ASCII碼大32,A選項(xiàng)中字符A加上c表示的大寫字符再對(duì)字母?jìng)€(gè)數(shù)26取余,本身這個(gè)表達(dá)式?jīng)]有任何含義所以選擇A選項(xiàng)。25、設(shè)有定義doublea[10],*s=a;以下能夠代表數(shù)組元素a[3]的是A、(*s)[3]B、*(s+3)C、*s[3]D、*s+3標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:指針的賦值首先基類型必須一致,s二維數(shù)組名,是二維數(shù)組的首地址,其基類型是一個(gè)具有10個(gè)元素的字符數(shù)組。p是一個(gè)字符指針變量,其基類型是一個(gè)字符,k是一個(gè)行指針,其基類型是具有3個(gè)元素的字符型數(shù)組。所以A、C、D中兩項(xiàng)的基類型不一致。而B選項(xiàng),s[0]是二維數(shù)組s的第一個(gè)元素,其代表第一行元素構(gòu)成的數(shù)組的首地址,其相當(dāng)于一維數(shù)組的數(shù)組名,其基類型是一個(gè)字符類型,和p基類型一致。因此B選項(xiàng)正確。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第4套一、選擇題(本題共25題,每題1.0分,共25分。)1、結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是()。A、順序、選擇和調(diào)用B、過(guò)程、子程序和分程序C、順序、選擇和重復(fù)(循環(huán))D、調(diào)用、返回和轉(zhuǎn)移標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:1966年Boehm和Jacopini證明了程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。2、以下敘述中正確的是A、在C程序中的八進(jìn)制和十六進(jìn)制,可以是浮點(diǎn)數(shù)B、八進(jìn)制數(shù)的開(kāi)頭要使用英文字母o,否則不能與十進(jìn)制區(qū)分開(kāi)C、整型變量可以分為int型、short型、。long型和unsigned型四種D、英文大寫字母X和英文小寫字母x都可以作為二進(jìn)制數(shù)字的開(kāi)頭字符標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:整型變量分為以下4種類型:①基本型:以int表示。②短整型:以shortint表示,或以short表爾。③長(zhǎng)整型:以longjnt表示,或以long表示。④無(wú)符號(hào)型:以u(píng)nsignedint表示,選項(xiàng)C)正確,實(shí)型常量?jī)H有十進(jìn)制表示形式,八進(jìn)制以數(shù)字0開(kāi)頭,十六進(jìn)制開(kāi)頭為0x或者0X,不是二進(jìn)制。3、數(shù)據(jù)庫(kù)管理系統(tǒng)是()。A、操作系統(tǒng)的一部分B、在操作系統(tǒng)支持下的系統(tǒng)軟件C、一種編譯系統(tǒng)D、一種操作系統(tǒng)標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是一種在操作系統(tǒng)之上的系統(tǒng)軟件。4、軟件生存周期中,解決軟件“做什么”的階段是()。A、需求分析B、軟件設(shè)計(jì)C、軟件實(shí)現(xiàn)D、可行性研究標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:軟工生命周期可細(xì)化為可行性研究和計(jì)劃制定、需求分析、軟件設(shè)計(jì)(總體設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、軟件測(cè)試、運(yùn)行和維護(hù)等階段。需求分析是對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,是解決軟件“做什么”的階段。軟件設(shè)計(jì)是解決軟件“怎么做”的階段。5、對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n一1)/2的排序方法是()。A、快速排序B、冒泡排序C、直接插入排序D、堆排序標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n一1)/2、快速排序n(n—1)/2、簡(jiǎn)單插入排序n(n一1)/2、希爾排序O(n1.5)、單選擇排序n(n一1)/2、堆排序D(nlog2n)。6、軟件需求規(guī)格說(shuō)明書的作用不包括()。A、軟件驗(yàn)收的依據(jù)B、用戶與開(kāi)發(fā)人員對(duì)軟件要做什么的共同理解C、軟件設(shè)計(jì)的依據(jù)D、軟件可行性研究的依據(jù)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:軟件需求規(guī)格說(shuō)明書的作用為:便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。所以答案選擇D。7、計(jì)算機(jī)能直接執(zhí)行的程序是()。A、可執(zhí)行程序B、目標(biāo)程序C、匯編程序D、源程序標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:源程序指程序員編寫的代碼,即為后綴為.c的文件;源程序經(jīng)過(guò)編譯器編譯后形成目標(biāo)程序,是二進(jìn)制文件,此時(shí)程序還不能直接運(yùn)行,還需要經(jīng)過(guò)鏈接,將所包含的頭文件等與自身的目標(biāo)文件鏈接,最后形成可執(zhí)行程序,才可由計(jì)算機(jī)直接執(zhí)行。匯編程序指用匯編語(yǔ)言編寫的源程序。答案選A。8、下列選項(xiàng)中能正確定義數(shù)組的語(yǔ)句是()。A、inthum[0…2008];B、intnum[];C、intN=2008;intnum[N];D、#defineN2008intnum[N];標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:C語(yǔ)言不允許定義動(dòng)態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達(dá)式。A選項(xiàng)錯(cuò)誤,C語(yǔ)言中的數(shù)組沒(méi)有此類型的定義方法;B選項(xiàng)錯(cuò)誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定初值的個(gè)數(shù);C選項(xiàng)錯(cuò)誤,N為變量,不能用來(lái)定義數(shù)組大小。D選項(xiàng)正確。9、有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));pfinff(’’%d\n’,m);}intf(intx){returnx*2;}程序的運(yùn)行結(jié)果是()。A、8B、2C、4D、1標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:第一次調(diào)用m=f(f(f(1))),第二次為m=f(f(2)),第三次為m=f(4),即返回值為8。10、關(guān)于字符數(shù)組的定義中有語(yǔ)法錯(cuò)誤的是()。A、charstr[3][10];str[1]=’’guest’’;B、charstr[][10]={’’guest’’};C、char*str[3];str[1]=’’guest’’;D、char*str[]={’’guest’’};標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查字符數(shù)組的定義和使用。選項(xiàng)A定義了一個(gè)二維字符數(shù)組,第二句是直接給字符數(shù)組賦值,錯(cuò)誤。C語(yǔ)言中不能直接給字符數(shù)組賦值;選項(xiàng),B、C和D都是正確的。11、有以下程序#includemain(){charb,c;inti;b=’a’;c=’A’;for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}printf("\n");}程序運(yùn)行后的輸出結(jié)果是A、abcdefB、ABCDEFC、aBcDeFD、AbCdEf標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:函數(shù)的含義是如果i的值能被2整除,以字符格式打印輸出i+c的值,如果i的值不能被2整除打印i+b的值?第一次i值為0,執(zhí)行else語(yǔ)句打印字符’A’,第二次i值為1,打印1+b的值即字符’b’,第三次i值為2,打印字符’C’,依此類推選擇D選項(xiàng)。12、以下敘述中正確的是A、函數(shù)的類型不能是指針類型B、函數(shù)的形參類型不能是指針類型C、基類型不同的指針變量可以相互混用D、設(shè)有指針變量為“double*p”,則“p+1”將指針p移動(dòng)8個(gè)字節(jié)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:在對(duì)指針進(jìn)行加、減算術(shù)運(yùn)算時(shí),數(shù)字1表示1個(gè)存儲(chǔ)單元的長(zhǎng)度,而double類型數(shù)據(jù)在內(nèi)存中占8個(gè)字節(jié),因此移動(dòng)一次移動(dòng)8個(gè)字節(jié)。其他三個(gè)都不正確。13、以下選項(xiàng)中與if(a==1)a=b;elsea++;語(yǔ)句功能不同的switch語(yǔ)句是A、switch(a){case1:a=b:break;default:a++:}B、switch(a==1){case0:a=b;break;case1:a++;}C、switch(a){default:a++;break;case1:a=b;}D、switch(a==1){case1:a=b;break;case0:a++;}標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題主要考查if和switch結(jié)構(gòu)?!癷f(a==1)a=b;elsea++;”代碼段的功能是如果a等于則把b的值賦值給a,否則a++。選項(xiàng)A使用switch對(duì)a進(jìn)行判斷,如果是1則a=b,跳出switch,如果是其他值則a++;選項(xiàng)B對(duì)a==1的結(jié)果進(jìn)行switch判斷,如果為0表示a不等于1則a=b,和題目要求不符合:選項(xiàng)C和選項(xiàng)A一樣;選項(xiàng)D和選項(xiàng)case條件相反,滿足題目要求。14、以下選項(xiàng)中與if(a==1)a=b;elsea++;語(yǔ)句功能不同的switch語(yǔ)句是A、switch(a==1){case0:a=b;break;case1:a++;}B、switch(a){case1:a=b;break;default:a++;}C、switch(a){default:a++;break;case1:a=b;}D、switch(a==1){case1:a=b;break;case0:a++;}標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:ifelse語(yǔ)句的含義是,如果變量a的值等于1,則把變量b的值賦給變量a,否則,變量a的值加1。在本題的4個(gè)選項(xiàng)中。與其含義不同的是選項(xiàng)A),表示如果變量a的值等于1,則把變量a的值加1,否則,把變量b的值賦給變量a。15、有以下程序#includeintf(intx){inty;if(x==0‖x==1)return(3);y=x*x—f(x一2);returny;}main(){intz;z=f(3);printf("%d\n",z);}程序的運(yùn)行結(jié)果是A、9B、0C、6D、8標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:主函數(shù)調(diào)用f()函數(shù),將實(shí)參3傳遞給x,進(jìn)行if條件語(yǔ)句的判斷不成立,接著執(zhí)行y=3*3-f(1),再執(zhí)行f(1),而f(1)滿足if條件語(yǔ)句,所以f[1)的值為3,代入y=3*3-f(1)=9-3=6。16、以下關(guān)于宏的敘述中正確的是A、宏定義必須位于源程序中所有語(yǔ)句之前B、宏名必須用大寫字母表示C、宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間D、宏替換沒(méi)有數(shù)據(jù)類型限制標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題考查宏替換的規(guī)則。宏替換分為簡(jiǎn)單的字符替換和帶參數(shù)的宏替換兩類。使用宏時(shí)應(yīng)注意以下幾點(diǎn):①宏定義僅僅是符號(hào)替換,不是賦值語(yǔ)句,因此不做語(yǔ)法檢查;②為了區(qū)別程序中其他的標(biāo)識(shí)符,宏名的定義通常用大寫字母,但不是必須用大寫;③雙引號(hào)中出現(xiàn)的宏名不替換;④使用宏定義可以嵌套,即后定義的宏中可以使用先定義的宏。17、有以下程序,程序運(yùn)行后的輸出結(jié)果是#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}A、31.5B、7.5C、程序有錯(cuò)無(wú)輸出結(jié)果D、14.0標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查宏定義。預(yù)處理語(yǔ)句后面不能加分號(hào),因此程序有錯(cuò)。如果沒(méi)加分號(hào)的話S(a+b)=PT*a+b*a+b=3.5*1+2*1+2=7.5。18、若有定義:intw[3][5];則以下不能正確表示該數(shù)組元素的表達(dá)式是A、*(*w+3)B、*(*(w+1))C、*(w+1)[4]D、*(&w[0][0]+1)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言中,二維數(shù)組的名字表示的是二維數(shù)組的地址,對(duì)于二維數(shù)組intw[3][5],可以認(rèn)為w為一個(gè)一維數(shù)組,含有3個(gè)元素,而每個(gè)元素為一個(gè)含有5個(gè)元素的一維數(shù)組。而(w+1)為一個(gè)含有兩個(gè)元素的一維數(shù)組,首先和(w+1)[4]結(jié)合非法,4超出了二維數(shù)組的邊界,取值也就是非法的了。19、某二叉樹(shù)共有12個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè)。則該二叉樹(shù)的深度為(根結(jié)點(diǎn)在第1層)A、3B、6C、8D、12標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:二叉樹(shù)中,度為0的節(jié)點(diǎn)數(shù)等于度為2的節(jié)點(diǎn)數(shù)加1,即n2=n0-1,葉子節(jié)點(diǎn)即度為0,n0=1,則n2=0,總節(jié)點(diǎn)數(shù)為12=n0+n1+n2=1+n1+0,則度為1的節(jié)點(diǎn)數(shù)n1=11,故深度為12,選D。20、有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是A、選擇B、差C、交D、并標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:關(guān)系T是關(guān)系R的一部分,并且是關(guān)系R去掉R和S相同的元素,符合差操作。21、有兩個(gè)關(guān)系R和S如下:則由關(guān)系R得到關(guān)系S的操作是()。A、選擇B、投影C、自然連接D、并標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:由關(guān)系R到關(guān)系S為一元運(yùn)算,排除C和D。關(guān)系S是關(guān)系R的一部分,是通過(guò)選擇之后的結(jié)果,因此選A。22、下面描述中不屬于數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)的是A、數(shù)據(jù)共享B、數(shù)據(jù)完整性C、數(shù)據(jù)冗余度高D、數(shù)據(jù)獨(dú)立性高標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)為高共享、低冗余、獨(dú)立性高、具有完整性等,C錯(cuò)誤。23、關(guān)于C語(yǔ)言的符號(hào)常量,以下敘述中正確的是A、符號(hào)常量的符號(hào)名是標(biāo)識(shí)符,但必須大寫B(tài)、符號(hào)常量是指在程序中通過(guò)宏定義用一個(gè)符號(hào)名來(lái)代表一個(gè)常量C、符號(hào)常量在整個(gè)程序中其值都不能再被重新定義D、符號(hào)常量的符號(hào)名必須是常量標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:在C語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)代表一個(gè)常量,稱為符號(hào)常量。這個(gè)標(biāo)識(shí)符必須在程序中進(jìn)行特別的"指定",并符合標(biāo)識(shí)符的命名規(guī)則。用作符號(hào)常量的標(biāo)識(shí)符通常采用大寫字母表示,在主函數(shù)中其值不能再被定義。所以選擇B選項(xiàng)。24、若有以下程序#includemain(){intc;c=10^5;printf("%d\n",c);}則程序的輸出結(jié)果是A、5B、15C、10000D、105標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:本題考查位運(yùn)算中按位異或運(yùn)算符,異或運(yùn)算只有在兩個(gè)比較的位不同時(shí)其結(jié)果是1,否則結(jié)果為0,10用二進(jìn)制表示為00001010,5用二進(jìn)制表示為00000101,異或后00001111,即15,選項(xiàng)B正確。25、有以下程序#includemain(){charc[2][5]={"6938","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=c[i];for(i=0;i<2;i++)for(j=0;p[i][j]>0;j+=2)s=10*s+p[i][j]-’0’;printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是A、6938B、9824C、4528D、6385標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:本題中首先是將二維字符數(shù)組c賦值指針數(shù)組p,然后遍歷p找到兩個(gè)字符串中的偶數(shù)位置的字符并組成一個(gè)數(shù)值輸出,根據(jù)代碼執(zhí)行即可得到結(jié)果為6385。國(guó)家二級(jí)C語(yǔ)言機(jī)試(選擇題)模擬試卷第5套一、選擇題(本題共25題,每題1.0分,共25分。)1、對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A、程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束B、程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束C、程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束D、程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開(kāi)始執(zhí)行,從main函數(shù)結(jié)束。2、在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:當(dāng)有序線性表為順序存儲(chǔ)時(shí)才能用二分法查找??梢宰C明的是對(duì)于長(zhǎng)度為n的有序線性表。在最壞情況下,二分法查找只需要比較log2n次,而順序查找需要比較n次。3、一棵二叉樹(shù)中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中的總結(jié)點(diǎn)數(shù)為A、219B、221C、229D、231標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在二叉樹(shù)中,葉子結(jié)點(diǎn)個(gè)數(shù)為n0,則度為2的結(jié)點(diǎn)數(shù)n2=n0一1。本題中葉子結(jié)點(diǎn)的個(gè)數(shù)為70,所以度為2的結(jié)點(diǎn)個(gè)數(shù)為69,因而總結(jié)點(diǎn)數(shù)=葉子結(jié)點(diǎn)數(shù)+度為1的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=70+80+69=219。4、下列描述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是A、程序的效率第一,清晰第二B、程序的可讀性好C、程序中要有必要的注釋D、輸入數(shù)據(jù)前要有提示信息標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:一般來(lái)講,程序設(shè)計(jì)風(fēng)格是指編寫程序時(shí)所表現(xiàn)出的特點(diǎn)、習(xí)慣和邏輯思路。程序設(shè)計(jì)風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,程序必須是可以理解的。著名的“清晰第一,效率第二”的論點(diǎn)已成為當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格。5、下列敘述中正確的是A、循環(huán)隊(duì)列是隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B、能采用順序存儲(chǔ)的必定是線性結(jié)構(gòu)C、所有的線性結(jié)構(gòu)都可以采用順序存儲(chǔ)結(jié)構(gòu)D、具有兩個(gè)以上指針的鏈表必定是非線性結(jié)構(gòu)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。有序線性表既可以采用順序存儲(chǔ)結(jié)構(gòu),又可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。所有的線性結(jié)構(gòu)都可以采用順序存儲(chǔ)結(jié)構(gòu)。6、學(xué)校的數(shù)據(jù)庫(kù)中有表示系和學(xué)生的關(guān)系:系(系編號(hào),系名稱,系主任,電話,地點(diǎn)),學(xué)生(學(xué)號(hào),姓名,性別,入學(xué)日期,專業(yè),系編號(hào)),則關(guān)系學(xué)生中的主鍵和外鍵分別是()。A、學(xué)號(hào),B、學(xué)號(hào),專業(yè)C、學(xué)號(hào),姓名D、學(xué)號(hào),系編號(hào)標(biāo)準(zhǔn)答案:D知識(shí)點(diǎn)解析:一個(gè)屬性(即一列),在某張表中不是主鍵(主碼),但在其他表中是主鍵(主碼),則它是第一張表的外鍵(外碼)。在“系”表中,“系編號(hào)”為主鍵;在“學(xué)生”表中,“學(xué)號(hào)”是主鍵,“系編號(hào)”不是主鍵,則“系編號(hào)”是表“學(xué)生”的外鍵。7、在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是A、程序內(nèi)部邏輯B、程序外部功能C、程序數(shù)據(jù)結(jié)構(gòu)D、程序流程圖標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:黑盒測(cè)試法指的是根據(jù)程序的外部功能,把程序本身看成一個(gè)黑盒子,設(shè)計(jì)測(cè)試用例來(lái)驗(yàn)證程序外部功能的正確性。8、有以下程序#includemain(){inta=7;while(a--);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是A、0B、1C、-1D、7標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在while語(yǔ)句中,先判斷while后面的表達(dá)式是否為0,如果為0,則退出循環(huán),甭則執(zhí)行循環(huán)體。在本題中,當(dāng)變量a的值經(jīng)過(guò)幾次循環(huán)后,其值等于0時(shí),退出while循環(huán)語(yǔ)句,變量a再執(zhí)行自減運(yùn)算,所以其值等于-1。9、有以下函數(shù):intaaa(char*s){char*t=s:while(*t++);t--:return(t-s);}以下關(guān)于aaa函數(shù)功能敘述正確的是()。A、將串s復(fù)制到串tB、比較兩個(gè)串的大小C、求字符串s的長(zhǎng)度D、求字符串s所占字節(jié)數(shù)標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題重點(diǎn)考查的知識(shí)點(diǎn)是while循環(huán)語(yǔ)句的應(yīng)用。aaa()函數(shù)中,首先定義了一個(gè)字符指針t指向形參s,然后通過(guò)一個(gè)while循環(huán)讓指針t不斷遞增,直到t指向字符串結(jié)束標(biāo)識(shí)處。當(dāng)t指向結(jié)束標(biāo)識(shí)處時(shí),由于后綴++運(yùn)算符的原因,它還會(huì)被再遞增1,所以接下來(lái)的t--語(yǔ)句讓它回到結(jié)束標(biāo)識(shí)處。最后返回t-s,s還是指向字符串第一個(gè)字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長(zhǎng)度值,因此C選項(xiàng)正確。10、下面屬于白盒測(cè)試方法的是A、等價(jià)類劃分法B、邏輯覆蓋C、邊界值分析法D、錯(cuò)誤推測(cè)法標(biāo)準(zhǔn)答案:B知識(shí)點(diǎn)解析:白盒測(cè)試的主要方法有邏輯覆蓋、基本路徑測(cè)試等。11、若有定義語(yǔ)句:intx=10;則表達(dá)式x-=x+x的值為()。A、-10B、-20C、0D、10標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:考查復(fù)合賦值運(yùn)算符。x-=x+x與x=x-(x+x)等價(jià),所以輸出結(jié)果為A)。12、C源程序中不能表示的數(shù)制是A、八進(jìn)制B、十進(jìn)制C、二進(jìn)制D、十六進(jìn)制標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:在C語(yǔ)言的源程序中,數(shù)值可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示。不用二進(jìn)制來(lái)表示。13、若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,下列選項(xiàng)中錯(cuò)誤的程序是()。A、main(){…x=fun(2,10);…}floatfun(inta,intB){…}B、floatfun(inta,intB){…}main(){…x=fun(i,j);…}C、floatfun(int,int);main(){…x=fun(2,10);…}floatfun(inta,intB){…}D、main()…{floatfun(inti,intj);…x=fun(i,j);…}floatfun(inta,intB){…}標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:在調(diào)用子函數(shù)時(shí),應(yīng)對(duì)其進(jìn)行說(shuō)明。A選項(xiàng)中,調(diào)用時(shí)沒(méi)有對(duì)子函數(shù)進(jìn)行說(shuō)明。B、C選項(xiàng)中,被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,不用說(shuō)明;D選項(xiàng)中,在主函數(shù)中對(duì)被調(diào)用函數(shù)的返回值類型進(jìn)行了說(shuō)明。因此選擇A選項(xiàng)。14、設(shè)有課程關(guān)系模式:R(C#,Cn,T,TA)(其中,C#為課程號(hào),Cn為課程名,T為教師名,Ta為教師地址)并且假定不同課程號(hào)可以有相同的課程名,每個(gè)課程號(hào)下只有一位任課教師,但每位教師可以有多門課程。關(guān)系R中對(duì)主屬性的傳遞依賴為A、(C#,T)→TaB、C#→Cn,Cn→TaC、C#→T,T→TaD、C#→Tn標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:R關(guān)系模式中,不同課程號(hào)可以對(duì)應(yīng)相同的課程名而每個(gè)課程號(hào)下自由一位任課教師,因此課程號(hào)和教師名為傳遞依賴、教師名和教師地址為傳遞依賴,因此R對(duì)主屬性的傳遞依賴為“C#→T→Ta”。15、設(shè)有定義:doublex=2.12;,以下不能完整輸出變量x值的語(yǔ)句是()。A、printf("x=%5.0f\n",x);B、printf("x=%f\n",x);C、printf("x=%lf\n",x);D、printf("x=%0.5f\n",x);標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查printf函數(shù)的格式輸出,"格式控制字符串"部分為"%f"表示按照浮點(diǎn)型輸出,選項(xiàng)B)正確;加入長(zhǎng)度格式符l即"%l"表示按照雙精度浮點(diǎn)型輸出,選項(xiàng)C)正確;若要控制輸出精度,則需以"."開(kāi)頭,后跟十進(jìn)制整數(shù),如"%.2f"或"%0.2f",選項(xiàng)D)正確;控制輸出寬度則是用整數(shù)表示,如"%5f"。選項(xiàng)A)中"%5.0f"表示輸出寬度為5,右對(duì)齊,小數(shù)點(diǎn)后保留位數(shù)為0,所以結(jié)果輸出為2,不能完整輸出x,答案選A)。16、以下選項(xiàng)中合法的標(biāo)識(shí)符是A、1月1日B、1_1C、_11D、1__標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:本題考查標(biāo)識(shí)符定義。合法標(biāo)識(shí)符的要求是由下劃線、英文大小寫字母和數(shù)字組成的字符串,且第一個(gè)字符必須是字母或下劃線。17、fun函數(shù)的功能是:通過(guò)鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下劃線處應(yīng)填寫的是#include#defineN5Voidfun(intx[N]){intm;for(m=N-1;m>=0;m--)scanf("%d",___);}A、x+mB、x[m+1]C、x+(m++)D、x[++m]標(biāo)準(zhǔn)答案:A知識(shí)點(diǎn)解析:本題考查數(shù)組和scanf函數(shù)的使用。程序通過(guò)for循環(huán)來(lái)給數(shù)組元素賦值,賦值語(yǔ)句通過(guò)調(diào)用scanf函數(shù)來(lái)實(shí)現(xiàn)。scanf函數(shù)從鍵盤接收數(shù)據(jù),函數(shù)的第二個(gè)參數(shù)是數(shù)據(jù)保存的地址,因此選項(xiàng)B和選項(xiàng)D不是地址,錯(cuò)誤。選項(xiàng)A和選項(xiàng)C是地址,但是選項(xiàng)C的m值會(huì)++自增,然后for循環(huán)里面又m-自減,會(huì)導(dǎo)致死循環(huán),不滿足要求,選項(xiàng)A正確。18、若變量已正確定義并賦值,以下不能構(gòu)成C語(yǔ)句的選項(xiàng)是A、A=a+b;B、B++;C、a=a+bD、A?a:b;標(biāo)準(zhǔn)答案:C知識(shí)點(diǎn)解析:C語(yǔ)言語(yǔ)句的表示為分號(hào),不加分號(hào)的表達(dá)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論