程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ 基礎學習筆記(2)---函數(測試題)

C++ 基礎學習筆記(2)---函數(測試題)

編輯:C++入門知識

一、選擇題

1、 以下函數調用語句中的實參個數為(   D )。

    excc((vl,v2),(v3,v4,v5),v6);

    (A)3    (B)4    (C)5    (D)6

 

2、 在C/C++程序中,(   A )。 (A)函數的定義可以嵌套,但函數的調用不可以嵌套

(B)函數的定義不可以嵌套,但函數的調用可以嵌套

(C)函數的定義和函數的調用均不可以嵌套

(D)函數的定義和函數的調用均可以嵌套

 

3、 若已定義的函數有返回值,則以下關於該函數調用的敘述中錯誤的是(   D )。

(A)函數調用可以作為獨立的語句存在 (B)函數調用可以作為一個函數的實參

(C)函數調用可以出現在表達式中      (D)函數調用可以作為一個函數的形參

 

4、 若有以下調用語句,則不正確的fun0函數的首部是( B   )。 void main( )

 { …

    int a[50],n;

    fun(n,&a[9]);

 }

(A) void fun(int m,int x[])   (B) void fun(int s, int h[41])

(C) void fun(int p,int *s)   (D) void fun(int n, int a)

 

5、 以下函數的功能是( C   )。

    fun(char *p2, char *pl)

    {

       while((*p2=*pl)!=’’)

         {p1++;p2++;}

    }

    (A)將pl所指字符串復制到p2所指內存空間

    (B)將pl所指字符串的地址賦給指針p2

    (C)對pl和p2兩個指針所指字符串進行比較

    (D)檢查pl和p2兩個指針所指字符串中是否有

 

二、讀程序分析程序的運行結果

6、 以下程序的輸出結果是( B    )。

      float fun(int x,int y)

        { return (x+y); }

      int main()

      {

          int a=2,b=5,c=8;

          printf("%3.0f " ,fun((int)fun(a+c,b),a-c));

      }

    (A)編譯出錯    (B)9    (C) 21    (D)9.0

 

7、 以下程序中函數sort的功能是對a數組中的數據進行由大到小的排序,程序運行後的輸出結果是(      C    )。

void sort(int a[],int n)

{

   int i,j,t;

   for(i=0;i<n-1;i++)

        for(j=i+1;j<n;j++)

          if(a[i]<a[j])

             {t=a[i];a[i]=a[j];a[j]=t;}

}

int main()

{

   int a[10]={1,2,3,4,5,6,7,8,9,10},i;

   sort(&a[3],5);

       for(i=0;i<10;i++)

         printf("%d,",a[i]);

      printf(" ");

}

(A)1,2,3,4,5,6,7,8,9,10 (B)10,9,8,7,6,5,4,3,2,1 (C)1,2,3,8,7,6,5,4,9,10 (D)8,7,6,5,4,3,2,1,9,10

 

四、讀程序回答問題

8、 以下程序段的輸出結果是(       4321    )。

int si(int *s1,int y)

{

    static int i1=3;

    y=s1[i1];

    i1--;

    return(y);

}

 

int main()

{

       int s[ ]={1,2,3,4},i,x=0;

       for(i=0;i<4;i++)

       {

              x=si(s,x);

              printf("%d",x);

       }

       printf(" ");

}

 

9、 下列程序的執行結果是(    5 10 17 32 15 38      )。

void fun(int *s, int n1, int n2)

{

   int i=n1,j=n2;

   while(i<j)

   {

          *(s+i)+=*(s+j); *(s+j)+=*(s+i);

          i++;j--;

   }

}

int main()

{

       int a[6]={1,2,3,4,5,6},i,*p=a;

    fun(p,0,3);

    fun(p,1,4);

    fun(p,3,5);

    for(i=0;i<6;i++)

    printf("%d ",*(a+i));

    printf(" ");

}

 

10、 已知函數isaplha(ch)的功能是判斷自變量ch是否是字母;若是,該函數返回數值1,否則返回0。下面程序的輸出是(      Itis )。

#include <ctype.h>

void fun4(char str[])

{

       int i,j;

    for(i=0,j=0;str[i];i++)

              if(isalpha(str[i]))str[j++]=str[i];

        str[j]=;

}

int main()

{

       char ss[80]="lt is!";

    fun4(ss);

    printf("%s ",ss);

}

 

11、 下面程序的輸出結果是( 12 )。

unsigned fun6(unsigned num)

{

       unsigned k=1;

       do {

              k*=num%10;

              num/=10;

       }while(num);

    return(k);

}

int main()

{

       unsigned n=26;

       printf("%d ",fun6(n));

}

 

12、下面程序的輸出結果是(      9   )。

 long fun5(int n)

 {

    long s;

    if((n==1)||(n==2))

              s=2;

    else

              s=n+fun5(n-1);

    return(s);

}

int main()

{

       long x;

    x=fun5(4);

    printf("%ld ",x);

}

 

 

13、下面的程序完成的功能是( 將一維數組按升序排列       )。

   #define SIZE 5

void func (int data [SIZE]);

int main()

{

       int i,buf[SIZE];

     printf("please input %d numbers: ", SIZE);

     for(i=0;i<SIZE;i++)

               scanf("%d",&buf[i]);

    func(buf);

    for(i=0;i<SIZE;i++)

         printf("%5d",buf[i]);

}

void func (int data [SIZE])

{

  &

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved