《C 语言程序设计》模拟试卷三
一、填空题。(每空 2 分,共 16 分)
1.在内存中,短整型变量占 字节,单精度实型变量占 字节,字符型变量占 字节。
2.一个 C 语言文件是由若干个 组成。
3.设有以下变量定义,并已赋确定的值
char w; int x; float y; double z;
则表达式 :w*x+z-y 所求得的数据类型为 。
4 .若 x 为 int 类型,请以最简单的形式写出与逻辑表达式 !x 等价的 C 语言关系表达式 。
5.若有如下图所示五个连续的 int 类型的存储单元并赋值如下图 ,a[0] 的地址小于 a[4] 的地址。 p 和 s 是基类
型为 int 的指针变量。请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]
22 33 44 55 66
(1 )若 p 已指向存储单元 a[1] 。通过指针 p,给 s 赋值 ,使 s 指向最后一个存储单元 a[4] 的语句是 。
(2 )若指针 s 指向存储单元 a[2],p 指向存储单元 a[0], 表达式 s-p 的值是 。
二、单项选择题。(每题 2 分,共 40 分)
1.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。
A) 3 B) 4 C) 11 D) 12
2.下列程序的输出结果是( )。
A) 3 B) 3.2 C) 0 D) 3.07
main()
{double d=3.2; int x,y;
x=1.2; y=(x+3.8)/5.0;
printf( “%dn”, d*y);
}
3.下列程序执行后的输出结果是 (小数点后只写一位 ) ( )。
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ double d; float f; long l; int i;
i=f=l=d=20/3;
printf("%d %ld %f %f \n", i,l,f,d);
scanf("%d",&d);
}
4 .下列变量定义中合法的是( )。
A) short _a=1-.le-1; B) double b=1+5e2.5;
C) long do=0xfdaL; D) float 2_and=1-e-3;
5.设 int x=1, y=1; 表达式 (!x||y--) 的值是( )。
A) 0 B) 1 C) 2 D) -1
6.与 y=(x>0?1:x<0?-1:0); 的功能相同的 if 语句是( )。
A) if (x>0) y=1; B) if(x)
else if(x<0)y=-1; if(x>0)y=1;
else y=0; else if(x<0)y=-1;
else y=0;
C) y=-1 D) y