大一C語言總題庫_第1頁
大一C語言總題庫_第2頁
大一C語言總題庫_第3頁
大一C語言總題庫_第4頁
大一C語言總題庫_第5頁
已閱讀5頁,還剩112頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1-11-1C語言中在else之后可以直接跟條件。(1分)

F

1-2C語言中的變量名屬于標(biāo)識符。(1分)

T

1-3可以使用print輸出一個字符。(1分)

T

1-3c語言中書寫程序時一行可以寫多個語句。Q分)

T

1-5執(zhí)行c程序時,不是從main函數(shù)開始。(1分)

F

1-6c程序書寫格式限制嚴(yán)格,--行內(nèi)只能寫一條語句。(1分)

F

1-7-個程序可由一個或多個函數(shù)組成。(1分

T

1-8c程序的基本組成單位是函數(shù)。Q分)

T

1-9在c程序中,注釋語句只能位于一條語句的后面。Q分)

F

1-10c程序中注釋語句可以這樣寫:/注釋/和〃注釋。(1分)

F

1-11c語言具有位運算功能。(1分

T

1-12每一條c語言語句的最后都必須加分號。(1分)

T

1-13c語言的每個函數(shù)都可以用return語句返回一個返回值。(1分)

T

1-14c語言每個函數(shù)的返回值都是int型的。(1分)

F

1-15若有定義:charch='\105';測變量ch中包含4個字符。(1分)

F

1-16C語言中變量名和R表示同-一個變量。Q分)

F

1-17c語言中運算符%的優(yōu)先級高于&&。Q分)

T

1-18C語言中3/2的值是1。(1分)

T

1-19C語言中字符串常量是用雙引號括起來的。Q分)

T

1-20在C語言中這個表達(dá)式是正確的:'a'+2(1分)

T

1-21在C語言中一個字符型變量中可以存放多個字符。Q分)

F

1?22在C語言中轉(zhuǎn)義字符可以算是多個字符,如,\101'。Q分)

F

1-23這個賦值語句是正確的:5=a;(l分)

F

1-24在C語言中一個float型變量一般是占2個字節(jié)的內(nèi)存空間。Q分)

F

1-25求余數(shù)運算符%的兩邊只能是整型的數(shù)據(jù)。(1分)

T

1-26可以使用圓括號改變運算符的運算次序。(1分)

T

1?27C語言中的運算符有單目的、雙目的,還有三目的。(1分)

T

1-28函數(shù)pow(x,y)的作用是計算y的x次方。Q分)

F

判斷整型變量是否是偶數(shù)的表達(dá)式為分)

1-29aa%2=0o(1

F

判斷整型變量能否同時被和整除的表達(dá)式為分)

1-30a37a%3==0&&a%7==0o(1

T

1-31表達(dá)式的值只能是1或者0。(1分)

T

1-32賦值號左邊必須為變量。(1分)

T

假設(shè)有則的值為分)

1-33floatf=7;f%210(1

F

1-34復(fù)合語句是由一對大括號括起來的若F條語句組成的。(1分)

T

1-35空語句不是一條始法的語句,因為它沒有作用。(1分)

F

1-36可以使用getchar函數(shù)輸入一個字符串。Q分)

F

1-37不可以把一個實型數(shù)據(jù)賦給一個整型變量。(1分)

F

1-38可以把一個整型數(shù)據(jù)賦給一個實型變量。(1分)

T

1-39可以使用scant輸入.個字符。Q分)

T

1-40復(fù)合語句語法上是一條語句。。分)

T

1-41在邏輯運算符中,邏輯非⑴的優(yōu)先級別最高。

T

1-42示變量x的值在1到9之間的邏輯表達(dá)式為l<=x<=9o(1分)

F

1-43若a=l;b=2;c=3;d=4;m=l;n=1;則執(zhí)行語句(m=a>b)&&(n=c>d)后,m的值為0,n的

值也為0o(1分)

F

1-44if(a>b){t=a;a=b;b=t;}<3條c語句。(1分)

F

1-45switch語句中break語句是必須的。Q分)

F

1-46switch語句中default語句是必須的。(1分)

F

1-47switch語句中多個case標(biāo)號可以共用一組語句。(1分)

T

的值為分)

1-48(floa0(l/2)0.5o(1

F

1-49在條件表達(dá)式(exp)?a:b中,表達(dá)式(exp)與表達(dá)式(exp!=0)完全等價。(1分)

T

已知:則執(zhí)行表達(dá)式后,變量的值為分)

1-50intx=6,y=2,z;z=x=x>yz6O(1

F

1-51while循環(huán)的循環(huán)體最少要執(zhí)行-次。(1分)

F

1-52對for(表達(dá)式L;表達(dá)式3)可理解為for(表達(dá)式1;1;表達(dá)式3)。(1分)

T

1-53c語言中三種循環(huán)語句可以相互嵌套。(1分)

T

1-54do-while循環(huán)的循環(huán)體最少要執(zhí)行-次。(1分)

T

1-55循環(huán)體中若有多條語句,應(yīng)構(gòu)成一復(fù)合語句。(1分)

T

1-56C語言的數(shù)組下標(biāo)從0開始。Q分)

T

1-57若有定義floata⑹={123},則數(shù)組中含有3個元素。(1分)

F

1-58若有定義:inta[3][4];則a「b'-a'][2]是對a數(shù)組元素的正確引用。(1分)

F

1-59數(shù)組初始化時,初始值個數(shù)小于數(shù)組元素的個數(shù),C語言自動將剩余的元素初始化為初

始化列表中的最后一個初始值。(1分)

F

1-60對于定義inta[5];可以通過語句scanf(Wd“a)輸入全部元素的值。Q分)

F

1-61要對文件進(jìn)行操作必須先使用fopen函數(shù)打開該文件。Q分)

T

1-62close⑴;表示關(guān)閉指針fp所指向的那個文件。(1分)

F

1-63fprintf(fp$d”,a);表示將變量a以十進(jìn)制整數(shù)形式保存到指針fp所指向的文件中。Q

分)

T

1-64scanf(fp,"%c",&xch);表示從指針fp所指向的文件中讀出一個字符并保存到變量ch中。

(1分)

F

1-65語句int*p和printf(”%d”,*p);中的*p含義相同。(1分)

F

1-66可以將一個整型數(shù)據(jù)賦給一個指針變量,如P=3000。(1分)

F

1-67指針變量中保存的肯定是一個地址。(1分)

T

1-68指針變中保存的不一定是一個地址。(1分)

F

1-69如此定義指針變量int*p;后,可以把一個實型變量的地址賦給變量p。(1分)

F

1-70對于定義inta[5],*p=a后,*(p+l)和*(a+l)的值是相同的。(1分)

T

1-71chars[80];s="hello”;這樣賦值是可以的。(1分)

F

1-72chars[80],*p=s;p="hell?!?這樣賦值是可以的。(1分)

T

1-73charsl[80],s2[80];sl=s2;這樣賦值是正確的。(1分)

F

1-74語句char*pstr="lalala!”的含義是將字符串存入到變量pstr中。Q分)

F

1-75對于兩個字符串變量si和s2,使用if(s干s2)來比較大小是可以的。(1分)

F

1-76C語言的一個源程序文件中只能包含一個函數(shù)。(1分)

F

1-77C語言程序執(zhí)行時是從main函數(shù)開始,最后也是結(jié)束于main函數(shù)。(1分)

T

1-78main函數(shù)必須位于其他函數(shù)之前。Q分)

F

1-79除了main函數(shù),其他函數(shù)都必須先聲明才能調(diào)用。(1分)

F

1-80在不同函數(shù)中不能使用相同名稱的變量。(1分)

F

1-81以數(shù)組名作函數(shù)參數(shù)時,數(shù)據(jù)傳遞的方向是“雙向的”,因此我們可以說,在此情況

下,函數(shù)帶回的返回值可能不止一個。(1分)

T

1-82以數(shù)組名作函數(shù)參數(shù)時,實參數(shù)組與形參數(shù)組都不必定義長度,因為實參與形參的結(jié)

合方式是地址結(jié)合,與數(shù)組長度無關(guān)。(1分)

T

1-83在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,這稱為函數(shù)的遞歸調(diào)

用。(1分)

T

1-84函數(shù)的遞歸調(diào)用是嵌套調(diào)用的特例。Q分)

T

1-85用指針變量做函數(shù)參數(shù)時,參數(shù)間進(jìn)行的是地址傳遞。Q分)

T

1-86C語言中的預(yù)處理命令都以u#"開頭。(1分)

T

1-87//include<stdio.h>是一條編譯預(yù)處理命令。(1分)

T

1-88#definePI3.1415926是一條C語句。(1分)

F

1-89宏定義不存在類型問題,宏名無類型,它的參數(shù)也無類型。(1分)

T

1-90宏名必須用大寫字母表示。(1分)

F

1-91C語言中的結(jié)構(gòu)體類型屬于-種構(gòu)造類型。(1分)

T

1-92結(jié)構(gòu)體變量的存儲空間是該結(jié)構(gòu)體中所有成員所需存儲空間的總和。(1分)

T

1-93-個結(jié)構(gòu)體類型中的各個成員的類型必須是相同的。(1分)

F

1-94結(jié)構(gòu)體類型不可以嵌套定義。(1分)

F

1-95結(jié)構(gòu)體變量不能進(jìn)行整體輸入輸出。

T

1-96當(dāng)對一個數(shù)進(jìn)行左移運算時,每左移-位,-定相當(dāng)于移位對象乘以2。(1分)

F

1-97若要使一個數(shù)中某些指定位翻轉(zhuǎn)而另-一些位保持不變,可以將此數(shù)與另-個數(shù)做”異

或“運算。Q分)

T

1-98a為任意整數(shù),表達(dá)式a=a^a能將變量a清零。(1分)

T

1-995-2<<3的值為24。(1分)

T

1-100若已知a=l,b=2,則表達(dá)式!a>b的值為0。(1分)

F

2-1

以下敘述不正確的是(C)。

1.c程序中,語句之間必須用分號分隔。

2.c程序中,多行語句可以寫在一行上。

3.c程序中,可以不必包含主函數(shù)。

4.一個c程序,可以由多個函數(shù)組成。

2-2

c語言規(guī)定,在一個源程序中,main函數(shù)的位置(C)?

1.必須在最開始

2.必須在系統(tǒng)調(diào)用庫函數(shù)的后面

3.可以任意

4,必須在最后

2-3

以下敘述不正確的是(A)。

1.main函數(shù)必須位于程序的最前面。

2.c程序中,每行可以寫多條語句。

3.c語言本身不提供輸入輸出語句。

4.在對c語言程序進(jìn)行編譯的過程中,不能發(fā)現(xiàn)注釋中的錯誤。

2-4

一個C程序的執(zhí)行是從(A)。

1.本程序的main函數(shù)開始,到main函數(shù)結(jié)束

2.本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

3.本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束

4.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

2-5

以下敘述不正確的是(D)。

1.一個C源程序必須包含一個main函數(shù)

2.一個C源程序可由一個或多個函數(shù)組成

3.C程序的基本組成是函數(shù)

4.在C程序中,注釋說明只能位于一條語句的后面

2-6

以下敘述不正確的是(B)。

1.若a和b類型相同,在計算了賦值表達(dá)式a=b后,b中的值將放入a中,且b中的值

不變。

2.當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型

數(shù)值。

3.在C程序中,逗號運算符的優(yōu)先級最低。

4.在C程序中,MAX和max是兩個不同的變量。

2-7

已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2=4+6-3

后,c2中的值為(C)。

1.D

2.68

3.不確定的值

4.C

2-8

sizeof(float)是(B)。

1.一個雙精度型表達(dá)式

2.一個整型表達(dá)式

3.一種函數(shù)表達(dá)式

4.一個不合法的表達(dá)式

2-9

若變量已正確定義,要將a和b中的值進(jìn)行交換,下面不正確的語句組是(D)。

1.a=a+b,b=a-b,a=a-b;

2.t=a,a=b,b=t;

3.t=b;b=a;a=t;

4.a=t;t=b;b=a;

2-10

若有定義:charch=,\x42';則變量ch中包含(A)個字符。

1.1

2.2

3.4

4,定義不合法

2-11

下列選項中可以作為C語言的合法整數(shù)的是(B)o

1.bf

2.0x7e3

3.03678

4.1011B

2-12

putchar函數(shù)可以向終端輸出一個(D)。

1,整型變量表達(dá)式

2.實型變量值

3.字符串

4.字符

2-13

printf函數(shù)中用到格式符%-6s,其中數(shù)字6表示輸出的字符串占用6歹限如果字符串長度小

于6,則輸出按方式(A)。

1.從左起輸出該字符串,右補(bǔ)空格

2.從右起輸出該字符串,左補(bǔ)空格

3.0

4.輸出錯誤信息

2-14

printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5歹人如果字符串長度大于

5,則輸出按方式(B)0

1.從左起輸出該字符串,右補(bǔ)空格

2.按原字符長從左向右全部輸出

3.0

4.輸出錯誤信息

2-15

若變量已定義為float類型,要通過以下賦值語句scanf("%f,%f“,&a,&b);給a賦值為11,給b

賦值為22,以下正確的輸入形式是(D)。

1.1122

2.11&22

3.11:22

4.11,22

2-16

若變量已正確說明為int類型,要給a,b,c輸入數(shù)據(jù),以下正確的輸入語句是(C)o

1.reada,b,c;

2.getchar(a,b,c);

3.scanf("%d%d%d",&ar&b,&c);

4.scanf("%d%d%d",a,b,c);

2-17

以下敘述正確的是(C)o

I.在c程序中,不允許把一個整數(shù)賦值給一個實型變量。

2.1/2的值為0.5o

3.在C程序中,%是只能用于整數(shù)運算的運算符。

4.在C程序中,無論是整數(shù)還是實數(shù),都能被準(zhǔn)確無誤地表示。

2-18

設(shè)有說明則表達(dá)式值的數(shù)據(jù)類型為(

:charw;intx;floaty;doublez;wx+z-yD)o

1.float

2.char

3.int

4.double

2-19

已知以下語句:二才丸行后的值是(

intx=10,y=20,z=31;if(x<y)z=x;x=y;yzx,y,zC)o

1.x=10,y=20,z=30

2.x=20,y=30,z=30

3.x=20,y=10,z=10

4.x=20,y=30,z=10

2-20

已知以下語句:執(zhí)行后的值是(

intx=10,y=20,z=32if(x<y)z=x;elsex=y;y=z;x,y,zA)o

1.x=10,y=10,z=10

2.x=20,y=30,z=30

3.x=20,y=30,z-W

4.x=20,y=20,z=20

2-21

已知以下語句:〈執(zhí)行后的值是

intx=10,y=20,z=33;if(xy)z=x;ulse{x=y;y=z;}x,y,z(B)o

1.x=10,y=20,z=30

2.x=10,y=20,z=10

3.x=20,y=30,z=10

4.x=20,y=30,z=20

2-22

表示關(guān)系1〈=x<=100的c語言表達(dá)式為(D)0

1.x>=l&x<=100

2.x>=landx<=100

3.l<=x<=100

4.x>=l&&x<=100

2-23

在下面的條件語句中(其中SI和S2表示c語言語句),哪一個在功能上與其他3個語句不

等價(B)。

1.if(a!=O)Sl;elseS2;

2.if(a==O)Sl;elseS2;

3.if(a)Sl;elseS2;

4.if(a==O)S2;elseSI;

2-24

以下不屬于算法的特征的是(A)o

1.無窮性

2.確切性

3.可行性

4.輸出項

2-25

判斷char型變量ch是否為大寫字母的正確表達(dá)式是(C)o

1.'A,<=ch<=*Z'

2.(ch>='A')&(chv二'Z)

3.(ch>=TV)&&(ch<=Z)

4.('A'<=ch)AND(Z>=ch)

2-26

設(shè)有:inta=l,b二2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n二c>d)后n的值為(B)o

1.1

2.2

3.3

4.4

2-27

若有intabd=241;語句a=d/100%9;b=(-1)&&(-1);執(zhí)行后a,b的值為(B)。

1.6,1

2.2,1

3.6,0

4.2,0

2-28

設(shè)有程序段intk=10;while*=0)k=k-1;這下面描述中正確的是(C)。

1.while循環(huán)執(zhí)行10次C

2.循環(huán)是無限循環(huán)

3.循環(huán)體語句一次也不執(zhí)行

4.循環(huán)體語句執(zhí)行一次

2-29

若i為整型變量,則以下循環(huán)for(i=2;-0;i--)pnntf(“%cT,i);執(zhí)行次數(shù)是(B)0

1.無限次

2.。次

3.1次

4.2次

2-30

執(zhí)行語句fo「(i=l;i<4;i++)后變量i的值是(C)o

1.3

2.5

3.4

4.不定

2-31

下列程序的循環(huán)次數(shù)是(A)o

inti=0;

while(i<100)

{if(i<l)

continue;

if(i==3)

break;

i++;

)

1.死循環(huán)

2.1

3.2

4.3

2-32

合法的數(shù)組定義語句是(D)o

1.inta□二“string”;

2.inta[5]={0,l,2,3,4,5);

3.chara="string";

4.chara□二“string”;

2-33

有定義語句inta[5],I;,輸入數(shù)組a的所有元素的語句應(yīng)為(C)。

1.scanf("%d%d%d%d%d",a[5]);

2.scanf("%d",a);

3.for(i=0;i<5;i++)scanf("%d",&a[i]);

4.for(i=0;i<5;i++)scanf("%cT,a[i]);

2-34

以下能正確定義二維數(shù)組的語句是(D)o

1.intaQQ;

2.intaD[3];

3.inta[2]Q;

4.inta[2][3];

2-35

以下對二維數(shù)組a的正確說明是(C)o

1.inta[3][];

2.floata(3,4);

3.doublea[l][4];

4.floata(3)(4);

2-36

變量的指針,其含義是指該變量的(B)o

1,值

2.地址

3.名

4.一個標(biāo)志

2-37

若想對文本文件進(jìn)行只讀操作,打開此文件的方式是(D)o

1,"rb"

2."w"

3.nab"

4."r"

2-38

若執(zhí)行fopen函數(shù)時發(fā)生錯誤,則函數(shù)的返回值是(C)o

1.一個隨機(jī)地址值

2.1

3.NULL

4.EOF

2-39

文件操作的一般步驟是(B)。

1.讀/寫文件一修改文件一關(guān)閉文件

2.打開文件T讀/寫文件一關(guān)閉文件

3.讀/寫文件T打開文件T關(guān)閉文件

4.讀文件T寫文件一關(guān)閉文件

2-40

若fp是指向某文件的指針,且已讀到文件末尾,則表達(dá)式feof(fp)的返回值是(C)。

1.EOF

2.-1

3.非零值

4.NULL

2-41

關(guān)于文件指針,以下說法錯誤的是(D)。

1.只有通過文件指針變量才能調(diào)用相應(yīng)文件。

2,定義文件指針變量時,F(xiàn)ILE必須大寫。

3.一個文件指針變量只能對應(yīng)一個文件。

4.一個文件指針變量可以同時對應(yīng)多個文件。

2-42

以下為一維整型數(shù)組a的正確說明是(D)。

1.inta(10);

2.intn=10,a[n];

3.intn;scanf("%d",&n);inta[n];

4.#defineSIZE10inta[SIZE];

2-43

若二維數(shù)組a有m列,則在前的元素個數(shù)為(B)。

1.j*m+i

2.i*m+j

3.i*m+j-l

4.i*m+j+l

2-44

若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是(D)。

1.a,point,*&a

2.&*a,&a/point

3.*&point,*point,&a

4.&a,&*point,point

2-45

若有說明:以下正確的程序段的是(

int*p,m=5,n;D)o

1.p=&n;scanf("%d",&p);

2.p=&n;scanf("%d",*p);

3.scanf("%d",&n);*p=n;

4.p=&n;*p=m;

2-46

若有以下定義,inta[5],*p=a;則對a數(shù)組元素的正確引用是(B)。

1.*&a[5]

2.*(a+2)

3.*(P+5)

4,a+2

2-47

若有以下定義,則表示

inta[10],*p=a;p+5(A)0

1.元素a[5]的地址

2.元素a⑸的值

3.元素a[6]的地址

4.元素a⑹的值

2-48

以下敘述錯誤的是(D)。

1.指針可以進(jìn)行加、減等算術(shù)運算;

2.指針中存放的是地址值

3.指針是一個變量

4.指針變量不占用存儲空間

2-49

對于基類型相同的兩個指針變量之間,不能進(jìn)行的運算是(C)o

1.<

2.二

3.+

4.-

2-50

假設(shè)整型變量a的值為100,a的地址為2000,若欲使p為指向a的指針變量,則以下復(fù)制

正確的是(D)o

1.*p=2000;

2.*p=12;

3.p=2000;

4.p=&a;

2-51

若有說明:intn=2,p=&n,q=p;則以下非法的賦值為(D)。

1.P=q;

2.P=q;

3.n=*q;

4.p=n;

2-52

有兩個字符數(shù)組a、b,則以下正確的輸入語句是(C)o

1.gets(a.b);

2.scanf("%s%s",*a,*b);

3.scanf("%s%s",&a,&b);

4.gets(a);gets(b);

2-53

判斷字符串si是否大于字符串s2,應(yīng)當(dāng)使用(D)。

1.if(sl>s2)

2.if(strcmp(sl,s2))

3.if(strcmp(s2,sl)>0)

4.if(strcmp(sl,s2)>0)

2-54

設(shè)pl和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值

語句是(B)0

1.c=*pl;

2.p2二c

3.pl=p2

4.pl+=2

2-55

以下正確的程序段是(C)o

1.charstr[20];scanf("%s",&str);

2.char*p;scanf("%s",p);

3.charstr[20];scanf("%s",&str[2]);

4.charstr[20],*p=str;scanf("%s",p[2]);

2-56

若有說明語句charismine";char*p="ltismine";則以下不正確的敘述是(D)0

1,a+1表示的是字符t的地址

2.p指向另外的字符串時,字符串的長度不受限制

3.p變量中存放的地址值可以改變

4.a中只能存放10個字符

2-57

下列選項正確的語句組是(A)。

1.char*s;s="hello!";

2.char*s;s={"hello!"};

3.chars[8];s="hello!";

4.chars[8];s={"hello");

2-58

為了判斷兩個字符串si和s2是否相等,應(yīng)當(dāng)使用下列哪個語句(B)o

1.if(sl==s2);

2.if(strcmp(sl,s2)==0);

3.if(sl=s2);

4.if(strcpy(sl,s2));

2-59

有如下定義,Chars[80]*p=s;不能給數(shù)組s輸入字符串的是(B)。

1.gets(p)

2.gets(s[0]);

3.gets(&s[0]));

4.gets(s);

2-60

有以下定義,CharsD="012M356"*p=s;不能表示字符M的表達(dá)式是(D)o

1.*(P+3)

2.s[3]

3.*(s+3)

4.*p+3

2-61

有定義語句chararray口="China”;則數(shù)組array所占用的空間為(C)。

1.4個字節(jié)

2.5個字節(jié)

3.6個字節(jié)

4.7個字節(jié)

2-62

以下正確的函數(shù)聲明形式是(A)。

1.intfun(intx,inty)

2.intfun(intx;inty)

3.intfun(intx,y);

4.intfun(intx,inty);

2-63

C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(D)。

1.地址傳遞

2.由用戶指定傳遞方式

3.雙向值傳遞

4,單向值傳遞:實參的值傳給形參

2-64

以下程序有語法性錯誤,intmain(void){intN=3,k;voidfunl();〃函數(shù)聲明k=funl(N);//

函數(shù)調(diào)用...}o有關(guān)錯誤原因的正確說法是(B)。

1.語句voidfunl();有錯,它是函數(shù)調(diào)用語句,不能用void說明。

2.函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾

3.函數(shù)聲明語句不應(yīng)該放在這里。

4.變量名不能使用大寫字母

2-65

C語言在C89標(biāo)準(zhǔn)中允許函數(shù)定義時缺省函數(shù)類型,此時隱含的函數(shù)的類型是(C)。

1.long

2.float

3.int

4.double

2-66

在C語言中以下正確的敘述是(D)。

1.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套。

2,函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套。

3,函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套。

4.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。

2-67

若有數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(

A)o

1.數(shù)組的首地址

2.數(shù)組第一個元素的值

3.數(shù)組中全部元素的值

4,數(shù)組元素的個數(shù)

2-68

如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則該變量(B)。

1.在該函數(shù)中有效

2.只在該復(fù)合語句中有效

3.在該程序范圍內(nèi)均有效

4.為非法變量

2-69

凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為(

B)o

1.靜態(tài)(static)

2.自動(auto)

3.外部(extern)

4,寄存器(register)

2-70

以下說法正確的是(B)。

1.實參類型不必同形參類型一致。

2.實參可以是常量、變量和表達(dá)式。

3.形參可以是常量、變量和表達(dá)式。D.實參順序與形參順序無關(guān)。

2-71

有關(guān)C語言的主函數(shù)描述正確的是(C)。

1.C程序可以有多個main函數(shù)

2.C程序可以沒有main函數(shù)

3.C程序有且只有一個main函數(shù)

4.C程序不一定從main函數(shù)開始執(zhí)行

2-72

以下正確的描述是(D)。

1.如果形參和實參的類型不一致,應(yīng)以實參類型為準(zhǔn)。

2.定義函數(shù)時,可以省略不寫形參的類型,只寫形參名。

3.return語句后不能是表達(dá)式。

4.如果函數(shù)值類型與返回值類型不一致,應(yīng)以函數(shù)值類型為準(zhǔn)。

2-73

下列關(guān)于函數(shù)的描述錯誤的是(D)。

1.C程序是由函數(shù)組成的。

2.C程序中的函數(shù)是各自獨立的。

3.main函數(shù)可以調(diào)用其他的函數(shù)。

4.在main函數(shù)中可以嵌套定義別的函數(shù)。

2-74

對于一維數(shù)組名作為函數(shù)實參,以下描述正確的是

(B)o

1.實參數(shù)組類型與形參數(shù)組類型可以不一致。

2,必須在主調(diào)函數(shù)中說明此數(shù)組的大小。

3.函數(shù)調(diào)用時是將實參數(shù)組中的所有元素值復(fù)制到形參數(shù)組中。

4.實參數(shù)組名與形參數(shù)組名必須保持一致。

2-75

數(shù)組名作為參數(shù)時,以下敘述正確的是(C)。

1.函數(shù)調(diào)用時是將實參數(shù)組的所有元素值傳給形參。

2.函數(shù)調(diào)用時是將實參數(shù)組的第一個元素值傳給形參。

3,函數(shù)調(diào)用時是將實參數(shù)組的首地址傳給形參。

4.函數(shù)調(diào)用時是將實參數(shù)組的所有元素的地址傳給形參。

2-76

已有如下數(shù)組定義和函數(shù)調(diào)用語句,inta[3][4];fun(a);則fun函數(shù)的形參數(shù)組定義正確的

是(C)。

1.fun(inta□⑹)

2.fun(inta[3]Q)C.fun(intaQQ)

3.fun(inta[][4])

2-77

以下描述錯誤的是

(A)o

1.實參數(shù)可以與形參個數(shù)不一致。

2.C程序中,函數(shù)可以直接或間接地調(diào)用自己。C.函數(shù)調(diào)用時,函數(shù)名必須與所調(diào)用的

函數(shù)名字完全一致。D.函數(shù)聲明語句中的類型必須與函數(shù)返回值得類型一致。

2-78

關(guān)于遞歸函數(shù)以下敘述錯誤的是(

B)o

1.遞歸函數(shù)是自己調(diào)用自己。

2.遞歸函數(shù)的運行速度很快。

3.遞歸函數(shù)占用較多的存儲空間。

4.遞歸函數(shù)的運行速度一般比較慢。

2-79

以下對局部變量描述錯誤的是(B)。

1.在函數(shù)內(nèi)部定義的變量。

2.在程序的全部執(zhí)行過程中一直占用存儲單元。

3.在main函數(shù)中定義的變量是局部變量。

4.形式參數(shù)也是局部變量。

2-80

在一個源文件中定義的全局變量的作用域是(B)。

1.本文件的全部范圍。

2.從定義該變量的位置開始到本文件結(jié)束。

3.本程序的全部范圍。

4,本函數(shù)的全部范圍。

2-81

以下關(guān)于局部變量和全局變量的敘述錯誤的是(C)。

1.main函數(shù)中定義的變量是局部變量。

2.局部變量可以與全局變量重名。

3.形式參數(shù)不是局部變量。

4,在所有函數(shù)外定義的變量是全局變量。

2-82

若函數(shù)定義如下,intfun(floata){floatb=a+3;returnb;}假設(shè)將常數(shù)3.6傳給a,則函數(shù)的

返回值是(D)o

1.3

2.6.6

3.5

4.6

2-83

若有以下說明語句,structbirthday{intyear;intmonth;intday;}dayl;則下面敘述正確的是

(D)o

1.dayl為結(jié)構(gòu)體類型名

2.structbirthday為結(jié)構(gòu)體變量名

3.month為結(jié)構(gòu)體變量名

4.dayl為結(jié)構(gòu)體變量名

2-84

若有以下結(jié)構(gòu)體類型定義,structworker{intx;floaty;}a;則賦值語句正確的是(C)。

1.worker.x=10;

2.worker.a.x=10

3.a.x=10;

4.x.a=10;

2-85

若有以下結(jié)構(gòu)體類型定義,structworker{charname[16];structdate{intyear;intmonth;int

day;}birthday;}x;則賦值語句正確的是(B)。

1.x.year=1999;

2.x.birthday.month=3;

3.=“黎明”;

4.x.birthday二1999.9.9;

2-86

若有如下定義,structworker{charname[17];intage;intscore;}x;且sizeof(int)=4,貝lj變量

x在內(nèi)存中需要的字節(jié)數(shù)是(C)。

1.17

2.21

3.25

4.4

2-87

根據(jù)下面的定義,structworker{charname[18];intage;};structworker

w[100]={"John",16,"Paul",17/'Mary",16);能輸出字母‘P'的語句是(D)。

1.printf("%c",w[l].name);

2.printf("%c",w[2].name[0]);

3.printf("%c",w[2].name[l]);

4.printf(',%c",w[l].name[O]);

2-88

根據(jù)下面的定義,structworker{charname[18];intage;};structworker

,

w[100]={"John",16,"Paur,17l"Mary",17);能輸出字符串‘Mary1的語句是(A)。

1.printf("%s",w[2].name);

2.printf("%s",w[l].name);

3.printf("%s"1w[2]);

4.printf("%s",w[l]);

2-89

若有以下定義,structdata{intx;inty;}datal;int*p;則使p指向datal中的成員x,正確的

賦值語句是(B)。

1.p=&a;

2.p=&datal.x

3.p=datal.x;

4.*p=datal.x;

2-90

表達(dá)式a?3|b的計算順序是(D)。

1.先執(zhí)行左移,后執(zhí)行或運算

2,先執(zhí)行或運算,再執(zhí)行左移

3,先執(zhí)行或運算,再執(zhí)行右移

4.先執(zhí)行右移,再執(zhí)行或運算

2-91

以下不能將變量m清零的表達(dá)式是(C)。

1.m=m&~m

2.m=m&0

3.m=m|m

4.m=mAm

2-92

表達(dá)式0xll&0xl3的值是(B)o

1.0x12

2.0x11

3.0x12

4..0x22

2-93

若有以下定義,structdata{intx;inty;}datal;int*p;則使p指向datal中的成員x,正確的

賦值語句是(B)。

1.p=&a;

2.p=&datal.x

3.p=datal.x;

4.*p=datal.x;

5-1

輸入一個整數(shù),根據(jù)輸入,輸出該整數(shù)的絕對值。限定不能調(diào)用庫函數(shù)。。

#include<stdio.h>

intmain(void)

{intx;

(4分);

}

5-2

鍵盤輸入10個數(shù)存入一維數(shù)組中,編程實現(xiàn)輸出下標(biāo)為奇數(shù)的元素。數(shù)據(jù)輸入時用空格

分隔,要求輸出完最后一個數(shù)據(jù)后要換行。

#include<stdio.h>

intmain(void)

{inta[10]

for(i=0;i<10;J(2分))〃輸入數(shù)據(jù)

ap]

scanf(“%d”J(2分));

for(i=l;i<10;l(2分))〃輸出數(shù)據(jù)

if(i!=9)

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

else

printfC'l(2分)"

return0;

回文數(shù)是指正讀和反讀都一樣的數(shù)。例如:12321、55455、35553等都是回文。請編寫

一個程序,從鍵盤上讀取一個包含5位數(shù)字的長整數(shù),并判斷它是否是回文數(shù)。先將輸

入數(shù)據(jù)輸出,再輸出是否是回文,若是回文輸出“yes”,否則輸出“n。",中間用一個空格分

隔。

#include<stdio.h>

intmain(void)

{intn,nl,n2,n4,n5;〃nl表示萬位上的數(shù)字,n2千位數(shù)字,n4H立數(shù)字,n5個位數(shù)字

scanf("%d\&n);

^rVIOOOO

:i(2分);

n/1000%10

(2分);

n/10%10

(2分);

(2分);

n1=n5&&n2=n4

(2分))

printf(H%dyes\n"n);

else

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

return0;

5-4

請編程從鍵盤上輸入3個整數(shù)(用空格分隔),判斷這3個數(shù)是否可以構(gòu)成一個三角形

(條件:三條邊均大于0且任意兩邊之和均大于第三邊),如果可以則進(jìn)一步判斷是等

邊、等腰還是一般三角形。若為等邊三角形輸出“1",若為等腰三角形輸出"2",若為一般三

角形輸出"3",若無法組成三角形輸出

#include<stdio.h>

intmain(void)

{intx,y,z;

scanf(

(2分);

x+y>z&&x+z>y&8y-?z>X

(2分))//能構(gòu)成三角形

XT&SyT

{if((2分))〃等邊三角形

printf("l\n");

x=y&x!=z||x=z&&xl=y||y=z&Sy!=x

(25))//等腰三角形

printf("2\n");

else

printf(“3\n”);〃一般三角形

)

else〃不能構(gòu)成三角形

printf(

return。;

)

5-5

輸入三個整數(shù),按照由小到大的順序輸出。數(shù)據(jù)輸入時數(shù)據(jù)之間用空格分隔,輸出時用逗

號,分隔。

#include<stdio.h>

intmain(void)

{intx,y,z,t;

scanf(

(2分);

if(x>y)

|{t=*p<=yy=<;}

if(x>z)

j{t=^x=Z?=t;}

if(y>z)

|{t寸;y=ZK;}

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

return0;

5-6

輸入三個整數(shù),求出其中的最大值并輸出。

#include<stdio.h>

intmain(void)

{intx,y,z,max;

scanf("%d%d%d”,&x,&y,&z);

maxE

(2分);

if(l—

max=y;

max<z

i"(2分))

max=z;

printf(

(2分);

return0;

}

5-7

編寫程序,求自然數(shù)1至n(n>1)的累加和。其中n的值從鍵盤輸入。

#include<stdio.h>

intmain(void)

{intn,s,i;

scanf("%d",&n);

?8ao(2分);

Ii=1Ii<=nIi*H-

for。(2分)1(2分);?(2分))

I皿(2分);

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

return0;

5-8

鍵盤輸入10個數(shù)存入一維數(shù)組中,編程實現(xiàn)輸出下標(biāo)為奇數(shù)的元素。數(shù)據(jù)輸入時用空格

分隔,輸出時用逗號,分隔。

#include<stdio.h>

intmain(void)

{inta[10],i;

forJ函"。;"—(2分))//輸入數(shù)據(jù)

scanf(I

(2分));

for。(2分))//輸出數(shù)據(jù)

i%21=0

if(l(2分))

printf(?(2分));

return0;

5-9

輸入一個3行3列的二維數(shù)組,輸出二維數(shù)組中行列號之和為3的數(shù)組元素以及它們的平

均值。

#include<stdio.h>

intmain(void)

{inta[3]sum=0Jcount=0;

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

for(j=0;j<3;j++)

(2分);

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

for(j=0;j<3;j++)

{k=i+j;

if(l(2分))

{printf("%d\n\a[i][j]);

(sum=^urrwa[i]O]

count++

(2分);

}

}

|(double)sum^louble)oounl

printf("average=%.21f\n",?(2:/?);

return0;

5-10

一個整數(shù)n稱為完全平方數(shù),是指它的值是另一個整數(shù)(1至n)的平方。例如81是個完

全平方數(shù),因為它是9的平方。下列程序的功能是對輸入的一個數(shù)判定是否為完全平方

數(shù)。請將下列程序補(bǔ)充完整完成相應(yīng)功能。輸入輸出樣例如下:

輸入樣例1:

81

輸出樣例1:

81isaperfectsquarenumber.

輸入樣例2:

999

輸出樣例2:

999isnotaperfectsquarenumber.

#include<stdio.h>

intnumber

intiswqs([(2分))

{inti=(2分);

while(i<=number)

i*i=number

{if(i(2分))

return1;

else

i++;

)

0

return1(2分);

)

intmain(void)

{intn;

scanf("%d",&n);

if(lls“(n)(2分)==。)〃調(diào)用函數(shù)

printf("%disnotaperfectsquarenumber.\n'\n);

else

printf("%disaperfectsquarenumber.\n",n);

return0;

)

5-11

下列程序的功能是調(diào)用函數(shù)fun計算表達(dá)式1+1/2+1/3+…+1/n的值并輸出,結(jié)果保留3位

小數(shù),不添加任何提示信息,請?zhí)羁胀瓿沙绦蚬δ堋?/p>

#include<stdio.h>

doublefun(intn)

{doublet=1.0;

inti;

Ii<=n

for(i=2;?(2分);i++)

(2分);

t

return1(2分);

)

intmain(void)

{intm;

doubles;

scanf("%d,&m);

Ifun(m)

s=*(2分);〃調(diào)用函數(shù)

printf(*(2分));

return0;

5-12

編寫一個函數(shù)intmymod(inta,intb),用來求a除以b的余數(shù),并寫出相應(yīng)的主函數(shù)

調(diào)用它。請?zhí)羁胀瓿沙绦蚬δ堋?/p>

intmymod(inta?intb)

{ints,ys;

s=a/b;

ys

return」(2分);

#include<stdio.h>

intmain(void)

{intx,y,myys;

scanf(!(2分));

mymod(x,y)

myys』(2分);

printf('1(2分));

return0;

}

5-13

完美數(shù)是指一個正整數(shù)的所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本

身,例如:由于6=1+2+3,因此6是完美數(shù)。下面的程序通過調(diào)用函數(shù)wms來判斷一個

數(shù)是否是完美數(shù),然后輸出,請?zhí)羁胀瓿沙绦蛳鄳?yīng)功能。

intwms(inta)

{inti,s=0;

Ii<a

for(i=l;>(2分);i++)

|a%=0

if(I(2<?))

S-M

(2分);

if(s==a)return1;

elsereturn0;

)

#include<stdio.h>

intmain(void)

{intx;

|scanf(

(2分);

if(lEl(2分))

printf("%dyes\n",x);

else

printf("%dno\n'',x);

return0;

)

5-14

輸入一個由小寫英文字母構(gòu)成的字符串,統(tǒng)計出現(xiàn)次數(shù)最多的字母及其所在下標(biāo)并輸出。

請?zhí)羁胀瓿上鄳?yīng)程序功能。

#include<stdio.h>

#defineN80

intmain(void)

{charstr[N];

intcount[26]={0},i=0Jmax_n,max_i;

gets(str)

(2分);

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論