中国大学moocc语言程序设计-20级第六学期辅导资料

[复制链接]
楼主: 1144766066

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
int fac_sum(int n)
{
static int f=1,t=1,s=0;
int i;
if(n>t)
for(i=t+1; i<=n; i++)
f=f*i;
else
{
f=1;
for(i=1; i<=n; i++)
f=f*i;
}
t=n; s=s+f;
return(s);
}
void main()
{
int a[]={3,5,2},i,sum;
for(i=0; i<3; i++)
sum=fac_sum(a);
printf(“sum=%d\n”,sum);
}
选项:

A. sum=128

B. sum=98

C. sum=256

D. 无法确定
答案: 请关注ybaotk.com搜题查看答案
问题 201: 1. 将一个函数声明为static后,该函数将( )
选项:

A. 既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用

B. 只能被同一源文件中的函数调用,不能被其他源文件中的函数调用

C. 只能被其他源文件中的函数调用,不能被同一源文件中的函数调用

D. 既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用
答案: 请关注ybaotk.com搜题查看答案
问题 202: 2. 以下叙述中错误的是( )
选项:

A. 在不同函数中可以使用相同名称的变量

B. 函数中的形参是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数的复合语句中定义的变量在本函数范围内有效
答案: 请关注ybaotk.com搜题查看答案
问题 203: 3. 下列程序的输出结果是( )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
int x=1;
func(int x)
{
x=3;
}
int main( )
{
func(x);
printf(%d\n,x);
return 0;
}
选项:

A. 3

B. 1

C. 0

D. 无法确定
答案: 请关注ybaotk.com搜题查看答案
问题 204: 1. 以下函数调用语句中,含有的实参个数是()。
func((exp1,exp2),(exp3,exp4,exp5));
选项:

A. 1

B. 2

C. 4

D. 5
答案: 请关注ybaotk.com搜题查看答案
问题 205: 2. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
选项:

A. 地址传递

B. 单向值传递

C. 由实参传给形参,再由形参传回实参

D. 传递方式由用户指定
答案: 请关注ybaotk.com搜题查看答案
问题 206: 3. 以下叙述正确的是()。
选项:

A. C程序中各函数之间既允许直接递归调用,也允许间接递归调用

B. C程序中各函数之间不允许直接递归调用,也不允许间接递归调用

C. C程序中各函数允许直接递归调用,不允许间接递归调用

D. C程序中各函数之间不允许直接递归调用,允许间接递归调用
答案: 请关注ybaotk.com搜题查看答案
问题 207: 4. 以下叙述中不正确的是()。
选项:

A. 一个变量的作用域完全取决于变量定义语句的位置

B. 全局变量可以在函数以外的任何部位进行定义

C. 局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用

D. 一个变量说明为static存储类别是为于限制其它编译单位的引用
答案: 请关注ybaotk.com搜题查看答案
问题 208: 5. C语言中规定函数的返回值的类型是由( )。
选项:

A. return语句中的表达式类型所决定

B. 调用该函数时的主调用函数类型所决定

C. 调用该函数时系统临时决定

D. 在定义该函数时所指定的函数类型所决定
答案: 请关注ybaotk.com搜题查看答案
问题 209: 6. 以下所列的各函数首部中,正确的是()。
选项:

A. void play(var a:integer,var b:integer)

B. void play(int a,b)

C. void play(int a,int b)

D. sub play(a as integer,b as integer)
答案: 请关注ybaotk.com搜题查看答案
问题 210: 7. 以下程序中函数f的功能是:当flag为4时,进行有小到大排序;当flag为0时,进行由大到小排序。
void f(int b[],int n,int flag)
{
int i,j,t;
for(i=0;ib[j+1]:b[j]
选项:

A. 1,2,3,4,5,6,7,8,9,10,

B. 3,4,5,6,7,2,1,8,9,10,

C. 5,4,3,2,1,6,7,8,9,10,

D. 10,9,8,7,6,5,4,3,2,1,
答案: 请关注ybaotk.com搜题查看答案
问题 211: 8. 设有如下函数定义
int fun(int k)
{ if (k<1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
}
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。
选项:

A. 2

B. 3

C. 4

D. 5
答案: 请关注ybaotk.com搜题查看答案
问题 212: 9. 以下程序的主函数中调用了在其前面定义的fun函数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
void main()
{double a[15],k;
k=fun(a);
}
则以下选项中错误的fun函数首部是()。
选项:

A. double fun(double a[15])

B. double fun(double *a)

C. double fun(double a[])

D. double fun(double a)
答案: 请关注ybaotk.com搜题查看答案
问题 213: 10. 有以下程序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include stdio.h
void change(int k[ ]){ k[0]=k[5]; }
void main()
{ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while( n<=4 ) { change( &x[n]) ; n++; }
for(n=0; n<5; n++) printf(%d ,x[n]);
printf(\n);
}
程序运行后输出的结果是( )。
选项:

A. 6 7 8 9 10

B. 1 3 5 7 9

C. 1 2 3 4 5

D. 6 2 3 4 5
答案: 请关注ybaotk.com搜题查看答案
问题 214: 11. 下面程序的运行结果是 ( )。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include “stdio.h”
int f(int a[],int n)
{ if(n>1)
return a[0] + f(a+1, n-1);
else
return a[0];
}
void main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10}, s;
s = f(aa+2,4); printf(%d\n, s);
}
选项:

A. 16

B. 18

C. 20

D. 22
答案: 请关注ybaotk.com搜题查看答案
问题 215: 12. 有以下程序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include “stdio.h”
int fun(int x, int y){ return (x+y); }
void main()
{ int a=1, b=2, c=3, sum;
sum=fun((a++,b++,a+b),c++);
printf(%d\n,sum);
}
执行后的输出结果是( )。
选项:

A. 6

B. 7

C. 8

D. 9
答案: 请关注ybaotk.com搜题查看答案
问题 216: 13. 有以下程序
int fun(int x)
{ int p;
if(x==0||x==1) return(3);
p=x-fun(x-2);
return p;
}
void main()
{ printf(%d\n,fun(7)); }
执行后的输出结果是( )。
选项:

A. 7

B. 3

C. 2

D. 0
答案: 请关注ybaotk.com搜题查看答案
问题 217: 14. 有以下程序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
void num()
{ extern int x,y;
int a=15,b=10;
x=a-b;
y=a+b;
}
int x,y;
void main()
{ int a=7,b=5;
x=a-b;
y=a+b;
num();
printf(%d,%d\n,x,y);
}
执行后的输出结果是( )。
选项:

A. 12,2

B. 5,25

C. 1,12

D. 输出不确定
答案: 请关注ybaotk.com搜题查看答案
问题 218: 15. int func(int a,int b)
{ return (a+b); }
void main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(%d\n,r);
}
该程序的输出结果是()
选项:

A. 12

B. 13

C. 14

D. 15
答案: 请关注ybaotk.com搜题查看答案
问题 219: 16. 下列叙述中正确的是()。
选项:

A. C语言编译时不检查语法。

B. C语言的子程序有过程和函数两种。

C. C语言的函数可以嵌套定义

D. C语言的函数可以嵌套调用。
答案: 请关注ybaotk.com搜题查看答案
问题 220: 17. 以下函数值的类型是()。
fun(float x)
{ float y;
y=3*x-4;
return y;
}
选项:

A. int

B. 不确定

C. void

D. float
答案: 请关注ybaotk.com搜题查看答案
问题 221: 18. 以下叙述中正确的是()。
选项:

A. 调用printf函数时,必须要有输出项。

B. 使用putchar函数时,必须在之前包含头文件stdio.h

C. 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D. 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
答案: 请关注ybaotk.com搜题查看答案
问题 222: 19. avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10 ,则下列函数说明语句错误的是()。
选项:

A. int avg(int *a,int n);

B. int avg(int a[10],int n);

C. int avg(int a,int n);

D. int avg(int a[],int n);
答案: 请关注ybaotk.com搜题查看答案
问题 223: 20. 下面叙述中错误的是()。
选项:

A. c语言的函数可以单独编译。

B. c语言程序是由函数组成的。

C. c语言的函数就是一段程序。

D. c语言的函数可以直接使用,无需事先定义或声明。
答案: 请关注ybaotk.com搜题查看答案
问题 224: 1. 指针的含义是( )。
选项:

A. 值

B. 地址

C. 名

D. 一个标志
答案: 请关注ybaotk.com搜题查看答案
问题 225: 2. 以下叙述错误的是()。
选项:

A. 指针可以进行加、减等算术运算

B. 指针中存放的是地址值

C. 指针是一个变量

D. 执政变量不占用存储空间
答案: 请关注ybaotk.com搜题查看答案
问题 226: 3. 对于基类型相同的两个指针变量之间,不能进行的运算是()。
选项:

A. <

B. =

C. +

D. -
答案: 请关注ybaotk.com搜题查看答案
问题 227: 4. 若已定义a为int型变量,则以下语句正确的是( )。
选项:

A. int *p=a;

B. int *p=*a;

C. int p=&a;

D. int *p=&a;
答案: 请关注ybaotk.com搜题查看答案
问题 228: 5. 若有定义“int x,*pb;”,则以下正确的赋值表达式是( )。
选项:

A. pb=&x

B. pb=x

C. *pb=&x

D. *pb=*x
答案: 请关注ybaotk.com搜题查看答案
问题 229: 6. 下面的语句段中,for循环的执行次数是( )。
char *s=\ta\018bc;
for(;*s!= '\0';s++) printf(*);
选项:

A. 5

B. 6

C. 7

D. 8
答案: 请关注ybaotk.com搜题查看答案
问题 230: 7. 设有以下定义和语句
char str[20]=Program,*p;
p=str;
则以下叙述中正确的是()。
选项:

A. *p与str[0]的值相等

B. str与p的类型完全相同

C. str数组长度和p所指向的字符串长度相等

D. 数组str中存放的内容和指针变量p中存放的内容相同
答案: 请关注ybaotk.com搜题查看答案
问题 231: 8. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是()。
选项:

A. 以下两处的*p含义相同,都说明给指针变量p赋值

B. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元

C. 语句“*p=r;”把变量r的地址值赋给指针变量p

D. 语句“*p=r;”取变量r的值放回r中
答案: 请关注ybaotk.com搜题查看答案
问题 232: 9. 若有定义“int *p[3];”,则以下叙述正确的是( )。
选项:

A. p是一个指针数组

B. p是一个指针,它只能指向一个每行包含3个int类型元素的二维数组

C. p是一个指针,它可以指向一个一维数组中的任意元素

D. (*p)[3]与*p[3]等价
答案: 请关注ybaotk.com搜题查看答案
问题 233: 10. 在以下定义中,标识符p( )。
int (*p)[3];
选项:

A. 定义不合法

B. 是一个指针数组名,每个元素是一个指向整数变量的指针

C. 是一个指针,它指向一个具有三个元素的一维数组

D. 是一个指向整型变量的指针
答案: 请关注ybaotk.com搜题查看答案
问题 234: 11. 设有说明int(*ptr)[m]; 其中的标识符ptr是()。
选项:

A. M个指向整型变量的指针

B. 指向M个整型变量的函数指针

C. 一个指向具有M个整型元素的一维数组的指针

D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
答案: 请关注ybaotk.com搜题查看答案
问题 235: 12. 下列函数的功能是()
fun(char * a,char * b)
{ while((*b=*a)!='\0') {a++,b++;} }
选项:

A. 将a所指字符串赋给b所指空间

B. 使指针b指向a所指字符串

C. 将a所指字符串和b所指字符串进行比较

D. 检查a和b所指字符串中是否有'\0'
答案: 请关注ybaotk.com搜题查看答案
问题 236: 13. 若有以下定义和赋值语句,则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为()。
int s[2][3]={0},(*p)[3];
p=s;
选项:

A. *(p+i)+j

B. *(p+j)

C. (p+i)+j

D. (*(p+i))[j]
答案: 请关注ybaotk.com搜题查看答案
问题 237: 14. 若有定义“int a[4][6];”,则能正确表示数组a中任一元素a[j](此处0≤i<4,0≤j<6)地址的表达式是()。
选项:

A. &a[0][0]+6*i+j

B. &a[0][0]+4*j+i

C. &a[0][0]+4*i+j

D. &a[0][0]+6*j+i
答案: 请关注ybaotk.com搜题查看答案
问题 238: 15. 若有以下定义,则数值不为3的表达式是( )。
int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;
选项:

A. x[3]

B. p1=x+3,*p1++

C. p1=x+2,*(p1++)

D. p1=x+2,*++p1
答案: 请关注ybaotk.com搜题查看答案
问题 239: 16. 若有以下说明语句:
static int i,a[2][3]={1,3,5,7,9,11};
int m,n;
且0≤m≤1,0≤n≤2,则以下( )是对数组元素的正确引用。
选项:

A. a[m]+n

B. *(a+5)

C. *(*(a+m)+3)

D. *(*(a+m)+n)
答案: 请关注ybaotk.com搜题查看答案
问题 240: 17. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()。
选项:

A. k=*p1+*p2;

B. p2=k;

C. p1=p2;

D. k=*p1 * (*p2);
答案: 请关注ybaotk.com搜题查看答案
问题 241: 18. 以下程序的运行结果是( )。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
void main()
{
int x[5]={2,4,6,8,10},*p,**pp;
p=x;
pp=&p;
printf(%d ,*(p++));
printf(%d\n,**pp);
}
选项:

A. 4 4

B. 2 4

C. 2 2

D. 4 6
答案: 请关注ybaotk.com搜题查看答案
问题 242: 19. 以下程序的运行结果是( )。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

24万

主题

24万

帖子

34万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
348890
 楼主| 发表于 2025-3-22 10:19:46 | 显示全部楼层
include
void main()
{
char *p1,*p2,str[50]= abc,st[50]= abc;
p1=st;
p2=abc;
strcpy(str+1, strcat(p1,p2));
printf(%s\n,str);
}
选项:

A. abcabcabc

B. bcabcabc

C. aabcabc

D. cabcabc
答案: 请关注ybaotk.com搜题查看答案
问题 243: 20. 若有以下定义和语句,则“*--p”的值是()
int a[4]={0,1,2,3},*p;
p=&a[2];
选项:

A. 0

B. 1

C. 2

D. 3
答案: 请关注ybaotk.com搜题查看答案

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图