C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院_第1頁
C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院_第2頁
C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院_第3頁
C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院_第4頁
C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(青島職業(yè)技術(shù)學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋青島職業(yè)技術(shù)學(xué)院項目一單元測試

C語言是一種(

)

A:機器語言B:高級語言C:低級語言D:匯編語言

答案:高級語言下列各項中,不是C語言的特點是()。

A:語言簡潔、緊湊,使用方便B:能實現(xiàn)匯編語言的大部分功能C:有較強的網(wǎng)絡(luò)操作功能D:數(shù)據(jù)類型豐富,可移植性好

答案:有較強的網(wǎng)絡(luò)操作功能下列敘述錯誤的是(

)。

A:C程序中的每條命令都用一個分號作為結(jié)束符B:C語言以小寫字母作為基本書寫形式,并且C語言要區(qū)分字母的大小寫C:C程序中的每條語句都用一個分號作為結(jié)束符D:C程序中的變量必須先定義,后使用

答案:C程序中的每條命令都用一個分號作為結(jié)束符一個C程序的執(zhí)行是從(

)。

A:本程序的main函數(shù)開始,到main函數(shù)結(jié)束B:本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束C:本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D:本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束

答案:本程序的main函數(shù)開始,到main函數(shù)結(jié)束以下敘述不正確的是(

)。

A:在C程序中,注釋說明只能位于一條語句的后面B:一個C源程序必須包含一個main函數(shù)C:一個C源程序可由一個或多個函數(shù)組成D:C程序的基本組成單位是函數(shù)

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

項目二單元測試

已知定義整形變量a,b,c的值分別是2、3、4,運算表達(dá)式a*=16+(b++)-(++c)以后,a值為(

)

A:30B:31C:29D:28

答案:28在C語言中,要求參加運算的數(shù)必須是整數(shù)的運算符是(

)。

A:&&B:++C:%D:!

答案:%合法的c標(biāo)識符是(

)。

A:$sB:h1C:a>bD:5dm

答案:h1執(zhí)行下列程序后,顯示的結(jié)果是()

main()

{inta;

printf(“%d”,(a=3*5,a*4,a+5));}

A:15

B:10C:65D:20

答案:20sizeof(float)的結(jié)果是()

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

答案:4賦值運算符有右結(jié)合性,因此表達(dá)式x=y=z等價于x=(y=z)()

A:對B:錯

答案:對下列轉(zhuǎn)義字符不正確的是()。

A:\t

B:\+

C:\’’

D:\”

答案:\+

對于int

n=3;執(zhí)行n+=n-=n*n;后n的值是9。

A:錯B:對

答案:錯在C語言中8.9e1.2是不正確的實型常量。

A:對B:錯

答案:對對任一變量一旦被指定為某一確定類型后,該變量在程序運行時所占存儲空間的多少和所能參加的運算類型便已確定了。

A:錯B:對

答案:對若x為整型變量、j為實型變量,當(dāng)執(zhí)行語句:x=(int)j;后,j也變?yōu)檎妥兞俊?/p>

A:錯B:對

答案:錯“!”的優(yōu)先級可以比“/”高。

A:錯B:對

答案:對兩個char

型數(shù)據(jù)相加,其結(jié)果為char型。

A:錯B:對

答案:錯若有inti=10,j=2;則執(zhí)行完i*=j+8;后ⅰ的值為28。

A:對B:錯

答案:錯執(zhí)行floatf=9.8;intI;i=(int)f;語句后,變量f被轉(zhuǎn)換成整型變量。

A:錯B:對

答案:錯以下各數(shù)均不是合法的八進(jìn)制數(shù):256、03A2、-0127。

A:錯B:對

答案:錯C語言程序中,任何英語單詞均可以作標(biāo)識符。

A:錯B:對

答案:錯賦值運算符有右結(jié)合性,表達(dá)式x=y=z等價于z=x=y()

A:錯B:對

答案:錯C語言中不區(qū)分大小寫英文字母。

A:對B:錯

答案:錯當(dāng)運算符兩邊數(shù)據(jù)類型不一致,運算會出現(xiàn)錯誤

A:錯B:對

答案:對0x173是正確的十六進(jìn)制常數(shù)。

A:對B:錯

答案:對將一個整型數(shù)據(jù)賦值給一個字符型變量的時候,可能丟失數(shù)據(jù)()

A:錯B:對

答案:對下面程序的輸出是________#include<stdio.h>int

main(){intk=11;

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

return1;}

A:k=11,k=013,k=0xbB:k=11,k=13,k=13C:k=11,k=13,k=bD:k=11,k=12,k=11

答案:k=11,k=13,k=b在下列選項中,不正確的賦值語句是_______.

A:k=i=j;B:a=a+b=1;C:++t;D:n1=(n2=(n3=0));

答案:a=a+b=1;下面程序的輸出的是_________.

#include<stdio.h>

voidmain()

{intx=10,y=3;

printf("%d",y=x/y);}

A:不確定的值B:0C:1D:3

答案:3已知字母A的ASCII碼為十進(jìn)制的65,下面程序的輸出是_________.

#include<stdio.h>

voidmain()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c",ch1,ch2);

}

A:B,CB:67,DC:不確定的值D:C,D

答案:67,Dsizeof(char)的結(jié)果是()

A:2

B:1

C:8

D:4

答案:1

sizeof(int)的結(jié)果是

A:4

B:1

C:8

D:2

答案:4

若有以下定義和語句:

inta=010,b=0x10,c=10;

printf("%d,%d,%d",a,b,c);則輸出結(jié)果是________.

A:10,10,10B:8,16,10C:8,8,10D:8,10,10

答案:8,16,10已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達(dá)式

x+a%3*(int)(x+y)%2/4的值是________.

A:2.5B:2.4C:2.75D:0

答案:2.5假定w、x、y、z、m均為int型變量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w<x)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:z;則該程序段執(zhí)行后,m的值是_______.

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

答案:1有以下程序,其中k的初值為八進(jìn)制數(shù)#include<stdio.h>main(){intk=011;printf("%d",k++);}程序運行后的輸出結(jié)果是________

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

答案:9sizeof(‘a(chǎn)’)的值是()

A:2

B:8

C:1D:4

答案:1有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是_______

A:chara=’aa’;B:chara=’a’;C:chara=’’;D:chara=’-’

答案:chara=’aa’;以下選項中,不正確的C語言浮點型常量是_______

A:2e4.2B:160.C:0.0D:0.12

答案:2e4.2如果a是一個三位數(shù),則以下可以求出其十位數(shù)的表達(dá)式是()

A:a/10%10

B:a%10/10

C:a/10

D:a%10

答案:a/10%10

以下合法的標(biāo)識符是_______。

A:_a12B:intC:3ceD:stu#

答案:_a12已知int

x=023,表達(dá)式++x的值是_______。

A:20B:18C:19D:17

答案:20已知int

x=10,表達(dá)式x+=x-=x-x的值是_______。

A:30B:20C:10D:40

答案:20在C語言中,字符型數(shù)據(jù)在計算機內(nèi)存中,以字符的_______形式存儲。

A:反碼B:BCD碼C:原碼D:ASCII碼

答案:ASCII碼如果a是一個三位數(shù),則以下可以求出其個位數(shù)的表達(dá)式是()

A:a/10%10

B:a/10

C:a%10

D:a%10/10

答案:a%10

如果a是一個三位數(shù),則以下可以求出其百位數(shù)的表達(dá)式是()

A:a%100

B:a/10C:a%10/10D:a/100

答案:a/100

A:3*a*e/b*cB:a*e/c/b*3C:a/b/c*e*3D:3*a*e/b/c

答案:3*a*e/b*c要為字符型變量a賦初值,下列語句中哪一個是正確的_______。

A:chara=*;B:chara=%;C:chara="3";D:chara=‘3’;

答案:chara=‘3’;字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是_______。

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

答案:4若有說明語句:charc=':';則變量c在內(nèi)存占用的字節(jié)數(shù)是_______。

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

答案:1下列運算符優(yōu)先級最高的是()

A:單目運算符-

B:加+C:乘*D:減-

答案:單目運算符-

若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是_______。

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

答案:2.0sizeof(double)的結(jié)果值是_______。

A:4B:2C:8D:出錯

答案:8以下用戶標(biāo)識符中,合法的是_______。

A:123B:intC:a+bD:nit

答案:nit表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是_______。

A:intB:floatC:doubleD:不確定

答案:double一下運算符,運算優(yōu)先級別最低的是()

A:算術(shù)運算符B:逗號運算符C:邏輯運算符D:關(guān)系運算符

答案:逗號運算符在C語言中,賦值運算的說法錯誤的是(

A:數(shù)據(jù)類型不同無法進(jìn)行賦值運算B:整型數(shù)據(jù)賦值給字符型數(shù)據(jù)時,只賦值低八位C:整型數(shù)據(jù)賦值給實型數(shù)據(jù)時,添加小數(shù)部分0D:實型數(shù)據(jù)賦值給整型數(shù)據(jù)時,舍去小數(shù)部分

答案:數(shù)據(jù)類型不同無法進(jìn)行賦值運算下列哪一項不屬于字符型變量可以存放的數(shù)據(jù)(

A:65B:‘?’C:12.5D:‘a(chǎn)’

答案:12.5以下說法錯誤的是()。

A:圓括號必須成對出現(xiàn)B:C語言算術(shù)表達(dá)式和數(shù)學(xué)上的書寫是一致的C:C語言算數(shù)表達(dá)式中,不用方括號和花括號D:圓括號可以嵌套使用

答案:C語言算術(shù)表達(dá)式和數(shù)學(xué)上的書寫是一致的表達(dá)式1/4+2.75的值是3。(

A:錯B:對

答案:錯下列轉(zhuǎn)義字符不正確的是()。

A:’\053’B:’\\’C:’\’D:’\0’

答案:’\053’

項目三單元測試

以下選項中(

)是正確的復(fù)合語句。

A:{a=1,b=2}B:[a=1,b=2;]C:{a=1,b=2};D:{a=1,b=2;}

答案:{a=1,b=2;}

以下語句的輸出結(jié)果是(

printf("%2d",25876);

A:25

B:2587

C:25876

D:258

答案:25876

若變量已正確說明為float型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是(

A:10.0<回車>22.0

33.0<回車>B:10<回車>22<回車>33<回車>C:10

22<回車>33<回車>D:10.0,22.0,33.0<回車>

答案:10.0,22.0,33.0<回車>調(diào)用getchar和putchar函數(shù)時,必須包含的頭文件是(

)。

A:以上都不對B:stdlib.h

C:stdio.h

D:define

答案:stdio.h

printf()函數(shù)中常用的格式字符,不包括(

A:dB:zC:cD:f

答案:z“putchar(98);”這一C語句輸出的結(jié)果為()

A:98

B:C

C:b

D:B

答案:b

C語言標(biāo)準(zhǔn)格式輸入函數(shù)scanf()的參數(shù)表中要使用變量的地址值。

A:錯B:對

答案:對表達(dá)式語句和表達(dá)式?jīng)]有什么區(qū)別。

A:錯B:對

答案:錯C語言標(biāo)準(zhǔn)輸入操作中,gets()函數(shù)一次只可讀取一個字符。

A:錯B:對

答案:錯C語言程序中可以有多個函數(shù),但只能有一個主函數(shù)。

A:對B:錯

答案:對C語言標(biāo)準(zhǔn)輸出操作中,putchar()函數(shù)可以輸出顯示一個字符串。

A:錯B:對

答案:錯C語言標(biāo)準(zhǔn)格式輸出函數(shù)printf()的參數(shù)表是由若干個表達(dá)式組成。

A:對B:錯

答案:對putchar()函數(shù)用于向終端輸出一個字符。

A:對B:錯

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

A:用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入B:用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作C:用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D:用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出

答案:用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出在C語言中,執(zhí)行下面兩個語句后,輸出的結(jié)果為(

)。

charc1=97,c2=98;printf("%d%c",c1,c2);

A:a

bB:97

bC:a

98D:97

98

答案:97

b下列語句中符合C語言語法的賦值語句是

A:a=7+b,c=a+7;B:a=7+b++=a+7;C:a=7+b,b++,a+7D:a=7+b+c=a+7;

答案:a=7+b,c=a+7;在C語言語言中,退格符是(

)

A:\fB:\tC:\bD:\n

答案:\bputchar()函數(shù)可以向終端輸出一個

A:字符串B:實型變量值C:字符或字符型變量值D:整型變量表達(dá)式值

答案:字符或字符型變量值以下選項中不是C語句的是(

)。

A:;B:k=i=j;C:{a/=b=1;b=a%2;}D:++t

答案:++t有定義語句:int

a=5,b,不能給b賦2的賦值語句是(

)。

A:b=5;b=2;B:b=a/2;C:b=b+2;D:b=2%a;

答案:b=b+2;已有定義inta=-2;和輸出語句printf("%8lx",a);以下正確的敘述是(

)。

A:%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯誤的B:%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度C:%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)D:整型變量的輸出形式只有%d一種

答案:%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯誤的字符串”helloworld”的存儲長度是()

A:12

B:10

C:11

D:13

答案:11

若變量已正確說明為char類型,scanf("%c%c",&a,&b);若要使a=‘h’,b=’c’,則正確的輸入是(

)。

A:h,cB:h

c

C:hcD:hc

答案:hc使用scanf("a=%d,b=%d",&a,&b)為變量a,b賦值。要使a,b均為50,正確的輸入是(

)。

A:a=50,b=50B:50

50C:a=50

b=50D:50,50

答案:a=50,b=50調(diào)用putchar()函數(shù)時,以下說法正確的是(

A:putchar()函數(shù)可以接收用戶輸入B:putchar()函數(shù)能夠輸出字符串C:使用putchar()函數(shù)時不需要包含”stdio.h”文件D:putchar()函數(shù)只能輸出單個字符

答案:putchar()函數(shù)只能輸出單個字符

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

A:調(diào)用printf函數(shù)時,必須要有輸出項B:使用putchar函數(shù)時,必須在之前包含頭文件stdio.hC:在C語言中,整數(shù)可以以十進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出D:使用putchar函數(shù)可以不要輸出項

答案:調(diào)用printf函數(shù)時,必須要有輸出項如果有scanf("%d%d",&a,&b),為a、b賦值錯誤的輸入是()

A:2(tab鍵)3B:2(換行)3C:2(空格)

3D:2,3

答案:2,3用getchar()函數(shù)可以從鍵盤讀入一個(

)。

A:字符串B:整型變量表達(dá)式值C:字符或字符型變量D:實型變量值

答案:字符或字符型變量

項目四單元測試

若要求在if后的圓括號中表示a不等于0的關(guān)系,能正確表示這一關(guān)系的表達(dá)式是()。

A:a=0B:a<>0C:!aD:a

答案:!a以下程序段,運行后的輸出結(jié)果是()charm='b';

if(m++>'b')

printf("%c",m);

elseprintf("%c",m--);

A:dB:cC:aD:b

答案:c設(shè)a=1,b=2,c=3,d=4,則表達(dá)式a<b?b:c<d?a:b的結(jié)果為()。

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

答案:2

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

A:break語句必須與switch語句中的case配對使用B:在switch語句中,不一定使用break語句C:在switch語句中必須使用defaultD:break語句只能用于switch語句

答案:在switch語句中,不一定使用break語句以下程序段的輸出結(jié)果是()。

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

switch(a%3)

{

case0:m++;break;

case1:m++;

switch(b%2)

{

default:m++;

case0:m++;break;

}

}

printf("%d",m);

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

答案:3邏輯表達(dá)式的值只能為1或0。

A:對B:錯

答案:對在switch語句中,每一個的case常量表達(dá)式的值可以相同。

A:錯B:對

答案:錯在switch語句中,多個case可以共用一組執(zhí)行語句。

A:對B:錯

答案:對下列關(guān)于運算符優(yōu)先順序的描述中正確的是()。

A:關(guān)系運算符<算術(shù)運算符<賦值運算符<邏輯與運算符B:算術(shù)運算符<關(guān)系運算符<賦值運算符<邏輯與運算符C:邏輯運算符<關(guān)系運算符<算術(shù)運算符<賦值運算符D:賦值運算符<邏輯與運算符<關(guān)系運算符<算術(shù)運算符

答案:賦值運算符<邏輯與運算符<關(guān)系運算符<算術(shù)運算符能正確表示“當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達(dá)式是()。

A:(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B:(x>=1)||(x<=10)&&(x>=200)||(x<=210)C:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D:(x>=1)||(x<=10)||(x>=200)||(x<=210)

答案:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)在C語言中,設(shè)有如下定義:

int

a=1,b=2,c=3,d=4,m=2,n=2;

則執(zhí)行表達(dá)式:(m=a>b)&&(n=c>d)后,n的值為(

)。

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

答案:2設(shè)有如下定義:

int

a=2,b;

則執(zhí)行b=a&&1;語句后,b的結(jié)果是(

)。

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

答案:1設(shè)a=3,b=4,c=5,則表達(dá)式!(a>b)&&!c||1的結(jié)果是(

)。

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

答案:1能正確表示a和b同時為正或同時為負(fù)的邏輯表達(dá)式是(

)。

A:a*b>0B:(a>=0||b>=0)&&(a<0||b<0)C:(a+b>0)&&(a+b<=0)D:(a>=0&&b>=0)&&(a<0&&b<0)

答案:a*b>0以下程序段的輸出結(jié)果是(

)。

inta=10,b=50,c=30;

if(a>b)

a=b;

b=c;

c=a;

printf("a=%db=%dc=%d",a,b,c);

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

答案:a=10b=30c=10有如下程序

intmain()

{floatx=2.0,y;

if(x<0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f”,y);

return0;

}

該程序的輸出結(jié)果是()。

A:0.250000B:1.000000C:0.000000D:0.500000

答案:0.500000以下不可以用在switch語句的括號中作為表達(dá)式的選項是(

A:字符常量B:實型常量C:整型常量D:整型表達(dá)式

答案:實型常量有如下程序段:

intx=1,y=1;

intm,n;

m=n=1;

switch(m)

{case0:x=x*2;

case1:

{

switch(n)

{case1:x=x*2;

case2:y=y*2;break;

case3:x++;

}

}

case2:x++;y++;

case3:x*=2;y*=2;break;

default:x++;y++;

}

執(zhí)行完成后,x和y的值分別為()。

A:x=7y=7B:x=2y=2C:x=2y=1D:x=6y=6

答案:x=6y=6以下程序的輸出結(jié)果是()

intmain()

{inta=1,b=3,c=5,d=4,x;

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

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

return0;

}

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

答案:2在C語言中,設(shè)x=1,y=2,執(zhí)行表達(dá)式

(x>y)?x++:++y以后x和y的值分別為()。

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

答案:1和3以下不屬于C語言邏輯運算符的是(

)。

A:&&B:||C:?D:!

答案:?

項目五單元測試

若i為整型變量,則以下循環(huán)執(zhí)行的次數(shù)是()。(單選)for(i=0;i<=5;i++)

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

A:3次B:6次C:2次

D:5次

答案:3次下面的程序?qū)斎氲拿恳粋€數(shù)字出現(xiàn)的次數(shù)進(jìn)行計數(shù),下劃線處應(yīng)填入的正確語句為#include"stdio.h"intmain(){inti,ch,n[10];

for(i=0;i<10;++i)n[i]=0;

while((ch=getchar())!='\n')

if(ch>='0'&&ch<='9')

________;

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

printf("數(shù)字%d出現(xiàn)的次數(shù)是:%d",i,n[i]);}

A:n[i]++B:n[ch-‘0’]++C:n[ch]++D:i++

答案:n[ch-‘0’]++下列程序段的輸出結(jié)果是()。intx=3;

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

while(?。?-x));

A:0B:1

C:1-2

D:-2

答案:1-2

若x是int型變量,且有下面的程序片段:

for(x=5;x<8;x++)

printf((x/2)?(“**%d”):(“##%d”),x);該程序片段的輸出結(jié)果是()。

A:**5##6**7##8B:**5**6**7

C:**5##6**7D:##5**6##7**8

答案:**5**6**7

C語言中(

)。

A:do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán)B:不能使用do-while語句構(gòu)成的循環(huán)

C:do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時結(jié)束循環(huán)D:do-while語句構(gòu)成的循環(huán)必須用break語句才能退出

答案:do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時結(jié)束循環(huán)break語句只能用于循環(huán)語句中。

A:對B:錯

答案:錯continue語句可以用于switch結(jié)構(gòu)中。

A:對B:錯

答案:錯在C語言中,為了結(jié)束由do-while語句構(gòu)成的循環(huán),while后一對圓括號中表達(dá)式的值應(yīng)該能夠為0

A:錯B:對

答案:對三種循環(huán)(while語句、for語句、do-while語句)都可以用來處理同一個問題,一般它們可以相互代替。

A:錯B:對

答案:對for(i=0,k=-1;k=1;k++,i++)printf("*");循環(huán)體一次也不執(zhí)行。

A:對B:錯

答案:錯for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');輸出為;;。

A:對B:錯

答案:對對下面程序段描述正確的是______.

intx=0,s=0;

while(!x!=0)s+=++x;

printf("%d",s);

A:程序段循環(huán)無數(shù)次B:程序段中的控制表達(dá)式是非法的C:運行程序段后輸出0D:運行程序段后輸出1

答案:運行程序段后輸出1下面程序段的輸出結(jié)果是______.

x=3;

do{y=x--;

if(!y){printf("*");continue;}

printf("#");

}while(x=2);

A:輸出錯誤信息B:##*C:死循環(huán)D:##

答案:死循環(huán)下面程序的輸出結(jié)果是_______.

#include<stdio.h>

void

main()

{intn=4;

while(n--)printf("%d",n--);

}

A:20B:210C:31D:321

答案:31以下程序運行后的輸出結(jié)果是________.

#include<stdio.h>

voidmain()

{inti=10,j=0;

do

{j=j+1;

i--;

}while(i>2);

printf("%d",j);

}

A:8B:52C:50D:51

答案:8下面程序的輸出結(jié)果是________.

main()

{

inti,k=0,a=0,b=0;

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

k++;

if(k%2==0){a=a+k;continue;}

b=b+k;

a=a+k;

}

printf("k=%da=%db=%d",k,a,b);

}

A:k=4a=10b=3B:k=3a=6b=4C:k=5a=10b=4D:k=4a=10b=4

答案:k=4a=10b=4下面程序的輸出結(jié)果是_______.

#include<stdio.h>

voidmain()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);

continue;}

}

}

A:875421B:852C:741D:963

答案:852有以下程序#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--)

{if(i*j>3)break;

m=i*j;

}}printf("m=%d",m);}程序運行后的輸出結(jié)果是_______.

A:m=4B:m=1C:m=2D:m=5

答案:m=1有以下程序

#include<stdio.h>

main()

{intc=0,k;

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

switch(k)

{default:c+=k;

case2:c++;break;

case4:c+=2;break;

}

printf(“%d”,c);

}

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

A:9B:7C:5D:3

答案:3for(i=1;i<9;i+=1);該循環(huán)共執(zhí)行了_______次。

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

答案:8inta=2;while(a=0)a--;該循環(huán)共執(zhí)行了_______次。

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

答案:0執(zhí)行完循環(huán)

for(i=1;i<100;i++);后,i的值為_______。

A:102B:100C:101D:99

答案:100以下

for語句中,書寫錯誤的是_______。

A:i=1;for(;i<5;i++);B:for(i=1;i<5;i++);C:for(i=1;i<5;i++)D:for(i=1;i<5;)i++;

答案:for(i=1;i<5;i++)

_______語句,在循環(huán)條件初次判斷為假,還會執(zhí)行一次循環(huán)體。

A:以上都不是B:forC:do-whileD:while

答案:do-while有以下程序段,其運行結(jié)果是_______inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);

A:*3*5B:*2*6C:*7D:*5

答案:*7i、j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是_______。for(i=5;i;i--)

for(j=0;j<4;j++){…}

A:25B:30C:20D:24

答案:20以下不構(gòu)成無限循環(huán)的語句或語句組是_______。

A:n=0;

do{++n;}while(n<=0);B:n=0;

while(1){n++;}C:for(n=0,i=1;;i++)n+=i;D:n=10;

while(n);{n--;}

答案:n=0;

do{++n;}while(n<=0);若有定義“intA[3][4]”,則能表示數(shù)組元素A[1][1]的是(

A:*(A+1)[1]

B:*(A+5)C:(A[1]+1)D:*(&A[1][1])

答案:*(&A[1][1])

有以下程序段,其運行結(jié)果是_______。inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}

A:2

3

43

4

5B:4

53

42

3C:4

3

25

4

3D:2

33

44

5

答案:4

53

42

3

項目六單元測試

以下不能對一維數(shù)組a進(jìn)行正確初始化的語句是()

A:inta[10]={0,0,0,0,0};B:inta[10]={10*1};C:inta[10]={};D:inta[]={0};

答案:inta[10]={};在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()

A:整型常量B:整型常量或整型表達(dá)式C:整型表達(dá)式D:任何類型的表達(dá)式

答案:整型常量或整型表達(dá)式對以下說明語句,理解正確的是(

)。

inta[10]={6,7,8,9,10};

A:將5個初值依次賦給a[6]到a[10]B:因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確C:將5個初值依次賦給a[0]到a[4]D:將5個初值依次賦給a[1]到a[5]

答案:將5個初值依次賦給a[0]到a[4]以下說法錯誤的是()

A:數(shù)組名的命名規(guī)則應(yīng)符合標(biāo)識符的命名規(guī)則B:定義數(shù)組的時候,不能用變量作為數(shù)組下標(biāo)C:同一段程序中,數(shù)組名可以和其他變量名相同D:同一個數(shù)組的元素,其數(shù)據(jù)類型必須相同

答案:同一段程序中,數(shù)組名可以和其他變量名相同strcmp()函數(shù)比較兩個字符串的大小,以下錯誤的是()

A:字符串1==字符串2,返回值為0B:

以上說法都不對C:字符串1<字符串2,返回值<0D:字符串1>字符串2,返回值大于0

答案:

以上說法都不對以下函數(shù)不可以處理字符串是(

)。

A:strcmp()B:sqrt()C:strcat()D:strcpy()

答案:sqrt()關(guān)于strcpy(參數(shù)2,參數(shù)2)函數(shù),以下說法錯誤的是(

A:參數(shù)2必須寫成數(shù)組名稱B:參數(shù)1必須是字符數(shù)組,而且必須定義得夠大,能容納參數(shù)2C:參數(shù)2可以是字符串常量D:參數(shù)1必須寫成數(shù)組名稱

答案:參數(shù)2必須寫成數(shù)組名稱數(shù)組名的命名規(guī)則與標(biāo)識符命名規(guī)則相同,不能用數(shù)字開頭。()

A:錯B:對

答案:對在對數(shù)組全部元素賦初值時,可以省略行數(shù),但不能省略列數(shù)

A:錯B:對

答案:對數(shù)組元素通常也稱為下標(biāo)變量。必須先定義數(shù)組,才能使用下標(biāo)變量。

A:錯B:對

答案:對C語言中,字符串常量存放在字符數(shù)組中要有一個結(jié)束符,該結(jié)束符是0。

A:對B:錯

答案:錯C語言允許用字符串的方式對數(shù)組作初始化賦值。

A:對B:錯

答案:對在對數(shù)組全部元素賦初值時,不可以省略行數(shù),但能省略列數(shù)

A:錯B:對

答案:錯對二維數(shù)組的正確說明是

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

答案:inta[][3]={1,2,3,4,5,6};以下關(guān)于數(shù)組的描述正確的是

A:數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素;B:數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同;C:數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同;D:數(shù)組的大小是可變的,但可以有不同的類型的數(shù)組元素;

答案:數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同;在定義inta[5];之后,對a的引用不正確的是()

A:a[5]B:a[0]C:a[1]D:a[3]

答案:a[5]以下對一維數(shù)組a進(jìn)行不正確初始化的是

A:inta[10]={10*2};B:inta[10]={};C:inta[]={0};

D:inta[10]=(0,0,0,0);

答案:inta[10]=(0,0,0,0);以下能對一維數(shù)組a[3]全部賦值為2的語句正確的是()

A:a[2]=2;B:a[0]=2;a[1]=2;C:a[3]={2}D:a[3]={2,2,2}

答案:a[3]={2,2,2}以下說法錯誤的是()

A:數(shù)組初始化可以只給部分元素賦初值B:賦值語句不能給數(shù)組整體賦值C:可以給數(shù)組整體賦值D:可以給數(shù)組元素逐個賦值

答案:可以給數(shù)組整體賦值如果有定義int

a[5];則以下正確的賦值語句是(

)。

A:a=10;B:a[5]=10;C:scanf("%d",&a);D:a[0]=10;

答案:a[0]=10;若有說明:inta[][2]={{0,0},{1}};則下面正確的敘述是(

)。

A:只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值B:數(shù)組a共有3個數(shù)組元素C:數(shù)組a的每個元素都可得到初值0D:二維數(shù)組a的第一維大小為2

答案:二維數(shù)組a的第一維大小為2若有說明inta[3][4];則a數(shù)組元素的非法引用是()。

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

答案:a[0][4]以下能對二維數(shù)組a進(jìn)行正確初始化的語句是(

)。

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

答案:inta[][3]={{1,2,3},{4,5,6}};設(shè)有數(shù)組定義:chararr[]="China";則數(shù)組arr所占空間為()。

A:6個字節(jié)B:5個字節(jié)C:4個字節(jié)D:7個字節(jié)

答案:6個字節(jié)若有以下語句,則正確的描述是()。

chara[]="toyou";

charb[]={'t','o','y','o','u'};

A:a數(shù)組長度小于b數(shù)組長度B:a數(shù)組和b數(shù)組的長度相同C:a數(shù)組長度大于b數(shù)組長度D:a數(shù)組等價于b數(shù)組

答案:a數(shù)組長度大于b數(shù)組長度下面敘述正確的是(

)。

A:字符串”STOP”與”STOP”相等B:字符個數(shù)多的字符串比字符個數(shù)少的字符串大C:字符串”That”小于字符串”The”D:兩個字符串所包含的字符個數(shù)相同時,才能比較字符串

答案:字符串”That”小于字符串”The”在定義inta[5][4];之后,對數(shù)組元素的引用正確的是

A:a[0,0]B:a[2][4]C:a[0][0]D:a[5][0]

答案:a[0][0]在執(zhí)行inta[][3]={1,2,3,4,5,6};語句后,a[1][0]的值是

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

答案:4在定義inta[3][4][2];后,第10個元素是()

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

答案:a[1][0][1]在C語言中,strlen函數(shù)的功能以下說法正確的是()

A:比較字符串大小B:復(fù)制字符串C:求字符串長度(不包含'\0')D:求字符串長度(包含'\0')

答案:求字符串長度(不包含'\0')有字符數(shù)組a[80],b[80],則正確的輸出語句是

A:puts(a);puts(b);B:printf(“%s,%s”,a[],b[]);C:putchar(a,b);D:puts(a,b);

答案:puts(a);puts(b);以下不能正確進(jìn)行字符串賦初值的語句是

A:charstr[5]="good!";B:charstr[5]={''g'',''o'',''o'',''d''};C:charstr[]="good!";D:char*str="good!";

答案:charstr[5]="good!";已有定義:chara[]="xyz",b[]={''x'',''y'',''z''};,以下敘述中正確的是()。

A:上述說法都不對B:a數(shù)組長度小于b數(shù)組長度C:a數(shù)組長度大于b數(shù)組長度D:數(shù)組a和b的長度相同

答案:a數(shù)組長度大于b數(shù)組長度在C語言中,能實現(xiàn)字符串連接的函數(shù)是(

A:strcmp()B:strcpy()

C:strlen()D:strcat()

答案:strcat()在C語言中,有:charstr[]="abcd";printf(%d",strlen(str));上面程序片段的輸出結(jié)果是(

)

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

答案:4在C語言中,不能把字符串"Hello!"賦給數(shù)組b的語句是(

)。

A:charb[10]={''H'',''e'',''l'',''l'',''o'',''!''};B:charb[10];b="Hello!";C:charb[10];strcpy(b,"Hello!");D:charb[10]="Hello!";

答案:charb[10];b="Hello!";函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是

A:將串str2連接到串str1之后再將串str1復(fù)制到串str3中B:將串str1復(fù)制到串str2中后再連接到串str3之后C:將串str1連接到串str2之后再復(fù)制到串str3之后D:將串str2復(fù)制到串str1中后再將串str3連接到串str1之后

答案:將串str2復(fù)制到串str1中后再將串str3連接到串str1之后不能把字符串:Hello!賦給數(shù)組b的語句是

A:charb[10]={'H','e','l','l','o','!',0};B:charb[10];b="Hello!";C:charb[10]="Hello!";D:charb[10];strcpy(b,"Hello!");

答案:charb[10];b="Hello!";

項目七單元測試

以下敘述中錯誤的是()

A:函數(shù)的參數(shù)可以是數(shù)據(jù)的地址B:函數(shù)的參數(shù)可以是數(shù)組C:函數(shù)的參數(shù)是數(shù)組時,必須指定數(shù)組大小D:函數(shù)的參數(shù)可以是任意數(shù)據(jù)類型

答案:函數(shù)的參數(shù)是數(shù)組時,必須指定數(shù)組大小以下關(guān)于函數(shù)的說法,錯誤的是()。

A:使用“include”指令將庫函數(shù)所在的頭文件包含到程序中,然后才能調(diào)用庫函數(shù)。B:庫函數(shù)因為是編譯器提供的,直接調(diào)用即可C:C程序的運行從main()函數(shù)開始D:C程序必須有一個main()函數(shù)

答案:庫函數(shù)因為是編譯器提供的,直接調(diào)用即可以下程序的輸出結(jié)果是()。#include"stdio.h"intf(intx){

inty;

if(x==0||x==1)

return(3);

y=x*x-f(x-2);

return

y;}

intmain(){

intz;

z=f(3);

printf("%d",z);

return0;}

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

答案:6以下程序的輸出結(jié)果是()。#include<stdio.h>intfun(int

x){

int

p;

if(x==0||x==1)

return(3);

p=x-fun(x-2);

returnp;}

intmain(){

printf("%d",fun(7));

return0;}

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

答案:2以下屬于函數(shù)定義的組成部分的是()

A:形式參數(shù)列表B:其他選項全都是C:函數(shù)體D:返回類型E:函數(shù)名

答案:其他選項全都是函數(shù)的實參傳遞到形參有兩種方式值傳遞和地址傳遞。

A:錯B:對

答案:對如果函數(shù)定義出現(xiàn)在函數(shù)調(diào)用之前,可以不必加函數(shù)聲明。

A:錯B:對

答案:對函數(shù)的實參可以是常量,變量或表達(dá)式。

A:對B:錯

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

A:用戶自己定義的函數(shù)只能調(diào)用庫函數(shù)B:C語言源程序總是由一個或多個函數(shù)組成C:不同函數(shù)的形式參數(shù)不能使用相同名稱的標(biāo)識符D:在C語言的函數(shù)內(nèi)部,可以定義局部嵌套函數(shù)

答案:C語言源程序總是由一個或多個函數(shù)組成若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是(

)。

A:函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中B:函數(shù)調(diào)用可以作為一個函數(shù)的形參C:函數(shù)調(diào)用可以作為一個函數(shù)的實參D:函數(shù)調(diào)用可以作為獨立的語句存在

答案:函數(shù)調(diào)用可以作為一個函數(shù)的形參以下程序的輸出結(jié)果是()。

#include

<stdio.h>

void

funA(int

n)

{n++;}

intmain()

{

int

a=1;

funA(a);

printf("%d

",a);

funA(a);

printf("%d",a);

return0;

}

A:2

1B:1

1C:1

2D:2

2

答案:1

1有以下程序,程序運行后的輸出結(jié)果是(

)。#include

<stdio.h>intnew_div(double

a,double

b){

returna/b+0.5;

}intmain(){

printf("%d",new_div(7.8,3.1));

return0;

}

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

答案:3在一個C語言程序中,下列說法正確的是(

)。

A:main函數(shù)必須出現(xiàn)在所有函數(shù)之后B:main函數(shù)可以出現(xiàn)在其它函數(shù)之外的任何位置C:main函數(shù)必須出在固定位置D:main函數(shù)必須出現(xiàn)在所有函數(shù)之前

答案:main函數(shù)可以出現(xiàn)在其它函數(shù)之外的任何位置以下敘述中正確的是(

)。

A:函數(shù)名允許用數(shù)字開頭B:函數(shù)調(diào)用時,不必區(qū)分函數(shù)名稱的大小寫C:調(diào)用函數(shù)時,函數(shù)名必須與被調(diào)用的函數(shù)名完全一致D:在函數(shù)體中只能出現(xiàn)一次return語句

答案:調(diào)用函數(shù)時,函數(shù)名必須與被調(diào)用的函數(shù)名完全一致以下說法錯誤的是()。

A:如果函數(shù)沒有返回值,返回類型空著。B:如果函數(shù)沒有返回值,返回類型為void。C:用戶可以根據(jù)需要自定義函數(shù)。D:庫函數(shù)由編譯器提供,無需用戶定義。

答案:如果函數(shù)沒有返回值,返回類型空著。有以下程序

#include<stdio.h>

intmain()

{

intfindmax(int,int,int),m;

m=findmax(a,b,c);

}

intfindmax(intx,inty,intz)

{

}則以下敘述正確的是(

)。

A:在main函數(shù)內(nèi)、外重復(fù)定義了findmax函數(shù)B:在main函數(shù)中聲明了findmax函數(shù)C:在main函數(shù)中定義了findmax函數(shù)D:在main函數(shù)中兩次調(diào)用了findmax函數(shù)

答案:在main函數(shù)中聲明了findmax函數(shù)設(shè)有函數(shù)定義:voidsub(intk,charch){…

}則以下對函數(shù)sub的調(diào)用語句中,正確的是(

)。

A:sub(2,'97');B:sub(4,"a");C:sub(1,97);D:n=sub(3,'a');

答案:sub(1,97);下列敘述中錯誤的是(

)。

A:主函數(shù)中定義的變量在整個程序中都是有效的。B:在其它函數(shù)中定義的變量在主函數(shù)中也不能使用。C:復(fù)合語句中定義的變量只在該復(fù)合語句中有效。D:形式參數(shù)也是局部變量。

答案:主函數(shù)中定義的變量在整個程序中都是有效的。凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類型是(

)。

A:靜態(tài)(static)B:自動(auto)C:外部(extern)D:寄存器(register)

答案:自動(auto)下面程序的輸出結(jié)果是(

)。

#include<stdio.h>

intmain()

{intx=10;

{intx=20;

printf("%d,",x);

}

printf("%d",x);return0;

}

A:20,10B:20,20C:10,20D:10,10

答案:20,10以下程序的輸出結(jié)果是()。#include<stdio.h>intfun(inta,intb){

staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return

m;}

intmain(){

int

k=4,m=1,p;

p=fun(k,m);

printf("%d,",p);

p=fun(k,m);

printf("%d",p);

return0;}

A:8,20B:8,16C:8,17D:8,8

答案:8,17下面程序的輸出結(jié)果是(

)。

intmain()

{inta=2,i;

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

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

return0;

}

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

A:71013B:789C:7911D:777

答案:789函數(shù)返回值的類型是由(

)決定的。

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

答案:定義函數(shù)時,所指定的函數(shù)類型若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是(

)。

A:函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元B:形參只是形式上的存在,不占用具體存儲單元C:函數(shù)的形參和實參分別占用不同的存儲單元D:同名的實參和形參占同一存儲單元

答案:函數(shù)的形參和實參分別占用不同的存儲單元有如下函數(shù)定義:#include

<stdio.h>int

fun(int

k){if(k<1)

return

0;else

if(k==1)

return

1;else

return

fun(k-1)+1;}若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是(

)。

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

答案:3

項目八單元測試

下列程序的輸出結(jié)果是()。main(){intk=4,m=5,n=7;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf(“%d”,n);}

A:21B:20C:5D:7

答案:20對于類型相同的指針變量,不能進(jìn)行的運算是()。

A:=B:==C:+D:-

答案:+以下程序的輸出結(jié)果是()#include<stdio.h>intmain(){

charstr[100]="ABCDEFG",*p=str;

inti;

for(i=0;*p!='\0';p++,i++);

printf("%d",i);return0;}

A:99B:100C:7

D:8

答案:7

已知有以下的說明,

inta[]={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值為()。

A:0B:7C:4D:5

答案:0有以下程序:main(){charstr[][10]={“China”,“Beijing”},*p=str;

printf(“%s”,p+10);}該程序運行后的輸出結(jié)果是()。

A:BeijingB:ngC:ingD:China

答案:Beijing下列關(guān)于指針定義的描述正確的有()。

A:在定義指針時,”*”號表示指針變量的指向B:指針變量的類型與它所指向的變量類型一致C:指針變量是一種變量,該變量是用來存放某個變量的地址值的D:指針變量的命名規(guī)則與標(biāo)識符相同

答案:在定義指針時,”*”號表示指針變量的指向;指針變量的類型與它所指向的變量類型一致;指針變量是一種變量,該變量是用來存放某個變量的地址值的;指針變量的命名規(guī)則與標(biāo)識符相同設(shè)有定義語句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組中6個元素中的值,下列選項中能完成此操作的語句有()。

A:for(i=0;i<6;i++)printf(“%2d”,*(p+i));B:for(i=0;i<6;i++)printf(“%2d”,(*p)++);C:for(i=0;i<6;i++)printf(“%2d”,*p++);D:for(i=0;i<6;i++)printf(“%2d”,*(p++));

答案:for(i=0;i<6;i++)printf(“%2d”,*(p+i));;for(i=0;i<6;i++)printf(“%2d”,*p++);;for(i=0;i<6;i++)printf(“%2d”,*(p++));inti=3,*p;p=&i;printf("%d",*p);是正確的。

A:錯B:對

答案:對C程序中,函數(shù)調(diào)用時用數(shù)組名作為函數(shù)的實參,則傳遞給形參的是數(shù)組的首地址值。

A:對B:錯

答案:對在C程序中,函數(shù)的形式參數(shù)是指針類型時,調(diào)用時對應(yīng)的實參也必須是地址量。

A:錯B:對

答案:對對同一類型的兩個指針變量而言,一個變量向另外一個變量賦值的結(jié)果是使得兩個指針指向同一個對象。

A:錯B:對

答案:對將一維數(shù)組a的第i個元素的地址賦給指針變量p的語句是p=&a[i-1];

A:錯B:對

答案:對char*p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。

A:錯B:對

答案:錯inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;則p+5相當(dāng)于a[5]

。

A:錯B:對

答案:錯有如下說明:int

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

A:錯B:對

答案:對若有inta[3][4];*(a+1)+2表示a[1][2]元素的地址。

A:錯B:對

答案:對指針變量作為函數(shù)形參,仍然遵循單向值傳遞的傳送規(guī)則,傳遞的值是地址值()

A:對B:錯

答案:對若有定義:inta[5],*p;,則操作p=a;是合法的操作。

A:錯B:對

答案:對若有定義:inta[5],*p;,則操作p=&a[2];是合法的操作。

A:錯B:對

答案:對若有定義:inta[5][5],*p;,則操作p=a;是合法操作。

A:對B:錯

答案:錯如果有inta[5];int*p=a;則p可以被賦值,但a不可以。

A:錯B:對

答案:對若有定義:inta[5][5],(*p)[5];,則操作p=a[0];是合法操作。

A:錯B:對

答案:錯凡是整型變量可以參加的運算,指針變量都可以參加。

A:錯B:對

答案:錯對于指向同一個數(shù)組的兩個變量而言,兩個指針變量相減的操作是有意義的。

A:對B:錯

答案:對對數(shù)組各元素的存取完全可以不用下標(biāo)變量而用指針來代替。

A:錯B:對

答案:對下列關(guān)于指針概念的描述中,錯誤的是(

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

答案:指針的類型是它所存放的數(shù)值的類型已知:inta[5],*p=a;則與++*p相同的是(

)。

A:*p++B:a[0]C:*++pD:++a[0]

答案:++a[0]已知:inta[]={1,2,3,4,5},*p=a;在下列數(shù)組元素地址的表示中,正確的是(

)。

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

答案:&p[2]若有語句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;則(

)不是對a數(shù)組元素的正確引用(其中0≤i<10)。

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

答案:*(*(a+i))下列語句組中,正確的是(

A:char*s;s="Olympic";B:chars[7];s={"Olympic"};C:chars[7];s="Olympic";D:char*s;s={"Olympic"};

答案:char*s;s="Olympic";若有定義int(*pt)[3];,則下列說法正確的是(

A:定義了基類型為int的三個指針變量B:定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組C:定義了基類型為int的具有三個元素的指針數(shù)組ptD:定義了一個名為*pt、具有三個元素的整型數(shù)組

答案:定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組有以下程序#include<stdio.h>intf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,4);printf("%d",s);}intf(intt[],intn){if(n>0)returnt[n-1]+f(t,n-1);

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

)

A:4B:10C:6D:14

答案:10有以下程序

#include<stdio.h>

main()

{intm=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf(“%d,%d,%d,%d”,m,n,*p,*q);

}

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

)

A:2,1,1,2B:1,2,1,2C:1,2,2,1D:2,1,2,1

答案:1,2,2,1若有定義語句:inta[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是(

)

A:p=aB:p=a[i]C:q[i]=a[i]D:p=&a[2][1]

答案:p=a有以下程序

#include<stdio.h>

#include<string.h>

main()

{charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];

printf(“%d,”,strlen(p));printf(“%s”,p);

}

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

)

A:10,One*DreamB:9,One*DreamC:10,One*WorldD:9,One*World

答案:10,One*Dream下列函數(shù)的功能是(

)

fun(char*a,char*b)

{while((*b=*a)!=’\0’){a++,b++;}}

A:使指針b指向a所指字符串B:檢查a和b所指字符串中是否有’’C:將a所指字符串賦給b所指空間D:將a所指字符串和b所指字符串進(jìn)行比較

答案:將a所指字符串賦給b所指空間設(shè)有定義:char

*c;,以下選項中能夠使字符型指針c正確指向一個字符串的是(

)

A:*c=”string”;B:c=getchar();C:scanf(“%s”,c);D:charstr[]=”string”;c=str;

答案:charstr[]=”string”;c=str;有以下程序

#include<stdio.h>voidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d,%d,",*p,*q);fun(&x,&y);printf("%d,%d",*p,*q);}

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

)

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

答案:3,5,3,5已知chars[10],*p=s;,則在下列語句中,錯誤的語句是(

)。

A:p=s+5;B:*p=s[0]C:s=p+s;D:s[2]=p[4]

答案:s=p+s;已知charb[5],*p=b;,則正確的賦值語句是(

)。

A:b=””;B:*b=”abcd”;C:*p=”abcd”;D:p=”abcd”;

答案:p=”abcd”;已知chars[20]=”programming”,*ps=s;則不能引用字母o的表達(dá)式是(

)。

A:s[2]B:ps+2C:ps+=2,*psD:ps[2]

答案:ps+2下列選項中,正確的語句組是(

)。

A:chars[8];s={"Beijing"};B:char*s;s="Beijing";C:char*s;s={"Beijing"};D:chars[8];s="Beijing";

答案:char*s;s="Beijing";已知char*p,*q;下面語句正確的是(

)。

A:p+=q;B:p/=q;C:p+=3;D:p*=3;

答案:p+=3;若說明int*p,n;則通過語句scanf能夠正確讀入數(shù)據(jù)n的程序段是(

)。

A:p=&n;scanf("%d",p);B:p=&n;scanf("%d",&p);C:scanf("%d",n);D:p=&n;scanf("%d",*p);

答案:p=&n;scanf("%d",p);若有定義:intx,*pb;則以下正確的表達(dá)式是(

A:pb=xB:*pb=&xC:pb=&xD:*pb=*x

答案:pb=&x以下程序的輸出結(jié)果是(

)#include<stdio.h>voidmain(){printf(“%d”,NULL);}

A:1B:-1C:0D:因變量無定義輸出不定值

答案:0如果有語句

intx,*px;

px=&x;

以下表達(dá)式,哪一項和其他項含義不同()

A:*pxB:&(*px)C:pxD:&x

答案:*px已知指針p的指向如圖所示的a[1],則表達(dá)式*++p的值是(

)。

A:30B:21C:20D:31

答案:30已知指針p的指向如圖所示的a[1],則表達(dá)式++*p的值是(

)。

A:20B:31C:21D:30

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

)。

A:&*a,&a,*pointB:a,point,*&aC:*&point,*point,&aD:&a,&*point,point

答案:&a,&*point,point若有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是(

)。

A:s和p完全相同B:*p與s[0]相等C:數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等D:s數(shù)組長度和p所指向的字符串長度相等

答案:*p與s[0]相等已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!=’\0’){p1++;p2++;}}函數(shù)的功能是(

)。

A:對p1和p2兩個指針?biāo)缸址M(jìn)行比較B:將p1所指字符串復(fù)制到p2所指內(nèi)存空間C:將p1所指字符串的地址賦給指針p2D:檢查p1和p2兩個指針?biāo)缸址惺欠裼小?/p>

答案:將p1所指字符串復(fù)制到p2所指內(nèi)存空間下面程序段中,輸出*的個數(shù)是(

)。char*s="a8bc";for(;*s!='\0';s++)printf("*");

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

答案:5閱讀下列程序,則執(zhí)行后的結(jié)果為(

)。#include"stdio.h"intmain(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x",c[2][2],*(*(c+1)+1));}

A:56,5B:62,5C:3e,6D:3E,6

答案:3e,6現(xiàn)有inta,*b;,b=&a;,則下列運算錯誤的是(

)。

A:*&aB:*&bC:&*bD:&*a

答案:&*a現(xiàn)有如下定義語句,表示數(shù)組元素s[i]的表達(dá)式不正確的是(

)。int*p,s[20],i;p=s;

A:*(p=p+i)B:*(s=s+i)C:*(s+i)D:*(p+i)

答案:*(s=s+i)

項目九單元測試

若有以下語句

typedef

struct

S

{

int

g;

char

h;

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

A:S是struct類型的變量B:可用S定義結(jié)構(gòu)體變量C:T是structS類型的變量D:可用T定義結(jié)構(gòu)體變量

答案:可用T定義結(jié)構(gòu)體變量下列說法不正確的是()。

A:一個結(jié)構(gòu)體中數(shù)據(jù)成員的類型必須相同。B:使用結(jié)構(gòu)體類型定義變量前,需要先定義這個類型。C:定義結(jié)構(gòu)體類型時,末尾的分號不能省略。D:一個結(jié)構(gòu)體中可以有多個不同類型的數(shù)據(jù)成員。

答案:一個結(jié)構(gòu)體中數(shù)據(jù)成員的類型必須相同。有以下程序#include<stdio.h>struct

ball{

char

color[10];

int

dim;};intmain(){

structballlist[2]={{"white",2},{"yellow",3}};

printf("%s:%d",(list+1)->color,list->dim);

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

A:yellow:3B:white:2C:yellow:2D:white:3

答案:yellow:2以下敘述中正確的是()。

A:結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員B:結(jié)構(gòu)體數(shù)組名不能作為實參傳給函數(shù)C:結(jié)構(gòu)體變量的地址不能作

溫馨提示

  • 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

提交評論