C語言程序設計(山東聯(lián)盟)智慧樹知到答案2024年菏澤學院_第1頁
C語言程序設計(山東聯(lián)盟)智慧樹知到答案2024年菏澤學院_第2頁
C語言程序設計(山東聯(lián)盟)智慧樹知到答案2024年菏澤學院_第3頁
C語言程序設計(山東聯(lián)盟)智慧樹知到答案2024年菏澤學院_第4頁
C語言程序設計(山東聯(lián)盟)智慧樹知到答案2024年菏澤學院_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計(山東聯(lián)盟)菏澤學院智慧樹知到答案2024年第一章測試

能將高級語言編寫的源程序轉(zhuǎn)換為目標程序的是()。

A:編輯程序B:鏈接程序C:編譯程序D:解釋程序

答案:CC語言的注釋定界符是()。

A:[]B:/**/C:()D:{}

答案:B以下標識符中,不能作為合法的C用戶定義標識符的是()。

A:voidB:_123C:a3_b3D:IF

答案:AC語言源程序的基本單位是()。

A:子程序B:過程B、函數(shù)C、子程序D、標識符

C:函數(shù)D:標識符

答案:C計算機能直接執(zhí)行的程序是用(

)程序設計語言編寫的。

A:C語言

B:C++C:匯編語言D:機器語言

答案:DC程序中main函數(shù)的位置是(

)。

A:可以任意位置B:必須在程序的最后C:必須在程序的開始D:必須在程序的中間位置

答案:AC語言程序上機調(diào)試步驟是(

)。

A:編寫源程序、執(zhí)行B:編寫源程序、編譯、組建、執(zhí)行C:編寫源程序、組建、執(zhí)行D:編寫源程序、編譯、執(zhí)行

答案:B語句的結束標志是冒號“:”。

A:錯B:對

答案:AC程序中1條語句必須寫在1行。

A:對B:錯

答案:B屬于低級語言的是()。

A:C語言B:JAVA語言C:機器語言D:匯編語言

答案:CD

第二章測試

C語言中,最基本的數(shù)據(jù)類型是()

A:整型,實型,邏輯型B:整型,字符型,邏輯型C:整型,實型,字符型,邏輯型D:整型,實型,字符型

答案:D以下不合法的整型常量是(

)。

A:68B:0xabcC:147D:12345

答案:B以下浮點數(shù)的表示不正確的是(

)。

A:7.19E21B:12.E2C:e23D:22.3

答案:CC程序中變量可以不定義而直接使用。

A:錯B:對

答案:A不能將字符串賦給字符變量。

A:對B:錯

答案:A以下不合法的實型常量是(

)。

A:.5B:5.0C:5D:0.5

答案:C以下哪個是字符數(shù)據(jù)類型關鍵字(

)。

A:stringB:charC:cD:CHAR

答案:B在程序運行期間,變量可以多次被賦值。

A:對B:錯

答案:A以下關于符號常量的說法正確的是(

)。

A:符號常量是以標識符形式出現(xiàn)的常量,一經(jīng)定義,它所代表的常量值在其作用域內(nèi)不能改變B:使用符號常量不僅便于程序的調(diào)試和維護,還能大大提高程序的運行速度C:符號常量名可以不遵循C語言的標識符和命名規(guī)則D:可以將圓周率這個常量值定義為符號常量,定義方法為:#define

PI=3.1415926

答案:A以下定義變量的語句錯誤的是(

)。

A:float

y1;B:double

z1;C:int

x1;D:Double

a1;

答案:D以下能正確定義變量并給變量賦值的是(

)。

A:inta=5,b;

b=5;B:inta,b;

a=b=6;C:inta=5,b=5;D:inta=b=5;

答案:ABC以下是合法C語言常量的是(

)。

A:“a”B:012C:‘a(chǎn)’D:e-2

答案:ABC以下合法的C語言整型常量是(

)。

A:01aB:011C:-0xffffD:160

答案:BCD若已定義inta=11;執(zhí)行printf("a=%d,a=%o,a=%x",a,a,a);語句后的輸出結果是(

)。

A:a=11,a=12,a=13B:a=11,a=13,a=cC:a=11,a=11,a=bD:a=11,a=13,a=b

答案:D函數(shù)putchar(65)的功能是向終端輸出(

)。

A:65B:AC:6D:有編譯錯誤

答案:B

使用scanf()函數(shù),在輸入數(shù)據(jù)時,若遇非法輸入則認為該數(shù)據(jù)輸入結束。

A:對B:錯

答案:Agetchar()和scanf()均為輸入函數(shù),它們之間可通用,沒有任何區(qū)別。

A:對B:錯

答案:B

第三章測試

若變量已正確定義,表達式(j=3,j++)的值是____。

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

答案:D若"intn;floatf=13.8;",則執(zhí)行"n=(int)f%3"后,n的值是()。

A:4.6B:1C:4.33333D:4

答案:B若有定義“chara;intb;floatc;doubled;”,則表達式“a*b+d-c”值的類型為____。

A:floatB:charC:intD:double

答案:D若x為浮點型,則表達式x=10/4為()。

A:2.0B:3C:2D:2.5

答案:A假設字符變量ch中存放有小寫英文字母,將其轉(zhuǎn)換為相應的大寫英文字母的表達式是()。

A:ch=ch+32B:tolower(ch)C:ch-='a'+'A'D:ch=ch-'a'+'A'

答案:DC語言中,要求運算對象只能為整數(shù)的運算符是()。

A:/B:>C:%

D:*

答案:C為了確保表達式n/2的值為float型,可寫成float(n/2)。

A:對B:錯

答案:B若有定義:inta=8,b=5,c;,執(zhí)行語句:c=a/b+0.4;后,c的值是()。

A:1.4B:1C:2D:2.0

答案:B設有i=10,在表達式j=i--,則j的值是()。

A:8B:9C:11D:10

答案:D在C語言程序中,表達式5%2的結果是()。

A:3B:1C:2D:2.5

答案:B若x、i、j和k都是int型變量,則計算x=(i=4,j=16,k=32)表達式后,x的值是()。

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

答案:A設x和y都是int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是交換x和y的值。

A:對B:錯

答案:A若變量已正確定義,以下合法的賦值表達式是()。

A:a=a/(b=5)B:++(a+b)C:y=int(a)D:a=1/b=2

答案:A邏輯運算符兩側運算對象的數(shù)據(jù)類型()。

A:可以是任何類型的數(shù)據(jù)B:只能是0或非0正數(shù)C:只能是0或1D:只能是整型或字符型數(shù)據(jù)

答案:A在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式。

A:錯B:對

答案:A若a為int型,且其值為3,則執(zhí)行完表達式:

a+=6后,a的值是()。

A:3B:6C:12D:9

答案:D單目運算符、賦值運算符和條件運算符均為右結合性。

A:對B:錯

答案:A能表示x為偶數(shù)的表達式是().

A:x%2==0B:x%2==1C:x%2!=0D:x%2

答案:A已知inti=10;表達式'3<=i<=5'的值是()

A:0B:20C:1D:19

答案:C能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達式是()

A:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)B:能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達式是()C:(x>=1)||(x<=10)&&(x>=200)||(x<=210)D:(x>=1)||(x<=10)||(x>=200)||(x<=210)

答案:A

第四章測試

以下程序運行時,輸入的x值在()范圍時才會有輸出結果。

A:不等于10的整數(shù)B:大于3且不等于10的整數(shù)C:大于3且等于10的整數(shù)D:小于3的整數(shù)

答案:B若a是基本整型變量,c是單精度實型變量,輸入語句____是錯誤的。

A:scanf("%d,%f”,&a,&c);B:scanf("%d%f”,a,c);C:scanf("%d%f”,&a,&c);D:scanf("d=%d,c=%f”,&a,&c);

答案:Bmain()

{inta=2,b=-1,c=2;

if(a<b)

c=0;

else

c++;

printf(“%d”,c);

}

該程序的輸出結果是()

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

答案:A有以下程序

main()

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

if(x>y)

if(y<z)

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

else

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

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

}

程序的運行結果是()

A:321B:3C:1D:31

答案:C若x=0,y=3,z=3,以下表達式值為0的是()。

A:!xB:x<y?1:0

C:y=x||z/3D:x%2&&y==z

答案:D在C程序中,運算符%僅能用于整型數(shù)的運算。

A:對B:錯

答案:A有以下程序

voidmain()

{inta;

scanf(“%d”,&a);

if(a<9)printf(“%d”,a);

elseprintf(“%d”,a--);

}程序運行時鍵盤輸入9<回車>,則輸出的結果是()

A:8B:10C:9D:11

答案:C為了避免嵌套的if—else語句的二義性,C語言規(guī)定else總是與()組成配對關系。

A:在其之前未配對的ifB:同一行上的ifC:縮排位置相同的ifD:在其之前未配對的最近的if

答案:D賦值運算符的結合性為左結合。

A:對B:錯

答案:Bif語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是()

A:可以是任意合法的數(shù)值B:必須是正數(shù)C:必須是整數(shù)值D:必須是邏輯值

答案:A

第五章測試

設有程序段intm=20;

while(m=0)m=m++;以下說法正確的是()

A:循環(huán)體語句執(zhí)行一次B:while循環(huán)執(zhí)行10次C:循環(huán)體語句一次也不執(zhí)行D:循環(huán)是無限循環(huán)

答案:C以下敘述正確的是()。

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

答案:A在以下給出的表達式中,與do--while(E)語句中的(E)不等價的

表達式是()。

A:(E>0||E<0)B:(E!=0)C:(E==0)D:(!E==0)

答案:C對for(表達式1;;表達式3)可理解為()。

A:for(表達式1;0;表達式3)B:for(表達式1;表達式3;表達式3)C:for(表達式1;1;表達式3)D:for(表達式1;表達式1;表達式3)

答案:C從循環(huán)體內(nèi)某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是()。

A:return語句B:break語句C:continue語句D:空語句

答案:B下列程序的輸出為()。

main()

{

int

y=10;

while(y--);

printf(“y=%d

”,y);

}

A:while構成無限循環(huán)B:y=1C:y=0D:y=-1

答案:D若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是()。

for(i=2;i==0;)printf(“%d”,i--);

A:0次B:1次C:無限次D:2次

答案:AC語言中while和do-while循環(huán)的主要區(qū)別是()。

A:while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格B:do-while的循環(huán)體不能是復合語句C:do-while的循環(huán)體至少無條件執(zhí)行一次D:do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

答案:C有以下程序

main()

{inta=1,b=2;

while(a<6){b+=a;a+=2;}

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

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

)

A:7,11B:6,1C:5,11D:7,1

答案:A有以下程序段

intn=0,p;

do

{

scanf(“%d”,&p);

n++;

}while(p!=12345&&n<3);

此處do-while循環(huán)的結束條件是______。

A:p的值不等于12345或者n的值小于3B:p的值等于12345或者n的值大于等于3C:p的值等于12345并且n的值大于等于3D:p的值不等于12345并且n的值小于3

答案:B以下程序段中的變量已正確定義

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

for(k=1;k<3;k++)printf('*');

程序段的輸出結果是()

A:****B:*C:**D:********

答案:A以下程序的運行結果是()。

main()

{

int

i,b,k=0;

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

{b=i%2;

while(b>0){b--;k++;}}

printf(“k=%d,b=%d”,k,b);}

A:k=3,b=0B:k=3,b=-1C:k=8,b=-1D:k=8,b=-2

答案:A循環(huán)結構中的continue語句是使整個循環(huán)終止執(zhí)行

A:對B:錯

答案:Bwhile和do…while循環(huán)不論什么條件下它們的結果都是相同的.

A:錯B:對

答案:A

第六章測試

在一個被調(diào)用函數(shù)中,關于return語句使用的描述,錯誤的是()

A:被調(diào)用函數(shù)中可以使用多個return語句B:被調(diào)用函數(shù)中可以不用return語句C:被調(diào)用函數(shù)中,一個return語句可以返回多個值給調(diào)用函數(shù)D:被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句

答案:C以下()函數(shù)的定義是錯誤的?

A:voidf(){}B:voidf(inti){}C:voidf(inti){returni+1;}D:intf(){return0;}

答案:CC語言中函數(shù)返回值的類型是由()決定的。

A:調(diào)用該函數(shù)的主調(diào)函數(shù)的類型B:定義函數(shù)時所指定的函數(shù)類型C:調(diào)用函數(shù)時臨時決定D:return語句中的表達式類型

答案:BC語言規(guī)定,必須用(

)作為主函數(shù)名。

A:stdioB:mainC:FunctionD:include

答案:B下列說法正確的是(

)。

A:main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時是從main函數(shù)開始的B:main函數(shù)必須放在C程序的開頭C:main函數(shù)必須放在C程序的最后D:main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時是從程序開頭執(zhí)行的

答案:A以下程序的輸出結果是()。

voidfun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf(“%d”,a);

}

A:無定值B:29C:0D:31

答案:DC語言規(guī)定,簡單變量作實參,它與對應形參之間的數(shù)據(jù)傳遞方式是:(

)。

A:地址傳遞B:雙向值傳遞C:由用戶指定傳遞方式D:單向值傳遞

答案:D以下函數(shù)頭定義正確的是:(

)。

A:double

fun(intx,inty);B:double

fun(int

x,y)C:double

fun(intx,inty)D:double

fun(intx;inty)

答案:C現(xiàn)有如下程序

#include“stdio.h”

intfun(intx)

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

}

intmain()

{fun(12+5);return0;}

則程序的輸出結果是(

)。

A:x=17

B:x=12

C:x=13

D:x=18

答案:D有以下程序,執(zhí)行后輸出的結果是(

)。

voidf(intx,inty)

{intt;

if(x<y){t=x;x=y;y=t;}

}

main()

{inta=4,b=3,c=5;

f(a,b);

f(a,c);

f(b,c);

printf('%d,%d,%d',a,b,c);}

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

答案:A以下關于C語言程序中函數(shù)的說法正確的是:(

)。

A:函數(shù)的定義和調(diào)用都可以嵌套B:函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套C:函數(shù)的定義和調(diào)用均不可以嵌套D:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

答案:Dreturn語句在一個函數(shù)體內(nèi)只能有一個。

A:對B:錯

答案:B在C語言中,一個函數(shù)一般由兩個部分組成,它們是函數(shù)首部和函數(shù)體。

A:對B:錯

答案:A

第七章測試

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

A:autoB:staticC:registerD:extern

答案:A下列程序的輸出結果是()。

#include<stdio.h>intf(intn){

staticintk,s;

n--;for(k=n;k>0;k--)s+=k;

returns;}intmain(void){

intk;

k=f(3);printf("(%d,%d)",k,f(k));

return0;}

A:(6,12)B:(3,6)C:(6,6)D:(3,3)

答案:B在一個C源程序文件中,若要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲類別是(

)。

A:registerB:staticC:autoD:extern

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

)。

#defineMAX(x,y)(x)>(y)?(x):(y)

main()

{

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

t=MAX(a+b,c+d)*10;

printf('%d',t);

}

A:6B:70C:7D:60

答案:C變量的有效范圍與其定義的位置有關,(

)的作用域在整個源程序文件中都有效。

A:在函數(shù)中定義的靜態(tài)變量B:在定義第一個函數(shù)之前所定義的變量C:在主函數(shù)中定義的變量D:在第一個函數(shù)中定義的變量

答案:B以下關于編譯預處理的敘述中錯誤的是(

)。

A:預處理命令行必須以#開始B:一條有效的預處理命令必須單獨占據(jù)一行C:預處理命令行只能位于源程序中的所有語句之前D:預處理命令不是C語言本身的組成部分

答案:C如果在一個函數(shù)中的復合語句中定義了一個變量,則該變量(

)。

A:在本程序范圍內(nèi)有效B:只在該復合語句中有效C:在該函數(shù)中有效D:為非法變量

答案:B進行宏定義時,宏名必須使用大寫字母表示。

A:對B:錯

答案:B在C語言中,在register寄存器中存儲變量比在內(nèi)存中存儲變量運算速度快。

A:錯B:對

答案:B

第八章測試

下面的程序段將輸出▁▁▁▁▁。doublea[]={1,2,3,4,5};

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

A:40B:0C:5D:48

答案:A下面程序的運行結果是()#include<stdio.h>intmain(){

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

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

switch(i%2)

{

case0:

switch(a[i]%2)

{

case0:

a[i]++;

break;

case1:

a[i]--;

}

break;

}

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

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

printf("");

return0;}

A:0304B:3040C:3344D:2050

答案:C以下正確地定義了一維整型數(shù)組a的語句組是()

A:inta[SIZE];(在程序開始有#defineSIZE10)B:intn;scanf(“%d”,&n);inta[n];C:intn=10,a[n];D:inta(10);

答案:A假定int類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4};則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。

A:3B:6C:20D:10

答案:C在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名().

A:[整型變量]B:[整型常量]或[整型表達式]C:[整型常量表達式]D:[整型表達式]

答案:C若有說明:inta[10];,則對a數(shù)組元素的正確引用是().

A:a[10-10]B:a[3.5]C:a[10]D:a(5)

答案:A下面關于數(shù)組的描述不正確的是().

A:同一個數(shù)組共用一個數(shù)組名B:數(shù)組是構造數(shù)據(jù)類型C:數(shù)組是相同數(shù)據(jù)類型的集合D:數(shù)組是基本數(shù)據(jù)類型

答案:D以下能對一維數(shù)組a進行正確初始化的語句形式是().

A:inta[]={0};B:inta[3]=(10,5,8);C:inta[10]={};D:inta[10]=(0,0,0,0,0);

答案:A若有定義:intx[10]={1,2,4};則數(shù)組元素x[4]的值是()。

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

答案:D若有說明:inta[5];,則下面可以輸出數(shù)組a中所有元素值的是()。

A:while(b[i]!='')

printf("%d",a[i]);B:printf(“%d”,a);C:for(i=1;i<=5;i++)

printf(“%d”,a[i]);D:for(i=0;i<5;i++)

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

答案:D下列不是給數(shù)組的第一個元素賦值的語句是().

A:inta[4]={2*3};B:inta[4];

scanf("%d",a);C:a[1]=2;D:inta[4]={1};

答案:C若有說明:inta[10]={6,7,8,9,10};則該語句不正確,因為數(shù)組長度與初值個數(shù)不相同。

A:錯B:對

答案:A一般地,一維數(shù)組各元素分配在連續(xù)地內(nèi)存單元之中。

A:對B:錯

答案:A

第九章測試

有兩個字符數(shù)組s1,s2,則以下正確的輸入格式是(

)

A:gets("s1"),

gets("s2");B:scanf("%s%s",&s1,

&s2);C:scanf("%s%s",s1,

s2);D:gets(s1,s2);

答案:C以下不能對二維數(shù)組a進行正確初始化的語句是(

)

A:int

a[2][3]={0};B:int

a[2][3]=

{{1,2},{3,4},{5,6}};C:int

a[

][3]={1,2,3,4,5,6};D:int

a[

][3]={{1,2},{0}};

答案:B以下對二維數(shù)組a的正確說明是(

)

A:float

a(3,4);B:float

a(3)(4);C:float

a[3][4];D:int

a[3][

];

答案:C若有說明:inta[][3]={1,2,3,4,5,6,7};,則a數(shù)組第一維的大小是()

A:2B:4C:3D:無確定值

答案:C有以下程序段:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d”,a[1][5]);,執(zhí)行后輸出的結果是(

A:編譯有錯誤B:4C:11D:10

答案:A若有初始化語句:inta[3][4]={0};,則下面正確的敘述是()。

A:數(shù)組a中各元素都可得到初值,但其值不一定為0B:數(shù)組a中每個元素均可得到初值0C:只有元素a[0][0]可得到初值0D:此初始化語句不正確

答案:B如有說明:inta[3][4];,則對a數(shù)組元素的正確引用是()。

A:a[3][4]B:a[1+1][0]C:a(2)(1)D:a[1,3]

答案:B對兩個數(shù)組a和b進行初始化:chara[]=“ABCDEF";

charb[]={'A','B','C','D','E','F'};

則以下敘述正確的是()

A:a與b數(shù)組完全相同B:a與b中都存放字符串C:a的長度比b長D:a與b長度相同

答案:C下列能正確定義二維實型數(shù)組a的選項是().

A:floata(3,4);B:floata[3][]={{1},{0}};C:floata[3][];D:floata[3][4];

答案:D下面描述正確的是().

A:兩個字符串所包含的字符個數(shù)相同時,才比較字符串B:字符串"STOP□"與“STOP"相等(其中□表示1個空格)C:字符個數(shù)多的字符串比字符個數(shù)少的字符串大D:字符串"That"小于字符串"The"

答案:D若有定義:chara[4]="abc",b[20]="Hello";,則執(zhí)行語句strcat(b,a);后,數(shù)組b中的內(nèi)容為().

A:abcB:abcHelloC:HelloabcD:Hello

答案:C字符數(shù)組中的數(shù)據(jù)存儲時必須以'\0'結尾。

A:錯B:對

答案:A有定義:chara[]="1";則a數(shù)組的長度是2。

A:對B:錯

答案:A下列字符串賦值語句中,能正確把字符串Cprogram賦給數(shù)組的語句是()

A:chara[10]={'C','','p','r','o','g','r','a','m',''};B:chara[]={'C','','p','r','o','g','r','a','m'};C:chara[10];

strcpy(a,"Cprogram");D:chara[10]={"Cprogram"};

答案:ACD如有說明:inta[3][4];,則對a數(shù)組元素的合法引用是()

A:a[2][0]B:a[0][4]C:a[1][3]D:a[0][2]

答案:ACD

第十章測試

for(j=h+1;j<=max-1;j++)printf("%04d",a[j]);輸出結果中,若數(shù)組小于1000則前面顯示前導字符0.

A:對B:錯

答案:A程序能實現(xiàn)求20的階乘值。ints=1;n=1;for(n=1;n<=20;n++)s=s*n;

A:對B:錯

答案:B對數(shù)組下標的訪問規(guī)律變化,可用數(shù)組賦指定值實現(xiàn)。

A:對B:錯

答案:A掃雷游戲設計數(shù)據(jù)結構只能用二維數(shù)組。

A:對B:錯

答案:B程序設計基本過程包括:

A:確定數(shù)據(jù)的組織形式即數(shù)據(jù)結構。B:代碼的編寫、調(diào)試、運行。C:理解題意,分析需求。D:總體設計和詳細設計E:界面設計。

答案:ABCDE一個遞歸算法必須包括()。

A:遞歸部分B:終止條件和循環(huán)部分C:終止條件和遞歸部分D:循環(huán)部分

答案:C對于遞歸函數(shù)f,調(diào)用f(4),其返回值為()。

intf(intn)

{

if(n)

returnf(n-1)+n;

elsereturnn;

}

A:0B:4C:10D:其余選項均不是

答案:C調(diào)用函數(shù)f(27)的輸出結果是()。

voidf(intn)

{

if(n<5)

printf("%d",n);

else{

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

f(n/5);

}

}

A:201B:21C:20D:102

答案:A有如下函數(shù)調(diào)用語句:func(rec1,rec2+rec3,(rec4,rec5));則該函數(shù)調(diào)用語句中,含有的實參個數(shù)是()。

A:4B:有語法錯C:3D:5

答案:C在C語言中,下列錯誤的說法是。

A:對于continue語句,可以通過改變程序的結構而不使用它B:不允許在函數(shù)定義中再定義函數(shù)C:函數(shù)可以遞歸調(diào)用D:遞歸程序不可能用非遞歸算法實現(xiàn)

答案:D對于以下遞歸函數(shù)f,調(diào)用f(4),其返回值為()。

intf(intn)

{returnf(n-1)+n;}

A:其余選項均不是B:0C:10D:11

答案:A有兩個字符數(shù)組a,b,則以下正確的輸入語句是().

A:scanf("%s%s",a,b);B:gets("a"),gets("b");C:scanf("%s%s",&a,&b);D:gets(a,b);

答案:A若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是()。

A:數(shù)組的第一個元素值B:數(shù)組首地址C:數(shù)組元素的個數(shù)D:數(shù)組中全部元素的值

答案:B對字符串進行輸入輸出操作時,只能對字符串整體進行輸入輸出。

A:對B:錯

答案:B若有說明:inta[][4]={0,0};則表示二維數(shù)組a的第一維大小為1。

A:對B:錯

答案:A

第十一章測試

使用指針變量訪問目標變量,也稱為對目標變量的()訪問。

A:一般性B:直接C:一次性D:間接

答案:D若有說明:int

i,j=7,*p=&i;則與i=j;等價的語句是().

A:i=**p;B:*p=*&j;C:i=p;D:i=&j;

答案:Binta=2,*p=&a,*q=p,則以下非法賦值語句是()。

A:*p=*q;B:q=a;C:p=q;D:a=*q;

答案:B若有定義“int*p,m=5,n;”,則下列選項中正確的是().

A:p=&n;

*p=m;B:p=&n;

scanf(“%d”,&p);C:p=&n;

scanf("%d",*p);D:scanf("%d",&n);

*p=n;

答案:A若定義:inta=5,*b=&a;則printf(“%d”,*b);的輸出結果是()。

A:a的地址B:5C:無確定值D:6

答案:B下列關于指針概念的描述,錯誤的是().

A:指針的值是可以改變的B:指針的類型是他所存放的數(shù)值的類型C:指針中存放的是某變量或?qū)ο蟮牡刂分礑:指針是變量,它也具有一個內(nèi)存地址值

答案:B如果x是整型變量,則合法形式為()。

A:&(x+5)B:&*xC:*&xD:*x

答案:C變量的指針,其含義是指該變量的()。

A:名B:一個標志C:地址D:值

答案:C系統(tǒng)對變量的直接訪問是將變量的地址放在另一個內(nèi)存單元中。

A:對B:錯

答案:B“inti,k,*p=&i;”中定義的“*p=&i;”等價于“int*p;p=&i;”。

A:錯B:對

答案:B

第十二章測試

假設scanf語句執(zhí)行時輸入ABCDE<回車>,能使puts(s)語句正確輸出ABCDE字符串的程序段是__。

A:char*s;scanf("%s",s);puts(s);B:chars[5]={"ABCDE"};puts(s);C:chars[5]={'A','B','C','D','E'};puts(s);D:char*s;s="ABCDE";puts(s);

答案:D下面程序的運行結果是()。

#include<stdio.h>intmain(void){

intx[5]={2,4,6,8,10},*p,**pp;

p=x;

pp=&p;

printf(“%d”,*(p++));

printf(”%d”,**pp);

return0;}

A:22B:46C:24D:44

答案:C根據(jù)聲明inta[10],*p=a;,下列表達式錯誤的是()。

A:a[9]B:*p++C:p[5]D:a++

答案:D若有定義“inta[10]={1,2,3,4,5,6,7,8,9,10},*p;”,則下列語句正確的是()。

A:for(p=a;p<(a+10);++a)B:for(p=a,a=a+10;p<a;p++)C:for(p=a;a<(p+10);a++)D:for(p=a;p<(a+10);p++)

答案:D若有定義“inta[10],*p=a;”,則p+5表示()。

A:a[5]的值B:a[6]的值C:a[4]的地址D:a[5]的地址

答案:D若有定義chara[]="Iamaboy",*b="Iamaboy";,則下列敘述錯誤的是()。

A:b中存放的地址值可以改變B:b指向其他字符串時,字符串的長度不受限制C:b中存放的地址就是數(shù)組a的首地址D:a+3表示的是字符m的地址

答案:C若有語句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,則()不是對a數(shù)組元素的正確引用(0<=i<=10)。

A:*(&a[i])B:*(*(a+i))C:a[p-a]D:p[i]

答案:B若有定義“inta[5],*p=a;”,能正確引用a數(shù)組元素的是()。

A:&a[5]B:*(p+5)C:*(a+2)D:a+2

答案:C設有定義語句“floats[10],*p1=s,*p2=s+5;”,下列表達式錯誤的是()。

A:p2--B:p1-p2C:p1=0xffffD:p1<=p2

答案:C以下程序段的輸出結果是()。

char*p[]={"ABC","DEF","GHI"};

intj;

puts(p[1]);

A:BB:DEFC:CD:ABC

答案:B用指針變量可以指向一維數(shù)組中的元素,也可以指向多維數(shù)組中的元素。

A:對B:錯

答案:A數(shù)組名代表數(shù)組的起始地址。

A:錯B:對

答案:B有如下說明:int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達式是*(p+8)。

A:對B:錯

答案:A

第十三章測試

以下程序運行后的輸出結果是____。

#include<stdio.h>structs{

intx;

inty;}data[2]={10,100,20,200};intmain(){

structs*p=data+1;

printf("%d",p->x);

return0;}

A:10B:20C:21D:11

答案:B有如下定義:

structStudent{

charname[10];

intage;

chargender;}std[3],*p=std;則以下各輸入語句中錯誤的是:

A:scanf("%s",&);B:scanf("%c",&(p->gender));C:scanf("%d",&(*p).age);D:scanf("%c",&std[0].gender);

答案:A有如下定義:struct

date{intyear;intmonth;

intday;};struct

{charname[20];charsex;structdatebirthday;}person;下面正確的賦值語句是()。

A:person.year=1980;B:birthday.year=1980

;C:person.birthday.year=1980;D:year=1980

;

答案:C共用體變量在程序執(zhí)行期間()。

A:沒有成員一直駐留在內(nèi)存中B:只有一個成員一直駐留在內(nèi)存中C:部分成員一直駐留在內(nèi)存中D:所有成員一直駐留在內(nèi)存中

答案:C設有以下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語句是()。

A:p=&data.a;B:p=data.a;C:*p=data.a;D:p=&a;

答案:A對于結構體變量的引用,下列敘述正確的是()。

A:兩個同一類型的結構體變量之間不能整體賦值。B:對結構體成員可以進行各種運算,其中“.”優(yōu)先級最低。C:只能引用結構體變量成員的地址,不能引用結構體變量的地址。D:如果成員本身就是一個結構體,只能對最低級的成員進行賦值等引用和運算。

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

A:用typedef可以為各種類型起別名,但不能為變量起別名B:可以通過typedef增加新的類型C:用typedef定義新類型后,原有類型名仍有效D:可以用typedef將已存在的類型用一個新的名字代表

答案:B在一個單鏈表head中,若要在指針p所指結點后插入一個q指針所指結點,則執(zhí)行

溫馨提示

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

評論

0/150

提交評論