安徽工業(yè)大學(xué)2003年真題2

字號(hào):

7.下段程序要能對(duì)兩個(gè)整型變量a、b的值進(jìn)行交換,正確的說法是 。
     main()
     { int a=50,b=100;
     swap(&a,&b);
     printf(“a=%d,b=%d\n”,a,b);
     }
     swap(int x,int y)
     { int t;
     t=x;x=y;y=t;}
     A)該程序完全正確
     B)該程序有錯(cuò),只要將語(yǔ)句swap(&a,&b);中的參數(shù)改為a,b即可
     C)該程序有錯(cuò),只要將swap()函數(shù)中的形參x和y以及變量t均定義為指針即可
     D)以上說法都不正確
    8.設(shè)a、b、c為整型變量,a=30,b=40,c=50,則下列表達(dá)式中值為0的是 。
     A) ?。ǎ╝ C)a<=b D)’a’ && ‘b’
    9.下列程序段的輸出結(jié)果是 。
     int a=3;
     do { printf(“%d\n”,a-=2);} while(?。?-a));
     A)3和0 B)死循環(huán),沒有輸出 C)1和-2 D)1
    10.C語(yǔ)言中以下說法正確的是 。
     A)實(shí)參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元
     B)形參是虛擬的,不占用存儲(chǔ)單元
     C)只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元
     D)實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元
    二、填空題(每小題各1.5分,共15分)
    1.下列程序每行輸出3個(gè)數(shù)據(jù),請(qǐng)?zhí)羁铡?BR>     #define N 50
     main()
     { int a[N],i;
     for(i=0;i for(i=0;i { if ( ) printf(“\n” );
    printf(“]”,a[i] );
     }
     }
    2.下面程序?qū)崿F(xiàn)在字符串a(chǎn)中下標(biāo)值為偶數(shù)的元素由小到大排序,其它元素不變,請(qǐng)?zhí)羁铡?BR>     #include
     main()
     { char a[]=“l(fā)abchmfye” ,t;
     int i,j;
     for(i=0;i<7;i+=2)
     for(j=i+2;j<9; )
     if( )
     {t=a[i];a[i]=a[j];a[j]=t;j++;}
     puts(a);
     }
    3.要使下列程序輸出5,請(qǐng)?zhí)羁铡?BR>     #include
     fun(char *s)
     { char *t=s;
     while( ) t++;
     return(t-s);
     }
     main()
     { char *a=“china” ;
     printf(“%d” , fun(a)):
     }