浙江科技學院計算機C語言專升本題庫及答案_第1頁
浙江科技學院計算機C語言專升本題庫及答案_第2頁
浙江科技學院計算機C語言專升本題庫及答案_第3頁
浙江科技學院計算機C語言專升本題庫及答案_第4頁
浙江科技學院計算機C語言專升本題庫及答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2/2計算機C語言專升本題庫(總分100分,考試時長60分鐘)一、單項選擇題(每小題2分,共100分)1、下列說法正確的是________。 A、在c語言中,可以使用動態(tài)內(nèi)存分配技術定義元素個數(shù)可變的數(shù)組 B、在C語言中,數(shù)組元素的個數(shù)可以不確定,允許隨機變動 C、在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致 D、在C語言中,定義一個數(shù)組后,就確定了它所容納的元素的個數(shù)2、下列兩條語句"

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

"執(zhí)行后變量c3的值是________。 A、0 B、0.5 C、1 D、23、以下描述正確的是________。 A、goto語句只能用于退出多層循環(huán)。 B、switch語句中不能出現(xiàn)continue語句。 C、只能用continue語句來中止本次循環(huán)。 D、在循環(huán)中break語句不能獨立出現(xiàn)。4、包含哪種語句的函數(shù)不能聲明為內(nèi)聯(lián)函數(shù)() A、變量定義 B、if……else C、位操作 D、switch5、若有以下說明和語句:

structst

{

intn;

char*ch;

}

;

structsta[3]

{

5,"abc",7,"def",9,"ghk"

}

,*p=a則值為6的表達式是______。 A、p++->n B、p->n++ C、(*.n++ D、++p->n6、在下列選項中,不正確的表達式是________。 A、a>b B、c--,++b,a+=1 C、a=c+b>n-m=k D、p++7、設矩陣a是一個n×n對稱矩陣.即a[i,j]=a[i,j],為了節(jié)省存儲空間,將其下三角部分按行序為主序存放在一維數(shù)b[1...n(n+1)/2]中,對任一下三角元素aij(i≥j),在一維數(shù)組b的下標位置k的值是______。 A、(i+(i-1))/2+j-1 B、i(i-1)/2+j C、i(i+1)/2+j-1 D、i(i+1)/2+j8、下列正確的標識符是________。 A、_do B、6a C、%y D、a+b9、以下程序:

#include<stdio.h>

main(){

charstr[10];

scanf("%s",&str);

printf("%s\n",str);

}

運行上面的程序,輸入字符串howareyou,則程序的執(zhí)行結果是________。 A、how B、howareyou C、h D、howareyou10、設整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c>d)后,m,n的值是________。 A、0,0 B、0,1 C、1,0 D、1,111、有以下程序:

voidswap1(intc0[],intc1[])

{

intt;

t=c0[0];

c0[0]=c1[0];

c1[0]=t;

}

voidswap2(int*c0,int*c1)

{

intt;

t=*c0;

*c0=*c1;

*c1=t;

}

main()

{

inta[2]={3,5},b[2]={3,5};

swap1(a,a+1);

swap2(&b[0],&b[1]);

printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);

}

程序運行后的輸出結果是______。 A、3553 B、5335 C、3535 D、535312、在一介c源程序文件中,要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使削的存儲類別是________。 A、auto B、register C、extern D、static13、有語句:inta[10];則對指針變量p的正確定義和初始化。 A、intp=*a; B、int*p=a; C、intp=&a; D、int*p=&a;14、下列程序的運行結果是________。

#include<stdio.h>

voidsub(int*s,int*y){

staticintm=4;

*y=s[0];

m++;

}

voidmain(){

inta[]=1,2,3,4,5,k;

intx;

printf("\n");

for(k=0;k<=4;k++)

{

sub(a,&x);

printf("%d,",x);

}

} A、1,1,1,1,1, B、1,2,3,4,5, C、0,0,0,0,0, D、4,4,4,4,4,15、下列敘述中正確的是________。 A、每個C程序文件中都必須要有一個main()函數(shù) B、在C程序中main()函數(shù)的位置是固定的 C、C程序中所有函數(shù)之間都可以:相互調(diào)用,與函數(shù)所處位置無關 D、在C程序的函數(shù)中不能定義另一個函數(shù)16、若a和b均是整型變量并已正確賦值,正確的switch語句是________。 A、15 B、50 C、55 D、517、設有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是________。 A、scanf(“%d”,pa); B、scanf(“%d”,a); C、scanf(“%d”,&pa); D、scanf(“%d”,*pa);18、有以下程序

#include<stdio.h>

#include<stdlib.h>

intfun(intn)

{

int*p;

p=(int*)malloc(sizeof(int));

*p=n;

return*p;

}

main()

{

inta;

a=fun(10);

printf("%d\n",a+fun(10));

}

程序的運行結果是______。 A、0 B、10 C、20 D、出錯19、下列程序段的功能是________。計算數(shù)組x中相鄰兩個元素的和,依次存放到a數(shù)組中,然后輸出a數(shù)組。程序段中待填空的(1)和(2)的正確選項是________。inti;

inta[9],x[10];

for(i=0;i<10;i++)

{

scanf("%d",&x[i]);

}

for((1);i<10;i++)

{

/*此處待填空(1)*/a[i-1]=x[i]+(2);

/*此處待填空(2)*/

}

for(i=0;i<9;i++)

{

printf("%d",a[i]);

}

printf("\n"); A、(1)i=1(2)x[i+1] B、(1)i=0(2)x[i-1] C、(1)i=1(2)x[i-1] D、(1)i=0(2)x[i+1]20、有以下程序

structstu

{

charnum[10];

floatscore[3];

};

main()

{

structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;

inti;

floatsum=0;

p=s+2;

for(i=0;i<3;i++)sum=sum+p->score[i];

printf("%6.2f\n",sum);

}

程序運行后的輸出結果是________。 A、250.00 B、250 C、285.00 D、28521、以下敘述中正確的是()。 A、C語言的源程序不必通過編譯就可以直接運行 B、C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令 C、C源程序經(jīng)編譯形成的二進制代碼可以直接運行 D、C語言中的函數(shù)不可以單獨進行編譯22、在c語言中,能表示無符號長整型常數(shù)的是________。 A、OL B、4962710U C、912374u D、2UL23、c語言中,若未說明函數(shù)的類型,則系統(tǒng)默認該函數(shù)的類型是__________。 A、float型 B、long型 C、int型 D、double型24、C語言中while和do—while循環(huán)的主要區(qū)別是 A、While的循環(huán)控制條件比do—while的循環(huán)控制條件嚴格 B、do—while的循環(huán)體至少無條件執(zhí)行一次 C、do—while允許從外部轉(zhuǎn)到循環(huán)體內(nèi) D、do—while循環(huán)體不能是復合語句25、有以下程序段

typedefstructnode

{

intdata;

structnode*next;

}

*node;

nodep;

以下敘述中正確的是________。 A、p是指向structnode結構變量的指針的指針 B、NODEp;語句出錯 C、p是指向structnode結構變量的指針 D、p是structnode結構變量26、按照標識符的要求,下列選項中,()符號不能組成標識符。 A、連接符 B、下劃線 C、大小寫字母 D、數(shù)字字符27、以下敘述中正確的是________。 A、使用typedef定義新類型名后,新類型名與原類型名實際上是等價的 B、結構體類型中的各個成分均不能是數(shù)組或指針 C、結構體類型的變量,不能在聲明結構體類型組成時一起定義 D、元素為結構體類型的數(shù)組,只能在聲明過結構體類型之后,單獨進行定義28、以下敘述中正確的是________。 A、邏輯"或”(即運算符||)的運算級別比算術運算要高 B、C語言的關系表達式:0<x<10完全等價于:(0<x)&&(x<10) C、邏輯"非”(即運算符!)的運算級別是最低的 D、由&&構成的邏輯表達式與由||構成的邏輯表達式都有“短路”現(xiàn)象29、設有說明語句如下:staticcharstr[]="beijing";若執(zhí)行下列輸出語句:printf("%d\n",strlen(strcpy(str,"china")));

則輸出結果為________。 A、5 B、7 C、12 D、1430、c語言可執(zhí)行程序從什么地方開始執(zhí)行?() A、程序中第一條可執(zhí)行語句 B、程序中第一個函數(shù) C、程序中的main()函數(shù) D、包含文件中的第一個函數(shù)31、在c語言中,main函數(shù)默認返回一個()類型的值。 A、int B、float C、char D、void32、下列描述說明正確的是________。 A、定義結構體時,它的每個成員的數(shù)據(jù)類型可以不同 B、不同結構體的成員名不能相同 C、結構體定義時,其成員的數(shù)據(jù)類型不能是結構體本身 D、結構體定義時各成員項之間可用分號也可用逗號隔開33、已知p,p1為指針變量,a為數(shù)組名,j為整型變量,下列賦值語句中不正確的是________。 A、p=&j,p=p1; B、p=a; C、p=&a[j]; D、p=10;34、有以下結構體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把結點b連接到結點a之后的語句是________。

structnode

{

chardata;

structnode*next;

}

a,b,*p=&a,*q=&b; A、3475 B、3574 C、1234 D、123535、以下語句的輸出結果是________。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%d\n",k,a,b); A、1,0,4 B、1,0,3 C、0,0,3 D、0,0,436、下列關于do…while語句的敘述中正確的是________。 A、do…while語句所構成的循環(huán)不能用其他語句構成的循環(huán)來代替 B、do…while語句所構成的循環(huán)只能用break語句跳出 C、do…while語句所構成的循環(huán)只有在while后面的表達式非零時才結束 D、do…while語句所構成的循環(huán)只有在while后面的表達式為零時才結束37、對于函數(shù)聲明voidfun(inta[1],int*b);以下敘述中正確的是________。 A、函數(shù)參數(shù)A,b都是指針變量 B、有語法錯誤,數(shù)組a的大小不能為1 C、調(diào)用該函數(shù)后,實參變量所指向的內(nèi)存單元的值肯定不會受影響 D、調(diào)用該函數(shù)時,a的值是從對應實參復制過來的,b的值是對應實參變量的地址38、有以下程序:

main()

{

intx=10,y;

if(x<20)y=100;

if(x>4)y=55/x;

elsey=10;

printf("%d\n",y);

}

則輸出結果是________。 A、100 B、5)5 C、10 D、539、下列選項中不屬于c語言的數(shù)據(jù)類型是________。 A、復數(shù)型 B、邏輯型 C、雙精度型 D、集合型40、有如下定義

structperson

{

charname[9];

intage;

}

;

structpersonclass[10]={"john",17,"paul",19,"mary",18,"adam",16};

根據(jù)上述定義,能輸出字母a的語句是______。 A、printf("%c\n",class[3].name); B、printf("%c\n",class[3].name[0]); C、printf("%c\n",class[4].name[1]); D、printf("%c\n",class[4].name[0]);41、以下敘述正確的是________。 A、在C程序中,主函數(shù)必須位于程序的最前面 B、在C程序中,一行只能寫一條語句 C、C程序的基本結構是程序行 D、C語句是完成某種程序功能的最小單位42、經(jīng)過以下語句定義后,表達式z+=x>y?++x:++y的值為________。

intx=1,y=2,z=3; A、2 B、3 C、6 D、543、有以下程序:

main()

{

inta=3,b=4,c=5,d=2;

if(a>b)if(b>c)printf("%d",d+++1);

elseprintf("%d",++d+1);

printf("%d\n",d);

}

程序運行后的輸出結果是______。 A、2 B、3 C、43 D、4444、有以下程序

#include<stdio.h>

main()

{

intx=1,y=0,a=0,b=0;

switch(x)

{

case1:switch(y)

{

case0:a++;

break;

case1:b++;

break;

}

case2:a++;

b++;

break;

case3:a++;

b++;

}

printf("a=%d,b=%d\n",a,b);

}

程序的運行結果是________。 A、a=1,b=0 B、a=2,b=2 C、a=1,b=1 D、a=2,b=145、請讀程序:

main()

{

char*p;

chars[80];

scanf(""%s"",s);

p=s[0];

printf(""%s"",p);

}

請判斷上面程序選出正確答案是________。 A、"錯誤:p=s[0];正確:p=*s;" B、"錯誤:p=s[0];正確:p=s[];" C、"錯誤:p=s[0];正確:p=s;" D、"錯誤:p=s[0];正確:p=&s;"46、若有chara[80],*s=a;不正確的輸入語句是________。 A、scanf("%s",s); B、gets(s); C、fscanf(stdin,"%c",s); D、fgets(s,80,stdin);47、假定a為一個整型數(shù)組名,則元素a[4]的字節(jié)地址為 A、a+4 B、a+8 C、a+16 D、a+3248、下列關于boolean類型的敘述中,正確的是________。 A、可以將boolean類型的數(shù)值轉(zhuǎn)換為int類型的數(shù)值 B、可以將boolean類型的數(shù)值轉(zhuǎn)換為字符串 C、可以將boolean類型的數(shù)值轉(zhuǎn)換為char類型的數(shù)值 D、不能將boolean類型的數(shù)值轉(zhuǎn)換為其他基本數(shù)據(jù)類型49、若有定義語句:chars[10]="1234567\0\0";則strlen(s)的值是________。 A、7 B、8 C、9 D、1050、已知函數(shù)fread.的調(diào)用形式為fread(buffer,size,count,fp);,其中buffer代表的是________。 A、存放讀入數(shù)據(jù)項的存儲區(qū) B、一個指向所讀文件的文件指針 C、一個指針,是指向輸入數(shù)據(jù)存放在內(nèi)存中的起始地址 D、一個整型變量,代表要讀入的數(shù)據(jù)項總數(shù)

參考答案一、單項選擇題1、D2、A3、C4、D【解析】主要考查的知識點為內(nèi)聯(lián)函數(shù)。

[要點透析]C中,含有循環(huán)語句、switch語句的函數(shù)不能說明為內(nèi)聯(lián)函數(shù)。5、D【解析】根據(jù)結構變量的存儲特點,p+1意味著增加地址值為結構體數(shù)組a的一個元素所占的字節(jié)數(shù),即p++使p由a[0]指向a[1]起始地址。本題++p->n得到p指向的結構體變量中成員n的值使之加1。因為p指向數(shù)組a起始地址,p->n的值為5,再執(zhí)行自加1運行,結果為6。6、C7、B【解析】aij元素處在第i行第j列位置。上i-1行的元素個數(shù)為(1+i-1)(i-1)/2=i(i-1)/2。再加上在i行的j個元素,總共是i(i-1)/2+j。8、A9、A【解析】當從鍵盤輸入bowareyou時,由于scanf輸入函數(shù)的特點是遇到空格時結束讀入字符,因此,該程序只將how這3個字符送到了字符數(shù)組str中,并在其后自動加上結束符“\0”。10、B【解析】m=a>b結果為假,則m的值為0,n=c>d結果為假,n的值為0。11、D【解析】函數(shù)swap1、swap2的作用均為交換兩個數(shù)。主調(diào)函數(shù)“swap1(a,a+1)”使得數(shù)組a的首地址賦給形參c0[],使得c0指向a[0]所在的存儲單元,a[1]的地址賦給形參c1[],使得c1指向a[1]所在的存儲單元,故交換c0[0]與c1[0]后,a[0]與a[1]值也發(fā)生了變化;主調(diào)函數(shù)“swap2(&b[0],&b[1]);”起著同樣的作用,使得指針變量c0指向了b[0]存儲單元,c1指向了b[1]存儲單元,并在swap2函數(shù)中發(fā)生了交換,所以b[0]、b[1]的值也發(fā)生變化,故本程序輸出的結果是5353。12、D【解析】“auto”類定義的自動變:鞋實質(zhì)上是一個函數(shù)內(nèi)部的局部變量,作用域是在所說明的函數(shù)中;“register”說明只能用于說明函數(shù)中的變量和參數(shù)中的形參,因此不允許將外部變量或靜態(tài)變量說明為register;“extern”是定義在所有函數(shù)之外的全局變量,它可以被所有的函數(shù)訪問,在所有函數(shù)體的內(nèi)部是有效的,所以函數(shù)之間可以通過外部變量直接傳遞數(shù)據(jù);“static”為允許本源文件中所有函數(shù)使用的全局變量。13、B14、A【解析】本題中sub(int*s,int*y)函數(shù)的參數(shù)是兩個指針型變量,在函數(shù)體內(nèi)將數(shù)組s的第一個元素賦給y。主程序內(nèi),首先定義了一維數(shù)組并賦初值,然后通過for循環(huán),5次調(diào)用sub(a,&x)函數(shù),每一次調(diào)用都是將數(shù)組a的第一個元素1賦給x,并輸出。15、D【解析】當一個程序只作為另一個程序的子程序的時候,那么該程序中可以沒有主函數(shù),它的位置不固定,并且可以調(diào)用程序中的其他函數(shù),而其他函數(shù)卻不可以調(diào)用main函數(shù)。函數(shù)中不可以再定義其他的函數(shù)。故本題的答案為選項A)。16、C【解析】仔細觀察case后的語句,每個都沒有用break關鍵字;在switch語句中,是通過break關鍵字來退出switch語句的。而在題目中,case8:k++;后沒有break,則繼續(xù)執(zhí)行k+=2;這時還沒有break語句,繼續(xù)執(zhí)行,這時的k的值是33;一直執(zhí)行完k+=3;這時k的值是36;default語句是當表達式的值與任一case子句中的值都不匹配時,程序執(zhí)行default后面的語句。在題目中,因為在執(zhí)行完case10:k+=3;后還沒有break,所以要執(zhí)行k=k/j得k的值是2。break語句是用來退出循環(huán),并從緊跟該循環(huán)語句的第17、A18、C19、C20、C21、B22、D23、C24、B25、C【解析】在C語言中,typedef用于說明一種新的類型名,本題中的node被定義為一種結構體類型名,NODE被定義為指向這種結構體變量的指針,我們可以用它來定義一個指向該類型結構體變量的指針。26、A【解析】本題考核的標識符定義。規(guī)定標識符由大小寫字母、數(shù)字字符(0~9)和下劃線組成,并且以字母或下劃線開始,后跟0個或多個字母,數(shù)字字符或下劃線。由此可知A)選項中的連接符不能用于組成標識符。27、A【解析】本題考查typedef的使用方法,typedef對已存在的類型使用一個新的名字,結構體類型中的成分可以是數(shù)組和指針,所以B選項錯誤,結構體類型的變量可以在聲明結構體的時候一起定義,C選項錯誤,D選項中可以一起定義。28、D【解析】B選項中,(x>0)&&(x<10)的值是1或0,條件是x>0并且x<10但是0<x<10這種寫法的結果任何時候都是1;C選項中,邏輯“非”(即運算符!)的運算級別是最高的;A選項中,算術運算符優(yōu)先級較高,關系和邏輯運算符優(yōu)先級較低。因此D選項正確。29、A【解析】本題考查求字符串的長度。數(shù)組str初始化的長度是7,使用strcpy函數(shù)將新字符串賦給str后,strlen函數(shù)返回的是新字符串的字符個數(shù)5。30、C31、A32、A33、D34、B【解析】在被調(diào)用過程中,有這樣的語句“StaticS

溫馨提示

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

評論

0/150

提交評論