• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 12,  comments - 21,  trackbacks - 0

             

            C/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)!=’\0’)

                     {p1++;p2++;}

                }

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

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

                (C)plp2兩個指針所指字符串進行比較

                (D)檢查plp2兩個指針所指字符串中是否有'\0'

             

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

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

                  float fun(int x,int y)

                    { return (x+y); }

                  int main()

                  {

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

                      printf("%3.0f\n" ,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("\n");

            }

            (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("\n");

            }

             

            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("\n");

            }

             

            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]='\0';

            }

            int main()

            {

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

                fun4(ss);

                printf("%s\n",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\n",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\n",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])

            {

                   int i,j,d;

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

                          for(j=0;j<SIZE-i-1;j++)

                                 if(data[j]>data[j+1])

                                 {

                                        d=data[j];

                                        data[j]=data[j+1];

                                        data[j+1]=d;

                                 }

            }

             

            14 以下程序的輸出結果是( i=5     )。

            int s(char *s)

            {

                   char *p=s;

                while(*p) p++;

                return(p-s);

            }

            int main()

            {

                char *a="abded";

                int i;

                i=s(a);

                printf("i=%d",i);

            }

             

            15、 下列程序的輸出結果是( 7 1  )

            void ast(int x,int y,int *cp, int *dp)

            {

                *cp=x+y;

                *dp=x-y;

            }

            int main()

            {

                int a,b,c,d;

                a=4;b=3;

                ast(a,b,&c,&d);

                printf("%d %d\n",c,d);

            }

             

            16 下面程序的輸出結果是(   7  )

            int fun(int x)

            {

                int p;

                if(x==0||x==1) return(3);

                p=x-fun(x-2);

                return p;

            }

            int main()

            {

                   printf("%d\n",fun(9));

            }

             

             

            五、程序填空題

            17、 下列程序統計有不及格小于60成績的人數并輸出有不及格成績的學生的各門成績。學生人數SIZE,每人記錄4門考試成績。指針型函數search()的形參為指向含有4個元素的一維數組的指針。函數檢查某學生成績,若有不及格,返回指向該生第一門成績的指針,否則指向下一學生第一門成績的指針。請填空,完善程序。

            #define SIZE 40

             int * search(int (*pr)[4])

             {

                 int i, *pc;

                    pc=   *(pr+1)    ;    

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

                 if(   *(*pr+1)  <60)

                  { pc=*pr;break; }

                 return(pc);

             }

            int main()

             {

                int i,j,m=0,*p,score[SIZE][4];

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

                {

                          printf("\ni=%d:",i);

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

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

                   }

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

                   {

                    p=search(score+i);

                          if(    p==*(score+i)     ) 

               {

                                 m++;

                        printf("No.%d score:", i);

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

                            printf("%4d", *(p+j)   ); 

                   printf("\n");

                          }

               }

               printf("m=%d",m);

            }

             

            18、 下面程序能將Hello!反向打印出來,請填空。

            void print_hello (char *string)

            {

               char *str= string  ;       

               if (*str==    NULL ) return;  

               while(*str) str++;

                   --str ;               

               printf("%C",*str);   

                  *str=   NULL;         

             print_hello ( string );        

            }

            int main()

            {

             char str[]="Hello!";

            print_hello(str);

            }

             

            19、 下面程序的功能是比較兩個字符串是否相等,若相等則返回1,否則返回0請填空。

            int comp(char s[],char t[])

            {

                int i=0;

                   while(   *(s+i)==*(t+i)  && *(s+i)!=’\0’  

                    i++;

                return((*(s+i)==’\0’&&*(s+i)==’\0’)?1:0   );

            }

            int main()

            {

                   char sl[20],s2[20];

                int i;

                printf("\n Please input stringl string2:");

                scanf("%s%s", sl,s2);

                i=comp(sl,s2);

                printf("%d",i);

            }

             

            20、 下面程序通過函數average0計算數組中各元素的平均值,請填空。

            float average (int *pa, int n)

            {

                   int i;

                   float avg=0.0;

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

                          avg=avg+ *(pa+i)   ;        

                   avg=   avg/n    ;             

                   return avg;

            }

            int main()

            {

                   int a[5]={2,4,6,8,10};

                   float mean;

                   mean=average (a,5);

                printf("mean=%f\n",mean);

            }

             

            21、 以下程序實現將3個數中的大數輸出在前,小數輸出在后。

            void swap(int *p1, int *p2)

            {

                   int *t;

                      t=(int*)malloc(sizeof(int))               

                   *t=*p1;*p1=*p2;*p2=*t;

            }

             

            void chang (int *ql, int *q2, int *q3)

            {

                          if (*ql>*q2)swap(ql,q2);

                    if (*ql>*q3)swap(ql,q3);

                    if (*q2>*q3)swap(q2,q3);

            }

            int main()

            {

                   int a=6, b=4, c=2;

                chang (     &a,&b,&c    );        

                   printf("%d,%d,%d\n",a,b,c);

            }

            posted on 2011-05-31 21:55 DoubleW 閱讀(1905) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: C++ 基礎學習筆記(2)---函數(測試題)
            2011-06-01 09:24 | lc7cl
            2、 在C/C++程序中,( A )。 (A)函數的定義可以嵌套,但函數的調用不可以嵌套

            可以嗎???  回復  更多評論
              
            # re: C++ 基礎學習筆記(2)---函數(測試題)
            2011-06-01 10:33 | DoubleW
            函數的調用可以嵌套,即自調用函數,我們稱為遞歸函數.如:
            long fact(int n)
            {
            if(n==1)
            return 1;

            return fact(n-1)*n; //函數的自調用
            }
            上面的程序可以求出n!  回復  更多評論
              
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(3)

            隨筆檔案(12)

            文章檔案(2)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 28951
            • 排名 - 662

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            99久久精品无码一区二区毛片| 国产精品内射久久久久欢欢| 久久久精品人妻无码专区不卡| 国内精品久久久久影院一蜜桃| 久久精品中文騷妇女内射| 久久大香香蕉国产| 精品伊人久久大线蕉色首页| 久久av无码专区亚洲av桃花岛| 亚洲欧美一区二区三区久久| 久久99精品久久久久久hb无码| 精品国产日韩久久亚洲| 国产亚洲色婷婷久久99精品| 久久精品成人欧美大片| 亚洲国产精品无码久久SM| 青青青国产成人久久111网站| 久久久久亚洲av毛片大| 色8久久人人97超碰香蕉987| 国产高清美女一级a毛片久久w | 成人亚洲欧美久久久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国内精品久久久久久99蜜桃| 99999久久久久久亚洲| 久久久久久A亚洲欧洲AV冫 | 日韩一区二区久久久久久| 国产亚洲成人久久| 亚洲国产欧洲综合997久久| 亚洲欧美成人综合久久久| 久久久久亚洲av无码专区| 国产成人久久精品二区三区| 人妻无码久久精品| 亚洲狠狠综合久久| 性做久久久久久久久久久| 人妻无码久久一区二区三区免费 | 久久久噜噜噜www成人网| 国产高潮国产高潮久久久91 | 久久久久女人精品毛片| 成人国内精品久久久久影院VR| 中文成人无码精品久久久不卡| 久久99精品国产麻豆蜜芽| 一级做a爰片久久毛片看看| 久久精品一区二区国产|