1 试写出 数学式
y
x y x w ?+=
)
(l o g 8
的C 语言表达式 .
2
设有如下定义 int x = 6;
执行语句
x x x x *=-=+; 后 请写出 x 的值 .
3. 设有如下定义 int x = 5, y = 6;
请写出: 如下程序段执行后的输出结果 .
printf("==== %d ",(( ++x == y++ )||(x = 8))? --x : --y ) ; printf("### %d, %d\n", x, y); 4. 请写出: 如下程序段执行后的输出结果
int a; a = -1;
a = a | 0377; printf(“ %d %o \n ”, a, a );
5. 设有定义 char st[80], i, c;
今要求将字符串 “This is a string.” 完整记录于 st 中, 试问如下四种输入方法中,
哪些方法能达到这个要求.
A. gets( st );
B. scanf( “ %20s ”, st );
C. for( i=0; i<16; i++ ) st[i]=getchar(); st[i]=?\0?;
D. i=0; while( ( c = getchar() ) != …\n ? ) st[i++] = c; st[i]=?\0?; 6 请写出: 如下程序段执行后的输出结果
char *alpha[5] = { “ABCD”, “EFGH”, “IJKL”, “MNOP”, “QRST” };
char **p = alpha; int i = 0;
while ( i < 4 ) printf( “%c ”, *( *(p+i++)+1 ) );
7. 设有定义 int a[4] = {0,4,5,13}, *p; 请写出: 如下程序段执行后的输出结果 . p = &a[2];
printf("*--p %d\n", *--p);
printf("*p++ %d\n", *p++); printf("++(*p) %d\n", ++(*p)); printf("%d %d %d %d\n",a[0],a[1],a[2],a[3]); 8. 设有定义 struct date{
int day; char month; int year;
} dd, *pd = ⅆ