Untitled Document

一：选择题
1．以下符号中不能作为标识符的是：
a._256
b.void
c.scanf
d.Struct
2．下面不能正确表示a*b/(c*d)的表达式是：
a.(a*b)/c*d
b.a*b/(c*d)
c.a/c/d*b
d.a*b/c/d
3．下列运算符中，运算对象必须是整型的是：
a./
b.%=
c.=
d.&
4．若x,y,z均被定义为整数，则下列表达式终能正确表达代数式1/（x*y*z）的是：
a.1/x*y*z
b.1.0/(x*y*z)
c.1/(x*y*z)
d.1/x/y/(float)z
5．已知a,b均被定义为double型，则表达式：b=1,a=b+5/2的值为：
a.1
b.3
c.3.0
d.3.5
6．如有int a=11;则表达式（a++*1/3）的值是
a.0
b.3
c.4
d.12
7．在下列运算符中，优先级最低的是：
a.||
b.!=
c.<
d.+
8．表达式9!=10的值为：
a.非零值
b.true
c.0
d.1
9．能正确表示x>=3或者x<1的关系表达式是：
a.x>=3 or x<1
b.x>=3|x<1
c.x>=3||x<1
d.x> =3||x<1
10．下列运算符中优先级最高的是：
a.!
b.%
c.-=
d.&&

二：填空题
1．若a为double性的变量，表达式a=1,a+5,a++的值为 。
2．表达式7.5+1/2+45%10= 。
3．与! (x>2)等价的表达式是 。
4．表达式于语句的重要区别是 。
5．赋值运算符的结合性是由 至 。
6．x *= y+8等价于x= 。
7．给出下列程序的输出结果 。
#include <iostream.h>
void main()
{
int a=3,b=6;
int c=a^b<<2;
cout<<c<<endl;
}
8. 给出下列程序的输出结果 。
#include <iostream.h>
void main()
{
int x=5;
int y=2+(x+=x++,x+8,++x);
cout<<y<<endl;
}
9. 给出下列程序的输出结果 。
#include <iostream.h>
void main()
{
int a=7,b=4;
float x,y=27.2,z=3.4;
x=a/2+b*y/z+1/3;
cout<<x<<endl;
}
10. 给出下列程序的输出结果 。
#include <iostream.h>
void main()
{
int a=-1,b=4,k;
k=(a++<=0)&&!(b--<=0);
cout<<k<<a<<b<<endl;
}
三：编程及简答题
1．x=2, y=3, z= 4时，计算下面表达式的值A1、A2
A1 = x + y +2/2+z和 A2=x+(y+2)/(2-z)
2．述算术运算符的组成
3．下列运算符从高到底进行排序：‘+’、‘*’、‘&&’、 ‘&’、 ‘>’、 ‘>=’、 ‘*=’。
4．述下列运算符各能代表几种意义：‘-’、‘&’、‘*’。
5．下列运算符的结合性如何：‘+’、‘&’、‘=’、‘||’。
6．计算下列表达式的值：
i.1/2 + 5/2 + 7/6
ii.1/2. + 5/2. + 3.
iii.1/2 + 5./2 + 2
iv.(unsigned char) 500 + 200
v.(unsigned char) (500 + 200)
vi.(unsigned int)(unsingned char)750
7.编程实现：由键盘输入两个整数，然后输出最大者。
8．int a=5, b=0; 问下面表达式运算后a和b的值是多少？
(1) ! a && a+b && a++
(2) !a||a++||b++
9．有变量说明
int a=4,b;
指出下面表达式运算后a和b的结果？
b+=b=++a;
10. 编程实现：测试你机器的 int,float,double,long,char 各类型变量存储的字节数。