2.2 填空题
(191) &运算符作为单目运算符时表示的是____运算;作为双目运算符时表示的是_____运算。
(192) 请计算sizeof的值:
char str[] = "Hello" ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) = ____
sizeof ( p ) = _____
sizeof ( n ) = ______
(193) 请计算sizeof的值:
void Func ( char str[100])
{
// 请计算
sizeof( str ) = _____
}
(194) 请计算sizeof的值:
void *p = malloc( 100 );
// 请计算
sizeof ( p ) = ______
(195) 下列程序段的输出是_______。
#define f(a, b, x) a*x+b
printf("%d, %d/n", f(3,2,1), f(6, 5, f(3, 2, 1)));
(196) 下列程序段的输出是_____。
main()
{
int k;
for(k=1; k<5; k++)
{
if(k % 2) printf("*");
else continue;
printf("#");
}
}
(197) 下列程序段的输出是_____。
int *p, *q, k=5, j=6;
q=&k;
p=q;
q=&j;
printf("%d", *p);
(198) 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是____。
(199) 下面程序的输出是_________。
Void main(void)
{
int a = 2;
printf("%d %d %d/n", a, ++a, a--);
}
(200) 有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&k 的值为______。
(201) 设y是int型变量,请写出判断y为非法的关系表达______。
(202) 若已定义:int a[10], i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。
fun(int a[ ])
{
int i;
for(i=1; i<=10; i++)
_____ = i;
for(i=0; i<5; i++)
______ = a[i];
}
(203) 设ch是字符型变量,判断ch为英文字母的表达式是______。
(204) 下列程序段的输出结果是______。
printf("%xn", (0x19 <<1) & 0x17);
(205) 表示x≥y≥z的C表达式是_______。
(206) 下列程序段的输出是______。
printf("%on", 010<<1^1);
(207) 下列程序段的输出是______。
int k;
float s;
for (k=0, s=0; k<7; k++)
{
s += k/2;
}
printf("%d, %fn", k, s);
(208) 设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____________。