程序設(shè)計(jì)(C)作業(yè)一
1.?[endif]C語(yǔ)言程序的執(zhí)行,總是起始于(???)西剥。
A.程序中的第一條可執(zhí)行語(yǔ)句?
B.程序中的第一個(gè)函數(shù)
C.main函數(shù)
D.包含文件中的第一個(gè)函數(shù)
2.?[endif]以下敘述不正確的是(???)损俭。
A.一個(gè)C源程序必須包含一個(gè)main函數(shù)
B.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成
C.C程序的基本組成單位是函數(shù)
D.在C程序中蛙奖,注釋說(shuō)明只能位于一條語(yǔ)句的后面
3.?[endif]一個(gè)C語(yǔ)言程序是由(???)潘酗。
A.一個(gè)主程序和若干個(gè)子程序組成 B.若干函數(shù)組成
C.若干過(guò)程組成 D.若干子程序組成
4.?[endif]C語(yǔ)言程序能夠在不同的操作系統(tǒng)下運(yùn)行,這說(shuō)明C語(yǔ)言具有很好的(???)雁仲。
A.適應(yīng)性? B.移植性????
C.兼容性??????????D.操作性
5.?[endif]C語(yǔ)言規(guī)定崎脉,在一個(gè)源程序中,main函數(shù)的位置(???)伯顶。
A.必須在最開(kāi)始?????????????
B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面
C.可以任意???
D.必須在最后
6.?[endif]下列說(shuō)法中正確的是(???)囚灼。
A.C語(yǔ)言程序書(shū)寫(xiě)時(shí),不區(qū)分大小寫(xiě)字母
B.C語(yǔ)言程序書(shū)寫(xiě)時(shí)祭衩,一行只能寫(xiě)一個(gè)語(yǔ)句
C.C語(yǔ)言程序書(shū)寫(xiě)時(shí)灶体,一個(gè)語(yǔ)句可分成幾行書(shū)寫(xiě)
D.C語(yǔ)言程序書(shū)寫(xiě)時(shí)每行必須有行號(hào)
7.?[endif]下面對(duì)C語(yǔ)言特點(diǎn),不正確描述的是(???)掐暮。
A.C語(yǔ)言兼有高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的雙重特點(diǎn)蝎抽,執(zhí)行效率高
B.C語(yǔ)言既可以用來(lái)編寫(xiě)應(yīng)用程序,又可以用來(lái)編寫(xiě)系統(tǒng)軟件
C.C語(yǔ)言的可移植性較差
D.C語(yǔ)言是一種結(jié)構(gòu)化模塊化程序設(shè)計(jì)語(yǔ)言
8.?[endif]C語(yǔ)言程序的注釋是(???)路克。
A.由“/*”開(kāi)頭樟结,“*/”結(jié)尾?
B.由“/*”開(kāi)頭,“/*”結(jié)尾
C.由“//”開(kāi)頭
D.由“*/”或“//”開(kāi)頭
[if !supportLists]9.?[endif]C語(yǔ)言程序的語(yǔ)句都是以(???)結(jié)尾精算。
A.“.” B.“;” ????????C.“,” ???? D.都不是
[if !supportLists]10.?[endif]標(biāo)準(zhǔn)C語(yǔ)言程序的文件名的后綴為(???)瓢宦。
A..c B..cpp ???????C..obj ???? D..exe
[if !supportLists]11.?[endif]C語(yǔ)言程序經(jīng)過(guò)編譯以后生成的文件名的后綴為(???)。
A..c ? B..obj????????C..exe ???? D..cpp
[if !supportLists]12.?[endif]C語(yǔ)言程序經(jīng)過(guò)鏈接以后生成的文件名的后綴為(???)灰羽。
A..c ?????? B..obj ??? C..exe ???? D..cpp
[if !supportLists]13.?[endif]C語(yǔ)言編譯程序的首要工作是(???)驮履。
A.檢查C語(yǔ)言程序的語(yǔ)法錯(cuò)誤
B.檢查C語(yǔ)言程序的邏輯錯(cuò)誤
C.檢查程序的完整性?
D.生成目標(biāo)文件
[if !supportLists]14.?[endif]下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是(???)廉嚼。
A.A ?P_0 ??do ??????? B.float ?la0 ??_A
C.b–a ?sizeof ??int????? D._123 ?temp ?int
[if !supportLists]15.?[endif]下面四個(gè)選項(xiàng)中玫镐,均是合法整型常量的選項(xiàng)是(???)。
A.160 ?–0xffff ??011???????????B.–0xcdf ??01a ??0xe
C.–01 ?986,012 ??0668 ?????????D.–0x48a ??2e5 ??0x
[if !supportLists]16.?[endif]下面四個(gè)選項(xiàng)中怠噪,均是不合法的浮點(diǎn)數(shù)的選項(xiàng)是(???)恐似。
A.160. ?0.12 ???e3 ?????????????B.123 ?2e4.2 ?.e5
C.–.18 ?123e4 ??0.0 ????????????D.–e3 ?.234 ??1e3
[if !supportLists]17.?[endif]以下不合法的字符常量是(????)
A. ‘\018’ ? B. ‘\’’’ C. ‘\\’ D. ‘\xcc’
[if !supportLists]18.?[endif]下面四個(gè)選項(xiàng)中,均是正確的數(shù)值常量或字符常量的選項(xiàng)是(???)傍念。
A.0.0 ??0f ??8.9e ??'&' ????????B."a" ?3.9e–2.5 ?1e1 ?'\"'
C.'3' ??011 ?0xff00 ?0a ????????D.+001 ?0xabcd ?2e2 ?50.????
[if !supportLists]19.?[endif]若有說(shuō)明語(yǔ)句:char c = '\72'矫夷;則變量c(???)。
A.包含1個(gè)字符??????????B.包含2個(gè)字符
C.包含3個(gè)字符??????????D.說(shuō)明不合法捂寿,c的值不確定
[if !supportLists]20.?[endif]若有定義:int a = 7; float x = 2.5, y = 4.7; 則表達(dá)式x + a % 3 * (int)(x + y) % 2 / 4的值是(???)口四。
A.2.500000?????B.2.750000 ???C.3.500000 ???? D.0.000000
[if !supportLists]21.?[endif]設(shè)變量a是整型,f是實(shí)型秦陋,i是雙精度型蔓彩,則表達(dá)式
10 + 'a' + i * f值的數(shù)據(jù)類型為(???)。
A.int ??????????B.float ??? C.double ???? D.不確定
[if !supportLists]22.?[endif]在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是(???)赤嚼。
A./ ???? B.++ ???? C.!= ???? D.%
[if !supportLists]23.?[endif]若變量已正確定義并賦值旷赖,下面符合C語(yǔ)言語(yǔ)法的表達(dá)式是(???)。
A.a(chǎn):=b+1 ???? B.a(chǎn)=b=c+2 ???
C.int 18.5%3 ???? D.a(chǎn)=a+7=c+b
[if !supportLists]24.?[endif]若變量a更卒、i已正確定義等孵,且i已正確賦值,則合法的語(yǔ)句是(???)蹂空。
A.a(chǎn)==1 ???? B.++i;?????C.a(chǎn)=a++=5; ???? D.a(chǎn)=int(i);
[if !supportLists]25.?[endif]下面正確的字符常量是(???)俯萌。
A.”c” ???? B.’\\” ???? C.’W’ ???? D.”
[if !supportLists]26.?[endif]假設(shè)變量a,b均為整型,則表達(dá)式?(a=2, b=5, b++, a+b) 的值是(???)上枕。
A.7 ???? B.8 ???? C.6 ???? D.2
[if !supportLists]27.?[endif]假設(shè)變量x,y均為double型咐熙,則表達(dá)式?x=2, y=x+3/2 的值是(???)。
A.3.500000 ???? B.3 ???? C.2.000000 ???? D.3.000000
[if !supportLists]28.?[endif]判斷char型變量ch是否為大寫(xiě)字母的正確表達(dá)式是(???)辨萍。
A.‘A’<=ch<=‘Z’ ?????
B.?(ch>=‘A’)&(ch<=‘Z’)
C.?(ch>=‘A’)&&(ch<=‘Z’)
D.?(‘A’<= ch)AND(‘Z’>= ch)
[if !supportLists]29.?[endif]選出正確的輸入格式()棋恼。
int a;?float b锈玉;?char c爪飘;??
scanf(“a = %d,b = %f,c = %c”,&a ,&b ,&c );
????A. 1,2.0,n ??? ?B. a = 1,b = 2.0,c = n ???
C. 1 2.0 n ?D. 12.0n
[if !supportLists]30.?[endif]已知函數(shù)abc的定義為:void ?abc( ) {……} 則函數(shù)中void的含義是(????)
[if !supportLists]A.?[endif]執(zhí)行函數(shù)abc 后,函數(shù)沒(méi)有返回值
[if !supportLists]B.?[endif]執(zhí)行函數(shù)abc 后拉背,函數(shù)不再返回
[if !supportLists]C.?[endif]執(zhí)行函數(shù)abc 后师崎,可以返回任意類型
[if !supportLists]D.?[endif]以上答案都不對(duì)
參考答案:
CDBBC CCABA BCACA BADAA ????CDBBC BDCBA
第2次作業(yè)指南
1. 在C 語(yǔ)言中,復(fù)合語(yǔ)句要用一對(duì)()括起來(lái)去团。
A. 方括號(hào)? B. 圓括號(hào)? C. 大括號(hào)? D. 尖括號(hào)
[提示]參考講稿3.1.1-4
2. C 語(yǔ)言中抡诞,下面哪項(xiàng)是不合法的標(biāo)識(shí)符?()
A. user B. switch? C. _345 D. Abc
[提示]參考講稿2.1.1
3. 以下說(shuō)法中正確的是()
A. C 語(yǔ)言比其他語(yǔ)言高級(jí)
B. C 語(yǔ)言不用編譯就能被計(jì)算機(jī)執(zhí)行
C. C 語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式
D. C 語(yǔ)言出現(xiàn)的最晚土陪,具有其他語(yǔ)言的一切優(yōu)點(diǎn)
[提示]這個(gè)留給自己發(fā)揮吧,你覺(jué)得不用翻書(shū)考證就能看出來(lái)的就是答案啦
4. 若變量x肴熏、y 已正確定義并賦值鬼雀,以下符合C 語(yǔ)言語(yǔ)法規(guī)則的語(yǔ)句是()
A. ++x, y = x--;
B. x + 1 = y;
C. x = x + 10 = x + y;
D. double(x)/10
[提示]自己編個(gè)小程序,包含上述語(yǔ)句蛙吏,然后編譯一下源哩,編譯器報(bào)錯(cuò)的地方就是不對(duì)的。以后涉及程序鸦做、程序段励烦、語(yǔ)句、表達(dá)式的題目都可以這樣做泼诱。
5. 下列程序的輸出結(jié)果為()
void main()
{
int x, y, z;
x = y = 1;
z = x++, y++, ++y;
printf(“%d, %d, %d\n”, x, y, z);
}
[if !supportLists]A.?[endif]2, 3, 3 B. 2, 3, 2 C. 2, 3, 1? D. 2, 2, 1
[提示]這個(gè)不用提示吧坛掠,上機(jī)運(yùn)行一下就知道了。程序設(shè)計(jì)課要?jiǎng)邮郑煽词菍W(xué)不會(huì)的喲屉栓。
6. 數(shù)值029 是一個(gè)()
A. 八進(jìn)制數(shù)? B. 十六進(jìn)制? C. 十進(jìn)制? D. 非法數(shù)
[提示]參考講稿2.2.2
7. 邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型()
A. 只能是0 或1 B. 只能是0 或非0 正數(shù)
C. 可以是整型或字符型數(shù)據(jù)? D. 可以是任何類型的數(shù)據(jù)
[提示]自己編個(gè)小程序舷蒲,寫(xiě)幾個(gè)邏輯表達(dá)式,將C語(yǔ)言中所有的數(shù)據(jù)類型都放到邏輯表達(dá)式中試一試友多。
8. 對(duì)于int a, 表達(dá)式1 <= a <= 5 的值是()
A. 0 B. 1? C. 不定? D. 表達(dá)式語(yǔ)法有誤
[提示]自己編個(gè)小程序牲平,……
9. 執(zhí)行下列語(yǔ)句段后x 的值為()
int a = 14, b = 15, x;
char c = ‘A’;
x = (a && b) && (c < ‘a(chǎn)’)
[if !supportLists]A.?[endif]TRUE? B. FALSE C. 0 D. 1
[提示]自己編個(gè)小程序,包含上述程序段域滥,然后在debug中觀察一下x的值纵柿。如果不會(huì)用debug,請(qǐng)看3月5日的課程启绰,老師有很多演示藐窄。
10、x, y, z 被定義為int 型變量酬土,若從鍵盤為其輸入數(shù)據(jù)荆忍,則正確的輸入語(yǔ)句是()
A. input x, y, z
B. scanf(“%d%d%d”, &x, &y, &z);
C. scanf(“%d%d%d”, x, y, z);
D. read(“%d%d%d”, &x, &y, &z);
提示:此題考察格式化輸入函數(shù)scanf 的用法。
11撤缴、若w=1, x = 2, y=3, z = 4 刹枉,則條件表達(dá)式w < x ? w: y < z ? y : z 的值是()
A. 1? B. 2 C. 3 D. 4
提示:此題考察條件運(yùn)算符的結(jié)合性。
12屈呕、給定如下程序
#include
void main()
{
char c1 = ‘A’, c2 = ‘a(chǎn)’;
printf(“%c\n”, (c1, c2));
}
則以下敘述正確的是()
A. 程序輸出大寫(xiě)字母A B. 程序輸出小寫(xiě)字母a
C. 格式說(shuō)明符不足微宝,編譯出錯(cuò) D. 程序編譯通過(guò),但運(yùn)行時(shí)出錯(cuò)
提示:此題考察對(duì)標(biāo)準(zhǔn)輸出函數(shù)和逗號(hào)運(yùn)算符的理解虎眨。
13蟋软、下列程序的輸出結(jié)果是()
#include
void main()
{
int a = 2, b = 3, c = 0, d;
d = ! a && !b || !c;
printf(“%d\n”, d);
}
A. 1 ?B. 0 C. 編譯出錯(cuò) D. -1
提示:此題考察邏輯運(yùn)算符的優(yōu)先級(jí)。
14嗽桩、下列程序的輸出結(jié)果是()
#include
void main()
{
int a = 55, b = 50, c = 60, d;
d = a > 20 ? b : c;
switch(d) {
case 40:printf(“%d”, a);
case 50: printf(“%d”, b);
case 60: printf(“%d”, c);
default: printf(“$\n”);
}
}
A. 50, 60 B. 50, $ C. 60, $ D. 50, 60, $?
提示:此題考察switch-case 結(jié)構(gòu)跳轉(zhuǎn)規(guī)律岳守。
15、給定如下程序段碌冶,請(qǐng)選擇描述正確的說(shuō)法()
int i = 9;
while(i = 0) i--;
A. while 循環(huán)執(zhí)行9 次? B. 循環(huán)體語(yǔ)句執(zhí)行一次
C. 循環(huán)體語(yǔ)句一次也不執(zhí)行? D. 循環(huán)是無(wú)限循環(huán)
提示:此題考察循環(huán)結(jié)構(gòu)湿痢,特別是循環(huán)條件的判斷。
16扑庞、設(shè)n 為整型變量壳坪,則for(n = 10; n >= 0; n--) 循環(huán)的次數(shù)為()
A. 9 B. 10 C. 11? D. 12
提示:此題考察對(duì)for 循環(huán)中三個(gè)表達(dá)式的理解蚀苛。
17骇径、對(duì)表達(dá)式for( 表達(dá)式1; ; 表達(dá)式3)可以理解為()
A. for(表達(dá)式1; 0; 表達(dá)式3)
B. for(表達(dá)式1; 1; 表達(dá)式3)
C. for(表達(dá)式1; 表達(dá)式1; 表達(dá)式3)
D. for(表達(dá)式1; 表達(dá)式3; 表達(dá)式3)
提示:此題考察對(duì)for 循環(huán)中三個(gè)表達(dá)式的理解米间。
18、以下能正確定義一維數(shù)組的選項(xiàng)是()
A. int a[5] = {0, 1, 2, 3, 4, 5}; B. char a[] = {0, 1, 2, 3}
C. char a = {‘A’, ‘B’, ‘D’} D. int a[5] = “0123”;
提示:此題考察一維數(shù)組初始化的規(guī)定栅隐。
19. 已有定義int x[3][2]塔嬉,以下能正確引用數(shù)組元素的選項(xiàng)是()
A. x[2][2] B. x[1][2] C. x[2][1] D. x[0][2]
提示:此題考察數(shù)組下標(biāo)的合法取值范圍玩徊。
20. 有以下語(yǔ)句,int x; char c[10]; 則正確的輸入語(yǔ)句是()
A. scanf(“%d%s”, x, &c); B. scanf(“%d%s”, &x, &c);
C. scanf(“%d%s”, x, c); D. scanf(“%d%s”, &x, c);
提示:此題考察標(biāo)準(zhǔn)輸入函數(shù)scanf 對(duì)普通變量和數(shù)組變量的輸入約定邑遏。
參考答案:
CBCAC DCBDB ABADC CBACD
?
第3次作業(yè)答案(紅字為答案)
1. 下列敘述中錯(cuò)誤的是( )
A. 對(duì)于double 類型數(shù)組佣赖,不可直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B. 數(shù)組名代表數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可變
C. 在程序執(zhí)行過(guò)程中记盒,當(dāng)數(shù)組元素下標(biāo)超出定義的下標(biāo)范圍時(shí)憎蛤,系統(tǒng)將給出“下標(biāo)”越界的錯(cuò)誤提示
D. 可以通過(guò)賦初值的方式確定數(shù)組元素個(gè)數(shù)
提示:請(qǐng)從數(shù)組下標(biāo)的合法取值范圍來(lái)考慮。
2. 已有定義char a[] = “xyz”纪吮,b[]={‘x’, ‘y’, ‘z’} 俩檬,以下敘述正確的是( )
A. 數(shù)組a 和b 的長(zhǎng)度相同 B. 數(shù)組a 的長(zhǎng)度小于數(shù)組b 的長(zhǎng)度
C. 數(shù)組a 的長(zhǎng)度大于數(shù)組b 的長(zhǎng)度? D. 上述說(shuō)法均不正確
提示:此題考察字符數(shù)組長(zhǎng)度和字符串長(zhǎng)度之間的關(guān)系。
3. 以下能正確定義一維數(shù)組的選項(xiàng)是( )
A. int num[]; B. #define N 100 int num[N]
C. int num[0..100]; D. int N = 100; int num[N];
提示:此題考察一維數(shù)組的維數(shù)界定問(wèn)題碾盟。
4. 下列程序的輸出結(jié)果是( )
#include
void main()
{
char a[] = {‘a(chǎn)’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’};
int i, j;
i = sizeof(a); j = strlen(a);
printf(“%d, %d\n”, i, j);
}
A. 9,9 B. 8, 9 C. 1, 8 D. 9,8
提示:此題考察字符數(shù)組長(zhǎng)度和字符串長(zhǎng)度之間的關(guān)系棚辽。
5. 以下不能正確定義二維數(shù)組的選項(xiàng)是( )
A. int a[2][] = {{1, 2}, {3, 4}};? B. int a[][2] = {1, 2, 3, 4};
C. int a[2][2] = {{1}, {2}}; D. int a[2][2] = {{1}, 2, 3};
提示:此題考察二維數(shù)組初始化的規(guī)定。
6冰肴、C 語(yǔ)言規(guī)定屈藐,若未對(duì)函數(shù)返回類型加以說(shuō)明,則函數(shù)的隱含類型為( )
A. void B. double C. int? D. char
分析:教材中有答案熙尉,但我們不推薦大家在編程時(shí)省略函數(shù)返回類型联逻。
7、若已定義的函數(shù)有返回值检痰,則以下關(guān)于該函數(shù)調(diào)用的敘述錯(cuò)誤的是( )
A. 函數(shù)調(diào)用可以作為獨(dú)立語(yǔ)句存在
B. 函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C. 函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中
D. 函數(shù)調(diào)用可以作為左值而被賦值
分析:基本概念題包归,可查書(shū)或上機(jī)驗(yàn)證。
8铅歼、下列說(shuō)法中錯(cuò)誤的是( )
A. 在不同的函數(shù)中可以使用相同名字的變量
B. 函數(shù)中的形參是局部變量
C. 在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D. 在一個(gè)函數(shù)的復(fù)合語(yǔ)句中定義的變量只在本函數(shù)范圍內(nèi)有效
分析:基本概念題公壤。考察變量的作用域和生命期椎椰。
9厦幅、下列說(shuō)法中正確的是( )
A. 定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)
B. return 后面的值不能為表達(dá)式
C. 如果函數(shù)值類型與return 后的返回值類型不一致俭识,則以函數(shù)值類型為準(zhǔn)
D. 如果形參與實(shí)參的類型不一致慨削,則以實(shí)參類型為準(zhǔn)
分析:基本概念題,可查書(shū)或上機(jī)驗(yàn)證套媚。
10、閱讀下列程序段磁椒,其執(zhí)行結(jié)果為( )
#include
void fun(int a)
{
int x = 5;
x += a++;
printf(“%d,”, x);
}
void main()
{
int a = 3, x = 1;
fun(a);
x += a++;
printf(“%d\n”, x);
}
A. 8,2 B. 8,3 C. 8,4? D. 8,5
分析:考察大家對(duì)傳值調(diào)用和傳址調(diào)用的理解堤瘤。
11、閱讀下列程序段浆熔,其執(zhí)行結(jié)果為()
#include
void main()
{
int a = 4, b = 6, c = 7;
double d;
double fun(int, int, int);
printf(“d = %lf\n”, fun(a, b, c));
}
double fun(int a, int b, int c)
{
return a % b * c;
}
A. 27 B. 27.000000 C. 28 D. 28.000000?
分析:可上機(jī)驗(yàn)證本辐,留意一下函數(shù)聲明的方式,以及輸出語(yǔ)句中對(duì)函數(shù)返回值的處理。
12慎皱、下列說(shuō)法中不正確的是( )
A. C 語(yǔ)言規(guī)定老虫,不能在一個(gè)函數(shù)的內(nèi)部再定義函數(shù)
B. 在沒(méi)有聲明函數(shù)返回值類型的情況下,默認(rèn)函數(shù)返回值類型為int 型
C. 函數(shù)的類型可以是整型茫多、實(shí)型祈匙、字符型,但不能是指針類型
D. 函數(shù)可以沒(méi)有形參天揖,但函數(shù)名后的括號(hào)不能省略
分析:基本概念題夺欲。
13、一個(gè)變量的指針就是( )
A. 變量的名稱 B. 變量的地址 C. 變量的類型 D. 變量的值
分析:基本概念題今膊。
14. 兩個(gè)指針變量不能( )
A. 相加 B. 相減 C. 比較 D. 指向同一地址
分析:基本概念題些阅。查書(shū)或上機(jī)驗(yàn)證。
15. 在C 語(yǔ)言中斑唬,對(duì)變量的訪問(wèn)方式是()
A. 能直接訪問(wèn)市埋,也能間接訪問(wèn) B. 能直接訪問(wèn),不能間接訪問(wèn)
C. 不能直接訪問(wèn)恕刘,能間接訪問(wèn) D. 直接缤谎、間接均不能
分析:基本概念題。
16. C 語(yǔ)句: int (* pa)[5]; 中雪营,pa 表示的是一個(gè)( )
A. 指針數(shù)組的名稱
B. 指向整型變量的指針
C. 指向包含5 個(gè)整型元素的一維數(shù)組的指針
D. 指向函數(shù)的指針
分析:基本概念題弓千。
17. C 語(yǔ)句int * func(); 中,func 表示的是()
A. 返回值為指針的函數(shù)名稱
B. 指向整型變量的指針
C. 指向數(shù)組的指針
D. 指向函數(shù)的指針
分析:基本概念題献起。
18. 給定下列程序洋访,假定從鍵盤輸入數(shù)據(jù)1、2谴餐,則執(zhí)行結(jié)果為( )
#include
void swap(int * p1, int p2)
{
* p1 = * p1 + p2;
p2 = p2 + * p1;
}
void main()
{
int a, b, * p1;
scanf("%d, %d", &a, &b);
p1 = &a;
swap(p1, b);
printf("a = %d, b = %d\n", a, b);
}
A. 3,5 B. a = 3, b = 5 C. 3, 2 D. a = 3,b = 2
分析:考察傳值與傳址的區(qū)別姻政。
19. 給定下列程序,則運(yùn)行結(jié)果為( )
#include
void fun(int x, int y, int * z)
{
* z = x – y;
}
void main()
{
int a, b, c;
fun(11, 5, &a);
fun(8, a, &b);
fun(a, b, &c);
printf(“%d, %d, %d\n”, a, b, c);
}
A. 2,4,6 B. 2, 6, 4 C. 6, 2, 4? D. 6,4,2
分析:傳址與傳值岂嗓。
20. 給定下列程序汁展,則其運(yùn)行結(jié)果為()
#include
void main()
{
static int array[][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19 ,21, 23}};
int (* p)[4], i, j, sum[3];
p = array;
for(i = 0; i < 3; i++)
{
sum[i] = 0;
for(j = 0; j < 4; j++)
sum[i] += *(*(p + i) + j);
printf(“%d, ”, sum[i]);
}
}
A. 16, 48, 80 B. 164880 C. 144 D. 80
分析:考察用指針變量遍歷二維數(shù)組的方法。重點(diǎn)在理解厌殉,否則考試時(shí)不可能有機(jī)會(huì)上機(jī)驗(yàn)證食绿。