自考“高級語言程序設(shè)計”習(xí)題答案詳解(48)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  9.1 單項選擇題
  1.在下列代碼中,正確的C代碼是( )
 ?、? define MYNAME=“ABC”
 ?、? include string.h
 ?、?#32;for(i=0;i<10; i++);
 ?、?#32;struct int stu { int name };
  「解」①是關(guān)于宏定義的,在宏的定義形式中,宏名與字符列之間至少有一個空白符,并在宏名希望代表的字符序列之

④ struct int stu { int name };

「解」①是關(guān)于宏定義的,在宏的定義形式中,宏名與字符列之間至少有一個空白符,并在宏名希望代表的字符序列之間也不能有任何非空格類字符,若有也被當(dāng)作是字符序列的一部分。有了宏定義,以后程序中若要有宏名后的字符序列就可簡寫成宏名。選擇①在宏名之后緊接字符=.②是關(guān)于包含命令的,在上述包含命令的格式中,被包含文件應(yīng)放在一對尖括號之間,或一對雙引號之間,不可在文件名字符列的首末沒有這種符號。③是for語句,for語句的循環(huán)體可以用空語句,從語言的句法規(guī)則來說,該語句是正確的。但通常循環(huán)是為了完成某種重復(fù)計算操作,單一地讓一個變量循環(huán)增1到某個值,程序員是不會編寫這種代碼的。④是想定義結(jié)構(gòu)類型,定義結(jié)構(gòu)時,struct后接結(jié)構(gòu)類型名,不可在結(jié)構(gòu)名之前插入某些其它類型符。正確解答是③。

2.在下列代碼中,正確的C代碼是( )

①# define PI=3.14159

② include“stdio.h”

③ for(i=0,i 10, i++) a++;

④static struct { int i;} b ={2};

「解」①定定義時,宏名與被定義的字符列之間不可以插入等號等其它字符。選擇答案②是包含文件預(yù)處理,所有的預(yù)處理命令都應(yīng)由字符# 開始于新的一行。③在寫for語句時,其中的三個表達(dá)式必須用字符“;”分隔。④在定義結(jié)構(gòu)變量時,結(jié)構(gòu)的類型名可以省缺,并可為結(jié)構(gòu)變量賦初值。為結(jié)構(gòu)變量賦初值,必須順序給出各成分的初值,并將初值寫在一對花括號中。這里給出的結(jié)構(gòu)變量定義的代碼是正確的。正確解答是④。

3.在下列代碼中,錯誤的C代碼是( )

①# define PI 3.14159

②# include“stdio.h”;

③ if(2);

④ for(;;) if(1) break;

「解」①是正確的宏定義。②的文件包含預(yù)處理命令行不可以有多余的分號字符。③是if語句,雖沒有任何意義,但就句法來說是正確的。④是for語句,其成分語句是if語句,從for語句來說,是一個無窮循環(huán)的控制結(jié)構(gòu),但它的成分語句因條件成立,執(zhí)行break語句,立即退出循環(huán)。同樣雖也是一條沒有任何意義的語句,但從句法規(guī)則來說,也是正確的。正確解答是②。

4.設(shè)有以下定義,則執(zhí)行語句“z=2*(N+Y(5+1));”后,z的值為( )

# define N 3

# define Y(n)((N+l)*n)

①出錯 ②42 ③48 ④54

「解」在新的宏定義中,可以使用前面已定義的宏名。另外,宏調(diào)用是這樣被替換展開的,分別用宏調(diào)用中的實在參數(shù)字符序列替換定定義字符序列中對應(yīng)所有出現(xiàn)的形式參數(shù)。而宏定義字符序列中的不是形式參數(shù)的其他字符則保留。這樣形成的字符序列,即為宏調(diào)用的展開替換結(jié)果。所以代碼“z=2*(N+Y(5+1));”被替換成:

z=2*(3+((3+1)*5+1));

執(zhí)行該代碼,將使Z的值為48.解答為③。

5.以下程序中的for循環(huán)執(zhí)行的次數(shù)是( )

# include

# define N 2

# define M N+1

# define NUM(M+l)* M/2

main()

{ int i, n=0;

for( i= l; i =NUM;i++) { n++; printf(“%d”,n); }

printf(“\n”);

}

①5 ②6 ③8 ④9

「解」代碼NUM被替換成(2+1+1)*2+1/2,所以其值是8.所以程序中的臉循環(huán)執(zhí)行的次數(shù)是8次。正確解答是③。

相關(guān)閱讀

熱門標(biāo)簽

關(guān)于自考“高級語言程序設(shè)計”習(xí)題答案詳解(48)文章

2021年自學(xué)考試報考入口 2021年自學(xué)考試報考入口

熱門文章