【c语言基础题】— —第七版,可当作日常练习和期末复习,有奇效哟!

个人专栏:

算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

Java基础:Java基础_IT闫的博客-CSDN博客

c语言:c语言_IT闫的博客-CSDN博客

MySQL:数据结构_IT闫的博客-CSDN博客

数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

C++:C++_IT闫的博客-CSDN博客

C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

问题:

一. 单选题(共30题,100分)

1. (单选题)【选择题】若有以下程序

2. (单选题)【选择题】有以下函数:

3. (单选题)【选择题】有以下程序:

4. (单选题)【选择题】有以下程序:#include

5. (单选题)【选择题】C语言程序中, 若函数无返回值, 则应该对函数说明的类型是( )

6. (单选题)【选择题】

7. (单选题)【选择题】以下叙述中错误的是( )

8. (单选题)【选择题】有以下程序

9. (单选题)【选择题】设有以下函数:

10. (单选题)【选择题】有以下程序:#include

11. (单选题)【选择题】有以下程序:

12. (单选题)【选择题】有以下程序

13. (单选题)【选择题】有以下程序

14. (单选题)【选择题】以下叙述正确的是( )

15. (单选题)【选择题】以下叙述中正确的是( )

16. (单选题)【选择题】有以下程序:

17. (单选题)【选择题】以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

18. (单选题)【选择题】设有定义语句int(*f)(int);, 则以下叙述中正确的( )

19. (单选题)【选择题】若函数调用时的实参为变量时, 以下关于函数形参和实参的叙述中正确的是( )

20. (单选题)【选择题】有以下函数:

21. (单选题)【选择题】若有以下程序

22. (单选题)【选择题】有以下程序#include

23. (单选题)【选择题】若有以下函数首部int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是( )

24. (单选题)【选择题】有以下程序:

25. (单选题)【选择题】有以下程序

26. (单选题)【选择题】以下关于函数的叙述中正确的是( )

27. (单选题)【选择题】有如下程序:

28. (单选题)【选择题】在源程序的开始处加上“#include”进行文件引用的原因, 以下叙述正确的是( )

29. (单选题)【选择题】有如下程序:

30. (单选题)【选择题】有以下程序:

答案 :


问题:

一. 单选题(共30题,100分)

1. (单选题)【选择题】若有以下程序

#include

int f(int a[],int n)

    if(n>1) 

    { 

        int t; 

        t=f(a,n-1); 

        return t>a[n-1]?t:a[n-1]; 

    } 

else 

    return a[0];

}

main()

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

    printf("%d\n",f(a,9));

}

则程序的输出结果是( )

  • A. 1
  • B. 9
  • C. 8
  • D. 5

2. (单选题)【选择题】有以下函数:

#include

void func(int n)

    int i; 

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

        printf("*"); 

    printf("#");

}

main()

    func(3); 

    printf("????"); 

    func(4); 

    printf("\n");

}

程序运行后的输出结果是( )

  • A. ****#????***#
  • B. ****#????*****#
  • C. **#????*****#
  • D. ***#????*****#

3. (单选题)【选择题】有以下程序:

#include

int f(int x);

main()

    int a,b=0; 

    for(a=0;a<3;a++) 

    { 

        b=b+f(a); 

        putchar('A'+b); 

    }

}

int f(int x)

    return x*x+1;

}

程序运行后的输出结果是( )

  • A. ABE
  • B. BDI
  • C. BCF
  • D. BCD

4. (单选题)【选择题】有以下程序:
#include

void fac2(int);

void fac1(int n)

    printf("*"); 

    if(n>0)

        fac2(n-1);

}

void fac2(int n)

    printf("#"); 

    if(n>0)

        fac2(--n);

}

main()

    fac1(3);

}
程序的运行结果是( )

  • A. **##f
  • B. *##*
  • C. *#*#
  • D. *###

5. (单选题)【选择题】C语言程序中, 若函数无返回值, 则应该对函数说明的类型是( )

  • A. int
  • B. void
  • C. char
  • D. double

6. (单选题)【选择题】

以下程序中函数f的功能是: 当flag为1时, 进行由小到大排序; 当flag为0时, 进行由大到小排序。

#include

void f(int b[],int n,int flag)

    int i,j,t; 

    for(i=0;i

        for(j=i+1;j

            if(flag?b[i]>b[j]:b[i]

            { 

                t=b[i]; 

                b[i]=b[j]; 

                b[j]=t;

            }

}

main()

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

    f(&a[2],5,0); 

    f(a,5,1); 

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

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

}

程序运行后的输出结果是( ) 

  • A. 5,4,3,2,1,6,7,8,9,10,
  • B. 1,2,3,4,5,6,7,8,9,10,
  • C. 3,4,5,6,7,2,1,8,9,10,
  • D. 10,9,8,7,6,5,4,3,2,1,

7. (单选题)【选择题】以下叙述中错误的是( )

  • A. 改变函数形参的值, 不会改变对应实参的值
  • B. 可以给指针变量赋一个整数作为地址值
  • C. 函数可以返回地址值
  • D. 当在程序的开头包含头文件stdio.h时, 可以给指针变量赋NULL

8. (单选题)【选择题】有以下程序

#include

void fun(int n,int *s)

    int f; 

    if(n == 1)

        *s = n+ 1; 

    else 

    { 

        fun(n-1,&f); 

        *s = f; 

    }

}

main()

    int x =0; 

    fun(4,&x); 

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

}

程序运行后的输出结果是( ) 

  • A. 4
  • B. 2
  • C. 1
  • D. 3

9. (单选题)【选择题】设有以下函数:

void fun(int n,char* s){……}

则下面对函数指针的定义和赋值均是正确的是( )

  • A. void (* pf)(int,char);pf=&fun;
  • B. void * pf(); *pf=fun;
  • C. void (* pf)();pf=fun;
  • D. void *pf();pf=fun;

10. (单选题)【选择题】有以下程序:
#include

void fun(int a[],int n)

    int i,t; 

    for(i=0;i

    { 

        t=a[i]; 

        a[i]=a[n-1-i]; 

        a[n-1-i]=t; 

    }

}

main()

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

    fun(k,5); 

    for(i=2;i<8;i++)

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

    printf("\n");

}
程序运行的结果是( )

  • A. 321678
  • B. 876543
  • C. 345678
  • D. 1098765

11. (单选题)【选择题】有以下程序:

#include

int fun(int n)

    if(n==1) 

        return1; 

    else 

        return(n+fun(n-1));

}

main()

    int x; 

    scanf("%d",&x); 

    x=fun(x); 

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

}

执行程序时, 给变量x输入10, 程序的输出结果是( )

  • A. 54
  • B. 45
  • C. 65
  • D. 55

12. (单选题)【选择题】有以下程序

#include

int f(int n)

    int t=0,a=5; 

    if(n/2) 

    { 

        int a=6; 

        t+=a++;

     } 

    else 

    { 

        int a=7; 

        t+=a++; 

    } 

    return t+a++;

}

main()

    int s=0,i=0; 

    for(;i<2;i++)

        s+=f(i); 

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

}

程序运行后的输出结果是( ) 

  • A. 32
  • B. 36
  • C. 24
  • D. 28

13. (单选题)【选择题】有以下程序

#include

int fun1(double a)

    return (int)(a*= a);

}

int fun2(double x,double y)

    double a = 0,b = 0; 

    a = fun1(x); 

    b =fun1(y); 

    return (int)(a+b);

}

main()

    double w; 

    w =fun2(1.1,2.0); 

    printf("%4.2f",w);

}

程序执行后输出结果是( )

  • A. 0.0
  • B. 5.00
  • C. 5.21
  • D. 5

14. (单选题)【选择题】以下叙述正确的是( )

  • A. C语言中除了main函数, 其他函数不可作为单独文件形式存在
  • B. C语言程序是由过程和函数组成的
  • C. C语言函数不可以单独编译
  • D. C语言函数可以嵌套调用, 例如: fun(fun(x))

15. (单选题)【选择题】以下叙述中正确的是( )

  • A. 用户自己定义的函数只能调用库函数
  • B. 不同函数的形式参数不能使用相同名称的标识符
  • C. 实用的C语言源程序总是由一个或多个函数组成
  • D. 在C语言的函数内部, 可以定义局部嵌套函数

16. (单选题)【选择题】有以下程序:

#include

double f(double x);

main()

    double a=0; 

    int i; 

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

        a+=f((double)i); 

    printf("%5.0f\n",a);

}

double f(double x)

    return x*x+1;

}

程序运行后的输出结果是( ) 

  • A. 500
  • B. 503
  • C. 1404
  • D. 401

17. (单选题)【选择题】以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#define MIN -2147483647

int fingmax (int x[],int n)

    int i,max; 

    for(i=0;i

    { 

        max=MIN; 

        if(max

            max=x[i]; 

    }

    return max;

}

造成错误的原因是( )

  • A. 赋值语句max=MIN;中, 不应给max赋MIN值
  • B. 语句if(max
  • C. 赋值语句max=MIN;放错了位置
  • D. 定义语句int i,max;中max未赋初值

18. (单选题)【选择题】设有定义语句int(*f)(int);, 则以下叙述中正确的( )

  • A. f是基类型为int的指针变量
  • B. f是指向函数的指针变量, 该函数具有一个int类型的形参
  • C. f是函数名, 该函数的返回值是基类型为int类型的地址
  • D. f是指向int类型一维数组的指针变量

19. (单选题)【选择题】若函数调用时的实参为变量时, 以下关于函数形参和实参的叙述中正确的是( )

  • A. 同名的实参和形参占同一存储单元
  • B. 函数的形参和实参分别占用不同的存储单元
  • C. 形参只是形式上的存在, 不占用具体存储单元
  • D. 函数的实参和其对应的形参共占同一存储单元

20. (单选题)【选择题】有以下函数:

#include

void exch(int t[])

    t[0] = t[5];

}

main()

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

    while(i <=4) 

    { 

        exch(&x[i]);

        i++; 

    } 

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

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

    printf("\n");

}

程序运行后的输出结果是( )

  • A. 6 7 8 9 10
  • B. 1 3 5 7 9
  • C. 2 4 6 8 10
  • D. 1 2 3 4 5

21. (单选题)【选择题】若有以下程序

#include

void fun(int a[],int n)

    int t,i,j; 

    for(i=1;i

        for(j=i+2;j

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

            { 

                t=a[i]; 

                a[i]=a[j]; 

                a[j]=t; 

            }

}

main()

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

    fun(c,10); 

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

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

    printf("\n");

}

则程序的输出结果是( )

  • A. 10,1,8,3,6,5,4,7,2,9,
  • B. 1,10,3,8,5,6,7,4,9,2,
  • C. 2,9,4,7,6,5,8,3,10,1,
  • D. 10,9,8,7,6,5,4,3,2,1,

22. (单选题)【选择题】有以下程序
#include

void f(int b[])

    int i; 

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

        b[i]*=2;

}

main()

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

    f(a); 

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

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

}
程序运行后的输出结果是( )

  • A. 1,2,6,8,10,12,7,8,9,10,
  • B. 1,2,6,8,10,12,14,16,9,10,
  • C. 1,2,3,4,10,12,14,16,9,10,
  • D. 1,2,3,4,5,6,7,8,9,10,

23. (单选题)【选择题】若有以下函数首部
int fun(double x[10],int*n)
则下面针对此函数的函数声明语句中正确的是( )

  • A. int fun(double x,int*n);
  • B. int fun(double*,int*);
  • C. int fun(double,int);
  • D. int fun(double *x,int n);

24. (单选题)【选择题】有以下程序:

#include

int f(int x[],int n)

    if(n>1) 

    { 

        f(&x[1],n-1); 

        printf("%d,",x[0]); 

    } 

    else 

        printf("%d,",x[0]);

}

main()

    int z[6]={1,2,3,4,5,6}; 

    f(z,6); 

    printf("\n");

}

程序的运行结果是( ) 

  • A. 6,5,4,3,2,1,
  • B. 1,2,3,4,5,6,
  • C. 1,1,
  • D. 1,1,1,1,1,1,

25. (单选题)【选择题】有以下程序

#include

int fun(int x)

    int p; 

    if(x==0||x==1) 

        return (3); 

    p=x-fun(x-2); 

    return p;

}

main()

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

}

执行后的输出结果是( )

  • A. 7
  • B. 2
  • C. 3
  • D. 0

26. (单选题)【选择题】以下关于函数的叙述中正确的是( )

  • A. 函数形参的类型与返回值的类型无关
  • B. 函数必须要有形参
  • C. 函数必须要有返回值
  • D. 函数调用必须传递实参

27. (单选题)【选择题】有如下程序:

#include

void get_put()

    char ch; 

    ch=getchar(); 

    if(ch!='\n')

        get_put(); 

    putchar(ch);

}

main()

    get_put();

    printf("\n");

}

程序运行时, 输入1234<回车>, 则输出结果是( ) 

  • A. 1111
  • B. 4444
  • C. 4321
  • D. 1234

28. (单选题)【选择题】在源程序的开始处加上“#include”进行文件引用的原因, 以下叙述正确的是( )

  • A. stdio.h文件中包含标准输入输出函数的函数说明, 通过引用此文件以便能正确使用printf、 scanf等函数
  • B. 将stdio.h中标准输入输出函数的二进制代码插入到引用处, 以便进行编译链接
  • C. 将stdio.h中标准输入输出函数链接到编译生成的可执行文件中, 以便能正确运行
  • D. 将stdio.h中标准输入输出函数的源程序插入到引用处, 以便进行编译链接

29. (单选题)【选择题】有如下程序:

#include

int sum(int a,int b)

{

     return a+b-2;

}

main()

    int i; 

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

        printf("%d",sum(i,3)); 

    printf("\n");

}

程序运行后的输出结果是( ) 

  • A. 12345
  • B. 45678
  • C. 01234
  • D. 54321

30. (单选题)【选择题】有以下程序:

#include

void fun(int p)

    int d=2; 

    p=d++; 

    printf("%d",p);

}

main()

    int a=1; 

    fun(a);

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

}

程序运行后的输出结果是( )

  • A. 12
  • B. 22
  • C. 32
  • D. 21

答案 :

1-5:BBBDB

6-10:CBBAA

11-15:DCBDC
16-20:BCBBA

21-25:AABAB

16-30:ACAAD

 有问题的或者想要哪一题解析的小伙伴可以在评论区询问,看到后会回复的,或者关注一下博主,私信询问,100%回复。  

你可能感兴趣的:(c语言,c语言,开发语言)