程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學_第1頁
程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學_第2頁
程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學_第3頁
程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學_第4頁
程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

付費下載

下載本文檔

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

文檔簡介

程序設計基礎(C語言)(山東聯盟)知到智慧樹章節測試課后答案2024年秋青島理工大學第一章單元測試

以下敘述中正確的是(

)。

A:用C程序實現的算法可以既沒有輸入也沒有輸出B:用C程序實現的算法可以沒有輸入但必須要有輸出C:用C程序實現的算法可以沒有輸出但必須要有輸入D:用C程序實現的算法必須要有輸入和輸出操作

答案:用C程序實現的算法可以沒有輸入但必須要有輸出以下不能定義為用戶標識符的是(

)。

A:_10

B:MainC:printfD:_scanf

答案:printf按照C語言規定的用戶標識符命名規則,不能出現在標識符中的是(

)。

A:下劃線B:連接符C:數字字符D:小寫字母

答案:連接符以下C語言用戶標識符中,不合法的是(

)。

A:AaBcB:a_bC:a--bD:_1

答案:a--b結構化程序由三種基本結構組成,三種基本結構組成的算法(

)。

A:只能完成部分復雜的任務B:

只能完成一些簡單的任務C:可以完成任何復雜的任務D:只能完成符合結構化的任務

答案:可以完成任何復雜的任務以下敘述中正確的是(

)。

A:可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行B:main可作為用戶標識符,用以命名任意一個函數作為主函數C:C語言程序將從源程序中第一個函數開始執行D:C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束

答案:C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束C語言源程序名的后綴是(

)。

A:.obj

B:.exe

C:.cpp

D:.c

答案:.c以下敘述中錯誤的是(

)。

A:一個C程序中可以包含多個不同名的函數B:一個C程序只能有一個主函數C:C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過D:C程序的主函數必須用main作為函數名

答案:C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過下列關于C語言用戶標識符的敘述中正確的是(

)。

A:用戶標識符中可以出現下劃線和中劃線(減號)B:用戶標識符中可以出現下劃線和數字,它們都可以放在用戶標識符的開頭C:用戶標識符中不可以出現中劃線,但可以出現下劃線D:用戶標識符中可以出現下劃線,但不能放在用戶標識符的開頭

答案:用戶標識符中不可以出現中劃線,但可以出現下劃線下列4個選項中,(

)是合法的用戶自定義標識符。

A:_iswB:2a

C:float

D:b-b

答案:_isw

第二章單元測試

下列選項中,(

)可以將x、y定義成double類型變量,并賦同一初值3.14。

A:doublex=3.14,y=3.14;

B:doublex,y=2*3.14;C:doublex=y=3.14;D:doublex,y=3.14;

答案:doublex=3.14,y=3.14;

若變量已正確定義并賦值,表達式(

)不符合C語言語法。

A:2,b

B:a*b/c

C:3.14%2D:a/b/c

答案:3.14%2下列表達式中值為0的是(

)。

A:3/5B:3.0/5C:3%5

D:3/5.0

答案:3/5以下選項中,(

)是不正確的字符常量。

A:"a"B:'A'C:'\103'

D:'5

'

答案:"a"以下選項中不正確的整型常量是(

)。

A:253UB:1,900C:-100D:82L

答案:1,900以下正確的字符串常量是()。

A:HELLOB:"5111"C:q1234tyD:'123456'

答案:"5111"假設在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數式

的表達式是(

)。

A:1/a/b/(float)cB:1.0/a/b/cC:1/a*b*c

D:1/(a*b*c)

答案:1.0/a/b/c以下能正確定義且賦初值的語句是(

)。

A:doublex=12.3E2.5;B:floatf=f+1.1;C:charch='A';D:intn1=n2=10;

答案:charch='A';設x、y、z和k都是int型變量,則執行表達式:x=(y=4,z=16,32+z)后,x的值為(

)。

A:32B:16C:4D:48

答案:48C語言中,運算對象必須是整型數的運算符是(

)。

A:%B:*C:/D:%

和/

答案:%有以下程序main(){

chara1='M',a2='m';

printf("%c",(a1,a2));

}以下敘述中正確的是(

)。

A:格式說明符不足,編譯出錯B:程序輸出小寫字母mC:程序運行時產生出錯信息D:程序輸出大寫字母M

答案:程序輸出小寫字母m在C語言中,下列屬于構造類型的是(

)。

A:實型B:整型C:數組類型D:字符型

答案:數組類型設d為字符型變量,下列表達式不正確的是(

)。

A:d=’3’B:d=99C:d=’a’

D:d=”a”

答案:d=”a”

A:3.600000,5.800000B:輸出符號不夠,輸出不正確值C:3.600000

D:5.800000

答案:5.800000

表達式(double)(20/3)的值為(

)。

A:2B:6.0C:6D:3

答案:6.0表達式3.6-5/2+1.2+5%2的值是(

)。

A:4.8B:3.8

C:3.3D:4.3

答案:3.8

表達式sizeof("hello")的值為(

)。

A:6

B:7C:5D:4

答案:6

設整型變量a值為9,則下列表達式中使b的值不為4的表達式(

)。

A:b=a%2

B:b=a-5C:b=8-(3,a-5)

D:b=a/2

答案:b=a%2

已知ch是字符型變量,下面不正確的賦值語句是(

)。

A:ch=‘a+b’;B:ch='m';C:ch=7+9;D:ch=‘7’+‘9’;

答案:ch=‘a+b’;有以下定義語句,編譯時會出現編譯錯誤的是(

)。

A:chara='a';B:chara='aa';

C:chara='0';D:chara='-';

答案:chara='aa';

第三章單元測試

若變量已正確定義并賦值,下面符合C語言語法的表達式是(

)。

A:int18.5%3

B:a:=b+1C:a=a+7=c+bD:a=b=c+2

答案:a=b=c+2設變量已正確定義并賦值,表達式(

)不符合C語言語法。

A:a=b=5B:a=4,3C:++a

D:int(3.14)

答案:int(3.14)

下列關于自增運算符++和自減運算符--的敘述中正確的是(

)。

A:它們的運算對象可以是任何類型的變量和常量B:它們的運算對象可以是char型變量、int型變量和float型變量C:它們的運算對象可以是int型變量,但不能是double型變量和float型變量D:它們的運算對象可以是char型變量和int型變量,但不能是float型變量

答案:它們的運算對象可以是char型變量、int型變量和float型變量若變量a、i已正確定義,且i已正確賦值,則合法的語句是(

)。

A:a=int(i);B:++i;C:a=a++=5;D:a+2=1

答案:++i;設x為int型變量,則執行以下語句后,x的值為(

)。x=10;

x+=x-=x+x;

A:10B:-20C:20D:0

答案:-20以下敘述中正確的是(

)。

A:在C語言中,整數可以以十二進制、八進制或十六進制的形式輸出B:調用printf函數時,必須要有輸出項C:使用putchar函數時,必須在之前包含頭文件stdio.hD:調用getchar函數讀入字符時,可以從鍵盤上輸入字符所對應的ASCII碼

答案:使用putchar函數時,必須在之前包含頭文件stdio.h以下程序的輸出結果是(

)。#include"stdio.h"

main(){

inta=10;

a=(3*5,a+4);

printf("a=%d",a);}

A:a=18B:a=19C:a=15D:a=14

答案:a=14以下不能輸出字符A的語句是(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)()。

A:printf("%c",'B'-1);B:printf("%c",'a'-32);

C:printf("%c",65);D:printf("%d",'A');

答案:printf("%d",'A');

若有以下定義和語句:charc1='c',c2='g';printf("%d,%c",c2-c1,c2-'a'+'A');則輸出結果是(

)。

A:3,GB:4,GC:輸出項與對應的格式控制不一致,輸出結果不確定D:5,G

答案:4,G以下程序段的輸出結果是(

)。

floatm=34.567;

printf("%3.2f",m);

A:34.567B:34.5C:提示出錯、無結果D:34.57

答案:34.57以下程序的輸出結果是(

)。

#include"stdio.h"

main()

{

charc='z';

printf("%c",c-25);

}

A:yB:z-25C:aD:Z

答案:a以下程序的輸出結果是(

)。

#include"stdio.h"

main()

{

int

k=27;

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

}

A:27,33,1bB:27,0x1b,033C:27,033,0x1bD:27,27,27

答案:27,33,1b以下程序的輸出結果是(

)。

#include"stdio.h"

main()

{

doubled=3.2;

intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d",d*y);

}

A:3B:3.07C:3.2D:0

答案:0下列程序執行后的輸出結果是(小數點后只寫1位)(

)。

#include"stdio.h"

main()

{

doubled;

floatf;

longk;

inti;i=f=k=d=20.0/3;printf("%d%ld%.1f%.1f",i,k,f,d);

}

A:666.06.0

B:666.06.7

C:666.76.7D:666.76.0

答案:666.06.7

x、y、z被定義為double型變量,若從鍵盤上給x、y、z輸入數據,則正確的輸入語句是(

)。

A:scanf("%d%d%d",&x,&y,&z);B:scanf("%.2lf%.2lf%.2lf",&x,&y,&z);C:scanf("%lf%lf%lf",&x,&y,&z);D:scanf("%f%f%f",&x,&y,&z);

答案:scanf("%lf%lf%lf",&x,&y,&z);設i是int型變量,f是float型變量,若要通過語句“scanf("i=%d,f=%f",&i,&f);”給i賦值100,f賦值765.12,則正確的輸入為()。

A:100765.12B:i=100,f=765.12C:100,765.12

D:i=100f=765.12

答案:i=100,f=765.12設有以下定義inta=0;doubleb=1.25;charc='A';#defined2則下面語句中錯誤的是(

)。

A:c++;B:d++;

C:a++;D:b++;

答案:d++;

有以下程序

#include"stdio.h"

main()

{inta,b,d=25;

a=d/10%9;

b=a-1;

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

}

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

)。

A:2,1

B:6,0

C:2,0D:6,1

答案:2,1

有以下程序

#include"stdio.h"

main()

{charc1='1',c2='2';c1=getchar();

c2=getchar();

putchar(c1);putchar(c2);

}

當運行時輸入:ab<回車>

后,以下敘述正確的是(

)。

A:變量c1被賦予字符a,c2中將無確定值B:變量c1被賦予字符a,c2被賦予字符bC:變量c1被賦予字符a,c2中仍是原有字符2D:程序將等待用戶輸入第2個字符

答案:變量c1被賦予字符a,c2被賦予字符b下列程序的輸出結果是16.00,請在程序中填空。

#include"stdio.h"

main()

{

inta=9,b=2;

floatx=________,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f",z);

}

A:5.5B:7.7C:6.6D:6.05

答案:6.6

第四章單元測試

若x=3,y=z=4,則下列表達式的值分別為(

)。

(1)z>=y>=x?1:0

(2)z>=y&&y>=x

A:

0

0B:

1

1C:

0

1D:

1

0

答案:

0

1在嵌套使用if語句時,C語言規定else總是(

)。

A:和之前與其最近的且不帶else的if配對

B:和之前與其具有相同縮進位置的if配對C:和之前的第一個if配對D:和之前與其最近的if配對

答案:和之前與其最近的且不帶else的if配對

判斷字符型變量ch為大寫字母的表達式是(

)。

A:(ch>=’A’)||(ch<=’Z’)B:(ch>=’A’)AND(ch<=’Z’)C:

’A’<=ch<=’Z’

D:(ch>=’A’)&&(ch<=’Z’)

答案:(ch>=’A’)&&(ch<=’Z’)

邏輯運算符的運算對象的數據類型(

)。

A:只能是整型或字符型

B:只能是.T.或.F.C:只能是0或1

D:任何類型的數據

答案:任何類型的數據以下是if語句的基本形式:

if(表達式)語句

其中“表達式”(

)。

A:必須是邏輯表達式

B:必須是關系表達式C:必須是邏輯表達式或關系表達式

D:可以是任意合法的表達式

答案:可以是任意合法的表達式下列條件語句中,功能與其他語句不同的是(

)。

A:if(a==0)printf("%d",y);elseprintf("%d",x);B:if(a==0)printf("%d",x);

elseprintf("%d",y);C:if(a)printf("%d",x);elseprintf("%d",y);D:if(a!=0)printf("%d",x);elseprintf("%d",y);

答案:if(a==0)printf("%d",x);

elseprintf("%d",y);以下程序段中與語句“k=a>b?(b>c?1:0):0;”功能等價的是(

)。

A:f((a>b)||(b>c))

k=1;

else

k=0;

B:if(a<=b)

k=0;

else

if(b<=c)

k=1;

C:if((a>b)&&(b>c))

k=1;else

k=0;

D:if(a>b)

k=1;

elseif(b>c)

k=1;

elsek=0;

答案:if((a>b)&&(b>c))

k=1;else

k=0;

下面程序的輸出結果是(

)。#include"stdio.h"main(){

intx=40,y=4,z=4;

x=y==z;

printf("%d",x);

x=x==(y-z);

printf("%d",x);}

A:4

1B:4

0

C:1

1D:1

0

答案:1

0下列各語句序列中,能夠將變量u和s中的較大值賦值到變量t中的是(

)。

A:if(u>s)t=s;elset=u;

B:t=u;if(u>s)t=s;C:if(u>s)t=u;t=s;D:t=s;if(u>s)t=u;

答案:t=s;if(u>s)t=u;以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){inta=5,b=4,c=3,d=2;

if(a>b>c)

printf("%d",d);

elseif((c-1>=d)==1)

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

else

printf("%d",d+2);

}

A:2B:編譯時有錯誤,無結果C:3D:4

答案:3以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){

charx='d';

x=(x>='a'&&x<='z')?(x-32):x;

printf("%c",x);}

A:dB:DC:aD:z

答案:D若有定義:floatx=1.5;inta=1,b=3,c=2;,則正確的switch語句是(

)。

A:switch(a+b){

case1:printf("*");

case1+2:printf("**");}

B:switch((int)x);{

case1:printf("*");

case2:printf("**");}

C:switch(x)

{

case1.0:printf("*");

case2.0:printf("**");}

D:switch(a+b){

case1:printf("*");

casec:printf("**");}

答案:switch(a+b){

case1:printf("*");

case1+2:printf("**");}

以下程序的輸出結果是(

)。#include"stdio.h"main(){

inta=2,b=2,c;

c=a>=b;

printf("c=%d",c);}

A:c=0B:c=2C:c=1D:不確定

答案:c=1下列程序執行后的輸出結果是(

)。#include"stdio.h"main(){

intn=0,m=1,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf("%d",x);}

A:-1B:-3

C:-4D:1

答案:-4以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){

intp,a=5;

if(p=a!=0)

printf("%d",p);

else

printf("%d",p+2);}

A:5

B:1C:0D:3

答案:1以下程序的運行結果是(

)。#include"stdio.h"main(){

inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)

c=0;

else

c=-1;

printf("%d",c);}

A:0B:2C:1D:-1

答案:-1有以下程序#include"stdio.h"main(){intx;scanf("%d",&x);if(x>15)printf("%d

",x-5);if(x>10)printf("%d

",x);if(x>5)printf("%d\n",x+5);}若程序運行時從鍵盤輸入12<回車>,則輸出結果為(

)。

A:17B:12

17C:12D:7

答案:12

17若有表達式(p)?(--x):(++y),則其中與w等價的表達式是(

)。

A:p==1B:p==0C:p!=1D:p!=0

答案:p!=0有以下程序#include"stdio.h"main(){

inta,b,c;

a=10;b=50;c=30;

if(a>b)a=b,b=c;c=a;

printf("a=%db=%dc=%d",a,b,c);}程序的輸出結果是(

)。

A:a=10b=30c=10

B:a=50b=30c=50

C:a=10b=50c=30D:a=10b=50c=10

答案:a=10b=50c=10

有以下程序#include"stdio.h"main(){

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

if(x>y)

if(y<z)

printf("%2d",z+1);

else

printf("%2d",y+1);

printf("%2d",x+1);}

程序的運行結果是(

)。

A:2B:3

2C:4

2D:1

答案:2

第五章單元測試

以下敘述中正確的是(

)。

A:用do-while語句構成的循環,在while后的表達式為非零時結束循環。B:用do-while語句構成的循環,在while后的表達式為零時結束循環。C:do-while語句構成的循環不能用其他語句構成的循環來代替。D:do-while語句構成的循環只能用break語句退出。

答案:用do-while語句構成的循環,在while后的表達式為零時結束循環。以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){

intx=0,y=5,z=3;

while(z>0&&x<5)

{y=y-1;z--;x++;}

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

}

A:3,2,-1B:4,3,-1C:3,2,0

D:5,2,5

答案:3,2,0

以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){inti;

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

switch(i)

{

case1:printf("%d",i);

case2:printf("%d",i);break;

default:printf("%d",i);

}}

A:011B:120

C:0112D:012

答案:0112

以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){inti=0,s=0;

do{

if(i%2){i++;continue;}

i=i+2;

s+=i;

}while(i<7);

printf("%d",s);}

A:28

B:21C:20D:12

答案:20下面的程序運行后,輸出的結果是(

)。#include"stdio.h"main(){

intx=3;

do

{

printf("%d",x-=2);

}

while(!(--x));}

A:1和-2

B:死循環C:1

D:3和0

答案:1和-2

下面的程序運行后,輸出的結果是(

)。#include"stdio.h"main(){

intn=5,s=0;

while(n)

{

s+=n;

n--;

}

printf("%d",s);}

A:0B:5C:10D:15

答案:15

以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){inti,s=0;

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

printf("%d",s);}

A:自然數1~9的累加和

B:自然數1~10中的偶數之和C:自然數1~10的累加和D:自然數1~9中的奇數之和

答案:自然數1~10中的偶數之和以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){inti,n=0;

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

{do

{if(i%3)continue;

n++;

}while(!i);

n++;

}

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

}

A:n=2B:n=3

C:n=4D:n=5

答案:n=4下面程序的功能是輸出以下形式的圖案,應在下劃線處填入的是(

)。****

************#include"stdio.h"main(){inti,j;

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

{

for(j=1;j<=

;j++)

printf("*");

printf("");

}

}

A:2*i+1B:iC:i+2D:2*i-1

答案:2*i-1以下程序運行后的輸出結果是(

)。#include"stdio.h"main(){

inti=0,s=0;

for(;;)

{if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

}

printf("%d",s);

}

A:21

B:程序進入死循環C:10

D:13

答案:程序進入死循環以下程序的輸出結果是(

)。#include"stdio.h"main()

{

inti;

for(i='A';i<'I';i++,i++)

printf("%c",i+32);

printf("");

}

A:編譯不通過,無輸出B:acegi

C:acegD:abcdefgh

答案:aceg運行以下程序后,如果從鍵盤上輸入“65,14<Enter>”,則輸出結果為(

)。#include"stdio.h"main(){

intm,n;

printf("Enterm,n;");

scanf("%d,%d",&m,&n);

while(m!=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d",m);}

A:m=3

B:m=0C:m=1D:m=2

答案:m=1若變量已正確定義,要求程序段完成求6!的計算,不能完成此操作的程序段是(

)。

A:i=1;p=1;while(i<=6){p*=i;i++;}B:for(i=1;i<=6;i++){p=1;p*=i;}C:i=1;p=1;do{p*=i;i++;}while(i<=6);D:for(i=1,p=1;i<=6;i++)p*=i;

答案:for(i=1;i<=6;i++){p=1;p*=i;}設x和y均為int型變量,則執行以下的循環后,y值為(

)。for(y=1,x=1;y<=50;y++){if(x==10)

break;

if(x%2==1)

{x+=5;continue;}

x-=3;}

A:6

B:7C:5

D:4

答案:6

設j為int型變量,則下面for循環語句的執行結果是(

)。

for(j=10;j>3;j--)

{

if(j%3)j--;

--j;--j;

printf("%d

",j);

}

A:

6

2B:

6

3

C:

7

4

D:

7

3

答案:

7

4

有以下程序#include"stdio.h"main(){

inta=1,b;

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

{

if(a%2==1){a+=3;continue;}

a-=2;

}

printf("%d",a);}程序運行后的輸出結果是(

)。

A:0B:2C:3D:4

答案:0有以下程序段

int

n,t=0,s=0;

scanf("%d",&n);

do

{s=s+t;t=t-2;}

while(t!=n);為使此程序段不陷入死循環,從鍵盤輸入的數據應該是(

)。

A:任意負奇數

B:任意正偶數C:任意負偶數D:任意正奇數

答案:任意負偶數要求通過while循環不斷讀入字符,當讀入字母N時結束循環。若變量已正確定義,以下正確的程序段是(

)。

A:while((ch=getchar())!=′N′)printf("%c",ch);B:while(ch=getchar()!=′N′)printf("%c",ch);C:while((ch=getchar())==′N′)printf("%c",ch);D:while(ch=getchar()==′N′)printf("%c",ch);

答案:while((ch=getchar())!=′N′)printf("%c",ch);有以下程序#include<stdio.h>main(){inti,j,n=0;for(i=3;i>=1;i--)for(j=1;j<=2;j++)n++;printf("%d",n);}

程序的運行結果是()。

A:0

B:2

C:3D:6

答案:6有以下程序#include<stdio.h>main(){

inti=5;

do

{

if(i%3==1)

if(i%5==2)

{printf("*%d",i);break;}

i++;

}

while(i!=0);

printf("");}

程序的運行結果是(

)。

A:*3*5B:*7

C:*5D:*2*6

答案:*7

第六章單元測試

若有以下說明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;則數值為4的表達式是(

)。

A:a['d'-c]B:a[g-c]

C:a['d'-'c']

D:a[4]

答案:a['d'-c]若有定義語句:intm[]={5,4,3,2,1},i=4;,則下面對m數組元素的引用中錯誤的是(

)。

A:m[--i]

B:m[m[i]]C:m[m[0]]D:m[2*2]

答案:m[m[0]]以下對一維整型數組a的正確說明是(

)。

A:int

a[];B:intn;scanf("%d",&n);inta[n];C:#defineSIZE10

inta[SIZE];D:intn=10,a[n];

答案:#defineSIZE10

inta[SIZE];若要定義一個具有5個元素的整型數組,以下錯誤的定義語句是(

)。

A:int

b[]={0,0,0,0,0};

B:int

c[2+3];

C:int

i=5,d[i];D:int

a[5]={0};

答案:int

i=5,d[i];給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。

A:數組X的長度小于數組Y的長度B:數組X的長度大于數組Y的長度

C:數組x和數組Y的長度相同D:數組X和數組Y等價

答案:數組X的長度大于數組Y的長度

下列字符串賦值語句中,不能正確把字符串Cprogram賦給數組的語句是()。

A:chara[]={'C','','p','r','o','g','r','a','m','\0'};B:chara[10]={"Cprogram"};C:chara[10];a="Cprogram";D:chara[10];strcpy(a,"Cprogram");

答案:chara[10];a="Cprogram";下面程序段的運行結果是()。charc[5]={'a','b','\0','c','\0'};printf("%s",c);

A:ab\0c\0

B:abC:abcD:'a''b'

答案:ab若有如下定義和語句:

chars[12]="abook!";

printf("%d",strlen(s));則輸出結果是(

)。

A:7B:8C:12D:9

答案:7以下定義數組的語句中錯誤的是(

)。

A:intnum[2][4]={{1,2},{3,4},{5,6}};B:intnum[][4]={1,2,3,4,5,6};C:intnum[]={1,2,3,4,5,6};D:intnum[][3]={{1,2},3,4,5,6};

答案:intnum[2][4]={{1,2},{3,4},{5,6}};執行下面的程序段后,變量k中的值為(

)。intk=3,b[10]={1};b[0]=k;k=b[1]*10;

A:0

B:30

C:不定值

D:10

答案:0

以下程序的輸出結果是(

)。#include"stdio.h"main(){

int

n[5]={0},i,k=3;

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

n[i]=n[i]+1;

printf("%d\n",n[k]);}

A:0B:不確定的值C:2

D:1

答案:0以下程序的輸出結果是(

)。#include"stdio.h"main(){

int

a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d",s);}

A:20B:21C:19

D:18

答案:18以下程序執行后的輸出結果是(

)。#include"stdio.h"main(){chara[]="abcdefg",b[10]="abcdefg";

printf("%d%d",sizeof(a),sizeof(b));}

A:810B:1010C:88D:77

答案:810當執行下面的程序且輸入ABC時,輸出的結果是(

)。#include<stdio.h>#include<string.h>main(){

charss[10]="123456789";

gets(ss);

printf("%s",ss);}

A:ABC9B:ABC456789C:ABCD:123456ABC

答案:ABC以下程序執行后的輸出結果是(

)。#include"stdio.h"main()

{char

ch[20]={"7856ab21"};

inti,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

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

}

A:752B:785

C:7856

D:75

答案:75以下程序運行的輸出結果是(

)。#include"stdio.h"main()

{charch[2][5]={"789","256"};

inti,j,s=0;

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

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

s=10*s+ch[i][j]-'0';

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

}

A:789B:72C:7825D:7889256

答案:7825以下程序的輸出結果是(

)。#include<stdio.h>main(){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+1)];

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

k+=p[i]*2;

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

A:21B:23C:22D:20

答案:21有以下程序#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序執行后的輸出結果是(

)。

A:357

B:369

C:751D:753

答案:357

設有定義語句:inta[][3]={{0},{1},{2}};,則數組元素a[1][2]的值為(

)。

A:0B:2C:不確定D:1

答案:0有以下程序#include<stdio.h>#include<string.h>main(){chars[]="12345";

printf("%d,%d",strlen(s),sizeof(s));}執行后輸出結果是(

)。

A:6,6B:賦初值的字符串有錯

C:6,7D:5,6

答案:5,6

第七章單元測試

下列各函數首部中,正確的是(

)。

A:Subplay(aasinteger,basinteger)B:voidplay(var:Integer,varb:Integer)C:voidplay(inta,intb)D:voidplay(inta,b)

答案:voidplay(inta,intb)在C語言中,函數值類型的定義可以是默認類型,此時函數值的默認類型是(

)。

A:doubleB:int

C:float

D:void

答案:int

在調用函數時,如果實參是簡單變量,它與對應形參之間的數據傳遞方式是(

)。

A:傳遞方式由用戶指定B:由實參傳給形參,再由形參傳回實參C:單向值傳遞D:地址傳遞

答案:單向值傳遞在C語言程序中,有關函數的敘述正確的有(

)。

A:函數的定義和調用均可以嵌套B:函數的定義和調用均不可以嵌套C:函數的定義可以嵌套,但函數的調用不可以嵌套D:函數的定義不可以嵌套,但函數的調用可以嵌套

答案:函數的定義不可以嵌套,但函數的調用可以嵌套以下敘述中不正確的是(

)。

A:在一個函數內的復合語句中定義的變量在本函數范圍內有效B:函數中的形式參數是局部變量C:在不同的函數中可以使用相同名字的變量D:在一個函數內定義的變量只在本函數范圍內有效

答案:在一個函數內的復合語句中定義的變量在本函數范圍內有效有如下函數調用語句:func(recl,rec2+rec3,(rec4,rec5));該函數調用語句中,含有的實參個數是(

)。

A:3B:5

C:有語法錯誤D:4

答案:3以下敘述中正確的是(

)。

A:函數的形參都屬于全局變量B:靜態(static)類別變量的生存期貫穿于整個程序的運行期間C:全局變量的作用域一定比局部變量的作用域范圍大D:未在定義語句中賦初值的auto變量和static變量的初值都是隨機值

答案:靜態(static)類別變量的生存期貫穿于整個程序的運行期間以下程序的運行結果是(

)。#include"stdio.h"main()

{

inta=24,b=16,c;

c=abc(a,b);

printf("%d",c);}intabc(intu,intv){

intw;

while(v)

{w=u%v;u=v;v=w;}

returnu;}

A:9B:8C:6D:7

答案:8以下程序的運行結果是(

)。#include"stdio.h"intf1(intx,inty){

returnx>y?x:y;}intf2(intx,inty){

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

inta=4,b=3,c=5,d,e,f;

d=f1(a,b);d=f1(d,c);

e=f2(a,b);e=f2(e,c);

f=a+b+c-d-e;

printf("%d,%d,%d",d,f,e);}

A:5,4,3B:5,3,4C:3,5,4D:3,4,5

答案:5,4,3以下程序的運行結果是(

)。#include"stdio.h"voidf(intx,inty){intt;

if(x<y){t=x;x=y;y=t;}}main(){inta=5,b=6,c=7;

f(a,b);f(a,c);f(b,c);

p

溫馨提示

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

評論

0/150

提交評論