当前位置:首页 >课程 >C语言编程新思路

1、以下叙述不正确的是( )。

A、预处理命令行必须以#号开始
B、C程序在执行过程中对预处理命令行进行处理
C、在程序中凡是以#号开始的语句都是预处理命令行
D、以下宏定义是正确的:#define IBM_PC

参考答案:请扫码使用小程序查看答案

2、在宏定义#define PI 3.1415926 中,用宏名PI代替一个( )。

A、常量
B、单精度数
C、双精度数
D、字符串

参考答案:请扫码使用小程序查看答案

3、以下叙述正确的是( )。

A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参数的宏时,参数的类型应与宏定义时一致
C、宏替换不占用运行时间,只占编译时间
D、宏名必须用大写字母表示

参考答案:请扫码使用小程序查看答案

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))

参考答案:请扫码使用小程序查看答案

5、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用” ”(双引号)括起时,寻找被包含文件的方式是( )。

A、直接按系统设定的标准方式搜索目录
B、现在源程序所在目录搜索,再按系统设定的标准方式搜索
C、仅仅搜索源程序所在目录
D、仅仅搜索当前目录

参考答案:请扫码使用小程序查看答案

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

参考答案:请扫码使用小程序查看答案

7、若有如下宏定义: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是( )。 int a; a=Y; printf("%d ",Z); printf("%d ",- -a);

A、7 6
B、12 6
C、12 5
D、7 5

参考答案:请扫码使用小程序查看答案

8、以下程序的运行结果是( )。 #define MAX(A,B) (A)>(B)?(A): (B) #define PRINT(Y) printf(“Y=%d ”,Y) #include “stdio.h” int main(void) { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d) PRINT(t); return 0; }

A、Y=3
B、Y=7
C、Y=0
D、存在语法错误

参考答案:请扫码使用小程序查看答案

9、以下程序的输出结果是( )。 #include #define MUL(x,y) (x)*y #include “stdio.h” int main(void) { int a=3,b=4,c; c=MUL(a++,b++); printf("%d",c); return 0; }

A、12
B、15
C、20
D、16

参考答案:请扫码使用小程序查看答案

10、用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是( )。

A、#define f(x) 4*x*x+3*x+2
B、#define f 4*x*x+3*x+2
C、#define f(a) (4*(a)*(a)+3*(a)+2)
D、#define (4*a*a+3*a+2) f(a)

参考答案:请扫码使用小程序查看答案