湖州師范學(xué)院C語言題庫及答案_第1頁
湖州師范學(xué)院C語言題庫及答案_第2頁
湖州師范學(xué)院C語言題庫及答案_第3頁
湖州師范學(xué)院C語言題庫及答案_第4頁
湖州師范學(xué)院C語言題庫及答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2/2湖州師范學(xué)院C語言題庫一、單項(xiàng)選擇題(共20題,每小題2分,共40分)1、根據(jù)數(shù)制的基本概念,下列各進(jìn)制的整數(shù)中,值最大的一個(gè)是______。 A、十六進(jìn)制數(shù)10 B、十進(jìn)制數(shù)10 C、八進(jìn)制數(shù)10 D、二進(jìn)制數(shù)102、以下不能定義為用戶標(biāo)識(shí)符的是________。 A、scanf B、Void C、_3com_ D、int3、在c語言中,if語句后的一對(duì)原括號(hào)中,用以決定分支的流程的表達(dá)式________。 A、只能用邏輯表達(dá)式 B、只能用關(guān)系表達(dá)式 C、只能用邏輯表達(dá)式或關(guān)系表達(dá)式 D、可用任意表達(dá)式4、若有以下程序段,w和k都是整型變量:

w=k;

LB:if(w==0)

gotoLE;

w--;

printf("*")gotoLB;

LE;

則不能與上面程序段等價(jià)的循環(huán)語句是________。 A、for(w=k;w!—0;w--)printf(”*”); B、for(w=k;W;--w)printf(”*”); C、w=k;

while(w--!=O)printf(”*”); D、w=k:

W++;do

{

w--;printf(”*”);)while(w!=O);5、若定義a=3,b=4,執(zhí)行printf("%d,%d",(a,b),(b,a));的輸出結(jié)果為________。 A、3,4 B、4,3 C、3,3 D、4,46、下列數(shù)據(jù)中,不合法的c語言實(shí)型數(shù)據(jù)的是________。 A、0.123 B、123e3 C、2.1e3.5 D、789.07、有語句charstr1[10],str2[10]={"china"};

則能將字符串china賦給數(shù)組str1的正確語句是________。 A、str1={"china"}; B、strcpy(str1,str2); C、str1=str2; D、strcpy(str2,str1);8、下面關(guān)于形參與實(shí)參的說法,正確的是________。 A、形參與實(shí)參的個(gè)數(shù)、類型、順序都應(yīng)一一對(duì)應(yīng) B、形參與實(shí)參的個(gè)數(shù)可以不必相同,少一個(gè)多一個(gè)程序一樣執(zhí)行 C、形參與實(shí)參的類型可以不同,不影響運(yùn)算結(jié)果 D、形參與實(shí)參的類型個(gè)數(shù)相同,而順序不同,計(jì)算機(jī)可以自動(dòng)進(jìn)行匹配,所以形參的順序無所謂,只要各種形參類型的數(shù)量與實(shí)參相同即可9、下面正確的字符串常量是________。 A、'a' B、'376' C、"\n" D、37610、以下能對(duì)一維數(shù)組a進(jìn)行初始化的語句是:() A、inta[5]=(0,1,2,3,4,) B、inta(5)={} C、inta[3]={0,1,2} D、inta{5}={10*1}11、有以下程序:

intf(intn)

{

if(n==1)return1;

elsereturnf(n-1)+1;

}

main()

{

inti,j=0;

for(i=1;i<3;i++)j+=f(i);

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

}

程序運(yùn)行后的輸出結(jié)果是________。 A、4 B、3 C、2 D、112、按照數(shù)的進(jìn)位制概念,下列各個(gè)數(shù)中正確的八進(jìn)制數(shù)是______。 A、1101 B、7081 C、1109 D、B03A13、若intx,*p;則正確的賦值表達(dá)式是__。 A、p=&x B、p=x; C、*p=&x; D、*p=*x14、下面哪個(gè)不是關(guān)鍵字? A、int B、struct C、define D、continue15、下列程序的輸出結(jié)果是()。

main()

{inta=7,b=5;

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

} A、0 B、5 C、1 D、不確定值16、語句for(k=0;k<5;++k)

{

if(k==3)continue;

printf("%d",k);

}

的輸出結(jié)果為______ A、012 B、0124 C、01234 D、沒有輸出結(jié)果17、下列關(guān)于共用體類型變量的描述中,正確的是________。 A、可以對(duì)共用體變量直接賦值 B、一個(gè)共用體變量可以同時(shí)存放其所有的成員 C、一個(gè)共用體變量中不可以同時(shí)存放其所有的成員 D、共用體類型定義中,不能出現(xiàn)結(jié)構(gòu)體類型的成員18、有以下程序:

main()

{

intx,i;

for(i=l;i<=50;i++)

{

x=i;

if(x%2=0)if(x%3=0)if(x%7=0)printf("%d",i);

}

}

輸出結(jié)果是________。 A、28 B、27 C、42 D、4119、對(duì)兩個(gè)數(shù)組a和b進(jìn)行如下初始化:chara[]="abcdef";charb[]={'a','b','c','d','e','f'}則以下敘述正確的是________。 A、數(shù)組a與數(shù)組b完全相同 B、數(shù)組a與數(shù)組b長(zhǎng)度相同 C、數(shù)組a與數(shù)組b中都存放字符串 D、數(shù)組a比數(shù)組b長(zhǎng)度長(zhǎng)20、若有下面的說明和定義:

structtest

{

intm1;

charm2;

floatm3;

unionuu

{

charu1[5];

intu2[2];

}

ua;

}

myaa;

則sizeof(structtest)的值是________。 A、20 B、16 C、14 D、9二、填空題(共10題,每小題2分,共20分)1、設(shè)a=5,b=2,則表達(dá)式"!a+b"的值是_____________。2、在c語言中,假使x為單精度實(shí)型變量,如果我們采用printf("格式控制",x)格式輸出x,那么"格式控制"具體表示為"__"。3、字母'a'的ascii碼值為多少()4、八進(jìn)制數(shù)37轉(zhuǎn)換成二進(jìn)制數(shù)是________。5、下面程序段中循環(huán)體的執(zhí)行次數(shù)是________。

a=10;

b=0;

do

{

b+=2;

a-=2+b;

}

while(a>=0);6、以下程序?qū)斎氲囊粋€(gè)小寫字母,將字母循環(huán)后移5個(gè)位置后輸出。如‘a(chǎn)’變成‘f’,‘w’變成‘b’。請(qǐng)?jiān)趦?nèi)填入正確的內(nèi)容。

#include<stdio.h>

voidmain()

{

charc;

c=getchar();

if(c>=’a’&&c<=’u’);

elseif(c>=’v’&&c<=’z’);

putchar(c);

}7、讀取文件的函數(shù)名是【1】。8、C語言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是______和函數(shù)體。9、寫出下列程序的運(yùn)行結(jié)果。

#include"stdio.h"

main()

{

inta[]={1,2,3,-4,5};

intm,n,*p;

p=&a[0];

m=*(p+1);

n=*(p+4);

printf("%d%d%d",*p,m,n);

}10、下面程序的運(yùn)行結(jié)果是________。

#include<stdio.h>

main()

{

inty=2,a=1;

while(y--!=-1)

{

do

{

a*=y;

a++;

}

while(y--);

}

printf("%d,%d",a,y);

}三、編程題(共3題,共40分)1、請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。例如,若傳給m的值為70,則程序輸出:7,11,14,21,22,28,33,35,42,44,49,55,56,63,66,70注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語句。試題程序:

#defineN100

voidproc(intm,int*a,int*n)

{

...

}

voidmain()

{

intarr[N],n,k;

system("cls");

proc(70,arr,&n);

for(k=0;k<N;K++)

if((k+1)%20==0)//每行輸出20個(gè)數(shù)

{

printf("%4d",arr[k]);

printf("\n");

}

else

printf("%4d",arr[k]);

printf("\n");

}(本題10分)2、編寫程序:用getchar函數(shù)讀入兩個(gè)字符給c1、c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個(gè)字符。

#include<stdio.h>

voidmain()

{

charc1,c2;

printf("請(qǐng)輸入兩個(gè)字符給c1和c2:\n");

_________________________________

_________________________________

printf("用putchar函數(shù)輸出結(jié)果為:\n");

_________________________________

_________________________________

printf("\n用printf函數(shù)輸出結(jié)果為:\n");

_________________________________

}(本題14分)3、輸入n個(gè)朋友的信息,包括姓名、生日、電話號(hào)碼,本題要求編寫程序,按照年齡從大到小的順序依次輸出通訊錄。題目保證所有人的生日均不相同。

輸入格式:

輸入第一行給出正整數(shù)n(<10)。隨后n行,每行按照“姓名生日電話號(hào)碼”的格式給出一位朋友的信息,其中“姓名”是長(zhǎng)度不超過10的英文字母組成的字符串,“生日”是yyyymmdd格式的日期,“電話號(hào)碼”是不超過17位的數(shù)字及+、-組成的字符串。

輸出格式:

按照年齡從大到小輸出朋友的信息,格式同輸出。

輸入樣例:

3

zhang1985040313912345678

wang19821020+86/p>

qian1984061913609876543

輸出樣例:

wang19821020+86/p>

qian1984061913609876543

zhang1985040313912345678(本題16分)

參考答案一、單項(xiàng)選擇題1、A【解析】分別將四個(gè)數(shù)轉(zhuǎn)換為十進(jìn)制為16,10,8,2。2、D3、D4、C5、B【解析】在調(diào)用格式輸出函數(shù)的語句中,其中每個(gè)格式符對(duì)應(yīng)一個(gè)輸出項(xiàng),格式符d要求輸出項(xiàng)內(nèi)容以十進(jìn)制整數(shù)形式輸出,第一個(gè)輸出項(xiàng)(a,b)是一個(gè)逗號(hào)表達(dá)式,該表達(dá)式的是b的值,輸出4;第二個(gè)輸出項(xiàng)(b,a)的值是a的值,輸出3。6、C【解析】在C語言中,實(shí)數(shù)有兩種表示形式。即十進(jìn)制數(shù)形式和指數(shù)形式,在指數(shù)形式中,字母e的前面必須有數(shù)字,且e的后面必須是整數(shù)。e3,2.1e3.5,e3,e等都是不合法的指數(shù)形式,而123e3或123E3都代表123乘以10的3次方。7、B8、A【解析】形參、實(shí)參個(gè)數(shù)類型、數(shù)量、順序應(yīng)相同,因?yàn)轭愋娃D(zhuǎn)換都是有條件的,如果浮點(diǎn)型變量向指針型變量轉(zhuǎn)換就是不可的。9、C10、C11、B【解析】第一次調(diào)用f()函數(shù),返回值為1,第二次調(diào)用f()函數(shù),牽涉到函數(shù)的遞歸調(diào)用,返回值為2。12、A【解析】八進(jìn)制的數(shù)字為0~7。13、A14、C15、A16、B17、C18、C19、D【解析】考查字符數(shù)組的定義和初始化。[解題要點(diǎn)]數(shù)組a中最后一個(gè)元素是字符串結(jié)束標(biāo)識(shí)'\0',所以a數(shù)組長(zhǎng)度為7,而b數(shù)組長(zhǎng)度為6,所以答案為D)。[考點(diǎn)鏈接]通過賦初值的方式給一維字符數(shù)組賦字符串。20、A【解析】共用體uu占8個(gè)字節(jié);因?yàn)榻Y(jié)構(gòu)體在內(nèi)存中占位符的存在,所以結(jié)構(gòu)體test中成員m2占4個(gè)字節(jié);結(jié)構(gòu)體test占用內(nèi)存的大小是sizeof(int)+sizeof(char)+3+sizeof(float)+sizeof(ua)=20。二、填空題1、22、%f3、654、111115、3次6、c=c+5|c=c-21【解析】根據(jù)ASCII碼規(guī)律,要使字母循環(huán)后移5位輸出,從a-u均不存在問題,但字母v(ASCII碼值為118)后移5位,則ASCII值為123,不是循環(huán)到a(ASCII值為97),從而須執(zhí)行c=c-21。7、fread8、函數(shù)首部9、12510、1,-2三、編程題1、voidproc(intm,int*a,int*n)

{

inti,j=0;

for(i=1;i<=m;i++)//進(jìn)行m次循環(huán)if(i%7==0||i%11==0)//能被7或11整除的所有整數(shù)a[j++]=i;

//符合條件的數(shù)放在數(shù)組a中*n=j;

//返回這些數(shù)的個(gè)數(shù)

}2、c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

printf("%c,%c\n",c1,

溫馨提示

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