




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
江蘇計算機二級C題庫單選題100道及答案1.以下程序段的輸出結(jié)果是()inta=3;printf("%d",a++);A.3B.4C.5D.6答案:A解析:a++是先使用a的值再自增,所以輸出的是a原來的值3。2.若有定義intb[4][5];則對b數(shù)組元素的正確引用是()A.b[0][5]B.b[4][0]C.b[2][3]D.b[4][5]答案:C解析:數(shù)組下標從0開始,b數(shù)組行下標范圍是0-3,列下標范圍是0-4,只有b[2][3]符合要求。3.以下關(guān)于函數(shù)調(diào)用的說法,正確的是()A.函數(shù)調(diào)用時,實參和形參的類型可以不同,系統(tǒng)會自動轉(zhuǎn)換B.函數(shù)調(diào)用時,實參和形參的個數(shù)必須相同C.函數(shù)調(diào)用時,只能按值傳遞參數(shù)D.函數(shù)調(diào)用時,函數(shù)名必須與定義時完全一致,大小寫也不能錯答案:B解析:函數(shù)調(diào)用時實參和形參個數(shù)必須相同,類型也要匹配,C語言有按值和按地址傳遞參數(shù)兩種方式,函數(shù)名大小寫敏感。4.以下代碼執(zhí)行后,變量x的值是()intx=5;x+=x-=x*x;A.-40B.0C.25D.5答案:A解析:先計算x*x=25,然后x-=25,此時x=-20,再x+=-20,所以x=-40。5.若有定義charstr[]="hello";則str數(shù)組的長度是()A.5B.6C.7D.8答案:B解析:字符串以'\0'結(jié)尾,"hello"有5個字符,再加上結(jié)束符'\0',數(shù)組長度為6。6.以下能正確定義并初始化二維數(shù)組的是()A.inta[2][]={{1,2},{3,4}};B.inta[][2]={{1,2},{3,4}};C.inta[2][2]={{1,2},{3,4,5}};D.inta[2][2]={1,2,3,4,5};答案:B解析:二維數(shù)組定義時可以省略第一維的長度,但不能省略第二維的長度,C和D選項初始化數(shù)據(jù)與數(shù)組大小不匹配。7.以下關(guān)于for循環(huán)的說法,錯誤的是()A.for循環(huán)的初始化部分可以省略B.for循環(huán)的條件判斷部分可以省略C.for循環(huán)的循環(huán)體部分可以省略D.for循環(huán)不能嵌套使用答案:D解析:for循環(huán)的初始化、條件判斷和循環(huán)體部分都可以省略,并且for循環(huán)可以嵌套使用。8.若有定義int*p,a=10;p=&a;則以下能正確輸出a的值的是()A.printf("%d",p);B.printf("%d",*p);C.printf("%d",&p);D.printf("%d",&a);答案:B解析:p是指向a的指針,*p表示取指針p所指向的變量的值,即a的值。9.以下代碼的輸出結(jié)果是()inti=0;do{printf("%d",i);i++;}while(i<3);A.012B.0123C.123D.12答案:A解析:do-while循環(huán)先執(zhí)行循環(huán)體再判斷條件,i從0開始,每次加1,當(dāng)i=3時退出循環(huán),輸出012。10.若有定義struct{inta;charb;}s;則sizeof(s)的值是()A.2B.4C.5D.6答案:C解析:int類型通常占4個字節(jié),char類型占1個字節(jié),結(jié)構(gòu)體的大小是各成員大小之和,所以sizeof(s)=4+1=5。11.以下關(guān)于指針的說法,正確的是()A.指針只能指向變量,不能指向數(shù)組B.指針變量可以不初始化就使用C.指針可以進行加減運算D.指針的類型和它所指向的變量類型可以不同答案:C解析:指針可以指向數(shù)組,指針變量使用前最好初始化,指針的類型必須和它所指向的變量類型相同,指針可以進行加減運算。12.以下代碼的輸出結(jié)果是()inta=1,b=2;printf("%d",a>b?a:b);A.1B.2C.3D.0答案:B解析:條件運算符a>b?a:b,因為a>b不成立,所以返回b的值,即2。13.若有定義inta[10];則以下能正確輸入數(shù)組元素的是()A.scanf("%d",a);B.scanf("%d",&a);C.for(inti=0;i<10;i++)scanf("%d",a[i]);D.for(inti=0;i<10;i++)scanf("%d",&a[i]);答案:D解析:輸入數(shù)組元素需要使用元素的地址,a[i]是元素的值,&a[i]是元素的地址,選項D正確。14.以下關(guān)于函數(shù)返回值的說法,錯誤的是()A.函數(shù)可以沒有返回值B.函數(shù)的返回值類型必須和函數(shù)定義時指定的類型一致C.函數(shù)可以返回數(shù)組D.函數(shù)可以返回指針答案:C解析:函數(shù)可以沒有返回值(返回類型為void),返回值類型要和定義時一致,函數(shù)可以返回指針,但不能直接返回數(shù)組。15.以下代碼的輸出結(jié)果是()intx=10;if(x>5){if(x<15){printf("Yes");}}else{printf("No");}A.YesB.NoC.編譯錯誤D.運行錯誤答案:A解析:x=10,滿足x>5,也滿足x<15,所以輸出Yes。16.若有定義charch='A';則ch+32的值是()A.'A'B.'a'C.'B'D.'b'答案:B解析:大寫字母的ASCII碼值比對應(yīng)的小寫字母小32,'A'+32得到'a'。17.以下關(guān)于數(shù)組名的說法,正確的是()A.數(shù)組名代表數(shù)組的第一個元素B.數(shù)組名是一個常量指針,指向數(shù)組的首地址C.數(shù)組名可以進行自增自減運算D.數(shù)組名可以作為函數(shù)的返回值答案:B解析:數(shù)組名是一個常量指針,指向數(shù)組的首地址,不能進行自增自減運算,也不能作為函數(shù)的返回值,它代表整個數(shù)組。18.以下代碼的輸出結(jié)果是()inti;for(i=1;i<=5;i++){if(i%2==0)continue;printf("%d",i);}A.135B.24C.12345D.無輸出答案:A解析:當(dāng)i是偶數(shù)時,執(zhí)行continue語句,跳過本次循環(huán)的剩余部分,所以只輸出奇數(shù)135。19.若有定義int*p,a[5]={1,2,3,4,5};p=a;則*(p+2)的值是()A.1B.2C.3D.4答案:C解析:p指向數(shù)組a的首地址,p+2指向數(shù)組的第3個元素(下標為2),*(p+2)就是該元素的值3。20.以下關(guān)于結(jié)構(gòu)體的說法,錯誤的是()A.結(jié)構(gòu)體可以嵌套定義B.結(jié)構(gòu)體變量可以整體賦值C.結(jié)構(gòu)體成員可以是不同類型的數(shù)據(jù)D.結(jié)構(gòu)體的大小一定是各成員大小之和答案:D解析:結(jié)構(gòu)體存在內(nèi)存對齊,其大小不一定是各成員大小之和,結(jié)構(gòu)體可以嵌套定義,變量可以整體賦值,成員可以是不同類型。21.以下代碼的輸出結(jié)果是()inta=5;printf("%d",a&3);A.1B.2C.3D.4答案:A解析:5的二進制是101,3的二進制是011,按位與運算后結(jié)果是001,即十進制的1。22.若有定義floatf=3.14;則(int)f的值是()A.3.14B.3C.4D.0答案:B解析:(int)f是強制類型轉(zhuǎn)換,將float類型的f轉(zhuǎn)換為int類型,直接舍去小數(shù)部分,得到3。23.以下關(guān)于while循環(huán)的說法,正確的是()A.while循環(huán)的循環(huán)體至少執(zhí)行一次B.while循環(huán)的條件表達式為真時,執(zhí)行循環(huán)體C.while循環(huán)的條件表達式為假時,繼續(xù)執(zhí)行循環(huán)體D.while循環(huán)不能嵌套使用答案:B解析:while循環(huán)先判斷條件,條件為真時執(zhí)行循環(huán)體,循環(huán)體可能一次都不執(zhí)行,while循環(huán)可以嵌套使用。24.若有定義chars1[]="abc",s2[]="def";則strcmp(s1,s2)的值()A.小于0B.等于0C.大于0D.無法確定答案:A解析:strcmp函數(shù)比較兩個字符串的大小,按字典序比較,"abc"小于"def",所以返回值小于0。25.以下代碼的輸出結(jié)果是()inta=10;switch(a%3){case0:printf("0");break;case1:printf("1");break;case2:printf("2");break;}A.0B.1C.2D.無輸出答案:B解析:a%3=1,所以執(zhí)行case1的語句,輸出1。26.若有定義inta[3][4];則a[1]代表的是()A.第1行第0列元素的地址B.第1行所有元素C.第2行第0列元素的地址D.第2行所有元素答案:C解析:a[1]是二維數(shù)組a的第2行(下標從0開始)的首地址,即第2行第0列元素的地址。27.以下關(guān)于函數(shù)參數(shù)傳遞的說法,正確的是()A.按值傳遞時,函數(shù)內(nèi)部對形參的修改會影響實參B.按地址傳遞時,函數(shù)內(nèi)部對形參的修改不會影響實參C.按值傳遞和按地址傳遞都可以實現(xiàn)函數(shù)間的數(shù)據(jù)交換D.按地址傳遞時,實參和形參必須是指針類型答案:C解析:按值傳遞時形參修改不影響實參,按地址傳遞時形參修改會影響實參,二者都可實現(xiàn)數(shù)據(jù)交換,按地址傳遞時實參可以是數(shù)組名等。28.以下代碼的輸出結(jié)果是()inti=0;while(i++<3){printf("%d",i);}A.123B.012C.1234D.0123答案:A解析:i++是先使用i的值再自增,第一次循環(huán)i=0,判斷0<3成立,然后i自增為1,輸出1,以此類推,輸出123。29.若有定義int*p,a=5;p=&a;則p++后p指向的地址()A.不變B.增加1個字節(jié)C.增加4個字節(jié)(假設(shè)int占4字節(jié))D.無法確定答案:C解析:指針p自增后,會根據(jù)其指向的數(shù)據(jù)類型的大小移動地址,int類型通常占4個字節(jié),所以增加4個字節(jié)。30.以下關(guān)于字符串處理函數(shù)的說法,錯誤的是()A.strlen函數(shù)返回字符串的長度,不包括結(jié)束符'\0'B.strcpy函數(shù)可以將一個字符串復(fù)制到另一個字符串中C.strcat函數(shù)可以將兩個字符串連接起來D.strcmp函數(shù)比較兩個字符串時,是比較字符串的長度答案:D解析:strcmp函數(shù)是按字典序比較兩個字符串,不是比較長度。31.以下代碼的輸出結(jié)果是()inta=2,b=3;printf("%d",a|b);A.2B.3C.5D.0答案:C解析:2的二進制是010,3的二進制是011,按位或運算后結(jié)果是011,即十進制的5。32.若有定義doubled=3.14159;則(int)(d+0.5)的值是()A.3B.4C.3.14159D.0答案:B解析:d+0.5=3.64159,強制轉(zhuǎn)換為int類型,舍去小數(shù)部分得到4。33.以下關(guān)于for循環(huán)和while循環(huán)的說法,正確的是()A.for循環(huán)和while循環(huán)可以相互轉(zhuǎn)換B.for循環(huán)的效率一定比while循環(huán)高C.while循環(huán)不能實現(xiàn)嵌套D.for循環(huán)的循環(huán)體不能為空答案:A解析:for循環(huán)和while循環(huán)可以相互轉(zhuǎn)換,效率取決于具體情況,while循環(huán)可以嵌套,for循環(huán)的循環(huán)體可以為空。34.若有定義chars[]="hello";則strlen(s)和sizeof(s)的值分別是()A.5,5B.5,6C.6,5D.6,6答案:B解析:strlen返回字符串長度不包括'\0',為5,sizeof計算數(shù)組大小,包括'\0',為6。35.以下代碼的輸出結(jié)果是()inta=10;if(a>5){if(a<8){printf("Yes");}else{printf("No");}}A.YesB.NoC.無輸出D.編譯錯誤答案:B解析:a=10,滿足a>5,但不滿足a<8,所以執(zhí)行else部分,輸出No。36.若有定義inta[10],*p=a;則p+5指向的是()A.數(shù)組a的第5個元素B.數(shù)組a的第6個元素C.數(shù)組a的第5個元素的地址D.數(shù)組a的第6個元素的地址答案:D解析:指針p指向數(shù)組a的首地址,p+5指向數(shù)組的第6個元素(下標為5)的地址。37.以下關(guān)于函數(shù)的說法,正確的是()A.函數(shù)可以在定義之前調(diào)用B.函數(shù)的定義可以嵌套C.函數(shù)的聲明可以省略D.函數(shù)的返回值只能是基本數(shù)據(jù)類型答案:A解析:函數(shù)可以在定義之前聲明并調(diào)用,函數(shù)定義不能嵌套,函數(shù)聲明一般不能省略,返回值可以是結(jié)構(gòu)體等非基本數(shù)據(jù)類型。38.以下代碼的輸出結(jié)果是()inti;for(i=5;i>0;i--){if(i==3)break;printf("%d",i);}A.54B.543C.54321D.無輸出答案:A解析:當(dāng)i=3時,執(zhí)行break語句,跳出循環(huán),所以只輸出54。39.若有定義struct{intx;inty;}s={1,2};則以下能正確訪問s中成員x的值的是()A.s.xB.s[x]C.xD.*s.x答案:A解析:對于結(jié)構(gòu)體變量,使用“.”運算符來訪問其成員,所以訪問s的成員x應(yīng)使用s.x。40.以下代碼的輸出結(jié)果是()inta=5,b=3;printf("%d",a^b);A.2B.3C.5D.8答案:A解析:5的二進制是101,3的二進制是011,按位異或運算后結(jié)果是110,即十進制的2。41.若有定義intarr[3][2]={{1,2},{3,4},{5,6}};則arr[1][1]的值是()A.2B.3C.4D.5答案:C解析:二維數(shù)組arr中,arr[1][1]表示第2行(下標從0開始)第2列的元素,值為4。42.以下關(guān)于do-while循環(huán)的說法,錯誤的是()A.do-while循環(huán)先執(zhí)行循環(huán)體,再判斷條件B.do-while循環(huán)的循環(huán)體至少執(zhí)行一次C.do-while循環(huán)的條件表達式為假時,不會再執(zhí)行循環(huán)體D.do-while循環(huán)不能和其他循環(huán)嵌套使用答案:D解析:do-while循環(huán)可以和其他循環(huán)(如for、while)嵌套使用,A、B、C選項說法均正確。43.若有定義char*str="world";則str指向的是()A.字符'w'B.字符串"world"的首地址C.字符數(shù)組D.一個空指針答案:B解析:定義字符指針str并初始化為字符串常量"world",str指向該字符串的首地址。44.以下代碼的輸出結(jié)果是()inta=10;switch(a/3){case2:printf("2");break;case3:printf("3");break;case4:printf("4");break;}A.2B.3C.4D.無輸出答案:B解析:a/3=3(取整),所以執(zhí)行case3的語句,輸出3。45.若有定義int*p,arr[5]={1,3,5,7,9};p=arr+2;則*p的值是()A.1B.3C.5D.7答案:C解析:p=arr+2使p指向數(shù)組arr的第3個元素(下標為2),*p就是該元素的值5。46.以下關(guān)于函數(shù)遞歸調(diào)用的說法,正確的是()A.遞歸調(diào)用一定會導(dǎo)致棧溢出B.遞歸調(diào)用必須有終止條件C.遞歸調(diào)用只能使用在簡單問題上D.遞歸調(diào)用的效率一定比迭代高答案:B解析:遞歸調(diào)用必須有終止條件,否則會無限遞歸導(dǎo)致棧溢出;遞歸調(diào)用可用于復(fù)雜問題;遞歸調(diào)用效率不一定比迭代高。47.以下代碼的輸出結(jié)果是()inti;for(i=0;i<3;i++){if(i%2==1){continue;}printf("%d",i);}A.012B.02C.1D.無輸出答案:B解析:當(dāng)i為奇數(shù)時,執(zhí)行continue語句跳過本次循環(huán)剩余部分,所以只輸出偶數(shù)0和2。48.若有定義structPerson{charname[20];intage;}person;則給person的age成員賦值為20的正確語句是()A.person.age=20;B.person[age]=20;C.age=20;D.*person.age=20;答案:A解析:使用“.”運算符給結(jié)構(gòu)體成員賦值,所以給person的age成員賦值為20應(yīng)使用person.age=20。49.以下代碼的輸出結(jié)果是()inta=3,b=4;printf("%d",a&&b);A.0B.1C.3D.4答案:B解析:邏輯與運算符&&,只要兩個操作數(shù)都非零,結(jié)果就為1,a和b都非零,所以輸出1。50.若有定義floatnum=3.6;則(int)num+1的值是()A.3.6B.4.6C.4D.5答案:C解析:(int)num將num強制轉(zhuǎn)換為int類型,舍去小數(shù)部分得到3,再加上1結(jié)果為4。51.以下關(guān)于while和do-while循環(huán)的區(qū)別,說法正確的是()A.while循環(huán)先判斷條件,do-while循環(huán)先執(zhí)行循環(huán)體B.while循環(huán)的循環(huán)體至少執(zhí)行一次,do-while循環(huán)不一定C.while循環(huán)不能嵌套,do-while循環(huán)可以嵌套D.while循環(huán)和do-while循環(huán)的效率一樣答案:A解析:while循環(huán)先判斷條件,條件為真才執(zhí)行循環(huán)體;do-while循環(huán)先執(zhí)行循環(huán)體,再判斷條件,循環(huán)體至少執(zhí)行一次。二者都可以嵌套,效率取決于具體情況。52.若有定義chars1[10]="abc",s2[10]="def";strcat(s1,s2);則s1的值是()A."abc"B."def"C."abcdef"D."defabc"答案:C解析:strcat函數(shù)用于將s2連接到s1后面,所以s1變?yōu)?abcdef"。53.以下代碼的輸出結(jié)果是()inta=5;if(a>3){if(a<7){printf("OK");}}A.OKB.無輸出C.編譯錯誤D.運行錯誤答案:A解析:a=5,滿足a>3且滿足a<7,所以輸出OK。54.若有定義intarr[4]={1,2,3,4},*p=arr;則*(p+3)的值是()A.1B.2C.3D.4答案:D解析:p指向數(shù)組arr的首地址,p+3指向數(shù)組的第4個元素(下標為3),*(p+3)就是該元素的值4。55.以下關(guān)于函數(shù)重載(C語言不支持)的類似概念(函數(shù)不同參數(shù)形式)的說法,錯誤的是()A.可以通過不同的參數(shù)個數(shù)來區(qū)分函數(shù)B.可以通過不同的參數(shù)類型來區(qū)分函數(shù)C.C語言中可以像C++一樣直接使用函數(shù)重載D.不同的參數(shù)順序也可以區(qū)分函數(shù)答案:C解析:C語言不支持函數(shù)重載,不能像C++一樣通過不同參數(shù)個數(shù)、類型、順序來定義同名函數(shù)。56.以下代碼的輸出結(jié)果是()inti;for(i=1;i<=5;i+=2){printf("%d",i);}A.12345B.135C.24D.無輸出答案:B解析:i從1開始,每次增加2,直到i>5停止,輸出135。57.若有定義struct{intm;floatn;}s;sizeof(s)的值可能是()(假設(shè)int占4字節(jié),float占4字節(jié))A.4B.6C.8D.10答案:C解析:結(jié)構(gòu)體成員intm占4字節(jié),floatn占4字節(jié),結(jié)構(gòu)體大小為成員大小之和,即8字節(jié)。58.以下代碼的輸出結(jié)果是()inta=2,b=1;printf("%d",a<<b);A.2B.4C.8D.1答案:B解析:左移運算符a<<b表示將a的二進制位向左移動b位,2的二進制是10,左移1位后是100,即十進制的4。59.若有定義intarr[2][3]={{1,2,3},{4,5,6}};則arr[0][2]的值是()A.1B.2C.3D.4答案:C解析:arr[0][2]表示二維數(shù)組arr第1行(下標從0開始)第3列的元素,值為3。60.以下關(guān)于for循環(huán)的初始化、條件判斷和循環(huán)體部分,說法正確的是()A.初始化部分只能初始化一個變量B.條件判斷部分只能是一個簡單的關(guān)系表達式C.循環(huán)體部分可以是多條語句,用花括號括起來D.這三部分都不能省略答案:C解析:初始化部分可初始化多個變量;條件判斷部分可以是復(fù)雜表達式;這三部分都可以省略;循環(huán)體部分若有多條語句需用花括號括起來。61.若有定義char*str="hello";則strlen(str)的值是()A.5B.6C.7D.無法確定答案:A解析:strlen函數(shù)返回字符串的長度,不包括結(jié)束符'\0',"hello"長度為5。62.以下代碼的輸出結(jié)果是()inta=10;switch(a%4){case0:printf("0");break;case1:printf("1");break;case2:printf("2");break;case3:printf("3");break;}A.0B.1C.2D.3答案:C解析:a%4=2,所以執(zhí)行case2的語句,輸出2。63.若有定義int*p,arr[6]={1,3,5,7,9,11};p=arr+4;則*(p-2)的值是()A.1B.3C.5D.7答案:C解析:p指向數(shù)組arr的第5個元素(下標為4),p-2指向第3個元素(下標為2),*(p-2)就是該元素的值5。64.以下關(guān)于遞歸函數(shù)的終止條件,說法錯誤的是()A.終止條件是遞歸函數(shù)必須有的B.終止條件可以是多個C.終止條件不影響遞歸函數(shù)的正確性D.沒有終止條件會導(dǎo)致棧溢出答案:C解析:終止條件是遞歸函數(shù)必須有的,可多個,沒有終止條件會無限遞歸導(dǎo)致棧溢出,且終止條件影響遞歸函數(shù)的正確性。65.以下代碼的輸出結(jié)果是()inti;for(i=3;i>0;i--){if(i==2){break;}printf("%d",i);}A.321B.3C.32D.無輸出答案:B解析:當(dāng)i=2時,執(zhí)行break語句跳出循環(huán),所以只輸出3。66.若有定義structBook{chartitle[30];intprice;}book;則給book的title成員賦值為"CProgramming"的正確語句是()A.book.title="CProgramming";B.strcpy(book.title,"CProgramming");C.book[title]="CProgramming";D.*book.title="CProgramming";答案:B解析:數(shù)組名不能直接賦值,應(yīng)使用strcpy函數(shù)將字符串復(fù)制到數(shù)組中。67.以下代碼的輸出結(jié)果是()inta=4,b=5;printf("%d",a||b);A.0B.1C.4D.5答案:B解析:邏輯或運算符||,只要兩個操作數(shù)中有一個非零,結(jié)果就為1,a和b都非零,所以輸出1。68.若有定義doubled=2.7;則(int)(d-0.5)的值是()A.2.7B.2.2C.2D.3答案:C解析:d-0.5=2.2,強制轉(zhuǎn)換為int類型,舍去小數(shù)部分得到2。69.以下關(guān)于while循環(huán)和for循環(huán)的轉(zhuǎn)換,說法正確的是()A.所有的while循環(huán)都能轉(zhuǎn)換為for循環(huán)B.只有簡單的while循環(huán)能轉(zhuǎn)換為for循環(huán)C.for循環(huán)不能轉(zhuǎn)換為while循環(huán)D.轉(zhuǎn)換后循環(huán)的效率一定會提高答案:A解析:所有的while循環(huán)都能轉(zhuǎn)換為for循環(huán),反之亦然,轉(zhuǎn)換后效率不一定提高。70.若有定義chars1[20]="abc",s2[20]="def";strcpy(s1,s2);則s1的值是()A."abc"B."def"C."abcdef"D."defabc"答案:B解析:strcpy函數(shù)用于將s2復(fù)制到s1中,覆蓋s1原來的內(nèi)容,所以s1變?yōu)?def"。71.以下代碼的輸出結(jié)果是()inta=6;if(a>4){if(a<8){if(a%2==0){printf("Right");}}}A.RightB.無輸出C.編譯錯誤D.運行錯誤答案:A解析:a=6,滿足a>4,a<8且a%2==0,所以輸出Right。72.若有定義intarr[5]={10,20,30,40,50},*p=arr+1;則*(p+2)的值是()A.10B.20C.30D.40答案:D解析:p指向數(shù)組arr的第2個元素(下標為1),p+2指向第4個元素(下標為3),*(p+2)就是該元素的值40。73.以下關(guān)于函數(shù)的參數(shù)傳遞方式,說法正確的是()A.按值傳遞時,函數(shù)內(nèi)部修改形參不會影響實參B.按地址傳遞時,函數(shù)內(nèi)部修改形參不會影響實參C.按值傳遞和按地址傳遞都不能改變實參的值D.按地址傳遞只能傳遞指針類型的實參答案:A解析:按值傳遞時,形參是實參的副本,修改形參不影響實參;按地址傳遞時,形參修改會影響實參;按地址傳遞實參可以是數(shù)組名等。74.以下代碼的輸出結(jié)果是()inti;for(i=0;i<4;i++){if(i%2==0){continue;}printf("%d",i);}A.0123B.13C.02D.無輸出答案:B解析:當(dāng)i為偶數(shù)時,執(zhí)行continue語句跳過本次循環(huán)剩余部分,所以只輸出奇數(shù)1和3。75.若有定義struct{intid;charname[15];}student;sizeof(student)的值可能是()(假設(shè)int占4字節(jié))A.4B.15C.19D.20答案:D解析:考慮內(nèi)存對齊,intid占4字節(jié),charname[15]占15字節(jié),總共可能為20字節(jié)。76.以下代碼的輸出結(jié)果是()inta=3,b=2;printf("%d",a>>b);A.0B.1C.3D.2答案:A解析:右移運算符a>>b表示將a的二進制位向右移動b位3,二進制是11,右移2位后是0,所以輸出0。77.若有定義intarr[3][3]={{1,2,3},{4,5,6},{7,8,9}};則arr[2][1]的值是()A.7B.8C.9D.6答案:B解析:在二維數(shù)組arr中,arr[2][1]代表第3行(下標從0開始)第2列的元素,其值為8。78.以下關(guān)于循環(huán)嵌套的說法,錯誤的是()A.可以在for循環(huán)中嵌套while循環(huán)B.嵌套循環(huán)的層數(shù)沒有限制,但層數(shù)過多會影響性能C.嵌套循環(huán)中內(nèi)層循環(huán)執(zhí)行次數(shù)等于內(nèi)外層循環(huán)次數(shù)之和D.嵌套循環(huán)可以實現(xiàn)復(fù)雜的算法邏輯答案:C解析:嵌套循環(huán)中內(nèi)層循環(huán)執(zhí)行次數(shù)等于內(nèi)外層循環(huán)次數(shù)之積,而不是之和,A、B、D選項說法正確。79.若有定義char*s="example";則s[3]的值是()A.'e'B.'x'C.'a'D.'m'答案:D解析:字符指針s指向字符串"example",s[3]表示該字符串中第4個字符(下標從0開始),即'm'。80.以下代碼的輸出結(jié)果是()inta=8;switch(a/2){case3:printf("Three");break;case4:printf("Four");break;case5:printf("Five");break;}A.ThreeB.FourC.FiveD.無輸出答案:B解析:a/2=4,所以執(zhí)行case4的語句,輸出Four。81.若有定義int*p,arr[8]={2,4,6,8,10,12,14,16};p=arr+5;則*p的值是()A.10B.12C.14D.16答案:B解析:p指向數(shù)組arr的第6個元素(下標為5),*p就是該元素的值12。82.以下關(guān)于函數(shù)遞歸和迭代的說法,正確的是()A.遞歸一定比迭代更節(jié)省內(nèi)存B.迭代是通過重復(fù)執(zhí)行一系列步驟來解決問題,遞歸是函數(shù)調(diào)用自身C.所有問題都適合用遞歸解決D.遞歸函數(shù)不需要終止條件答案:B解析:迭代是重復(fù)執(zhí)行步驟解決問題,遞歸是函數(shù)調(diào)用自身;遞歸不一定更節(jié)省內(nèi)存,也不是所有問題都適合用遞歸,遞歸函數(shù)必須有終止條件。83.以下代碼的輸出結(jié)果是()inti;for(i=4;i>=1;i--){if(i==3){continue;}printf("%d",i);}A.4321B.421C.432D.無輸出答案:B解析:當(dāng)i=3時,執(zhí)行continue語句跳過本次循環(huán)剩余部分,所以輸出421。84.若有定義structRectangle{intlength;intwidth;}rect;則計算矩形面積的正確表達式是()A.rect.length*rect.widthB.rect[length]*rect[width]C.length*widthD.*rect.length**rect.width答案:A解析:使用“.”運算符訪問結(jié)構(gòu)體成員,計算矩形面積為rect.length*rect.width。85.以下代碼的輸出結(jié)果是()inta=7,b=8;printf("%d",a&b);A.0B.7C.8D.6答案:D解析:7的二進制是111,8的二進制是1000,按位與運算后結(jié)果是0110,即十進制的6。86.若有定義floatf=5.8;則(int)(f+1.2)的值是()A.5.8B.7C.7.2D.8答案:B解析:f+1.2=7,強制轉(zhuǎn)換為int類型,結(jié)果為7。87.以下關(guān)于for循環(huán)和do-while循環(huán)的共同點,說法正確的是()A.都需要初始化變量B.循環(huán)體至少執(zhí)行一次C.都不能嵌套使用D.條件判斷部分都在循環(huán)體之后答案:A解析:for循環(huán)和do-while循環(huán)一般都需要初始化變量;do-while循環(huán)體至少執(zhí)行一次,for循環(huán)不一定;二者都可以嵌套使用;for循環(huán)條件判斷在循環(huán)體之前。88.若有定義chars1[15]="abc",s2[15]="def";strncat(s1,s2,2);則s1的值是()A."abc"B."abcde"C."abcdef"D."defabc"答案:B解析:strncat函數(shù)將s2的前2個字符連接到s1后面,所以s1變?yōu)?abcde"。89.以下代碼的輸出結(jié)果是()inta=9;if(a>6){if(a<12){if(a%3==0){printf("Valid");}}}A.ValidB.無輸出C.編譯錯誤D.運行錯誤答案:A解析:a=9,滿足a>6,a<12且a%3==0,所以輸出Valid。90.若有定義intarr[7]={3,6,9,12,15,18,21},*p=arr+3;則*(p-1)的值是()A.3B.6C.9D.12答案:C解析:p指向數(shù)組arr的第4個元素(下標為3),p-1指向第3個元素(下標為2),*(p-1)就是該元素的值9。91.以下關(guān)于函數(shù)參數(shù)默認值(C語言不支持)的類似概念(函數(shù)參數(shù)處理),說法錯誤的是()A.C語言可以通過函數(shù)重載實現(xiàn)參數(shù)默認值功能B.可以在函數(shù)內(nèi)部對參數(shù)進行默認值處理C.不同的參數(shù)設(shè)置方式可以實現(xiàn)不同的功能D.參數(shù)的處理要考慮函數(shù)的實際需求答案:A解析:C語言不支持函數(shù)重載,不能通過函數(shù)重載實現(xiàn)參數(shù)默認值功能,B、C
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年委托社保代繳協(xié)議
- 保山學(xué)院《音樂基礎(chǔ)理論2》2023-2024學(xué)年第二學(xué)期期末試卷
- 包頭職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)微生物與寄生蟲學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025至2031年中國藍加黑大斜紋牛仔布行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國膠印油墨行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國純YAG晶體行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國球根海棠種苗行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國煙溫復(fù)合探測器行業(yè)投資前景及策略咨詢研究報告
- 白城醫(yī)學(xué)高等??茖W(xué)?!稜I銷專業(yè)實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 網(wǎng)狀脈網(wǎng)絡(luò)智能優(yōu)化算法-洞察闡釋
- 2025年山西文旅集團招聘筆試參考題庫含答案解析
- 品管圈PDCA獲獎案例提高護士對患者身份識別和查對制度的正確率
- 鹽酸裝卸車操作規(guī)程(3篇)
- 業(yè)主自治組織運作研究-洞察分析
- 零售連鎖店標準化運營手冊
- 2024年國家電網(wǎng)招聘之電工類考試題庫附答案(滿分必刷)
- TDT10722022國土調(diào)查坡度分級圖制作技術(shù)規(guī)定
- 三年級語文下冊 期末復(fù)習(xí)非連續(xù)文本閱讀專項訓(xùn)練(五)(含答案)(部編版)
- 多聯(lián)機投標技術(shù)標-空調(diào)設(shè)備供貨及安裝工程投標書
- 離婚協(xié)議書(直接打印完整版)
- 學(xué)校食堂食品召回制度
評論
0/150
提交評論