1.选择题
(1)以下叙述中不正确的是()。
A.预处理命令行都必须以“#”号开始
B.在程序中凡是以“#”号开始的语句行都是预处理命令行
C.程序在执行过程中对预处理命令行进行处理
D.#define IBM-PC是正确的宏定义
(2)下面关于宏定义的叙述中,不正确的是()。
A.宏替换不占用运行时间 B.宏名没有类型
(3)设C程序中有宏定义“define fun(x,y)2*x+1/y”,则按fun((2+1),1+4)调用该宏后,得到的值为()。
A.10 B.11 C.5.2 D.6.2
(4)以下程序的运行结果是()。
A.sum=9 B.sum=10 C.sum=12 D.sum=18
(5)以下程序的运行结果是()。(www.xing528.com)
A.10 B.15 C.100 D.150
(6)在“文件包含”预处理语句的使用形式中,当#include后面的文件名用双引号括起时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
(7)下面程序执行的结果是()。
A.a=14,b=15,c=0 B.a=14,c=0
C.b=15,c=0 D.c=0
2.编程题
(1)定义一个含有3个参数的带参数宏定义,利用该宏定义实现已知三边长求三角形面积的功能。
(2)定义一个能够判定字符c是否是英语字母的宏“isALPHA(c)”,并利用该宏定义统计一个字符串中英文字母的个数。
(3)用条件编译方法实现输入一行文字信息,任选两种输出方式,一是按原文输出,二是将小写字母加密后输出,加密方法是将信息中的小写字母变成它的后一个字母,用#define命令控制是否加密,例如,#define CHANGE 1输出加密后的信息,否则按原文输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。