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

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)(青島職業(yè)技術(shù)學(xué)院)智慧樹知到課后章節(jié)答案2023年下青島職業(yè)技術(shù)學(xué)院青島職業(yè)技術(shù)學(xué)院

項(xiàng)目一測(cè)試

C語(yǔ)言是一種(

)

A:匯編語(yǔ)言B:高級(jí)語(yǔ)言C:機(jī)器語(yǔ)言D:低級(jí)語(yǔ)言

答案:高級(jí)語(yǔ)言

下列各項(xiàng)中,不是C語(yǔ)言的特點(diǎn)是()。

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

答案:有較強(qiáng)的網(wǎng)絡(luò)操作功能

下列敘述錯(cuò)誤的是(

)。

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

答案:C程序中的每條命令都用一個(gè)分號(hào)作為結(jié)束符

一個(gè)C程序的執(zhí)行是從(

)。

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

答案:本程序的main函數(shù)開始,到main函數(shù)結(jié)束

以下敘述不正確的是(

)。

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

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

項(xiàng)目二測(cè)試

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

)

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

答案:28

在C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是(

)。

A:++B:&&C:!

D:%

答案:%

合法的c標(biāo)識(shí)符是(

)。

A:5dmB:a>bC:$sD:h1

答案:h1

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

main()

{inta;

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

A:15

B:20C:10D:65

答案:20

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

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

答案:4

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:

B:’’

C:+

D:”

答案:\+

對(duì)于int

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

A:錯(cuò)B:對(duì)

答案:錯(cuò)

在C語(yǔ)言中8.9e1.2是不正確的實(shí)型常量。

A:對(duì)B:錯(cuò)

答案:對(duì)

對(duì)任一變量一旦被指定為某一確定類型后,該變量在程序運(yùn)行時(shí)所占存儲(chǔ)空間的多少和所能參加的運(yùn)算類型便已確定了。

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:錯(cuò)

“!”的優(yōu)先級(jí)可以比“/”高。

A:對(duì)B:錯(cuò)

答案:對(duì)

兩個(gè)char

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

C語(yǔ)言程序中,任何英語(yǔ)單詞均可以作標(biāo)識(shí)符。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

賦值運(yùn)算符有右結(jié)合性,表達(dá)式x=y=z等價(jià)于z=x=y()

A:對(duì)B:錯(cuò)

答案:錯(cuò)

C語(yǔ)言中不區(qū)分大小寫英文字母。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

當(dāng)運(yùn)算符兩邊數(shù)據(jù)類型不一致,運(yùn)算會(huì)出現(xiàn)錯(cuò)誤

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

將一個(gè)整型數(shù)據(jù)賦值給一個(gè)字符型變量的時(shí)候,可能丟失數(shù)據(jù)()

A:錯(cuò)B:對(duì)

答案:對(duì)

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

main(){intk=11;

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

return1;}

A:k=11,k=12,k=11B:k=11,k=013,k=0xbC:k=11,k=13,k=bD:k=11,k=13,k=13

答案:k=11,k=13,k=b

在下列選項(xiàng)中,不正確的賦值語(yǔ)句是_______.

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:3B:不確定的值C:0D:1

答案: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:B,CC:C,DD:67,D

答案:67,D

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

A:4

B:1

C:8

D:2

答案:1

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

A:1

B:8

C:2

D:4

答案:4

若有以下定義和語(yǔ)句:

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

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

A:10,10,10B:8,8,10C:8,10,10D:8,16,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.75C:0D:2.4

答案: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++);}程序運(yùn)行后的輸出結(jié)果是________

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

答案:9

sizeof(‘a(chǎn)’)的值是()

A:4

B:1C:8

D:2

答案:1

有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是_______

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

答案:chara=’aa’;

以下選項(xiàng)中,不正確的C語(yǔ)言浮點(diǎn)型常量是_______

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

答案:2e4.2

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

A:a%10

B:a%10/10

C:a/10%10

D:a/10

答案:a/10%10

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

A:_a12B:stu#C:intD:3ce

答案:_a12

已知int

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

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

答案:20

已知int

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

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

答案:20

在C語(yǔ)言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的_______形式存儲(chǔ)。

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

答案:ASCII碼

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

A:a%10/10

B:a/10

C:a%10

D:a/10%10

答案:a%10

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

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

D:a%10/10

答案:a/100

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

答案:3*a*e/b*c

要為字符型變量a賦初值,下列語(yǔ)句中哪一個(gè)是正確的_______。

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

答案:chara=‘3’;

字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是_______。

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

答案:4

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

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

答案:1

下列運(yùn)算符優(yōu)先級(jí)最高的是()

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

D:單目運(yùn)算符-

答案:單目運(yùn)算符-

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

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

答案:2.0

sizeof(double)的結(jié)果值是_______。

A:出錯(cuò)B:4C:8D:2

答案:8

以下用戶標(biāo)識(shí)符中,合法的是_______。

A:intB:a+bC:nitD:123

答案:nit

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

A:intB:doubleC:floatD:不確定

答案:double

一下運(yùn)算符,運(yùn)算優(yōu)先級(jí)別最低的是()

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

答案:逗號(hào)運(yùn)算符

在C語(yǔ)言中,賦值運(yùn)算的說(shuō)法錯(cuò)誤的是(

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

答案:數(shù)據(jù)類型不同無(wú)法進(jìn)行賦值運(yùn)算

下列哪一項(xiàng)不屬于字符型變量可以存放的數(shù)據(jù)(

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

答案:12.5

以下說(shuō)法錯(cuò)誤的是()。

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

答案:C語(yǔ)言算術(shù)表達(dá)式和數(shù)學(xué)上的書寫是一致的

表達(dá)式1/4+2.75的值是3。(

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:’\’B:’’C:’53’D:’’

答案:’\053’

項(xiàng)目三測(cè)試

以下選項(xiàng)中(

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

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

C:{a=1,b=2};D:{a=1,b=2}

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

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

printf("%2d",25876);

A:2587

B:25

C:25876

D:258

答案:25876

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

A:10

22<回車>33<回車>B:10.0<回車>22.0

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

答案:10.0,22.0,33.0<回車>

調(diào)用getchar和putchar函數(shù)時(shí),必須包含的頭文件是(

)。

A:stdio.h

B:stdlib.h

C:defineD:以上都不對(duì)

答案:stdio.h

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

A:cB:dC:zD:f

答案:z

“putchar(98);”這一C語(yǔ)句輸出的結(jié)果為()

A:C

B:B

C:b

D:98

答案:b

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

A:對(duì)B:錯(cuò)

答案:對(duì)

表達(dá)式語(yǔ)句和表達(dá)式?jīng)]有什么區(qū)別。

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:錯(cuò)B:對(duì)

答案:錯(cuò)

C語(yǔ)言程序中可以有多個(gè)函數(shù),但只能有一個(gè)主函數(shù)。

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

putchar()函數(shù)用于向終端輸出一個(gè)字符。

A:對(duì)B:錯(cuò)

答案:對(duì)

以下敘述中正確的是

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語(yǔ)言中,執(zhí)行下面兩個(gè)語(yǔ)句后,輸出的結(jié)果為(

)。

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

A:a

bB:97

98C:97

bD:a

98

答案:97

b

下列語(yǔ)句中符合C語(yǔ)言語(yǔ)法的賦值語(yǔ)句是

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

答案:a=7+b,c=a+7;

在C語(yǔ)言語(yǔ)言中,退格符是(

)

A:\nB:\tC:\bD:\f

答案:\b

putchar()函數(shù)可以向終端輸出一個(gè)

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

答案:字符或字符型變量值

以下選項(xiàng)中不是C語(yǔ)句的是(

)。

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

答案:++t

有定義語(yǔ)句:int

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

)。

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

答案:b=b+2;

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

)。

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

答案:%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的

字符串”helloworld”的存儲(chǔ)長(zhǎng)度是()

A:12

B:13

C:10

D:11

答案:11

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

)。

A:hcB:h

c

C:h,cD: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ù)時(shí),以下說(shuō)法正確的是(

A:putchar()函數(shù)只能輸出單個(gè)字符

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

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

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

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

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

如果有scanf("%d%d",&a,&b),為a、b賦值錯(cuò)誤的輸入是()

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

3D:2,3

答案:2,3

用getchar()函數(shù)可以從鍵盤讀入一個(gè)(

)。

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

答案:字符或字符型變量

項(xiàng)目四測(cè)試

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

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

答案:!a

以下程序段,運(yùn)行后的輸出結(jié)果是()charm='b';

if(m++>'b')

printf("%c",m);

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

A:dB:bC:aD:c

答案:c

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

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

答案:2

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

A:在switch語(yǔ)句中,不一定使用break語(yǔ)句B:在switch語(yǔ)句中必須使用defaultC:break語(yǔ)句只能用于switch語(yǔ)句D:break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用

答案:在switch語(yǔ)句中,不一定使用break語(yǔ)句

以下程序段的輸出結(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:4B:1C:3D:2

答案:3

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

A:對(duì)B:錯(cuò)

答案:對(duì)

在switch語(yǔ)句中,每一個(gè)的case常量表達(dá)式的值可以相同。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

在switch語(yǔ)句中,多個(gè)case可以共用一組執(zhí)行語(yǔ)句。

A:對(duì)B:錯(cuò)

答案:對(duì)

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

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

答案:賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符

能正確表示“當(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語(yǔ)言中,設(shè)有如下定義:

int

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

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

)。

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

答案:2

設(shè)有如下定義:

int

a=2,b;

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

)。

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

答案:1

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

)。

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

答案:1

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

)。

A:(a+b>0)&&(a+b<=0)B:(a>=0||b>=0)&&(a<0||b<0)C:(a>=0&&b>=0)&&(a<0&&b<0)D:a*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:0.000000C:1.000000D:0.500000

答案:0.500000

以下不可以用在switch語(yǔ)句的括號(hào)中作為表達(dá)式的選項(xiàng)是(

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

答案:實(shí)型常量

有如下程序段:

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=2y=1B:x=6y=6C:x=2y=2D:x=7y=7

答案: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:1B:3C:6D:2

答案:2

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

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

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

答案:1和3

以下不屬于C語(yǔ)言邏輯運(yùn)算符的是(

)。

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

答案:?

項(xiàng)目五測(cè)試

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

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

A:2次

B:6次C:5次D:3次

答案:3次

下面的程序?qū)斎氲拿恳粋€(gè)數(shù)字出現(xiàn)的次數(shù)進(jìn)行計(jì)數(shù),下劃線處應(yīng)填入的正確語(yǔ)句為#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:i++B:n[i]++C:n[ch-‘0’]++D:n[ch]++

答案:n[ch-‘0’]++

下列程序段的輸出結(jié)果是()。intx=3;

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

while(?。?-x));

A:-2B:1-2

C:1

D:0

答案:1-2

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

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

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

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

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

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

C語(yǔ)言中(

)。

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

D:do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)

答案:do-while語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)

break語(yǔ)句只能用于循環(huán)語(yǔ)句中。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

continue語(yǔ)句可以用于switch結(jié)構(gòu)中。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

三種循環(huán)(while語(yǔ)句、for語(yǔ)句、do-while語(yǔ)句)都可以用來(lái)處理同一個(gè)問題,一般它們可以相互代替。

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

對(duì)下面程序段描述正確的是______.

intx=0,s=0;

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

printf("%d",s);

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

答案:運(yùn)行程序段后輸出1

下面程序段的輸出結(jié)果是______.

x=3;

do{y=x--;

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

printf("#");

}while(x=2);

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

答案:死循環(huán)

下面程序的輸出結(jié)果是_______.

#include<stdio.h>

void

main()

{intn=4;

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

}

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

答案:31

以下程序運(yùn)行后的輸出結(jié)果是________.

#include<stdio.h>

voidmain()

{inti=10,j=0;

do

{j=j+1;

i--;

}while(i>2);

printf("%d",j);

}

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

答案: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=3a=6b=4B:k=4a=10b=4C:k=5a=10b=4D:k=4a=10b=3

答案:k=4a=10b=4

下面程序的輸出結(jié)果是_______.

#include<stdio.h>

voidmain()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

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

continue;}

}

}

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

答案: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);}程序運(yùn)行后的輸出結(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);

}

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

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

答案:3

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

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

答案:8

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

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

答案:0

執(zhí)行完循環(huán)

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

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

答案:100

以下

for語(yǔ)句中,書寫錯(cuò)誤的是_______。

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

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

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

A:forB:whileC:以上都不是D:do-while

答案:do-while

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

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

答案:*7

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

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

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

答案:20

以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是_______。

A:n=0;

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

while(n);{n--;}D:n=0;

while(1){n++;}

答案:n=0;

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

若有定義“intA[3][4]”,則能表示數(shù)組元素A[1][1]的是(

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

B:*(A+1)[1]

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

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

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

A:4

3

25

4

3B:2

3

43

4

5C:2

33

44

5D:4

53

42

3

答案:4

53

42

3

項(xiàng)目六測(cè)試

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

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

答案:inta[10]={};

在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()

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

答案:整型常量或整型表達(dá)式

對(duì)以下說(shuō)明語(yǔ)句,理解正確的是(

)。

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

A:因?yàn)閿?shù)組長(zhǎng)度與初值的個(gè)數(shù)不相同,所以此語(yǔ)句不正確B:將5個(gè)初值依次賦給a[0]到a[4]C:將5個(gè)初值依次賦給a[6]到a[10]D:將5個(gè)初值依次賦給a[1]到a[5]

答案:將5個(gè)初值依次賦給a[0]到a[4]

以下說(shuō)法錯(cuò)誤的是()

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

答案:同一段程序中,數(shù)組名可以和其他變量名相同

strcmp()函數(shù)比較兩個(gè)字符串的大小,以下錯(cuò)誤的是()

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

以上說(shuō)法都不對(duì)C:字符串1==字符串2,返回值為0D:字符串1>字符串2,返回值大于0

答案:

以上說(shuō)法都不對(duì)

以下函數(shù)不可以處理字符串是(

)。

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

答案:sqrt()

關(guān)于strcpy(參數(shù)2,參數(shù)2)函數(shù),以下說(shuō)法錯(cuò)誤的是(

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

答案:參數(shù)2必須寫成數(shù)組名稱

數(shù)組名的命名規(guī)則與標(biāo)識(shí)符命名規(guī)則相同,不能用數(shù)字開頭。()

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

C語(yǔ)言中,字符串常量存放在字符數(shù)組中要有一個(gè)結(jié)束符,該結(jié)束符是0。

A:錯(cuò)B:對(duì)

答案:錯(cuò)

C語(yǔ)言允許用字符串的方式對(duì)數(shù)組作初始化賦值。

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

對(duì)二維數(shù)組的正確說(shuō)明是

A:inta[2,3]={1,2,3,4,5,6};B:inta[][3]={1,2,3,4,5,6};C:inta[][]={1,2,3,4,5,6};D:inta[2][]={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];之后,對(duì)a的引用不正確的是()

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

答案:a[5]

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

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

答案:inta[10]=(0,0,0,0);

以下能對(duì)一維數(shù)組a[3]全部賦值為2的語(yǔ)句正確的是()

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

答案:a[3]={2,2,2}

以下說(shuō)法錯(cuò)誤的是()

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

答案:可以給數(shù)組整體賦值

如果有定義int

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

)。

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

答案:a[0]=10;

若有說(shuō)明:inta[][2]={{0,0},{1}};則下面正確的敘述是(

)。

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

答案:二維數(shù)組a的第一維大小為2

若有說(shuō)明inta[3][4];則a數(shù)組元素的非法引用是()。

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

答案:a[0][4]

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

)。

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

答案:inta[][3]={{1,2,3},{4,5,6}};

設(shè)有數(shù)組定義:chararr[]="China";則數(shù)組arr所占空間為()。

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

答案:6個(gè)字節(jié)

若有以下語(yǔ)句,則正確的描述是()。

chara[]="toyou";

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

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

答案:a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度

下面敘述正確的是(

)。

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

答案:字符串”That”小于字符串”The”

在定義inta[5][4];之后,對(duì)數(shù)組元素的引用正確的是

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

答案:a[0][0]

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

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

答案:4

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

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

答案:a[1][0][1]

在C語(yǔ)言中,strlen函數(shù)的功能以下說(shuō)法正確的是()

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

答案:求字符串長(zhǎng)度(不包含'\0')

有字符數(shù)組a[80],b[80],則正確的輸出語(yǔ)句是

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

答案:puts(a);puts(b);

以下不能正確進(jìn)行字符串賦初值的語(yǔ)句是

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

答案:charstr[5]="good!";

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

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

答案:a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度

在C語(yǔ)言中,能實(shí)現(xiàn)字符串連接的函數(shù)是(

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

答案:strcat()

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

)

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

答案:4

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

)。

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

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

函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是

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

答案:將串str2復(fù)制到串str1中后再將串str3連接到串str1之后

不能把字符串:Hello!賦給數(shù)組b的語(yǔ)句是

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

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

項(xiàng)目七測(cè)試

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

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

答案:函數(shù)的參數(shù)是數(shù)組時(shí),必須指定數(shù)組大小

以下關(guān)于函數(shù)的說(shuō)法,錯(cuò)誤的是()。

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

答案:庫(kù)函數(shù)因?yàn)槭蔷幾g器提供的,直接調(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:3C:0D:2

答案:2

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

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

答案:其他選項(xiàng)全都是

函數(shù)的實(shí)參傳遞到形參有兩種方式值傳遞和地址傳遞。

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

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

答案:C語(yǔ)言源程序總是由一個(gè)或多個(gè)函數(shù)組成

若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是(

)。

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

答案:函數(shù)調(diào)用可以作為一個(gè)函數(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:2

2D:1

2

答案:1

1

有以下程序,程序運(yùn)行后的輸出結(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:0B:2C:3D:1

答案:3

在一個(gè)C語(yǔ)言程序中,下列說(shuō)法正確的是(

)。

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

答案:main函數(shù)可以出現(xiàn)在其它函數(shù)之外的任何位置

以下敘述中正確的是(

)。

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

答案:調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致

以下說(shuō)法錯(cuò)誤的是()。

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

答案:如果函數(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ù)中兩次調(diào)用了findmax函數(shù)D:在main函數(shù)中聲明了findmax函數(shù)

答案:在main函數(shù)中聲明了findmax函數(shù)

設(shè)有函數(shù)定義:voidsub(intk,charch){…

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

)。

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

答案:sub(1,97);

下列敘述中錯(cuò)誤的是(

)。

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

答案:主函數(shù)中定義的變量在整個(gè)程序中都是有效的。

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

)。

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

答案:自動(dòng)(auto)

下面程序的輸出結(jié)果是(

)。

#include<stdio.h>

intmain()

{intx=10;

{intx=20;

printf("%d,",x);

}

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

}

A:20,20B:10,20C:10,10D:20,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,17B:8,16C:8,20D: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:777B:7911C:71013D:789

答案:789

函數(shù)返回值的類型是由(

)決定的。

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

答案:定義函數(shù)時(shí),所指定的函數(shù)類型

若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是(

)。

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

答案:函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

有如下函數(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)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是(

)。

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

答案:3

項(xiàng)目八測(cè)試

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

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

答案:20

對(duì)于類型相同的指針變量,不能進(jìn)行的運(yù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:7

B:100C:8

D:99

答案:7

已知有以下的說(shuō)明,

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

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

答案:0

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

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

A:ingB:ngC:BeijingD:China

答案:Beijing

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

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

答案:指針變量是一種變量,該變量是用來(lái)存放某個(gè)變量的地址值的;在定義指針時(shí),”*”號(hào)表示指針變量的指向;指針變量的類型與它所指向的變量類型一致;指針變量的命名規(guī)則與標(biāo)識(shí)符相同

設(shè)有定義語(yǔ)句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組中6個(gè)元素中的值,下列選項(xiàng)中能完成此操作的語(yǔ)句有()。

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

答案: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++));

inti=3,*p;p=&i;printf("%d",*p);是正確的。

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

。

A:對(duì)B:錯(cuò)

答案:錯(cuò)

有如下說(shuō)明:int

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

A:對(duì)B:錯(cuò)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:對(duì)B:錯(cuò)

答案:錯(cuò)

凡是整型變量可以參加的運(yùn)算,指針變量都可以參加。

A:對(duì)B:錯(cuò)

答案:錯(cuò)

對(duì)于指向同一個(gè)數(shù)組的兩個(gè)變量而言,兩個(gè)指針變量相減的操作是有意義的。

A:錯(cuò)B:對(duì)

答案:對(duì)

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

A:錯(cuò)B:對(duì)

答案:對(duì)

下列關(guān)于指針概念的描述中,錯(cuò)誤的是(

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

答案:指針的類型是它所存放的數(shù)值的類型

已知:inta[5],*p=a;則與++*p相同的是(

)。

A:*++pB:*p++C:a[0]D:++a[0]

答案:++a[0]

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

)。

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

答案:&p[2]

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

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

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

答案:*(*(a+i))

下列語(yǔ)句組中,正確的是(

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

答案:char*s;s="Olympic";

若有定義int(*pt)[3];,則下列說(shuō)法正確的是(

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

答案:定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(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;}程序運(yùn)行后的輸出結(jié)果是(

)

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

答案: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);

}

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

)

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

答案:1,2,2,1

若有定義語(yǔ)句:inta[4][10],*p,*q[4];且0≤i<4,則錯(cuò)誤的賦值是(

)

A:q[i]=a[i]B:p=a[i]C:p=aD: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);

}

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

)

A:10,One*WorldB:10,One*DreamC:9,One*DreamD:9,One*World

答案:10,One*Dream

下列函數(shù)的功能是(

)

fun(char*a,char*b)

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

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

答案:將a所指字符串賦給b所指空間

設(shè)有定義:char

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

)

A:c=getchar();B:*c=”string”;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);}

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

)

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

答案:3,5,3,5

已知chars[10],*p=s;,則在下列語(yǔ)句中,錯(cuò)誤的語(yǔ)句是(

)。

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

答案:s=p+s;

已知charb[5],*p=b;,則正確的賦值語(yǔ)句是(

)。

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

答案:p=”abcd”;

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

)。

A:ps+=2,*psB:ps+2C:ps[2]D:s[2]

答案:ps+2

下列選項(xiàng)中,正確的語(yǔ)句組是(

)。

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

答案:char*s;s="Beijing";

已知char*p,*q;下面語(yǔ)句正確的是(

)。

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

答案:p+=3;

若說(shuō)明int*p,n;則通過(guò)語(yǔ)句scanf能夠正確讀入數(shù)據(jù)n的程序段是(

)。

A:p=&n;scanf("%d",p);B:scanf("%d",n);C:p=&n;scanf("%d",*p);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:因變量無(wú)定義輸出不定值

答案:0

如果有語(yǔ)句

intx,*px;

px=&x;

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

A:*pxB:pxC:&xD:&(*px)

答案:*px

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

)。

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

答案:30

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

)。

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

答案:21

若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是(

)。

A:*&point,*point,&aB:&a,&*point,pointC:&*a,&a,*pointD:a,point,*&a

答案:&a,&*point,point

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

)。

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

答案:*p與s[0]相等

已定義以下函數(shù)fun(char*p2,char*p1){while((*p2=*p1)!=’\0’){p1++;p2++;}}函數(shù)的功能是(

)。

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

答案:將p1所指字符串復(fù)制到p2所指內(nèi)存空間

下面程序段中,輸出*的個(gè)數(shù)是(

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

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

答案: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:62,5B:56,5C:3e,6D:3E,6

答案:3e,6

現(xiàn)有inta,*b;,b=&a;,則下列運(yùn)算錯(cuò)誤的是(

)。

A:&*bB:*&bC:&*aD:*&a

答案:&*a

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

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

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

答案:*(s=s+i)

項(xiàng)目九測(cè)試

若有以下語(yǔ)句

typedef

struct

S

{

int

g;

char

h;

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論