中國大學mooc《C語言程序設(shè)計(華中科技大學) 》章節(jié)測試答案_第1頁
中國大學mooc《C語言程序設(shè)計(華中科技大學) 》章節(jié)測試答案_第2頁
中國大學mooc《C語言程序設(shè)計(華中科技大學) 》章節(jié)測試答案_第3頁
中國大學mooc《C語言程序設(shè)計(華中科技大學) 》章節(jié)測試答案_第4頁
中國大學mooc《C語言程序設(shè)計(華中科技大學) 》章節(jié)測試答案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

titleC語言程序設(shè)計(華中科技大學)中國大學mooc答案100分最新版content

第一周:C語言概述第一周單元測試1、以下關(guān)于C語言說法錯誤的是(

)。答案:C語言程序習慣使用大寫英文字母2、以下不正確的C語言標識符是(

)。答案:xy.z3、以下正確的C語言標識符是(

)。答案:x1234、一個C語言程序的執(zhí)行是從(

)。答案:main()函數(shù)開始,直到main()函數(shù)結(jié)束5、在C語言程序中,main()函數(shù)的位置(

)。答案:可以任意6、一個C程序是由(

)。答案:一個或多個函數(shù)組成7、C語言源程序的基本單位(

)。答案:函數(shù)

8、編輯程序的功能是(

)。答案:建立并修改程序9、C編譯程序是(

)。答案:將C源程序編譯成目標程序10、C編譯程序能發(fā)現(xiàn)源程序的(

)。答案:語句的語法錯誤

11、帶C語言編譯器的CodeBlocks集成開發(fā)環(huán)境不能完成(

)。答案:設(shè)計C程序12、CodeBlocks調(diào)試程序進入調(diào)試狀態(tài)后,可以(

)。答案:查看當前函數(shù)中有效作用域的變量13、一個C語言程序可以有多個main()函數(shù)答案:錯誤14、C語言程序區(qū)分大小寫答案:正確15、C語言程序的變量名可以是關(guān)鍵字答案:錯誤16、C語言編譯程序可以發(fā)現(xiàn)注釋錯誤答案:錯誤17、CodeBLocks集成開發(fā)環(huán)境,可以設(shè)計C程序答案:錯誤第二周:C語言變量、常量及表達式第二周單元測驗1、已知字符’A’的ASCII代碼值是65,字符變量c1的值是’A’,c2的值是’D’。執(zhí)行語句“printf(“%d,%d”,c1,c2–2);”后,輸出的結(jié)果是(

)。答案:65,662、字符串”\\”ABC\”\”的長度是(

)。答案:73、設(shè)有整型變量i,其值為020;整型變量j,其值為20。執(zhí)行語句:

printf(“%d,%d”,i,j);

后,輸出結(jié)果是(

)。答案:16,204、設(shè)整型變量x為5,y為2,結(jié)果值為1的表達式是(

)。答案:x!=y||x>=y5、二進制加法10010100+00110010的和為()。答案:110001106、屬于整型常量的是(

)。答案:147、x,a,b均為整型變量,執(zhí)行語句“x=a=3,b=(a–);”后,x、a、b的值依次為(

)。答案:3,2,38、設(shè)整型變量x的值為35,則表達式“(x&15)&&(x|15)”的值是(

)。

答案:19、屬于實型常量的是(

)。答案:1E-110、設(shè)整型變量a為5,使整型變量b不為2的表達式是(

)。答案:b=a%2;

11、設(shè)有整型變量n1、n2,其值均為3,執(zhí)行語句“n2=(n1++,n2++,++n1);”后,n2的值是(

)。答案:512、設(shè)單精度型變量f、g均為5.0,使f為10.0的表達式是(

)。答案:f+=g;13、表達式“1?(0?3:2):(10?1:0)”的值為(

)。答案:214、設(shè)x、y、z均為實型變量,代數(shù)式“x/(yz)”的C表達式寫法正確的是(

)。答案:x/(y*z)15、下面程序的輸出是(

)。#include<stdio.h>voidmain(){

intx=10,y=3;

printf(“%d”,y=x/y);}答案:316、下列不正確的轉(zhuǎn)義字符是(

)。答案:‘\084’17、若有以下定義:chara;

intb;floatc;

doubled;則表達式a*b+d-c值的類型為(

)。答案:double18、以下程序的輸出結(jié)果是(

)。#include<stdio.h>voidmain()

{

inta=10,b=10;

printf(“%d,%d”,–a,++b);}答案:9,1119、表達式1.5-7/2+4.3+5%2的值是(

)。答案:3.820、若有以下程序:#include<stdio.h>void

main(){

intk=2,i=2,m;

m=(k+=i*=k);

printf(“%d,%d”,m,i);}執(zhí)行后的輸出結(jié)果是(

)。答案:6,4

21、能正確表示邏輯關(guān)系:“a≥10或a≤0”的C語言表達式是(

)。答案:a>=10‖a<=022、已知unsignedintx=012,y=0x0f;則表達式x&y的結(jié)果為(

)。答案:1023、已知unsignedintx=012,y=0x0f;則表達式x|y的結(jié)果為(

)。答案:1524、已知unsignedintx=012,y=0x0f;則表達式x^y的結(jié)果為(

)。答案:525、已知unsignedintx=012,y=0x0f;則表達式x&(y^y)的結(jié)果為(

)。答案:026、已知unsignedintx=012,y=0x0f;則表達式(x>>3)&(y<<4)的結(jié)果為(

)。答案:027、已知inta=5,b=4;則表達式!a&&++b運行后,變量a,b的值分別為(

)。答案:5,428、已知inta=5,b=3;則表達式a||(b+4)&&((++a)*(b++))運行后,表達式、變量a與b的值分別為(

)。答案:1,5,329、已知inta=10,b=20,c;max=b;則表達式c=(a>b)&&(max=a)運行后,變量c與max的值分別為(

)。答案:0,2030、已知unsignedinta=1,b=2,c=3,d=4;floatf=1.0;則表達式f=(((a-b>d-c)?a++:b++),a*b)運行后,變量f的值為(

)。答案:4.031、在C語言中,表達式“5&&6”的值為(

)。答案:132、有以下程序#include<stdio.h>voidmain(){

inta,b,c=290;

a=(c/100)%9;

b=(-1)&&(-1);

printf(“%d,%d”,a,b);}輸出結(jié)果是(

)。答案:2,133、下面程序的輸出是(

)。#include<stdio.h>void

main(){

inta=-1,b=4,k;

k=(a++<0)&&(!(b–<=0));

printf(“%d,%d,%d%”,k,a,b);}答案:1,0,334、有以下程序#include<stdio.h>void

main(){

inta,b,d=25;

a=d/10%9;

b=a&&(-1);

printf(“%d,%d”,a,b);}程序運行后的輸出結(jié)果是(

)。答案:2,135、在C語言程序中對用到的所有變量都必須先進行定義并指定其數(shù)據(jù)類型。答案:正確36、一個變量在內(nèi)存中占據(jù)一定的存儲單元。答案:正確37、在C語言程序中語句”floata=b=c=1.0;”是合法的。答案:錯誤38、自增運算符(++)或自減運算符(–)不能用于常量。答案:正確39、在C程序的表達式中,為了明確表達式的運算次序,提倡使用小括號”()”。答案:正確40、%運算符要求運算的操作數(shù)必須是整型數(shù)。答案:正確41、關(guān)系表達式的值可以是任意整數(shù)。答案:錯誤42、在C語言中,逗號運算符的優(yōu)先級最低。答案:正確43、C語言允許混合類型數(shù)據(jù)之間進行運算。答案:正確44、轉(zhuǎn)義字符表示法只能表示字符不能表示數(shù)字。答案:錯誤45、在C語言標識符定義中,大小寫字母是不加區(qū)分的。答案:錯誤第三周:C程序及流程控制(1)第三周單元測驗1、C語言的結(jié)構(gòu)化程序設(shè)計所包含的結(jié)構(gòu)是(

)。答案:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)2、下面哪個語句不便于C語言結(jié)構(gòu)化編程的是(

)。答案:goto語句3、C語言的流程控制語句不包括(

)。答案:表達式語句4、C語言的輔助控制語句不包括(

)。答案:swicth…case語句5、關(guān)于C語言的復合語句,下面哪種說法是正確的(

)。答案:將若干條語句用括弧{}括起來就構(gòu)成了復合語句;6、關(guān)于C語言的空語句,下面哪種說法是正確的(

)。答案:只有分號的語句就叫空語句;7、關(guān)于表達式語句,下面哪種說法是正確的(

)。答案:任何一個表達式加上一個分號就是一條表達式語句;8、關(guān)于while循環(huán),下面哪種說法是錯誤的(

)。答案:while循環(huán)的循環(huán)體不能為空語句;9、閱讀以下程序:#include<stdio.h>void

main()

{

intx;

scanf(“%d”,&x);

if(x–<5)

printf(“%d”,x);

else

printf(“%d”,x++);

}程序運行后,如果從鍵盤上輸入5,則輸出結(jié)果是(

)。答案:410、有如下程序,該程序的輸出結(jié)果是(

)。#include<stdio.h>void

main(){

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

switch(x)

{

case0:b++;

case1:a++;

case2:a++;

b++;

}

printf(“a=%d,b=%d”,a,b);}答案:a=2,b=111、有以下程序#include<stdio.h>void

main(){

inta=16,b=21,m=0;

switch(a%3)

{

case0:

m++;

break;

case1:

m++;

switch(b%2)

{

default:

m++;

case0:

m++;

break;

}

}

printf(“%d”,m);}程序運行后的輸出結(jié)果是(

)。答案:312、有以下程序#include<stdio.h>void

main(){

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

if(a>b&&b>c)

printf(“%d”,d);

elseif(c-1>=d)

printf(“%d”,d+1);

else

printf(“%d”,d+2);}執(zhí)行后輸出結(jié)果是(

)。答案:213、有以下程序#include<stdio.h>void

main(){

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

if(a<b)

{

if(b>c)

printf(“%d

“,d+++1);

else

printf(“%d

“,++d+1);

}

printf(“%d”,d);}

程序運行后的輸出結(jié)果是(

)。答案:4

314、有以下程序#include<stdio.h>void

main(){

inti,s=0;

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

s+=i+1;

printf(“%d”,s);}程序運行后的輸出結(jié)果是(

)。答案:數(shù)1~10中的偶數(shù)之和15、以下程序段的輸出結(jié)果是(

)。

intx=3;

do

{

printf(“%3d”,x-=2);

}while(!(–x));

答案:1

-216、以下程序中,while循環(huán)的循環(huán)次數(shù)是(

)。#include<stdio.h>void

main(

){

int

i=0;

while(i<10)

{

if(i<1)

continue;

if(i==5)

break;

i++;

}……}答案:死循環(huán),不能確定次數(shù)17、有以下程序#include<stdio.h>void

main(){

inta=12,b=-34,c=-56,min;

min=a;

if(min>b)

min=b;

if(min>c)

min=c;

printf(“min=%d”,min);}輸出結(jié)果是(

)。答案:min=-5618、有以下程序#include<stdio.h>void

main(){

inta;

scanf(“%d”,&a);

if(a>=0)

{

if(a%2==0)

printf(“%disapositiveevennumber.”,a);

else

printf(“%disapositiveoddnumber.”,a);

}

else

{

if(a%2==0)

printf(“%disanegativeevennumber.”,a);

else

printf(“%disanegativeoddnumber.”,a);

}}若通過鍵盤輸入-11,則運行結(jié)果是(

)。答案:-11isanegativeoddnumber.19、有以下程序#include<stdio.h>void

main(){

charc;

while((c=getchar())!=‘$’)

{

if(‘A’<=c&&c<=‘Z’)

putchar(c+32);

elseif(‘a(chǎn)’<=c&&c<=‘z’)

putchar(c);

}}當輸入為abc&%ABC#!$時,運行結(jié)果是(

)。答案:abcabc20、輸入一個字符,判斷該字符是數(shù)字、字母、空格還是其它字符。請選擇正確的答案填空(

)。#include<stdio.h>void

main(){

charc;

c=getchar();

if(____)

printf(“ItisanENGLISHcharacter.”);

elseif(‘0’<=c&&c<=‘9’)

printf(“ItisaDIGITALcharacter.”);

elseif(c==32)

printf(“ItisaSPACEcharacter.”);

else

printf(“Itisothercharacter.”);}當輸入為abc*&%ABC#!$時,運行結(jié)果是(

)。答案:(‘A’<=c&&c<=‘Z’)

||(‘a(chǎn)’<=c&&c<=‘z’)21、程序讀入10個整數(shù),統(tǒng)計其中非負數(shù)的個數(shù),并計算非負數(shù)之和。請選擇正確的答案填空(

)。#include<stdio.h>void

main(){

inti,a,s=0,count=0

;

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

{

scanf(“%d”,&a);

if(a<0)

continue;

________

}

printf(“s=%d\tcount=%d“,s,count);}答案:s+=a;count++;22、C語言程序的結(jié)構(gòu)和版式是沒有任何規(guī)律的;答案:錯誤23、初學者編寫C語言的程序不需要養(yǎng)成加注釋的習慣;答案:錯誤24、使用復合語句便于程序的結(jié)構(gòu)化;答案:正確25、結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。答案:正確26、break語句的功能只是用于退出循環(huán);答案:錯誤27、C語言中一般情況下不推薦使用goto語句;答案:正確28、switch多分支選擇語句的功能可以用條件分支嵌套語句來實現(xiàn)答案:正確29、空語句就是程序中沒有什么作用的語句;答案:錯誤30、while循環(huán)和for循環(huán)可以相互替代;答案:正確31、在一些特定的應(yīng)用中,用switch多分支選擇語句代替條件分支嵌套語句可以提高程序的可讀性。答案:正確第四周:C程序及流程控制(2)第四周單元測驗1、如下程序,求序列:1、3、5、7…….的前20項之和,請選擇正確的答案填空(

)。#include<stdio.h>

voidmain()

{

int

i;

int

sum,t;

//sum代表和,t代表某項

sum

=

0;

t

=

1;

for(i=1;

_____

;

i++)

{

sum+=t;

t+=2;

}

printf(”sum=%d”,sum);}答案:i<=202、計算2+4+6+8+……+100的值,請選擇正確的答案填空(

)。#include<stdio.h>

voidmain()

{

int

i;

int

s,t;

//s代表和,t代表某項

s

=

0;

t

=

2;

for(i=1;

i<=50;

i++)

{

_______;

t+=2;

}

printf(”sum=%d”,s);}答案:s=s+t3、如下程序,求序列:1!,

2!,

3!,

4!………..的前八項之和.請選擇正確的答案填空(

)。#include<stdio.h>voidmain(){

int

i;

____;

//sum代表和,t代表某項

sum=0;

t

=1;

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

{

sum+=t;

t*=(i+1);

}

printf(”sum=%ld”,sum);}答案:longsum,t4、求序列:2!+3!+4!+5!+……+11!的值.請選擇正確的答案填空(

)。#include<stdio.h>voidmain(){

int

i;

longsum,t

;

//sum代表和,t代表某項

sum=0;

t

=2;

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

{

sum+=t;

_____;

}

printf(“sum=%ld”,sum);}答案:

t*=(i+2)

5、編一程序,求100-999之間所有的水仙花數(shù),所謂水仙花數(shù)就是說數(shù)的百位。十位和個位數(shù)的立方和恰好等于它本身。請選擇正確的答案填空(

)。#include<stdio.h>voidmain()

{

int

i,a,b,c;

for(_____)

{

a=i/100;

//求百位數(shù)

b=(i-a100)/10;

//求十位數(shù)

c=i%10;

//求個位數(shù)

if(aaa+bbb+cc*c==i)

{

printf(”%6d”,i

);

}

}

}答案:i=100;i<=999;i++6、有以下程序#include<stdio.h>void

main(

)

{

inta=1,b;

for(b=1;b<=10;b++)

{

if(a>=8)

break;

if(a%2==1)

{

a+=5;

continue;

}

a-=3;

}

printf(“%d”,b);

}程序運行后的輸出結(jié)果是(

)。答案:47、有以下程序#include<stdio.h>void

main(){

inti;

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

{

switch(i)

{

case1:

printf(“%3d”,i);

case2:

printf(“%3d”,i);

default:

printf(“%3d”,i);

}

}

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

)。答案:0

1

1

1

2

28、下面程序的輸出是(

)。#include<stdio.h>void

main(){

inty=9;

for(

;y>0;y–)

{

if(y%3==0)

{

printf(“%3d”,–y);

continue;

}

}}答案:

8

5

29、有以下程序#include<stdio.h>void

main(){

intx,i;

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

{

x=i;

if(++x%2==0)

if(x%3==0)

if(x%7==0)

printf(“%d”,i);

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

)。

答案:4110、以下程序為求序列:1/2、3/4、5/8、7/16、9/32、……所有大于或等于0.000001的數(shù)據(jù)項之和。請選擇正確的答案填空(

)。#include<stdio.h>voidmain(){

floatsum,a,b

;

//sum代表和,a代表分子,b代表分母

sum=0.0;

a=1;

//分子賦初值

b=2;

//分母賦初值

while(a/b>=1e-6)

{

_____;

a=a+2;

//求下一項分子

b=b*2;

//求下一項分母

}

printf(“sum=%f”,sum);}答案:sum+=(a/b)

11、已知abc+cba=1333,a,b,c,為一位數(shù),以下程序為求所有可能的a,b,c的程序。請選擇正確的答案填空(

)。#include<stdio.h>voidmain()

{

int

i,a,b,c;

for(i=100;i<=999;i++)

{

a=i/100;

//求百位數(shù)

b=(i-a100)/10;

//求十位數(shù)

c=i%10;

//求個位數(shù)

if(

_____)

{

printf(”a=%d,b=%d,c=%d”,a,b,c

);

}

}

}答案:(a100+b10+c+c100+b10+a)==133312、以下程序為求兩個正整數(shù)的最大公約數(shù)的程序。請選擇正確的答案填空(

)。#include<stdio.h>voidmain()

{

int

i,a,b;

scanf(“%d%d”,&a,&b);

for(_____;i>0;i–)

{

if((a%i==0)&&(b%i==0))

{

printf(”themax=%d“,i);

break;

}

}

}答案:i=(a<b?a:b)13、以下程序為判斷一個正整數(shù)是否為素數(shù)的程序。請選擇正確的答案填空(

)。#include<stdio.h>voidmain()

{

int

i,a;

scanf(“%d”,&a);

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

{

if(____)

{

break;

}

}

if(i>=a)

{

printf(“%disasushu.”,a);

}

else

{

printf(“%disnotasushu.”,a);

}

}答案:a%i==014、用100元錢買100只雞,其中母雞每只3元,公雞每只2元,小雞1元3只,且每種雞至少買1只。以下程序為計算百錢買百雞所有可能購買方案的程序。請選擇正確的答案填空(

)。#include<stdio.h>voidmain(){

int

a,b,c;//a,b,c分別代表母雞、公雞和小雞數(shù)

for(a=1;a<=98;a++)

{

for(b=1;b<=98;b++)

{

for(c=1;c<=98;c++)

{

if(_________)

{

printf(“muji:%d,

gongji:%d,xiaoji:%d”,a,b,c);

}

}

}

}}答案:(a+b+c==100)&&(a3+b2+c/3==100)&&(c%3==0)15、計算1!,2!,3!,……,10!的值,并輸出結(jié)果。請選擇正確的答案填空(

)。#include<stdio.h>voidmain(){

int

i;

longints=1

;

//s代表階乘的結(jié)果

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

{

____;

printf(“%d!=%ld”,i,s);

}}答案:s*=i

16、for循環(huán)語句中的三個表達式起著不同的作用,表達式1一般用于進入循環(huán)前給某些變量賦初值;答案:正確17、在for循環(huán)語句中,表達式1、表達式2和表達式3都是逗號運算表達式;答案:錯誤18、在C語言編程中應(yīng)該盡量少用空格或者空行;答案:錯誤19、在C語言編程中,如果出現(xiàn)嵌套的大括弧對{},使用縮進對齊的格式能增強程序的可讀性;答案:正確20、C語言的輔助控制語句包括break,continue、return和goto語句;答案:正確21、C語言編程中,不提倡把多個語句寫在一行中,提倡一行只寫一條語句;答案:正確22、在C語言編程時,要養(yǎng)成修改代碼同時修改相應(yīng)注釋的習慣,以保證注釋與代碼的一致性。答案:正確23、在C語言編程中,相對獨立的程序塊之間、變量說明之后加上空行可以增加程序的可讀性。答案:正確第五周:函數(shù)(1)第五周單元測試1、下列關(guān)于C語言程序的結(jié)構(gòu)化設(shè)計,說法錯誤的是()答案:只有一個源文件,對函數(shù)大小沒有限制2、定義函數(shù)voidfun()函數(shù),函數(shù)的返回值類型為()答案:函數(shù)無返回值3、下面關(guān)于函數(shù)描述正確的是()答案:函數(shù)的定義不可以嵌套,但是調(diào)用可以嵌套4、若定義函數(shù)時函數(shù)的返回類型缺省,則函數(shù)的默認數(shù)據(jù)類型為()答案:int5、一個函數(shù)返回值的類型是由()決定的答案:定義函數(shù)時指定的函數(shù)數(shù)據(jù)類型6、下面敘述中正確的是()答案:對于用戶自己定義的函數(shù),在使用前必須加以說明7、函數(shù)的形參可以是()答案:局部自動變量8、有如下定義的函數(shù):func(inta){

printf(“%d”,a);}則該函數(shù)的返回值類型是()答案:int類型9、函數(shù)內(nèi)部的局部靜態(tài)變量,下列說法正確的是()答案:在函數(shù)退出后不被釋放,程序執(zhí)行結(jié)束釋放10、局部自動變量,下列說法正確的是()答案:進入函數(shù)分配內(nèi)存,退出函數(shù),釋放內(nèi)存11、下列說法不正確的是()答案:全局靜態(tài)變量和局部靜態(tài)變量,作用域和壽命相同12、下面程序段運行的結(jié)果為()#include<stdio.h>intf();intf()

{

staticinti=0;

ints=1;

s+=i;

i++;

returns;

}

voidmain()

{

inti,a=0;

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

a+=f();

printf(“%d”,a);

}答案:1513、下面程序段運行的結(jié)果為()#include<stdio.h>inttry1();inttry1(){

staticintx=3;

x++;

returnx;}voidmain(){

inti,x;

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

x=try1();

printf(“%d”,x);}答案:614、下面程序的運算結(jié)果為()#include<stdio.h>voidfun();intmain(){

inta=10;

fun();

printf(“%3d”,a);

return0;}voidfun(){

inta=20;

printf(“%3d”,a);}答案:

201015、以下正確的函數(shù)形式是()答案:intfun(intx,inty){

doublez;

z=x+y;

returnz;}16、以下程序的輸出結(jié)果是()#include<stdio.h>inti=10;intfunc();voidmain(){

intj=1;

j=func();

printf(“%3d”,j);

j=func();

printf(“%3d”,j);}intfunc(){

intk=0;

k=k+i;

i=i+10;

returnk;}答案:

1020

17、函數(shù)內(nèi)定義的局部變量可以在函數(shù)運行結(jié)束后繼續(xù)被調(diào)用答案:錯誤18、變量根據(jù)其作用域的范圍可以分作局部變量和全局變量答案:正確19、當變量的存儲類型定義缺省時,系統(tǒng)默認為變量的存儲類型為auto類型,分配在靜態(tài)區(qū)答案:錯誤20、在一個函數(shù)內(nèi)定義的靜態(tài)局部變量不能被另外一個函數(shù)所調(diào)用答案:正確21、函數(shù)調(diào)用語句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的實參個數(shù)是5答案:錯誤22、變量被定義后,它的作用域和壽命就被確定了,并且不可改變。答案:正確23、在同一個作用域不可定義同名變量,在不同的作用域可以定義同名變量答案:正確24、函數(shù)內(nèi)部的靜態(tài)變量,在函數(shù)退出后不被釋放答案:正確25、C語言中函數(shù)返回值的類型由return語句中的表達式的類型決定答案:錯誤26、C語言中一般全局變量與靜態(tài)全局變量生存期不同答案:錯誤27、程序進行編譯時,不為形式參數(shù)分配存儲空間答案:正確28、編譯器根據(jù)函數(shù)的原型來檢查函數(shù)的調(diào)用正確與否答案:正確第六周:函數(shù)(2)第六周單元測驗1、下列說法中正確的是()答案:函數(shù)原型是一條語句,不包括函數(shù)體2、在調(diào)用函數(shù)時,如果實參是整型變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是()答案:單向值傳遞

3、若定義函數(shù)float*fun(),則函數(shù)fun的返回值為()答案:一個指向變量的指針4、C程序中各函數(shù)之間可以通過多種方式傳遞數(shù)據(jù),下列不能用于實現(xiàn)數(shù)據(jù)傳遞的方式是()答案:同名的局部變量5、以下結(jié)論中只有()是正確的答案:所有的遞歸程序均可以采用非遞歸算法實現(xiàn)6、main()函數(shù)的數(shù)據(jù)類型,可以是()答案:void7、下面程序段運行的結(jié)果為()#include<stdio.h>intfun(floatx,floaty);intfun(floatx,floaty){

returnx>y?x:y;}voidmain(){

printf(“%d,%d”,fun(3,5),fun(4.8,4.6));}答案:5,48、下面程序的運算結(jié)果為()#include<stdio.h>intfun(intn);intfun(intn){

if(n==1||n==2)

return1;

returnfun(n-1)+fun(n-2);}voidmain(){

printf(“%d”,fun(6));}答案:89、以下程序運行結(jié)果是()#include<stdio.h>voidf(inta,intb);voidf(inta,intb){

intt;

t=a;

a=b;

b=t;}voidmain(){

intx=3,y=2,z=1;

if(x>y)

f(x,y);

if(y>z)

f(y,z);

if(x>y)

f(x,y);

printf(“%d,%d,%d”,x,y,z);}答案:3,2,110、以下程序的輸出結(jié)果是()#include<stdio.h>intfunc(ints);voidmain(){

inti,x=0;

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

{

x=func(i+1);

printf(“%3d”,x);

}

printf(“”);}intfunc(ints){

intx;

staticintt=3;

x=s+t;

t++;

returnx;}答案:

4

6

8

10

11、以下程序的執(zhí)行結(jié)果是()#include<stdio.h>intswap(inta,intb);voidmain(){

inta,b;

a=3,b=10;

swap(a,b);

printf(“a=%d,b=%d”,a,b);

}intswap(inta,intb){

inttemp;

temp=a;

a=b;

b=temp;

return0;}答案:a=3,b=10

12、以下程序的執(zhí)行結(jié)果是()#include<stdio.h>intsum(intk);voidmain(){

ints,i;

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

s=sum(i);

printf(“s=%d”,s);}intsum(intk){

intx=0;

return(x+=k);

}答案:s=1013、以下程序的執(zhí)行結(jié)果是()#include<stdio.h>intfunc(int);voidmain(){

inta=1,i;

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

{

printf(“%3d”,func(a+i));

}}intfunc(intb){

staticinti;

return

b+i;}答案:

1

2

3

4

14、以下程序的執(zhí)行結(jié)果是()#include<stdio.h>intmulti(intx,inty);voidmain(){

inta,b,c;

a=10,b=12;

c=mult(a,b);

printf(“%d%d=%d”,a,b,c);}intmulti(intx,inty){

returnxy;}答案:1012=12015、以下程序的執(zhí)行結(jié)果是()#include<stdio.h>intn;voidfunc();voidmain(){

staticintx=6;

inty;

y=n;

func();

printf(“x=%d,y=%d,n=%d”,x,y,n);}voidfunc(){

staticintx;

inty=10;

x=x+20;

n=n+2;

y=y+n;}答案:x=6,y=0,n=216、C語言中,函數(shù)調(diào)用時,形參與實參的個數(shù)可以不必保持一致答案:錯誤17、C語言函數(shù)間使用值傳遞數(shù)據(jù)時,對形參進行寫操作,會影響主調(diào)函數(shù)里相關(guān)變量的值答案:錯誤18、C語言中,一個函數(shù)可以有多個返回值答案:錯誤19、C語言函數(shù)間使用傳址方式傳遞數(shù)據(jù)時,對形參進行寫操作,可以影響主調(diào)函數(shù)里相關(guān)變量的值答案:正確20、C語言中,使用全局變量可以使程序設(shè)計簡單,移植性好答案:錯誤21、函數(shù)的遞歸調(diào)用是一個函數(shù)直接或間接地調(diào)用它自身答案:正確第七周:數(shù)組(1)第七周單元測驗1、下列一維數(shù)組定義正確的是(

)答案:inta[3];2、下列一維數(shù)組定義與初始化錯誤的是(

)答案:inta[3]=0;3、下列二維數(shù)組定義和初始化錯誤的是(

)答案:inta[3][];4、在下列語句條件下,二維數(shù)組的定義和初始化錯誤的是(

)#defineSIZE

9答案:inta[][SIZE];5、假定int型變量在內(nèi)存中占2個字節(jié),那么二維數(shù)組inta[3][4]所占的字節(jié)數(shù)為(

)答案:246、若有說明:int

溫馨提示

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

評論

0/150

提交評論