3. 下列程序段運行後的輸出結果是 【 】 。
char ch[ ]="abc",x[3][4]; int i;
for(i=0;i<3;i+ +) strcpy(x[i],ch);
for(i=0;i<3;i+ +) printf("%s",&x[i][i]);
printf("\n");
答案:abcbcc
4. 下列程序段運行後的輸出結果 【 】 。
int a=1,b=2,c=3;
if(c=a) printf("%d\n",c);
else printf("%d\n"b);
答案:1
5. 下列程序段運行後的輸出結果是 【 】 。
char c; int n=100;
float f=10; double x;
x=f* =n/ =(c=50);
printf("%d %f\n",n,x);
答案:2 20.000000
6. 已知字母A 的ASCII 碼為65,下列程序段運行後的輸出結果是 【 】 。
main( )
{ char a,b;
a='A'+'5'-'3'; b=a+'6'-'2';
printf("%d %c\n",a,b);
}
答案:67 G
7. 下列程序段的輸出結果是 【 】 。
main( )
{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i+ +) s+ =a[i][i]+a[i][3-i-1];
printf("%d\n",s);
}
答案:30
8.寫出下面程序段的輸出結果【 】
m=0;
for(a=1;a<=3;a++)
for(b=1;b<=3;b++)
if(b%3!=0)break;
else m++;
printf(“%d”,m);.
答案:0
9. 下面程序段的輸出結果【 】
m=1;
switch (m)
{ case 1: m++;
case 2: m- -;
case 3: m++;}
printf(“%d”,m);
答案:2
10.寫出下面程序的輸出結果【 】
int n=2;
if (n++%3)printf(“*”);
else printf(“ # ”);
答案:#
11.寫出下面程序段的運行結果【 】
int *p,x;
x=90;
p=&x;
printf(“%d”,*p);
答案:90
12.下面程序段的運行結果是:【 】
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p,k;
p=a;
for(k=0;k<=9;k++)printf(“%2d”,*(p+9-k));
答案:10 9 8 7 6 5 4 3 2 1
13.char p[][20]={“get”,”put”,”out”};表達式strlen(p[0])+strlen(p[1])+ strlen(p[2])的值是 【 】
答案:9
14.int m[5]={1,2,3,4,5},*p;表達式(p=m+3)-m的值是 【 】
答案:3
15.char str[100]=”program”; 表達式strlen(str+1)的值是 【 】
答案:6
3.printf("%s",&x[i][i]);從x[i][i]開始輸出
4.if(c=a) 為賦值
5.n=n/50>>n=2;>>x=2
6.a=65+5-3=67:輸出為int整型,則為67;b類似
7.s=a[0][0]+a[0][2]+a[1][1]+a[1][1]+a[2][2]+a[2][0]=1+9+4+4+7+5=30
8.
if(b%3!=0)break;
else m++;這裡if,else不是關聯的。也就是說for循環中不能給m賦值
9.switch (m)m初始值為1,則執行switch語句,因為沒有break,所以逐條執行,m++,m--,m++
等同於m++,即m=2
10.先執行n++,n=3。n%3==0
11,簡單的指針
12,簡單的指針,