当前位置:编程学习 > C/C++ >>

C++ 基础学习笔记(2)---函数(测试题)

一、选择题

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])

{

  &

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,