完成下列练习?/p>
(1)
下列哪些?/p>
C
语言中的错误表达?/p>
_
?/p>
①⑤⑥⑦
?/p>
++a+++b
?/p>
?/p>
ABC
?nbsp;?/p>
abc
?/p>
?/p>
-a++
?/p>
-++a
?/p>
++-a
?/p>
int(x)
?/p>
x>y=2
(2)
已知变量声明
:int w;
long x,
float y;
double z;
,则以下语句在执行时?/p>
只有
能将键盘输入的值正确地送入?/p>
w
?/p>
x
?/p>
y
?/p>
z
各变量中?/p>
A. scanf(?d%d%d%d?&w, &x,&y,&z);
B. scanf(?d%d%f%f?&w,&x,&y,&z );
C.
scanf(?d%ld%f%lf?&w,&x,&y,&z);
D. scanf(?d%ld%f%lf?w,x, y,z);
(3)
以下程序段执行后,将输出
?/p>
no
unsigned char x,a,b;
x=0;
a=x-1;b=x;
if(a<b)printf(
?/p>
ok
?/p>
);
else printf(
?/p>
no
?/p>
);
(4)
若有声明
“float f=123.45678;?/p>
,则执行语句
“printf( "%.3f",f );?/p>
后,输出结果?/p>
?/p>
?/p>
.
1.23e+02
?/p>
.
123.457
?/p>
.
123.456780
?/p>
.
1.234e+02
(5)
若有声明“long a,b;”且变量
a
?/p>
b
都需要通过键盘输入获得初值,则下列语句中正确
的是
?/p>
23
?/p>
?/p>
A. scanf ( "%ld%ld,&a,&b" ) ;
B. scanf ( "%d%d" , a , b ) ;
C. scanf ( "%d%d" , &a , &b) ;
D.
scanf ( "%ld%ld" , &a , &b );
(6)
若有声明
?nbsp;int a=5 , b=2 ; ?nbsp;,则表达?/p>
: b+=(float)(a+b)/2
运算?/p>
b
的值为
?/p>
5
(7)
设有声明
?nbsp; int a=3, b=4; float x=4.5, y=3.5;
”,则表达式
:
(float)(a+b)/2+(int)x%(int)y ?nbsp; 的值是
?/p>
4.5
(8)
已知某程序中有以下片断:
#define p 2.5
main( )
{
float x;
x=p;
…?
}
?/p>
main
函数中标识符
p
代表一?/p>
?/p>
A
?/p>
float
型变?/p>
B
?/p>
double
型变?/p>