首页>计算机等级考试>模拟试题>正文
最经典的C语言试题

www.zige365.com 2010-7-15 8:44:43 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

【答案】A

【考点解析】C语言中NULL表示空指针,指向内存地址为0的单元,内容为0。

 

第7章 编译预处理、结构体、共用体、位运算与文件操作

7.1编译预处理

一、选择题

【例1】(2000年4月)下列程序执行后的输出结果是( )。

#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

【答案】B

【考点解析】先进行宏展开在进行运。

MA(1+a+b)=(1+a+b)*((1+a+b)-1)=1+1+2*(1+1+2-1)=8

【例2】(2000年9月)有如下程序

#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

【答案】B

【命题目的】考查C语言宏定义。

【考点解析】程序先进行宏展开在进行运算,所以N的值是2,M的值是3,NUM=2*M+1= 2*N+1+1=2*2+1+1=6,所以进行了6次循环。

【例6】(2004年4月)有以下程序

#define f(x) x*x

main( )

{  int i;

    i=f(4+4)/f(2+2);

    printf("%d\n",i);

}

执行后输出结果是( )。

A.  28            B.  22           

C.  16            D.  4

【答案】A

【考点解析】先进行宏展开再进行运算,i=4+4*4+4/2+2*2+2=28。

7.2结构体、共用体

7.3位运算

一、选择题

【例1】(2000年4月)设int b=2;表达式(b<<2)/(b>>1)的值是( )。

 A. 0             B.  2            

C.  4             D.  8

【答案】D

【考点解析】b用二进制形式表示为0000 0010,左移两位,0000 1000,变为8,右移一位,0000 0001,变为1,所以选D。

【例2】(2001年9月)以下程序的输出结果是( )。

main()

{   int x=0.5; char z='a';

   printf("%d\n",(x&1)&&(z<'z'));

}

A.  0             B.  1            

C.  2             D.  3

【答案】A

【考点解析】x为整型,所以x的值为0,x&1=0&1=0,0&&(z<’z’)=0。

【例3】(2002年4月)以下程序的输出结果是( )。

main()

{   char x=040;

    printf("%o\n",x<<1);

}

A.  100           B.  80           

本新闻共24页,当前在第22页  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
最经典的C语言试题