《程序设计基础(C)》习题指导书
A.用#include包含的头文件的后缀不可以是“.a”
B.若一些源程序中包含某个头文件;当该头文件有错时,只需对该头文件进行修改,包含此头文件所有源程序不必重新进行编译 C.宏命令可以看做是一行C语句
D.C编译中的预处理是在编译之前进行的。 5.以下有关宏替换的叙述不正确的是( )。
A.宏替换不占用运行时间 B.宏名无类型
C.宏替换只是字符替换 D.宏名必须用大写字母表示 6.程序中,头文件type1.h的内容如下:
#define N 5 #define M1 N*3
程序如下:
#include “type1.h” #define M2 N*2 main( ) {
int i; i=M1+M2;
printf(“%d\\n”,i); }
程序编译后运行的输出结果是( )。
A.10 B.20 C.25 D.30
7.下列预处理命令正确的是( )。
A.#include
A.预处理命令行必须位于源文件的开头 B.在源文件的一行上可以有多条预处理命令 C.宏名必须用大写字母表示 D.宏替换不占用程序的运行时间 9.下列关于宏定义命令的描述中,错误的是( )。
A.宏定义命令有两种:不带参数的宏定义命令和带参数的宏定义命令 B.宏定义命令在程序中出现的宏名在编译前被替换
C.带参数的宏定义命令中,参数表中必须指出参数的类型 D.宏替换在正常编译前进行的,实际上是占用编译时间 ㈢.判断题
1.计算某数平方值的宏可定义为:#define SQ(y) (y)*(y)。( )?
2.在程序开始处进行了宏定义#define PI 3.14,那么在后面的程序中仍可以用赋值语句“PI=3.1415926;”
来修改PI的值。( )?
3.include
1.用带参数的宏实现两个整数相除的余数,两个整数的值在主函数中从键盘输入。 2.编写带参数的宏,实现y=x2+3x-2,主函数中输入x,输出对应的y值。
? 应用篇
㈠.填空题
第 49 页 共 64 页
《程序设计基础(C)》习题指导书
1.已知:#define B(a,b) a+1/b,则表达式B(5,1+3)的值是__________。
2.有以下程序:
#define P 3 int F(int x) {
return (P*x*x); }
main( ) {
printf(“%d\\n”, F(3+5)); }
程序运行后的输出结果是________________。 3. 以下程序的输出结果是________________。
#define SQR(x) x*x main( ) {
int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(“%d\\n\}
4. 下面程序的输出结果是__________________。
#define SUB(x) (x)-(x) main( ) {
int a=4, b=6, c=7, d; d=SUB(a+b)*c;
printf(“d=%d\\n”, d); }
㈡.选择题
1.有以下程序:
#include
{ int a=3,b=4;
printf(“%d\\n”, F(a++, b++)); }
程序运行后的输出结果是( )。
A.12 B.15 C.16 D.20 2. 已知: #define A 4 #define B A+2 #define C B/2 main( )
{ printf(“%d\\n”,C+1); } 上述程序段的输出结果是( )。
第 50 页 共 64 页
相关推荐: