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

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  9.2 填充題
  1.設(shè)有定義“# define F(N) 2*N”,則表達(dá)式 F(2+)的值是_____.
  「解」F(N)被定義成2*N,表達(dá)式F(2+3)被替換成2*2+3,其值是7.
  2.設(shè)有下列程序:
  # include
  main(int argc,int *argv[])
  { while( ——argc> 0) printf(“%s”,argv[argc]);
  pr

9.2 填充題

1.設(shè)有定義“# define F(N) 2*N”,則表達(dá)式 F(2+)的值是_____.

「解」F(N)被定義成2*N,表達(dá)式F(2+3)被替換成2*2+3,其值是7.

2.設(shè)有下列程序:

# include

main(int argc,int *argv[])

{ while( ——argc 0) printf(“%s”,argv[argc]);

printf(“\n”);

}

假定上述程序編譯連接成目標(biāo)程序名為p.exe,如果輸入如下的命令:

P 123 AAA BBB ↓(其中的↓表示回車)

則輸出結(jié)果是_____.

「解」程序啟動時,參數(shù)argc的值是4,由于循環(huán)條件是一即組 0,是先減1后判大于0,循環(huán)共進(jìn)行三次,順序輸出argv[3],argv[2]和argv[1],即輸出BBBAAAl23.

9.3 程序分析題

1.閱讀下面程序,寫出程序運(yùn)行結(jié)果。

# define PR(ar) printf(“%d,”, ar)

main()

{ int j,a[] ={1,3,5,7, 9,11,15}, * p= a+5;

for(j=3; j; j——)

switch(j) { case 1:

case 2: PR( * p++); break;

case 3: PR(*(——p));

}

printf(“\n”);

}

「解」程序的宏定義PR以d格式輸出參數(shù)的值和遠(yuǎn)號字符。程序給數(shù)組a 賦初值,并由指針p指向元素a[5].程序讓j從3減至1,共循環(huán)三次。當(dāng)j是3時,讓p減1,并輸出p所指元素的值9;當(dāng) j是2和1時,輸出p所指的數(shù)組元素的值,并讓p增1,順序輸出9和11.所以

程序輸出:

9,9,11

2.設(shè)下面的程序經(jīng)編譯連接后生成的目標(biāo)程序名為: ABC.EXE,寫出輸入以下命令行后的輸出:

ABC FILE1 FILE2 ↓(其中的↓表示回車)

# include

main( int argc, char *argv[])

{ int i;

printf(“%d \n”,argc);

for(i=O;i ARGC;I++) PRINTF(“%S”,ARGV[I]);

printf(“\n”);

}

「解」程序首先輸出參數(shù)argv的值3,然后循環(huán)三次,順序輸出ABC、FILE1和FILE2,并回車

相關(guān)閱讀

熱門標(biāo)簽

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

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

熱門文章