版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
二級C語言分類模擬題554選擇題1、 若有定義inta;floatb;doublec;程序運行時輸入:345V回車〉能把值3輸入給變量a、4輸入給變量b、5輸入給變量c的語句是。Ascanf("%lf%lf%lf",&a,&b,&c);Bscanf("%d%lf%lf",&a,&b,&c);Cscanf("%d%f%f",&a,&b,&c); D.scanf("%d%f%lf",&a,&b,&c);2、以下敘述正確的是。AC語言程序是由過程和函數(shù)組成的BC語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))CC語言函數(shù)不可以單獨編譯D.C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在3、 下面程序的輸出結(jié)果是。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}121,0,4B.2,2,2C.0,2,4D.0,2,24、 設(shè)文件指針fp已定義,執(zhí)行語句fp=fopen("file”,"w”);后,以下針對文本文件file操作敘述的選項中正確的是。A只能寫不能讀B寫操作結(jié)束后可以從頭開始讀C可以在原有內(nèi)容后追加寫 D.可以隨意讀和寫5、 設(shè)有定義:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,若0<i<9則對a數(shù)組元素的引用錯誤的是。Aa[10] B*(&a[i])Cp[i] D.a[p-a]6、 有以下程序:#includeVstdio.h>main(){charch;ch='A'+'5'-'3';printf("%d,%c\n",ch,ch);}程序的輸出結(jié)果是A67,CBB,CCC,D D.不確定的值7、 在C語言中,只有在使用時才占用內(nèi)存單元的變量,其存儲類型是auto和register B.extern和register C.auto和static D.static和register8、在C語言中,不適用于局部變量的存儲類說明符是 ( )autoB.registerC.staticD.extern9、以下選項中表示一個合法的常量是(說明:符號□表示空格)。A9口9口9 B.0XabC123E0.2 D.2.7e10、 有以下程序:#includeVstdio.h>inta=1;intf(intc){staticinta=2;c=c+1;return(a++)+c;}main(){inti,k=0;for(i=0;iV2;i++){inta=3;k+=f(a);}k+=a;printf("%d\n",k);}程序運行結(jié)果是。A14B15C16D.1711、 若已包括頭文件Vstring.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串"ABCDE"賦給s1,下列語句錯誤的是( )strcpy(s1,s2)strcpy(s1,"ABCDE");s1="ABCDE";for(i=0;iV6;i++)s1[i]=s2[i];12、 若有以下程序:#includeVstdio.h>voidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}則以下敘述中,不正確的是。A若在主函數(shù)中對函數(shù)f()進行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f()B若在主函數(shù)前對函數(shù)f()進行說明,則在主函數(shù)和其他函數(shù)中都可以正確調(diào)用f()C對于以上程序,編譯時系統(tǒng)會報錯,提示對f()函數(shù)重復(fù)說明D.函數(shù)f()無返回值,所以可用void將其類型定義為無值型13、以下涉及字符串?dāng)?shù)組、字符指針的程序片段,沒有編譯錯誤的是。Acharline[];line="=============":Bchar*name[10],*str;name="HelloWorld";Ccharstr1[10],str2[10]="prog.c”;str1=str2;D.charname[10],*str="HelloWorld";14、下列程序執(zhí)行后的輸出結(jié)果是。voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5]={0};a=0;b[0]=3;func(&a,b);printf("%d\n”,b[0]);}A6 B.7C8 D.915、 有以下程序#includeVstdio.h>intf(intn){intt=0,a=5;if(n/2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=0,i=0;for(;i<2;i++)s+=fi);printf("%d\n",s);}程序運行后的輸出結(jié)果是。A24B28C32 D.3616、若有如下說明,且int類型占兩個字節(jié),則正確的敘述為。structst{inta;intb[2];}a;A結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是合法的B程序只在執(zhí)行到該結(jié)構(gòu)體時才為結(jié)構(gòu)體st分配存儲單元C程序運行時為結(jié)構(gòu)體st分配8字節(jié)存儲單元D.類型名structst可以通過extern關(guān)鍵字提前引用17、 若有以下程序#include<stdio.h>#defineS(x)x*x#defineT(x)S(x)*S(x)main(){intk=5,j=2;printf("%d,%d\n",S(k+j),T(k+j));}則程序的輸出結(jié)果是。A17,37B49,2401C17,289 D.49,28918、設(shè)有以下說明,則不正確的敘述是。unionun{inta;charb;floatc;}arr;Aarr所占的內(nèi)存長度等于成員c的長度Barr的地址和它的各成員的地址都是同一地址Carr可以作為函數(shù)參數(shù)D.不能在定義arr時對它初始化19、 有以下程序:#includeVstdio.h>main(){shortc=124;c=c;printf("%d\n",c);}若要使程序的運行結(jié)果為248,應(yīng)在橫線處填入的是。A>>2B|248C&0248D.VV120、關(guān)系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是。A實體完整性約束B參照完整性約束C屬性完整性約束D.用戶自定義的完整性約束21、 下面程序的運行結(jié)果是。#includeVstdio.h>voiddel(char*s){inti,j;char*a;a=s;for(i=0,j=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]V='9'){s[j]=a[i];j++;)s[j]='\0';}}main(){char*s="aa89gggh";del(s);printf("\n%s",s);}AaaB89CggghDaa89gggh22、 以下程序的輸出結(jié)果是。main(){charst[20]="hello\0\t\\\";printf("%d%d\n",strlen(st),sizeof(st));}A99B520C1320 D.202023、 下列敘述中,正確的是。A線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B棧與隊列是非線性結(jié)構(gòu)。雙向鏈表是非線性結(jié)構(gòu) D.只有根結(jié)點的二叉樹是線性結(jié)構(gòu)24、 有如下程序:#includeVstdio.h>structpair{intfirst,second;};structpairget_min_max(int*array,intlen){ ——inti;structpairres;res.first=array[0];res.second=array[0];for(i=1;iVlen;i++){if(array[i]Vres.first)res.first=array[i];if(array[i]>res.second)res.second=array[i];}returnres;}main(){intarray[5]={9,1,3,4};struetpairmin_max=get_min_max(array,5)printf("min=%d,max=%din”,min_max.first,min_max.second);} — —程序運行后的輸出結(jié)果是。Amin=1,max=9Bmin=0,max=9Cmin=1,max=4D.min=0,max=425、 有以下程序片段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;其能正確表示的數(shù)學(xué)函數(shù)關(guān)系是Ahttp://www.yfzxmn.en/newyfB12/tu/1501/j/dj/2cf56.1AD69B.jpgBhttp://www.yfzxmn.en/newyfB12/tu/1501/j/dj/2ef56.1AF0AA.jpgChttp://www.yfzxmn.en/newyfB12/tu/1501/j/dj/2ef56.1B1682.jpgD.http://www.yfzxmn.en/newyfB12/tu/1501/j/dj/2ef56.1B313E.jpg26、 設(shè)有以下定義和語句inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];貝卜(p[0]+1)所代表的數(shù)組元素是A.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]27、以下敘述中錯誤的是()。用戶定義的函數(shù)中可以沒有return語句用戶定義的函數(shù)中可以有多個return語句,以便可以調(diào)用一次返回多個函數(shù)值用戶定義的函數(shù)中若沒有return語句,則應(yīng)當(dāng)定義函數(shù)為void類型函數(shù)的return語句中可以沒有表達式28、C語言主要是借助來實現(xiàn)程序模塊化。A定義函數(shù) B定義常量和外部變量C三種基本結(jié)構(gòu)語句 D.豐富的數(shù)據(jù)類型29、以下關(guān)于switch語句的敘述中正確的是。A所有case的標(biāo)號都應(yīng)當(dāng)是連續(xù)的B每個case語句標(biāo)號后面可以沒有break語句Cchar型常量不能做case的標(biāo)號使用D.default必須放在全部case的最后30、 若有以下定義:chars[100]="string";則下述函數(shù)調(diào)用中,是錯誤的。Astrlen(strcpy(s,"Hello")) .Bstrcat(s,strcpy(s1,"s"));Cputs(puts("Tom")) .Dstrcmp("",s)31、若有定義語句“inta,b;doublex;”,則下列選項中沒有錯誤的是。Aswitch(x%2){case0:a++;break;case1:b++;break;default:a++;b++;}Bswitch((int)x/2.0){case0:a++;break;case1:b++;break;default:a++;b++;}Cswitch((int)x%2){case0:a++;break;case1:b++;break;default:a++;b++;}D.switch((int)(x)%2){case0.0:a++;break;case1.0:b++;break;default:a++;b++;}32、若有以下定義和語句 ()intu=010,v=Ox10,w=10;printf("%d,%d%d\n”,u,v,w);則輸出結(jié)果是8,16,1010,10,108,8,10D.8,10,1033、邏輯模型是面向數(shù)據(jù)庫系統(tǒng)的模型,下面屬于邏輯模型的是。A關(guān)系模型 B謂詞模型C物理模型 D.實體-聯(lián)系模型34、 有以下程序#includeVstdio.h>main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是。A2,3,1B2,3,2C2,3,3 D.2,2,135、以下敘述中錯誤的是。AC程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進行的B預(yù)處理命令行的最后不能以分號表示結(jié)束C#defineMAX是合法的宏定義命令行在程序中凡是以〃#〃開始的語句行都是預(yù)處理命令行36、C源程序中不能表示的數(shù)制是。A十六進制B八進制C十進制 D.二進制37、下列敘述中錯誤的是。A算法的時間復(fù)雜度與問題規(guī)模無關(guān)B算法的時間復(fù)雜度與計算機系統(tǒng)無關(guān)C算法的時間復(fù)雜度與空間復(fù)雜度沒有必然的聯(lián)系D.算法的空間復(fù)雜度與算法運行輸出結(jié)果的數(shù)據(jù)量無關(guān)38、 下列選項中,能正確定義數(shù)組的語句是。Aintnum[0..2008];Bintnum[];CintN=2008;intnum[N];D.#defineN2008intnum[N];39、以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是。A.隊列B.線性表C.二叉樹D.棧40、對于一個正常運行的C程序,以下敘述中正確的是。A程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束B程序的執(zhí)行總是從main函數(shù)開始C程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束D程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束答案:選擇題TOC\o"1-5"\h\z1、 D[解析]int,float,double對應(yīng)的格式控制符分別為%上%f,%lf,所以答案選擇D。2、 B[解析]C語言程序是由主函數(shù)和若干子函數(shù)構(gòu)成的,可以嵌套使用。主函數(shù)調(diào)用子函數(shù),子函數(shù)在定義時是并列的,子函數(shù)可相互調(diào)用或被多次調(diào)用。3、 B[解析]sizeof函數(shù)是取變量所占的存儲空間的字節(jié)數(shù),標(biāo)識a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認為整型;enumc{a1,a2};定義了—個枚舉類型enumc,a1,a2為枚舉元素,在C編譯時,對枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。4、 A[解析]本題考查文件操作函數(shù)fopen()的基礎(chǔ)知識。以'、w〃方式打開文件,只能寫不能讀,故選項A正確。5、 A[解析]長度為n的數(shù)組其各個元素的下標(biāo)應(yīng)該是從0到n-1,因此,長度為10的數(shù)組a,第10個元素為a[9],而不是a[10],故答案為A選項。6、A7、A[解析]在C語言中只有自動變量和寄存器變量在使用時才占用內(nèi)存單元。8、DTOC\o"1-5"\h\z9、 B[解析]當(dāng)用指數(shù)形式表示浮點數(shù)據(jù)時,E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。10、 A[解析]在主函數(shù)中,k的初值為0,首先調(diào)用函數(shù)f(3),返回值為6,k的值變?yōu)?,而函數(shù)intfun(intc)中的局部靜態(tài)變量a等于3。第二次調(diào)用函數(shù)f(3)時,返回值為7,所以k=6+7=13。退出循環(huán)語句,k再加上全局變量a的值1,其最終的值為14。11、 C[解析]數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因為'、=〃左邊不能出現(xiàn)常量, 因此sl="ABCDE"的方法是錯誤的。12、 C[解析]C語言規(guī)定,在一個函數(shù)中調(diào)用另一個函數(shù)(即被調(diào)用函數(shù))需要具備的條件有:①首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù)(是庫函數(shù)或用戶自己定義的函數(shù));②如果使用庫函數(shù),一般還應(yīng)該在本文件開頭用財include”命令;③如果使用自定義函數(shù),而且該函數(shù)與調(diào)用它的函數(shù)在同一個文件中,一般還應(yīng)該在主調(diào)函數(shù)中對被調(diào)用的函數(shù)作聲明。TOC\o"1-5"\h\z13、 D[解析]C語言中,字符指針變量可以直接使用字符串賦值,而字符數(shù)組不能直接使用字符串或字符數(shù)組賦值,選項A、B、C錯誤,選項D正確。故本題答案為D選項。14、A15、 A[解析]第一次循環(huán)返回12,第二次循環(huán)返回12,累加結(jié)果為24。16、 A[解析]本題主要考查結(jié)構(gòu)體的用法:①結(jié)構(gòu)體變量3與結(jié)構(gòu)體成員a同名,定義合法;②在程序編譯的時候結(jié)構(gòu)的定義并不會使系統(tǒng)為該結(jié)構(gòu)分配內(nèi)存空間,只有在說明結(jié)構(gòu)變量時才分配內(nèi)存空間;③inta占2個字節(jié),intb[2]占4個字節(jié),共6個;④類型名“structst”不可以通過extern關(guān)鍵字提前引用。17、 A[解析]S(k+j)展開后為5+2*5+2值為17,T(k+j)展開后5+2*5+2*5+2*5+2值為37,所以答案選擇A。18、 C[解析]本題主要考查聯(lián)合體的內(nèi)存使用:聯(lián)合體所占用的內(nèi)存空間為最長的成員所占用的空間,int占2個字節(jié),char占1個字節(jié),float占4個字節(jié),所以arr所占的內(nèi)存長度等于成員c的長度;arr的地址和它的各成員的地址都是同一地址;不能直接對arr賦值,即不能在定義arr時對它初始化;arr也不可以作為函數(shù)參數(shù)。19、 D[解析]124的2進制值為1111100,要輸出為248即124*2,則2進制值為11111000,即右移1位,所以選D。20、 C[解析]關(guān)系模型允許3類數(shù)據(jù)約束,它們是:?實體完整性約束該約束要求關(guān)系的主鍵中屬性值不能為空值,這是數(shù)據(jù)庫完整性的最基本要求。?參照完整性約束該約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組:即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中實際存在的元組,要么就為空值。?用戶定義的完整性約束用戶定義的完整性就是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。21、B22、 B[解析]從題目中可知,'\0'、'\t'、'\\'分別為一個字符,而sizeof是求字節(jié)個數(shù)的函數(shù),其中包括'\0'占的字節(jié);strlen函數(shù)是求數(shù)組長度的函數(shù),其以'\0'結(jié)束,因此strlen的值為5,sizeof的值為20。23、 A[解析]根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后關(guān)系的復(fù)雜程度,可將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:①有且只有一個根結(jié)點;②每個結(jié)點最多有一個前驅(qū),也最多有一個后繼。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),也叫做線性表。若不滿足上述條件,則稱之為非線性結(jié)構(gòu)。線性表、棧、隊列和線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。24、 B[解析]在對數(shù)組進行初始化時,如果在說明數(shù)組時給出了長度,但沒有給所有的元素賦予初始值,那么c語言將自動對余下的元素賦初值0,則array[5]={9,1,3,4,0}。程序的執(zhí)行過程為:調(diào)用函數(shù)get_min_max(array,5),將數(shù)組array的首地址傳入函數(shù),定義結(jié)構(gòu)體變量res,并為其成員賦值。for循環(huán)查找數(shù)組array的最小值0,將其賦值給res的成員firsf,查找數(shù)組最大值9,并將其賦值給res的成員second。最后返回結(jié)構(gòu)體變量res,貝Jmin_max=res。輸出min_max.first=0,min_max.second=9。25、C26、 C[解析]本題中首先定義了一個3行2列的數(shù)組a,一個長度為3的指針數(shù)組p,接著把地址a[1]賦給p[0]此時p[0]為a[1][0]的地址,p[0]+1為a[1][1]的地址,故*(P[0]+1)代表的元素為a[1][1]。27、 B[解析]本題考查的是return語句。用戶定義的函數(shù)有兩種:一種是沒有返回值的函數(shù),函數(shù)類型必須為void;另一種是有返回值的函數(shù)。在沒有返回值的函數(shù)中可以沒有return語句,所以選項A)和C)是正確的;在沒有返回值的函數(shù)中如果有return語句,該語句必須不帶任何表達式,所以選項D)也是正確的;用戶定義的函數(shù)可以有多個return語句,但是只能返回一個函數(shù)值,所以應(yīng)該選擇B)。28、 A[解析]C語言是由函數(shù)組成的,函數(shù)是C語言的基本單位。所以可以說C語言主要是借助定義函數(shù)來實現(xiàn)程序模塊化。29、 B[解析]switch語句中,case標(biāo)號不需要是連續(xù)的,選項A錯誤;每個case語句標(biāo)號后面可以沒有break語句,此時程序會接著執(zhí)行下一個case語句,選項B正確;case標(biāo)號后必須是常量表達式,可以是整型、char型、枚舉型或常量表達式,選項C錯誤;default標(biāo)號可以出現(xiàn)在switch語句體中任何標(biāo)號位置上,選項D錯誤。故本題答案為B選項。30、 C[解析]本題說明了字符串操作類函數(shù)的返回指針特性。一些典型的字符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際商務(wù)出差意外事故責(zé)任免除合同樣本3篇
- 二零二五廠房出售買賣合同范本(智能制造)3篇
- 個人借貸擔(dān)保合同范本(2024修訂版)版B版
- 2025年琴行與音樂教育平臺合作合同
- 二零二五年度股東對子公司經(jīng)營困難提供借款合同
- 2025年度魚塘養(yǎng)殖個人承包合同(水產(chǎn)養(yǎng)殖法律法規(guī)遵循版)
- 二零二五年度辣椒產(chǎn)業(yè)綠色認證與標(biāo)準(zhǔn)體系建設(shè)合同
- 2025年度遺產(chǎn)繼承財產(chǎn)分配與子女創(chuàng)業(yè)基金合同
- 2025年度茶山承包經(jīng)營權(quán)流轉(zhuǎn)合同
- 2025年度電商件代發(fā)及售后服務(wù)保障合同協(xié)議
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫含答案解析
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復(fù)規(guī)范》
- 2025年中建六局二級子企業(yè)總經(jīng)理崗位公開招聘高頻重點提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 3-9年級信息技術(shù)(人教版、清華版)教科書資源下載
- 行為疼痛量表BPS
- 小學(xué)生必背古詩詞80首(硬筆書法田字格)
評論
0/150
提交評論