2013自考“高级语言程序设计”习题答案详解(49)
9.2 填充题
1.设有定义“# define F(N) 2*N”,则表达式 F(2+)的值是_____.
「解」F(N)被定义成2*N,表达式F(2+3)被替换成2*2+3,其值是7.
2.设有下列程序:
# include
main(int argc,int *argv[])
{ while( ――argc> 0) printf(“%s”,argv[argc]);
printf(“\n”);
}
假定上述程序编译连接成目标程序名为p.exe,如果输入如下的命令:
P 123 AAA BBB ↓(其中的↓表示回车)
则输出结果是_____.
「解」程序启动时,参数argc的值是4,由于循环条件是一即组>0,是先减1后判大于0,循环共进行三次,顺序输出argv[3],argv[2]和argv[1],即输出BBBAAAl23.
9.3 程序分析题
1.阅读下面程序,写出程序运行结果。
# 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格式输出参数的值和远号字符。程序给数组a 赋初值,并由指针p指向元素a[5].程序让j从3减至1,共循环三次。当j是3时,让p减1,并输出p所指元素的值9;当 j是2和1时,输出p所指的数组元素的值,并让p增1,顺序输出9和11.所以
程序输出:
9,9,11
2.设下面的程序经编译连接后生成的目标程序名为: 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”);
}
「解」程序首先输出参数argv的值3,然后循环三次,顺序输出ABC、FILE1和FILE2,并回车
最新资讯
- 备考资料:2024年自考《英语二》阅读判断模拟试题2024-04-05
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——简答题2024-03-23
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——论述题2024-03-21
- 2021年10月自考《思修》考前2天冲刺卷2021-10-14
- 2021年10月自考《马克思主义基本原理概论》考前2天冲刺卷!2021-10-14
- 2021年10月自考《中国近现代史纲要》模拟题(五)2021-08-01
- 2021年10月自考《中国近现代史纲要》模拟题(四)2021-07-31
- 2021年10月自考《中国近现代史纲要》模拟题(六)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(三)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(二)2021-07-29