帮忙做一下C语言程序设计题,谢谢
1、以下程序输出的结果是________。#include<stdio.h>longfun(intn){longs;if(n==1||n==2)s=2;elses=n-f...
1、 以下程序输出的结果是________。
#include <stdio.h>
long fun(int n)
{ long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1);
return s; }
void main()
{ printf("%ld\n",fun(3));}
A) 1 B) 2
C) 3 D) 4
2、 若形参n的值为24,则调用prnt函数后,共输出______行。
void prnt(int n,int arr[])
{ int i;
for(i=1;i<=n;i++)
{printf("%6d",arr[i]);
if( !(i%5) ) printf("\n"); }
printf("\n"); }
A) 3 B) 4
C) 5 D) 6
3、 以下程序的输出结果是________。
#include "ctype.h"
space(char str[ ])
{int i,t; char ts[81];
for(i=0,t=0;str[i]!= '\0';i+=2)
if(!isspace(str[i]) && str[i]!= 'a')
ts[t++]=toupper(str[i]);
ts[t]= '\0';
strcpy(str,ts); }
void main()
{char s[81]={ "a b c d e f g"};
space(s);
puts(s);}
A) abcdeg B) bcde
C) ABCDE D) BCDE
4、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
A) 地址传递
B) 单向值传递
C) 由实参传给形参,再由形参传回实参
D) 传递方式由用户指定
5、 C语言中规定函数的返回值的类型是由________。
A) return语句中的表达式类型所决定
B) 调用该函数时的主调用函数类型所决定
C) 调用该函数时系统临时决定
D) 在定义该函数时所指定的类型所决定
6、 分析程序:
#include <stdio.h>
sum(int k)
{ static x=0;
return x+=k; }
void main()
{ int i,s=0;
for(i=1;i<=10;i++) s+=sum(i);
printf("s=%d\n",s); }
则下面的说法中正确的是________。
A) 程序的输出是1+(1+2)+……+(1+2+3+……+10)之值
B) 程序的输出是1+2+3+……+10之值
C) 程序的输出结果是s=10
D) 以上都不对
7、 若主调用函数类型为double,被调用函数定义中没有进行函数类型
说明,而return语句中的表达式类型为float型,则被调函数返回
值的类型是________。
A) int 型 B) float 型
C) double 型 D) 由系统当时的情况而定
8、 若已定义实参数组int
a[3][4]={2,4,6,8,10};,则在被调用函数f的下述定义中,
对形参数组b定义正确的选项是________。
A) f(int b[ ][6]) B) f(b) int b[ ][4];
C) f(int b[3][ ]); D) f(b) int b[4][5];
9、 请读程序:
#include<stdio.h>
f(char s[ ])
{ int i,j;
i=0;j=0;
while( s[j]!= '\0') j++;
return (j-i); }
void main()
{printf("%d\n",f("ABCDEF"));}
上面程序的输出结果是________。
A) 0 B) 6
C) 7 D) 8
10、 以下叙述中错误的是________。
A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B) 在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C) 在C中,外部变量的隐含类别是自动存储类别
D) 在C中,函数中的静态变量可以赋初值,只在编译时赋一次初值 展开
#include <stdio.h>
long fun(int n)
{ long s;
if(n==1||n==2) s=2;
else s=n-fun(n-1);
return s; }
void main()
{ printf("%ld\n",fun(3));}
A) 1 B) 2
C) 3 D) 4
2、 若形参n的值为24,则调用prnt函数后,共输出______行。
void prnt(int n,int arr[])
{ int i;
for(i=1;i<=n;i++)
{printf("%6d",arr[i]);
if( !(i%5) ) printf("\n"); }
printf("\n"); }
A) 3 B) 4
C) 5 D) 6
3、 以下程序的输出结果是________。
#include "ctype.h"
space(char str[ ])
{int i,t; char ts[81];
for(i=0,t=0;str[i]!= '\0';i+=2)
if(!isspace(str[i]) && str[i]!= 'a')
ts[t++]=toupper(str[i]);
ts[t]= '\0';
strcpy(str,ts); }
void main()
{char s[81]={ "a b c d e f g"};
space(s);
puts(s);}
A) abcdeg B) bcde
C) ABCDE D) BCDE
4、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
A) 地址传递
B) 单向值传递
C) 由实参传给形参,再由形参传回实参
D) 传递方式由用户指定
5、 C语言中规定函数的返回值的类型是由________。
A) return语句中的表达式类型所决定
B) 调用该函数时的主调用函数类型所决定
C) 调用该函数时系统临时决定
D) 在定义该函数时所指定的类型所决定
6、 分析程序:
#include <stdio.h>
sum(int k)
{ static x=0;
return x+=k; }
void main()
{ int i,s=0;
for(i=1;i<=10;i++) s+=sum(i);
printf("s=%d\n",s); }
则下面的说法中正确的是________。
A) 程序的输出是1+(1+2)+……+(1+2+3+……+10)之值
B) 程序的输出是1+2+3+……+10之值
C) 程序的输出结果是s=10
D) 以上都不对
7、 若主调用函数类型为double,被调用函数定义中没有进行函数类型
说明,而return语句中的表达式类型为float型,则被调函数返回
值的类型是________。
A) int 型 B) float 型
C) double 型 D) 由系统当时的情况而定
8、 若已定义实参数组int
a[3][4]={2,4,6,8,10};,则在被调用函数f的下述定义中,
对形参数组b定义正确的选项是________。
A) f(int b[ ][6]) B) f(b) int b[ ][4];
C) f(int b[3][ ]); D) f(b) int b[4][5];
9、 请读程序:
#include<stdio.h>
f(char s[ ])
{ int i,j;
i=0;j=0;
while( s[j]!= '\0') j++;
return (j-i); }
void main()
{printf("%d\n",f("ABCDEF"));}
上面程序的输出结果是________。
A) 0 B) 6
C) 7 D) 8
10、 以下叙述中错误的是________。
A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B) 在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C) 在C中,外部变量的隐含类别是自动存储类别
D) 在C中,函数中的静态变量可以赋初值,只在编译时赋一次初值 展开
展开全部
A C 第三题应输出BCDEFG。 D D A C C B A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序 拷贝过去,看一下运行的结果,就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AC?DD ACCBA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询