11计算机二级考试C语言选择题

#define F(m,n) m*n main( )

{ int x=5,y=3,a1,a2; a1=F(x+y,x-y); a2=F(x-y,x+y);

printf(\ A.16,16 B.16,-16 C.-7,17 D.17,-7 51402以下叙述正确的是( C )。 A.编译预处理命令行必须以分号结束

B.程序中使用带参数的宏时,参数类型要与宏定义时一致 C.宏展开不占用运行时间,只占用编译时间 D.宏名只能包含大写字母和数字字符 51403以下叙述正确的是( B )。

A.一个源程序只能有一个编译预处理命令行 B.编译预处理命令行都必须以\开头

C.\定义了与30等价的符号常量PRICE D.使用带参数的宏定义时,应该说明每个参数的数据类型 51404以下叙述错误的是( D )。 A.编译预处理命令行都必须以#号开始 B.宏名可以用小写字母表示

C.使用预处理命令\文件名>\时,编译系统只在指定的系统目录下查找该文件 D.宏定义只能放在main()函数之前

51405若有定义:#define N 3+2,则表达式N*2的值为( B )。 A.5 B.7 C.10 D.0

51406 以下程序运行后输出结果是( B )。 #define MIN(m,n) m

main(){ int a=3,b=5,c; c=2*MIN(a,b); printf(\ A.3 B.5 C.6 D.10

51407下列#include命令中,正确的是( A )。

A.#include \51408下面程序的输出结果是( C )。 #include #define MON 1 #define TUE 2*MON #define WED 3*TUE

void main() {printf(\} A.2 B.3 C.4 D.5

51409下面错误的叙述是( A )。

A.预处理命令行必须位于C源程序的起始位置 B.在C语言中,预处理命令行都以\开头

C.C程序在开头可以不包含预处理命令行:#include D.C语言的预处理可以实现宏定义和条件编译的功能 51410以下程序的运行结果是( B )。 #define MUL(r) r*r

17

main() {int a=2,b=3,c; c=MUL(a+b)*2; printf(\ A.10 B.14 C.36 D.50

51411下面程序的运行结果是( C )。 #define N 10 #define K(x) x*x #define T(x) (x*x) main( ) {int a,b;

a=9%K(N); b=9%T(N);

printf(\ } A.9,9 B.9,90 C.90,9 D.90,90

51412以下在任何情况下计算平方数时都不会引起二义性的宏定义是( D )。 A.#define XPF(x) x*x B.#define XPF(x) (x)*(x) C.#define XPF(x) (x*x) D.#define XPF(x) ((x)*(x)) 51500下程序的运行结果是( A )。 void ast (int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y;} main()

{ int a=4,b=3,c,d; ast(a,b,&c,&d); printf(\

A.7,1 B.1,7 C.7,-1 D.c、d未赋值,编译出错 51501 有以下语句:

int a[5]={0,1,2,3,4,5},i

>>闂傚倸鍊峰ù鍥敋瑜忛幑銏ゅ箳濡も偓绾惧鏌i幇顖f⒖婵炲樊浜滈崘鈧銈嗗姧缂嶅棗岣块悢鍏尖拺缁绢厼鎳忚ぐ褏绱掗悩鍐茬仼缂侇喖鐗撳畷鎺楁倷鐎电ǹ甯惧┑鐘垫暩婵鎹㈠Ο渚€舵い鏇楀亾闁哄矉绲鹃幆鏃堫敍濞戞﹩浼�<<
12@gma联系客服:779662525#qq.com(#替换为@)