山東農(nóng)業(yè)大學(xué)程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題_第1頁(yè)
山東農(nóng)業(yè)大學(xué)程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題_第2頁(yè)
山東農(nóng)業(yè)大學(xué)程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題_第3頁(yè)
山東農(nóng)業(yè)大學(xué)程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題_第4頁(yè)
山東農(nóng)業(yè)大學(xué)程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

注:可利用查找功能復(fù)制部分題干查詢對(duì)應(yīng)題目和解析。

查找按鍵:Ctrl+

一、單選題(每題1分,共20道小題,總分值20分)

1.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()

A6.5

B7

C6

D8

正確答案:C

2.在一個(gè)C語言程序中()

Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前

Bmain函數(shù)可以在任何地方出現(xiàn)

Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后

Dmain函數(shù)必須出現(xiàn)在固定位置

正確答案.D

3.以下敘星中錯(cuò)誤的是()。

AC語句必須以分號(hào)結(jié)束

B復(fù)合語句在語法上被看作一條語句

C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句

正確答案:c

4.執(zhí)行以下程序后,輸出結(jié)果是()

voidmain()

(

inty=ll;

while(-y)

y--;

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

)

A-l

Bl

C8

DO

正確答案:D

5.voidmain()

(

inta=5,*b,**c;

c=&b;

b=&a;

)

程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式:**c的值是()

A變量a的地址

B變量b中的值

C變量a中的值

D變量b的地址

正確答案.C

6.以下敘述中錯(cuò)誤的是()。

AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快

BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C語句FILEfp

D定義了一個(gè)名為fp的文件指針

EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

正確答案:C

7.下面程序執(zhí)行結(jié)果是()

voidmain()

charcl,c2;

inti=2;

cl='a';c2='c';

cl=cl+i;c2=c2-i;

printf("%c,%d”,cl,c2);/*R的ASCII碼為97*/

A語法錯(cuò)誤

B99,97

Cc,a

De,97

正確答案:D

8.算法的特征不包括:()。

A有窮性

B可行性

C確定性

D有1個(gè)或者多個(gè)輸入。

正確答案:D

9.若有以下說明語句(已知int占2個(gè)字節(jié),long占4個(gè)字節(jié)),則下面printf

的輸出結(jié)果是()

unionuarea

intx;

longy;

);

structstr

chars[20];

unionuareaz;

};

voidmain()

printf("%d\n〃,sizeof(structstrj);

}

A24

B26

C20

D3O

正確答案:A

10.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

Ak=k>=k

B-k++

Ck%int(f)

Dk>=f>=m

正確答案:c

11.C語言中,運(yùn)算對(duì)象必須是整型的運(yùn)算符是()

A%

B/

C%和/

D>=

正確答案:A

12.在C語言中,不正確的int類型的常數(shù)是()

A32768

B0

C037

DOxAF

正確答案:A

13.以下能正確定義且賦初值的語句是()。

Aintnl=n2=10

Beharc=32

Cfloatf=f+l.l

Ddoublex=12.3E2.5

正確答案:B

14.以下敘述中正確的是()。

A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

(:在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼

正確答案:B

15.下面對(duì)指針變量的敘述,正確的是()

A指針變量可以加上一個(gè)指針變量

B可以把一個(gè)整形數(shù)賦給指針變量

C指針變量的值可以賦給指針變量

D指針變量不可以有空值,即該指針變量必須指向某一變量

正確答案:B

16.下列標(biāo)識(shí)符中,只有()是合法的。

Aif

B3ab

Clnt

DA-4

正確答案:C

17.為表示關(guān)系X>Y>Z,應(yīng)使用C語言表達(dá)式()

A(X>Y)&&(Y>Z)

BX>=Y>=Z

C(X>=Y)(Y>=Z)

D(X>=Y)&&(Y>=Z)

正確答案:D

18.下面的敘述,不正確的是()

A宏名無類型,其參數(shù)也無類型

B宏定義不是C語句,不必在行末加分號(hào)

C宏替換只是字符替換

D宏替換定義命令必須寫在文件開頭

正確答案:D

19.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()

Apx=&x,py=px

Bpx=x

Cpy=&y

Dpx=z

正確答案:B

20.請(qǐng)問:071人052的結(jié)果是()

A032

B016

C023

D022

正確答案:A

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

l.#include"stdio.h"

voidmain()

(

staticinta[]={0*5};

inti=0,sum=0;

for(;i<5;i++)sum=sum+*(a+i)+i;

printf(//sum=%d,,,sum);

}

正確答案:

staticinta□={0*5}修改為staticinta[5];

2.voidmain()

inta,b;

floatx,y,z;

scanf(/z%f%f%r,&x,&y,&z);

a二b=x+y+z;

c=a+b;

printf(//%d%d%d,,,a,b,c);

}

正確答案:

inta,b;修改為inta,b,c;

3.計(jì)算1+1/2+1/3+...+1/10

voidmain()

(

doublet=1.0;

inti;

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

t+=l/i;

printf("t=%f\n",t);

}

正確答案:

t+=l/i;修改為t+=1.0/i;

4.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。

注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。

#include<stdio.h>

voidmain()

(

inta[10];

int*p=a;

inti;

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

scanf(''%d”,*p++);

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

printf("%5cT,*p++);

}

正確答案:

在第2個(gè)for語句前,添加語句:p二a

5.以下程序用于計(jì)算一個(gè)一維數(shù)組各元素平方根的和。

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正。

Winclude<stdio.h>

voidmain()

(

inta[10],i,sum;

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

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

i=0;

while(!(i=9))

(

sum+=sqrt(a[i]);

i++;

)

)

正確答案:

第一個(gè)錯(cuò)誤:for的第二個(gè)表達(dá)式應(yīng)為i<10。

第二個(gè)錯(cuò)誤:sum未賦初值,應(yīng)加入:sum=0;

第三個(gè)錯(cuò)誤:while循環(huán)的條件應(yīng)改為:!(i==9)或者。<=9)或者(i<10)。

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

l.#include"stdio.h"

voidmain()

(

inti,k,a[10],p[3];

k=5;

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

a[i]=i;

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

p[i]=a[i*(i+l)];

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

k+=p[i]*2;

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

)

運(yùn)行結(jié)果。

(10分)

正確答案:

21

2.#include<stdio.h>

voidmain()

(

inta=100,b=10;

int*pl=&a,*p2=&b;

*pl=b;

*p2=a;

printf("%d,%d/,a,b);

printf("%d,%d\n"*pl,*p2);

)

(10分)

正確答案:

10,10,10,10

四、程序題(每題15分,共1道小題,總分值15分)

1.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如

下:

1

11其構(gòu)成規(guī)律是:

121(1)第0列元素和主對(duì)角線元素均為1

1331(2)其余元素為其左上方和正上方元素之和

14641(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

WdefineN6

voidyanghui(intx[N][N])

{

inti,j;

x[0][0]=l;

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

{

x[i][0]=①=1;

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

x[i][j]=②;

)

)

(15分)

正確答案:

五、綜合題(每題20分,共1道小題,總分值20分)

1.定義一8個(gè)元素的整數(shù)數(shù)組,讀入各元素值后用選擇法由小到大排序,之后輸

出排序結(jié)果。

(20分)

正確答案:

#include<stdio.h>

voidmain()

(

inta[8],i,j,min,temp;

printf("請(qǐng)輸入原數(shù)組:\n");

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

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

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

(

min=i;

for(j=i+l;j<8;j++)

if(a[min]>a[j])

min=j;

temp=a[min];

a[min]=a[i];

a[i]=temp;

}

printf("排序后為:\n〃);

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

printf(/z%d

}

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

一、單選題(每題1分,共20道小題,總分值20分)

1.返回值為void的函數(shù),其含義是()

A調(diào)用函數(shù)之后,被調(diào)用的函數(shù)沒有返回值;

B調(diào)用函數(shù)之后,被調(diào)用的函數(shù)不返回

(:調(diào)用函數(shù)之后,被調(diào)用的函數(shù)返回值為任意類型

D以上三種說法均不正確。

正確答案:A

2.C語言源程序的基本組成單位是()。

A函數(shù)

B語句

C聲明和語句

D文件

正確答案:A

3.下列說法中正確的是:()。

AC語言中的for語句的三個(gè)表達(dá)式都可以省略,而且分號(hào)也可以省略。

B宏替換比函數(shù)調(diào)用的執(zhí)行速度慢。

C實(shí)質(zhì)上,C語言中的指針就是一個(gè)變量的地址。

DC語言中的任何函數(shù)都可以由程序員命名。

正確答案:C

4.算法的特征不包括:()。

A有窮性

B可行性

C確定性

D有1個(gè)或者多個(gè)輸入。

正確答案:D

5.在一個(gè)C語言程序中()

Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前

Bmain函數(shù)可以在任何地方出現(xiàn)

Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后

Dmain函數(shù)必須出現(xiàn)在固定位置

正確答案:B

6.下程序的結(jié)果為()

intf(inta)

autointb=0;

staticintc=3;

b=b+l;

c=c+l;

return(a+b+c);

}

voidmain()

(

inta=2,i;

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

printf("%d”,f(a));

}

A789

B777

C8910

D9

正確答案:A

7.voidmain()

(

inta=5,*b,**c;

c=&b;

b=&a;

程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式:**c的值是()

A變量a的地址

B變量b中的值

C變量a中的值

D變量b的地址

正確答案:C

8.以下關(guān)于函數(shù)的敘述中正確的是()。

A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))

B每個(gè)函數(shù)都可以被單獨(dú)編譯

C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

正確答案:B

9.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()

A6.5

B7

C6

D8

正確答案:C

10.合法的C語言標(biāo)識(shí)符是()

Aab&c

B2ab

C_al

D/n

正確答案:C

11.已定義以下函數(shù)

intfun(int*p)

{

return*p;

)

該函數(shù)的返回值是()

A不確定的值

B形參p中存放的值

C形參p所指存儲(chǔ)單元中的值

D形參p的地址值

正確答案:C

12.對(duì)于scanf("A=%d",&a)語句,輸入10的正確的輸入形式是()

Aa=10

BA=10

CIO

D=10

正確答案:B

13.執(zhí)行以下程序后,輸出結(jié)果是()

voidmain()

(

inty=ll;

while(—y)

y-;

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

}

A-l

Bl

C8

DO

正確答案:D

14.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()

Apx=&x,py=px

Bpx=x

Cpy=&y

Dpx=z

正確答案:B

15.下面對(duì)函數(shù)的敘述,不正確的是()

A函數(shù)的返回值是通過函數(shù)中的return語句獲得的

B函數(shù)不能嵌套定義

C一個(gè)函數(shù)中有且只有一個(gè)return語句

D函數(shù)中沒有return語句,并不是不帶回值

正確答案:C

16.以下敘述中正確的是()。

A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼

正確答案:B

17.以下不能正確定義二維數(shù)組的選項(xiàng)是()

Ainta[2][2]={{l},{2})

Binta[2][]={{l,2},{3,4}}

Cinta[2][2]={{1},2,3}

Dinta[][2]={l,2,3,4)

正確答案:B

18.若有兩條語句:staticcharx[]="abcde”;

staticchary[]={'a','b','c','d','e'};

則下列說法中正確的是()

Ax數(shù)組和y數(shù)組長(zhǎng)度相同

Bx數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度

Cx數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度

D以上三種說法均錯(cuò)誤。

正確答案:B

19.當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選

項(xiàng)含義不同,這個(gè)選項(xiàng)是()。

Ak%2

Bk%2==l

C(k%2)!=0

D!k%2==l

正確答案:D

20.函數(shù)strcmp("A","B")的值為()

AO

B-l

Cl

D3

正確答案:B

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

1.以下程序用于計(jì)算一個(gè)一維數(shù)組各元素平方根的和。

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正。

Winclude<stdio.h>

voidmain()

(

inta[10],i,sum;

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

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

i=0;

while(!(i=9))

sum+=sqrt(a[i]);

i++;

)

)

正確答案:

第一個(gè)錯(cuò)誤:for的第二個(gè)表達(dá)式應(yīng)為i<10。

第二個(gè)錯(cuò)誤:sum未賦初值,應(yīng)加入:sum=0;

第三個(gè)錯(cuò)誤:while循環(huán)的條件應(yīng)改為:!(仁二9)或者(i<=9)或者(i<10)。

2.#include"stdio.h"

voidmain()

(

chara[20];

inti=0;

scanf("%s〃,&a);

while(a[i])

printf("%c〃,a[i++]);

}

正確答案:

scanf(〃%s:&a);修改為scanf("%s〃,a);

3.下程序是從鍵盤上輸入若干學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)

輸入負(fù)數(shù)時(shí)結(jié)束輸入。

注:該題目有1個(gè)錯(cuò)誤之處,找出并改正。

#include<stdio.h>

voidmain()

(

floatx,amax,amin;

scanf("%f〃,&x);

amax=x;

amin=x;

while(x<0)

(

if(x>amax)amax=x;

if(x<amin)amin=x;

scanf("%f〃,&x);

};

printf(zzamax=%f\namin=%f\n,,,amax,amin);

}

正確答案:

while(x<0)修改為while(x>=0)

4.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正

Winclude<stdio.h>

#definePI3.1415926;

voidmain()

(

intr;

floats;

scanf(“%d”,rj;

s=PI*r**r;

printf("s=%f\n,,,s);

}

正確答案:

第一個(gè)錯(cuò)誤:scanf("%d〃j)應(yīng)為scanf(〃%d,&r〃)。

第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。

第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=Pl*r*r°

5.intstr_space(char*strj/*統(tǒng)計(jì)字符串中空格數(shù)*/

(

intnum=0;

charch;

while((ch=*str++)!=,\O,)

if(ch=〃)num++;

return(num);

}

正確答案:

if(ch=〃)修改為if(ch==〃)

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

1.有以下程序

#include<stdio.h>

voidmain()

(

inti=0,s=0;

do

(

if(i%2)

(

i++;

continue;

}

i++;

s+=i;

}while(i<9);

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

}

執(zhí)行后輸出的結(jié)果是。

(10分)

正確答案:

25

2.定義如下變量和數(shù)組

inti,x[3][3]={l,2,3,4,5,6,7,8,9};

則下列語句

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

printf(w%dw,x[i][2-i]);

的輸出結(jié)果是O

(10分)

正確答案:

357

四、程序題(每題15分,共工道小題,總分值15分)

1.以下程序的功能是輸出如下形式的方陣:

13141516

9101112

5678

1234

請(qǐng)?zhí)羁铡?/p>

^include<stdio.h>

voidmain()

(

int

for(j=4;一①;j--)

{

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

(

x=(j;)*4+—②—;

printf("%4d",x);

}

printf("\n");

)

)

(15分)

正確答案:

①j>0;②i

五、綜合題(每題20分,共1道小題,總分值20分)

1.定義一8個(gè)元素的整數(shù)數(shù)組,讀入各元素值后用選擇法由小到大排序,之后輸

出排序結(jié)果。

(20分)

正確答案:

#include<stdio.h>

voidmain()

(

inta[8],i,j,min,temp;

printf(“請(qǐng)輸入原數(shù)組:\n〃);

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

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

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

(

min=i;

for(j=i+l;j<8;j++)

if(a[min]>a[j])

min=j;

temp=a[min];

a[min]=a[i];

a[i]=temp;

}

printf(〃排序后為:\n〃);

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

printf("%d

}

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

一、單選題(每題1分,共20道小題,總分值20分)

1.以下關(guān)于函數(shù)的敘述中正確的是()。

A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))

B每個(gè)函數(shù)都可以被單獨(dú)編譯

C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

正確答案.B

2.以下敘述中錯(cuò)誤的是()。

AC語句必須以分號(hào)結(jié)束

B復(fù)合語句在語法上被看作一條語句

C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句

正確答案:c

3.下列標(biāo)識(shí)符中,只有()是合法的。

Aif

B3ab

Clnt

DA-4

正確答案:c

4.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為。的表達(dá)式是()。

A(!a==l)&&(!b==0)

B(a<b)&&!c||1

Ca&&b

Da||(b+b)&&(c-a)

正確答案:A

5.有以下程序段

intk=0,a=l,b=2,c=3;k=a<b?b:a;k=k>c?c:k;

執(zhí)行該程序段后,k的值是()。

A3

B2

Cl

DO

正確答案.B

6.以下敘星中錯(cuò)誤的是()。

AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快

BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C語句FILEfp

D定義了一個(gè)名為fp的文件指針

EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

正確答案:C

7.uniondata

(

inti;

charc;

floatf;

};

定義了()

A共用體類型data

B共用體變量data

C結(jié)構(gòu)體類型data

DJ結(jié)構(gòu)體變量data

正確答案:A

8.以下不能正確計(jì)算代數(shù)式值的C語言表達(dá)式是()。

Al/3*sin(l/2)*sin(l/2)

Bsin(0.5)*sin(0.5)/3

Cpow(sin(0.5),2)/3

Dl/3.0*pow(sin(1.0/2),2)

確答案?A

9.下列常量中,只有()是合法的。

A3e-0.3

B'abc'

C02al

D\377

正確答案:D

10.下面對(duì)指針變量的敘述,正確的是()

A指針變量可以加上一個(gè)指針變量

B可以把一個(gè)整形數(shù)賦給指針變量

C指針變量的值可以賦給指針變量

D指針變量不可以有空值,即該指針變量必須指向某一變量

正確答案:B

1L執(zhí)行以下程序后,輸出結(jié)果是()

voidmain()

inty=ll;

while(—y)

y-;

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

}

A-l

Bl

C8

DO

正確答案:D

12.請(qǐng)問:07W052的結(jié)果是()

A032

B016

C023

D022

正確答案:A

13.下列說法中正確的是:()。

AC語言中的for語句的三個(gè)表達(dá)式都可以省略,而且分號(hào)也可以省略。

B宏替換比函數(shù)調(diào)用的執(zhí)行速度慢。

(:實(shí)質(zhì)上,C語言中的指針就是一個(gè)變量的地址。

DC語言中的任何函數(shù)都可以由程序員命名。

正確答案:C

14.在一個(gè)C語言程序中()

Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前

Bmain函數(shù)可以在任何地方出現(xiàn)

Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后

Dmain函數(shù)必須出現(xiàn)在固定位置

正確答案:B

15.若有兩條語句:staticcharx[]="abcde”;

staticchary[]={'a','b','c','d','e'};

則下列說法中正確的是()

Ax數(shù)組和y數(shù)組長(zhǎng)度相同

Bx數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度

Cx數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度

D以上三種說法均錯(cuò)誤。

正確答案:B

16.下程序的結(jié)果為()

intf(inta)

autointb=0;

staticintc=3;

b=b+l;

c=c+l;

return(a+b+c);

}

voidmain()

(

inta=2,i;

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

printf(''%d'1f(a));

}

A789

B777

C8910

D9

正確答案:A

17.為表示關(guān)系X>Y>Z,應(yīng)使用C語言表達(dá)式()

A(X>Y)&&(Y>Z)

BX>=Y>=Z

C(X>=Y)(Y>=Z)

D(X>=Y)&&(Y>=Z)

正確答案:D

18.以下敘述中正確的是()。

A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼

正確答案:B

19.函數(shù)strcmp("A","B")的值為()

A0

B-1

C1

D3

正確答案:B

20.程序的結(jié)果為()

voidmain()

(

inta=3,b=4,t=l;

if(a>b)

{t=a;a=b;b=t;}

printf("%d〃,a);

}

A3

B4

Cl

DO

正確答案:A

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

L以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正

#include<stdio.h>

#definePI3.1415926;

voidmain()

(

intr;

floats;

scanf(”%d”,rj;

s=PI*r**r;

printf("s=%f\n,,,s);

}

正確答案:

第一個(gè)錯(cuò)誤:scanf("%d〃j)應(yīng)為scanf(〃%d,&r〃)。

第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。

第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=Pl*r*r°

2.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。

注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。

Winclude<stdio.h>

voidmain()

(

inta[10];

int*p=a;

inti;

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

scanf("%cT’*p++);

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

printf(〃%5cT,*p++);

}

正確答案:

在第2個(gè)for語句前,添加語句:p=a

3.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。

voidmain()

|

inti;

for(i=100;i>=0;i-)

if(i%13==0)

printf("%d",i);

)

正確答案:

if(ch>='a'&&ch<='z')修改為if(*ch>='a'&&*ch<='z')

4.求1+2+3+...+100

voidmain()

{

inti=l;

do

{

sum+=i;

i++;

}while(i<=100);

printf(”%cT,sum);

}

正確答案:

在do之前面加:intsum=0;

5.#include"stdio.h"

voidmain()

(

chara[20];

inti=0;

scanf("%s〃,&a);

while(a[i])

printf(zz%c,,,a[i++]);

}

正確答案:

scanf("%s",&a);修改為scanf("%s",a);

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

l.#include"stdio.h"

voidmain()

{

intx=l;

voidfl(),f2();

fl();

f2(x);

printf("x=%d\n”,x);

)

voidfl()

{

intx=3;

printf("x=%d\n”,x);

)

voidf2(intx)

{

printf("x=%d\t”,x);

)

運(yùn)行結(jié)果。

(10分)

正確答案:

x=3

x=lx=l

2.#include<stdio.h>

voidmain()

(

inta⑷⑷={{323-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}};

inti,j,s=O;

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

{

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

(

if(a[i][j]<0)

continue;

if(a[i][j]==O)

break;

s+=a[i][j];

)

)

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

)

(10分)

正確答案:

40

四、程序題(每題15分,共1道小題,總分值15分)

1.本程序?qū)崿F(xiàn)判斷m是否為素?cái)?shù),請(qǐng)?jiān)诔绦蚩瞻滋?序號(hào)①②處)填空

#include"stdio.h"

voidmain()

|

intm,i,k;

scanf("%cT,&m);

k=①;

for(i=2;i<=k;i++)

if(m%i==0)break;

if(②)

printf(''%d"isaprimenumber\n〃,m);

else

printf(/z%disnotaprimenumberXn^m);

}

(15分)

正確答案:

①m-1;②i>=m

五、綜合題(每題20分,共1道小題,總分值20分)

L設(shè)整型變量a、b、c分別從鍵盤輸入3個(gè)整數(shù),編寫程序,按照從大到小的順

序排列這3個(gè)數(shù),使a成為最大的,c成為最小的,并且按序輸出這3個(gè)數(shù)。

(20分)

正確答案:

#include<stdio.h>

voidmain()

(

inta,b,c,t;

printf('Inputa,b,c://);

scanf("%d,%d,%d",&a,&b,&c);

if(a<b)

{t=a;a=b;b=t;}

if(a<c)

{t=a;a=c;c=t;}

if(b<c)

{t=b;b=c;c=t;}

printf(zzaftersorted:");

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

)

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

一、單選題(每題1分,共20道小題,總分值20分)

1.當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)

含義不同,這個(gè)選項(xiàng)是()。

Ak%2

Bk%2==l

C(k%2)!=0

D!k%2==l

正確答案:D

2.執(zhí)行以下程序后,輸出結(jié)果是()

voidmain()

(

inty=ll;

while(-y)

y-;

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

)

A-l

Bl

C8

DO

正確答案:D

3.為表示關(guān)系X2Y2Z,應(yīng)使用C語言表達(dá)式()

A(X>Y)&&(Y>Z)

BX>=Y>=Z

C(X>=Y)(Y>=Z)

D(X>=Y)&&(Y>=Z)

正確答案:D

4,將p定義為指向含n個(gè)元素的一維數(shù)組的指針變量,正確的語句為()

Aint(*p)[n]

Bint*p[n]

Cintp[n]

Dint**p[n]

正確答案:A

5.以下敘述中錯(cuò)誤的是()。

AC語句必須以分號(hào)結(jié)束

B復(fù)合語句在語法上被看作一條語句

C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句

正確答案?C

6.以下敘述中錯(cuò)誤的是()。

AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快

BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)

C語句FILEfp

D定義了一個(gè)名為fp的文件指針

EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)

正確答案:C

7.下列關(guān)于switch和break語句的討論中,只有()是正確的。

Abreak語句是switch語句的一部分

B在switch語句中可以根據(jù)需要使用或不使用break語句

Cswitch語句中必須使用break語句

D以上三種說法都不正確。

正確答案:B

8.下列標(biāo)識(shí)符中,只有()是合法的。

Aif

B3ab

Clnt

DA-4

正確答案:C

9,函數(shù)strcmp(〃A〃,〃B〃)的值為()

AO

B-l

Cl

D3

正確答案:B

10.下面對(duì)枚舉類型的敘述,不正確的是()

A定義枚舉類型用enum開頭

B枚舉常量的值是一個(gè)常數(shù)

C一個(gè)整數(shù)可以直接賦給一個(gè)枚舉變量

D枚舉值可以用來作判斷比較

正確答案:C

11.以下敘述中正確的是()。

A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼

正確答案:B

12.返回值為void的函數(shù),其含義是()

A調(diào)用函數(shù)之后,被調(diào)用的函數(shù)沒有返回值;

B調(diào)用函數(shù)之后,被調(diào)用的函數(shù)不返回

(:調(diào)用函數(shù)之后,被調(diào)用的函數(shù)返回值為任意類型

D以上三種說法均不正確。

正確答案:A

13.C語言中,如果對(duì)函數(shù)類型未加說明,則函數(shù)的隱含類型為()

Aduoble

Bvoid

Cint

Dchar

正確答案:C

14.以下選項(xiàng)中,不能作為合法常量的是

A1.234e04

B1.234e0.4

C1.234e+4

D1.234e0

正確答案:B

15.以下敘述中正確的是()

AC程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B花括號(hào)“"和"}"只能作為函數(shù)體的定界符

C構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D分號(hào)是C語句之間的分隔符,不是語句的一部分

正確答案:A

16.合法的C語言標(biāo)識(shí)符是()

Aab&c

B2ab

C_al

D/n

正確答案:C

17.有以下程序段

typedefstructNODE{

intnum;

structNODE*next;

}OLD;

以下敘述中正確的是()。

A以上的說明形式非法

BNODE是一個(gè)結(jié)構(gòu)體類型

COLD是一個(gè)結(jié)構(gòu)體類型

DOLD是一個(gè)結(jié)構(gòu)體變量

正確答案:C

18.下面對(duì)函數(shù)的敘述,不正確的是()

A函數(shù)的返回值是通過函數(shù)中的return語句獲得的

B函數(shù)不能嵌套定義

C一個(gè)函數(shù)中有且只有一個(gè)return語句

D函數(shù)中沒有return語句,并不是不帶回值

正確答案:C

19.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是()

Ac=b=a;

B(a=c)(b=c)

C

D(a=c)&&(b=c)

E

Fa=c=b

正確答案:c

20.已定義以下函數(shù)

intfun(int*p)

{

return*p;

)

該函數(shù)的返回值是()

A不確定的值

B形參p中存放的值

C形參p所指存儲(chǔ)單元中的值

D形參p的地址值

正確答案:c

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

1.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正

#include<stdio.h>

#definePI3.1415926;

voidmain()

{

intr;

floats;

scanf("%d",r);

s=p|*r**r;

printf("s=%f\n",s);

)

正確答案:

第一個(gè)錯(cuò)誤:scanf("%d",r)應(yīng)為scanf("%d,&r")。

第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。

第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=PI*r*r。

2.計(jì)算1+1/2+1/3+...+1/10

voidmain()

{

doublet=1.0;

inti;

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

t+=l/i;

printf("t=%f\n",t);

)

正確答案:

t+=l/i;修改為t+=1.0/i;

3.intstr_space(char*str)/*統(tǒng)計(jì)字符串中空格數(shù)*/

(

intnum=0;

charch;

while((ch=*str++)!=,\O,)

if(ch=")num++;

return(num);

)

正確答案:

if(ch=〃)修改為if(ch==〃)

4.求1+2+3+...+100

voidmain()

|

inti=l;

do

{

sum+=i;

i++;

}while(i<=100);

printf(”%cT,sum);

}

正確答案:

在do之前面加:intsum=0;

5.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。

注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。

#include<stdio.h>

voidmain()

(

inta[10];

int*p=a;

inti;

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

scanf("%d,,,*p++);

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

printf("%5d〃,*p++);

)

正確答案:

在第2個(gè)for語句前,添加語句:p=a

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

l.#include<stdio.h>

voidmain()

(

inta=l,b=2,c=3;

if(c==a)

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

else

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

)

(10分)

正確答案:

2

2.定義如下變量和數(shù)組

inti,x[3][3]={l,2,3,4,5,6,7,8,9};

則下列語句

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

printf(H%dw,x[i][2-i]);

的輸出結(jié)果是0

(10分)

正確答案:

357

四、程序題(每題15分,共1道小題,總分值15分)

1.下面invert函數(shù)的功能是將一個(gè)字符串內(nèi)容顛倒過來,請(qǐng)?zhí)羁?序號(hào)①②處)。

#include"string.h〃

voidinvert(charstr[])

(

inti,j,k;

for(i=O,j=strlen(str)-l;i<j;①)

(

k=str[i];

—②;

str[j]=k;

)

)

(15分)

正確答案:

①i++(或++i,或i+=l,或i=i+l),j—(或或j-=l,或j=i-l);(2)str[i]=str[j](或

*(str+i)=*(str+j))

五、綜合題(每題20分,共工道小題,總分值20分)

1.設(shè)整型變量a、b、c分別從鍵盤輸入3個(gè)整數(shù),編寫程序,按照從大到小的順

序排列這3個(gè)數(shù),使a成為最大的,c成為最小的,并且按序輸出這3個(gè)數(shù)。

(20分)

正確答案:

//include<stdio.h>

voidmain()

(

inta,b,c,t;

printf(/zinputa,b,c:");

scanf("%d,%d,%cT,&a,&b,&c);

if(a<b)

{t=a;a=b;b=t;}

if(a<c)

{t=a;a=c;c=t;}

if(b<c)

{t=b;b=c;c=t;}

printf("aftersorted:");

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

}

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

一、單選題(每題1分,共20道小題,總分值20分)

1.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()

A6.5

B7

C6

D8

正確答案:c

2.在C語言中,不正確的int類型的常數(shù)是()

A32768

B0

C037

DOxAF

正確答案:A

3.有以下程序段

intk=0,a=l,b=2,c=3;k=a<b?b:a;k=k>c?c:k;

執(zhí)行該程序段后,k的值是()。

A3

B2

Cl

DO

正確答案:B

4.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

Ak=k>=k

B-k++

Ck%inHf)

Dk>=f>=m

正確答案:C

5.以下能正確定義且賦初值的語句是()。

Aintnl=n2=10

Beharc=32

Cfloatf=f+l.l

□doublex=12.3E2.5

正確答案:B

6.在printf語句中按字符串輸出的格式是()

A"%s"

B"%c"

C"%f"

D"%d"

正確答案:A

7.下面程序執(zhí)行結(jié)果是()

voidmain()

charcl,c2;

inti=2;

cl='a';c2='c';

cl=cl+i;c2=c2-i;

printf("%c,%d”,cl,c2);/*R的ASCII碼為97*/

A語法錯(cuò)誤

B99,97

Cc,a

De,97

正確答案:D

8.以下不能正確定義二維數(shù)組的選項(xiàng)是()

Ainta[2][2]={{l},{2})

Binta⑵口={{1,2},{3,4}}

Cinta[2][2]={{1},2,3}

Dinta[][2]={l,2,3,4)

正確答案:B

9.為表示關(guān)系X2Y2Z,應(yīng)使用C語言表達(dá)式()

A(X>Y)&&(Y>Z)

BX>=Y>=Z

C(X>=Y)(Y>=Z)

D(X>=Y)&&(Y>=Z)

正確答案:D

10.C語言源程序的基本組成單位是()。

A函數(shù)

B語句

C聲明和語句

D文件

正確答案:A

11.在一個(gè)C語言程序中()

Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前

Bmain函數(shù)可以在任何地方出現(xiàn)

Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后

Dmain函數(shù)必須出現(xiàn)在固定位置

正確答案:B

12.程序的結(jié)果為()

voidmain()

(

inta=l;

switch(a)

{case1:printf(/zl/,);

case2:printf("2〃);

default:printf(//other",);

}

}

A12other

Bl

C2

DOther

正確答案:A

13.以下敘述中正確的是()

AC程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B花括號(hào)和"}"只能作為函數(shù)體的定界符

C構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D分號(hào)是C語句之間的分隔符,不是語句的一部分

確答案.A

14.該程序.段的輸出結(jié)果為()

intx=20;

printf("%d,%o,%x”,x,x,x);

A20,20,20

B20,24,14

C20,14,24

D20,024,14

正確答案:B

15.以下選項(xiàng)中,不能作為合法常量的是

A1.234e04

B1.234e0.4

C1.234e+4

D1.234e0

正確答案:B

16.以下關(guān)于函數(shù)的敘述中正確的是()。

A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))

B每個(gè)函數(shù)都可以被單獨(dú)編譯

C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

正確答案:B

17.表達(dá)式(int)3.6*3的值為()

A9

B10

C10.8

D18

正確答案:A

18.設(shè)a=3,b=4,表達(dá)式a>b?b:a的值是()

A3

B4

C4:3

DO

正確答案:A

19.C語言中,如果對(duì)函數(shù)類型未加說明,則函數(shù)的隱含類型為()

Aduoble

Bvoid

Cint

Dchar

正確答案:c

20.C語言中,運(yùn)算對(duì)象必須是整型的運(yùn)算符是()

A%

B/

C%和/

D>=

正確答案:A

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

1.下程序是從鍵盤上輸入若干學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)

輸入負(fù)數(shù)時(shí)結(jié)束輸入。

注:該題目有1個(gè)錯(cuò)誤之處,找出并改正。

^include<stdio.h>

voidmain()

(

floatx,amax,amin;

scanf("%f〃,&x);

amax=x;

amin=x;

while(x<0)

(

if(x>amax)amax=x;

if(x<amin)amin=x;

scanf("%f〃,&x);

};

printf(//amax=%f\namin=%f\n,,,amax,amin);

}

正確答案:

while(x<0)修改為while(x>=0)

2.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So

注:該題目有3個(gè)錯(cuò)誤之處,找出并改正

^include<stdio.h>

#definePI3.1415926;

voidmain()

(

intr;

floats;

scanf(”%d”,rj;

s=p|*r**r;

printf(,,s=%f\n",s);

}

正確答案:

第一個(gè)錯(cuò)誤:scanf(〃%d〃,r)應(yīng)為scanf(〃%d,&r〃)。

第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。

第三個(gè)錯(cuò)誤:s=Pl*r**2應(yīng)為s=Pl*r*r。

3.voidmain()

(

inta,b;

floatx,y,z;

scanf("%f%f%f,&x,&y,&z);

a=b=x+y+z;

c=a+b;

printf(/z%d%d%d,,,a,b,c);

}

正確答案:

inta,b;修改為inta,b,c;

4.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。

注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。

^include<stdio.h>

voidmain()

(

inta[10];

int*p=a;

inti;

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

scanf("%d〃,*p++);

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

printf("%5d”,*p++);

}

正確答案:

在第2個(gè)for語句前,添加語句:p=a

5.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。

voidmain()

{

inti;

for(i=100;i>=0;i-)

if(i%13==0)

printf("%d",i);

)

正確答案:

if(ch>='a'&&ch<='z')修改為if(*ch>='a'&&*ch<='z')

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

l.#include<stdio.h>

voidmain()

(

inta=l,b=2,c=3;

if(c==a)

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

else

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

)

(10分)

正確答案:

2

2.有以下程序

#include<stdio.h>

voidmain()

inti=0,s=0;

do

if(i%2)

(

i++;

continue;

)

i++;

s+=i;

}while(i<9);

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

)

執(zhí)行后輸出的結(jié)果是。

(10分)

正確答案:

25

四、程序題(每題15分,共1道小題,總分值15分)

1.以下程序的功能是輸出如下形式的方陣:

13141516

9101112

5678

1234

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

voidmain()

{

inti,j,x;

for(j=4;一①;j-)

(

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

(

x=(j;)*4+一②—;

printf("%4d",x);

)

printf("\n");

)

)

(15分)

正確答案:

①j>0;②i

五、綜合題(每題20分,共1道小題,總分值20分)

1.已知一個(gè)整型數(shù)組X[4],它的各元素值分別為3、11,8、22。使用指針表示法

編寫程序,求各數(shù)組元素之積。

(20分)

正確答案:

#include<stdio.h>

voidmain()

(

intI,X[4]={3,11,8,22},*p=x

longy=l;

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

Y=Y*(*P++);

printf("Y=%ld\n”,Y);

)

程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題

一、單選題(每題1分,共20道小題,總分值20分)

1.以下不能正確定義二維數(shù)組的選項(xiàng)是()

Ainta[2][2]={{l},{2}}

Binta[2][]={{l,2};{3,4}}

Cinta[2][2]={{1},2,3}

Dinta[][2]={l,2,3,4)

正確答案:B

2.將p定義為指向含n個(gè)元素的一維數(shù)組的指針變量,正確的語句為()

Aint(*p)[n]

Bint*p[n]

Cintp[n]

Dint**p[n]

正確答案:A

3.若有以下說明語句(已知int占2個(gè)字節(jié),long占4個(gè)字節(jié)),則下面printf

的輸出結(jié)果是()

unionuarea

(

intx;

longy;

);

structstr

(

chars[20];

unionuareaz;

);

voidmainf)

(

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

)

A24

B26

C20

D30

正確答案:A

4.以下選項(xiàng)中,不能作為合法常量的是

A1.234e04

B1.234e0.4

C1.234e+4

D1.234e0

正確答案:B

5.以下關(guān)于函數(shù)的敘述中正確的是()。

A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))

B每個(gè)函數(shù)都可以被單獨(dú)編譯

C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行

D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)

正確答案:B

6.算法的特征不包括:()。

A有窮性

B可行性

C確定性

D有1個(gè)或者多個(gè)輸入。

正確答案:D

7.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

Ak=k>=k

B-k++

Ck%inHf)

Dk>=f>=m

正確答案:C

8.程序的結(jié)果為()

voidmain()

(

inta=l;

switch(a)

{case1:printf(/zl/,);

case2:printf("2〃);

default:printf(//other",);

}

}

A12other

Bl

C2

DOther

正確答案:A

9.判斷下面標(biāo)識(shí)符中哪個(gè)是C語言中合法的用戶定義標(biāo)識(shí)符()

Aa-b

B#abd

Ctypedef

D_max

正確答案:D

10.以下程序的功能是:當(dāng)a<b<c時(shí),以八進(jìn)制形式輸出a、b、c的值。

Winclude<stdio.h>

voidmain()

inta,b,c;

scanf(zz%d%d%d,,,&a,&b,&c);

if(a<b<c)

printf(z/%o%o%o,,,a,b,c);

}

程序不能得到正確結(jié)果的的原因是()。

A注釋語句書寫位置錯(cuò)誤

Ba、b、c不能以八進(jìn)制進(jìn)行輸出

C沒有按照八進(jìn)制進(jìn)行輸入

Dif語句的條件表達(dá)式錯(cuò)誤

正確答案:D

11.下面的敘述,不正確的是()

A宏名無類型,其參數(shù)也無類型

B宏定義不是C語句,不必在行末加分號(hào)

C宏替換只是字符替換

D宏替換定義命令必須寫在文件開頭

正確答案:D

12.C語言源程序的基本組成單位是()。

A函數(shù)

B語句

C聲明和語句

D文件

正確答案.A

13.下列常.量中,只有()是合法的。

A3e-0.3

B'abc'

C02al

D\377

正確答案:D

14.請(qǐng)問:07W052的結(jié)果是()

A032

B016

C023

D022

正確答案:A

15.設(shè)a=3,b=4,表達(dá)式a>b?b:a的值是()

A3

B4

C4:3

DO

正確答案:A

16.在printf語句中按字符串輸出的格式是()

A"%s"

B"%c"

C"%f"

D"%d"

正確答案:A

17.下列標(biāo)識(shí)符中,只有()是合法的。

Aif

B3ab

Clnt

DA-4

正確答案:C

18.以下敘述中錯(cuò)誤的是()。

AC語句必須以分號(hào)結(jié)束

B復(fù)合語句在語法上被看作一條語句

C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行

D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句

正確答案:C

19.以下敘述中正確的是()。

A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)

B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h

C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出

D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼

正確答案:B

20.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()

Apx=&x,py=px

Bpx=x

Cpy=&y

Dpx=z

正確答案:B

二、改錯(cuò)(每題5分,共5道小題,總分值25分)

l.voidmain()

inta,b;

floatx,y,z;

scanf("%f%f%f",&x,&y,&z);

a=b=x+y+z;

c=a+b;

printf(z/%d%d%d,,,a,b,c);

}

正確答案:

inta,b;修改為inta,b,c;

2.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。

voidmain()

(

inti;

for(i=100;i>=0;i-)

if(i%13==0)

printf(”%d”,i);

}

正確答案:

if(ch>=H&&ch<=N)修改為if(*ch>=/a,&&*ch<=,z")

3.計(jì)算1+1/2+1/3+...+1/10

voidmain()

(

doublet=1.0;

inti;

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

t+=l/i;

printf(,,t=%f\n",t);

}

正確答案:

t+=l/i;修改為t+=1.0/i;

4求1+2+3+...+100

voidmain()

(

inti=l;

do

(

sum+=i;

i++;

}while(i<=100);

printf(”%cT,sum);

}

正確答復(fù)

在do之前面加:intsum=0;

5.intstr_space(char*strj/*統(tǒng)計(jì)字符串中空格數(shù)*/

(

intnum=0;

charch;

while((ch=*str++)!=,\0,)

if(ch=〃)num++;

return(num);

)

正確答案:

if(ch=〃)修改為if(ch==〃)

三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)

l.voidmain()

{

inta[10]={l,2,3,4,5,6,7,8,9,0},*p;

P=a;

printf("%d",*p);

printf("%d\n",*(p+8));

)

輸出結(jié)果是o

(10分)

正確答案:

19

2.#include"stdio.h"

voidmain()

(

intx=l;

voidfl(),f2();

fl();

f2(x);

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

)

voidfl()

(

intx=3;

printf("x=%d\n”,x);

)

voidf2(intx)

(

printf("x=%d\t”,x);

)

運(yùn)行結(jié)

溫馨提示

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