C语言预处理指令试题.doc
文本预览下载声明
下面程序的运行结果是( )#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);}A?sum=9B?sum=10C?sum=12D?sum=18参考答案B下面程序的运行结果是( )#define MIN(x,y) (x)(y)?(x):(y)main(){int i=10,j=15,k;k=10*MIN(i,j);printf(“%d”,k);}A?15B?10C?100D?150参考答案A在宏定义#define PI 3.14159中,用宏名代替一个A?常量B?单精度数C?双精度数D?字符串参考答案D在宏定义#define PI 3.14159中,用宏名代替一个A?常量B?单精度数C?双精度数D?字符串参考答案D下面有关宏替换的叙述不正确的是A?宏替换不占用运行时间B?宏名无类型C?宏替换只是字符替换D?宏名必须用大写字母表示参考答案DC语言的编译系统对宏命令的处理是A?在程序运行时进行的B?和C程序中的其他语句同时进行编译的C?在程序连接时进行的D?在对源程序中其它成分正式编译之前进行的参考答案D下面程序的运行结果是( )#define PT 5.5#define S(x) PT*x*xmain(){ int a=1,b=2;printf(“%4.1f”,S(a+b));}A?12.0B?9.5C?12.5D?33.5参考答案B下面程序的运行结果是( )#define LETTER 0main(){ char str[20]=”C Language”,c;int i=0;while((c=str[i])!=’\0’){ i++;if(!LETTER)if(c=’a’c=’z’) c—=32;else c+=32;printf(“%c”,c);}}A?C Language B?c language C?c@lANGUAGED?c Language参考答案C以下定义中错误的是A?#define _abc 30B?#define pi 3.1415C?#define num 1000;D?#define name clinton参考答案C英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为A?50B?66C?52D?68参考答案D以下叙述正确的是A?可以把define和if定义为用户标识符B?可以把define定义为用户标识符,但不能把if定义为用户标识符C?可以把if定义为用户标识符,但不能把define定义为用户标识符D?define和if都不能定义为用户标识符参考答案B
以下叙述中正确的是 A?预处理命令行必须位于C源程序的起始位置 B?在C语言中,预处理命令行都以“#”开头 C?每个C程序必须在开头包括预处理命令行:#include D?C语言的预处理不能实现宏定义和条件编译的功能 参考答案B有以下程序#define P 3#define F(int x) { return (P*x*x);}main(){printf(%d ,F(3+5));}程序运行后的输出结果是 ( )。A?192B?29C?25D?编译出错参考答案D有以下程序 # define f(x) (x*x) main() { int i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf(%d, %d\n,i1,i2); } 程序运行后的输出结果是( )。 A?64, 28B?4, 4C?4, 3 D?64, 64参考答案C有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2); printf(“%d\n”,i); } 执行后输出结果是( )。 A?28 B?22 C?16D?4参考答案A有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 #main() { int i; for(i=1;i=NUM;i++)printf(“%d\n”,i); } 该程序中的for循环执行的次数是( )。 A) 5 B) 6 C) 7 D) 8 A?5B?6C?7D?8参考答案B下列程序执行
显示全部