A、相互独立
B、完全重叠
C、部分重叠
D、随机存储
正确答案:B
17、若有以下程序: #include <stdio.h> int *fun(int *s,int *t) {if(*s<*t) s=t; return s; } int main(void) {int a=3,b=6,*p=&a,*q=&b,*r; r=fun(p,q); printf("%d,%d,%d\n",*p,*q,*r); return 0; } 则程序的输出结果是()。
A、3,3,6
B、3,6,6
C、6,3,3
D、6,6,3
正确答案:B
18、若有以下程序: #include <stdio.h> int fun(int x) { if(x>10) {printf("%d-",x%10); fun(x/10); } else printf("%d",x); return; } int main(void) { int z=123456; fun(z); return 0; } 则程序的输出结果是()。
A、1-2-3-4-5-6-
B、1-2-3-4-5-6
C、6-5-4-3-2-1-
D、6-5-4-3-2-1
正确答案:D
第十一章测试
1、以下叙述不正确的是()。
A、预处理命令行必须以#号开始
B、C程序在执行过程中对预处理命令行进行处理
C、在程序中凡是以#号开始的语句都是预处理命令行
D、以下宏定义是正确的:#define IBM_PC
正确答案:B
2、在宏定义#define PI 3.1415926 中,用宏名PI代替一个()。
A、常量
B、单精度数
C、双精度数
D、字符串
正确答案:D
3、以下叙述正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参数的宏时,参数的类型应与宏定义时一致
C、宏替换不占用运行时间,只占编译时间
D、宏名必须用大写字母表示
正确答案:C
4、以下在任何情况下计算平方数时,都不会引起二义性的宏定义是()。
A、#define POWER(x) x*x
B、#define POWER(x) (x)*(x)
C、#define POWER(x) (x*x)
D、#define POWER(x) ((x)*(x))
正确答案:D
5、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用” ”(双引号)括起时,寻找被包含文件的方式是()。
A、直接按系统设定的标准方式搜索目录
B、现在源程序所在目录搜索,再按系统设定的标准方式搜索
C、仅仅搜索源程序所在目录
D、仅仅搜索当前目录
正确答案:B
6、有以下程序: #define ADD(x) x+x #include "stdio.h" int main(void) { int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf("sum=%d",sum); return 0; } 该程序的运行结果是()。
A、sum=9
B、sum=10
C、sum=12
D、sum=18
正确答案:B
7、若有如下宏定义: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是()。 int a; a=Y; printf("%d ",Z); printf("%d ",- -a);