讽刺人忘恩负义的句子:c语言问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 03:49:44
1、以下正确的描述为【 】。
(A) 每个C语言程序必须在开头用预处理命令:#include<stdio.h>
(B) 预处理命令必须位于C源程序的首部
(C) 在C语言中,预处理命令都以"#"开头
(D) C语言的预处理命令只能实现宏定义和条件编译的功能
2、C语言的编译系统对宏命令是【 】。
(A) 在程序运行时进行替换处理的
(B) 在程序连接时进行处理的
(C) 和源程序中其他C语句同时进行编译的
(D) 在对源程序中其他成份正式编译之前进行处理的
3、以下叙述中不正确的是【 】。
(A) 预处理命令都必须以"#"开头
(B) 在程序中凡是以"#"开头的命令都是预处理命令行
(C) C程序在执行过程中对预处理命令行进行处理
(D) #define IBM_PC是正确的宏定义
4、以下叙述中正确的是【 】。
(A) 在程序的一行上可以出现多个有效的预处理命令行
(B) 使用带参数的宏时,参数的类型应与宏定义时的一致
(C) 宏替换不占用运行时间,只占编译时间
(D) 在以下定义中,C R是称为"宏名"的标识符
#define C R 045
5、若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出结果是【 】。
int a; a=Y;
printf("%d\n",Z);
printf("%d",--a);
(A) 7 (B) 12
5 $
(C) 12 (D) 7
6 6
6、若有以下宏定义:
#define N 2
#define Y(n) ((N+1)*n)
则执行语句z=2*(N+Y(5));后的结果为【 】。
(A) 语句有错误
(B) z=34
(C) z=70
(D) z无定值
7、若有宏定义#define MOD(x,y) x%y,则执行以下语句后的输出为【 】。
int z,a=15,b=100;
z=MOD(b,a);
printf("%d",z++);
(A) 11
(B) 10
(C) 6
(D) 宏定义不合法

8、若a,b,c,d,t均为int型变量,则执行以下程序段后的结果为【 】。
#define MAX(A,B) (A)>(B)?(A):(B)
#define Print(Y) printf("Y=%d",Y)
main()
{
int a=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
Print(t);
}
(A) Y=3
(B) 存在语法错误
(C) Y=7
(D) Y=0

9、阅读以下程序:
#define ADD(x) x+x
main()
{
int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf("sum=%d",sum);
}
上面程序的运行结果是【 】。
(A) sum=9
(B) sum=10
(C) sum=12
(D) sum=18

10、在宏定义#define PI 3.14159中,用宏名PI代替一个【 】。
(A) 常量
(B) 单精度数
(C) 双精度数
(D) 字符串

ADBCADCBAC