个人专栏:
算法设计与分析:算法设计与分析_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. (单选题)【选择题】有以下程序:
#includevoid 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. (单选题)【选择题】有以下程序:
#includevoid 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. (单选题)【选择题】有以下程序
#includevoid 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:BCBBA21-25:AABAB
16-30:ACAAD
有问题的或者想要哪一题解析的小伙伴可以在评论区询问,看到后会回复的,或者关注一下博主,私信询问,100%回复。