一、单项选择题
1.以下说法中正确的是( D )。
A) #define和printf都是C语句
B) #define是C语句,而printf不是
C) printf是C语句,但#define不是
D) #define和printf都不是C语句
2.以下程序的输出结果是( C )。
#define f(x) x*x
main( )
{int a=6, b=2, c;
c=f(a)/f(
B);
printf("%d\n", c);
}
A) 9
B) 6
C) 36
D) 18
3.下列程序执行后的输出结果是( B )。
#define MA(x) x*(x-1)
main( )
{int a=1, b=2; printf("%d\n", MA(1+a+
B));}
A) 6
B) 8
C) 10
D) 12
4.以下程序的输出结果是( D )。
#define M(x, y, z) x*y+z
main( )
{int a=1, b=2, c=3;
printf("%d\n", M(a+b, b+c, c+a));
}
A) 19
B) 17
C) 15
D) 12
5.以下程序的输出结果是( B )。
#define SQR(X) X*X
main( )
{int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d\n", a);
}
A) 16
B) 2
C) 9
D) 1
6.有如下程序:
#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);
}《 M=3,NUM=6》
该程序中的for循环执行的次数是( B )。
A) 5
B) 6
C) 7
D) 8
7.以下程序的输出结果是( C )。
#include
#define MIN(x, y) (x)< (y)?(x):(y)
main( )
{int a, b, c;
a=20;b=10;
c=5*MIN(a, B);
printf(“%d\n”, c);
}
A) 20
B) 200
C) 10
D) 50
8.在下列叙述中,正确的是( C )。
A) 下面的程序有一个整型输出值:
main( )
{int a;
a=pp( );
printf(“%d”,a);
}
void pp( )
{ … }
B) 以下程序的运行结果为1,3,5,7
main( )
{static int a[4]={1,3,5,7};
printf(“%d,%d,%d,%d\n”,a);
}
C) 以下两个语句是等价的
for(;(c=getchar( ))!=‘\n’;printf(“%c\n”, c));
for(;(c=getchar( ))!=‘\n’;) printf(“%c\n”, c);
D) 以下程序中的PRINT()是一个函数
#define PRINT(V) printf(“V=%d\t”, V)
main( )
{int a,b;
a=1;
b=2;
PRINT(a);
PRINT(B);
}
9.在下列#include命令中,正确的一条是( D )。
A) #include[string.h]
B) #include{math.h}
C) #include(stdio.h)
D) #include
10.宏定义#define PI 3.1415926的作用是:指定用标识符PI来代替一个( B )。
A) 单精度数
B) 字符串
C) 双精度数
D) 整数
编辑推荐:
2013年9月计算机等级考试真题及答案解析专题北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |