大学MOOC C语言程序设计II(呼伦贝尔学院)1452723171 最新慕课完整章节测试答案
第一周、第二周函数一二
小测验1
1、单选题:
C语言是由( )构成。
选项:
A: 主程序和子程序
B: 主函数和子函数
C: 一个主函数和若干功能函数
D: 主函数和子程序
答案: 【 一个主函数和若干功能函数】
2、单选题:
以下对C语言函数的有关描述中,正确的是( )。
选项:
A: 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B: C函数既可以嵌套定义又可以递归调用
C: 函数必须有返回值,否则不能使用函数
D: C程序中有调用关系的所有函数必须放在同一个源程序文件中
答案: 【 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参】
3、单选题:
以下说法中正确的是( )。
选项:
A: C语言程序总是从第一个的函数开始执行
B: 在C语言程序中,要调用的函数必须在main()函数中定义
C: C语言程序总是从main()函数开始执行
D: C语言程序中的main()函数必须放在程序的开始部分
答案: 【 C语言程序总是从main()函数开始执行】
小测验2
1、单选题:
C语言程序中,如果变量做函数参数,则当函数调用时( )。
选项:
A: 实参和形参各占一个独立的存储单元
B: 实参和形参共用一个存储单元
C: 可以由用户指定是否共用存储单元
D: 计算机系统自动确定是否共用存储单元
答案: 【 实参和形参各占一个独立的存储单元】
2、单选题:
一个函数返回值的类型是由( )决定的。
选项:
A: return语句中表达式的类型
B: 在调用函数时临时指定
C: 定义函数时指定的函数类型
D: 调用该函数的主调函数的类型
答案: 【 定义函数时指定的函数类型】
3、单选题:
在C语言的函数中,下列正确的说法是( )。
选项:
A: 必须有形参
B: 形参必须是变量名
C: 可以有也可以没有形参
D: 数组名不能作形参
答案: 【 可以有也可以没有形参】
小测验3
1、单选题:
若函数的形参为一维数组,则下列说法中正确的是( )。
选项:
A: 调用函数时的对应实参必为数组名
B: 形参数组可以不指定大小
C: 形参数组的元素个数必须等于实参数组的元素个数
D: 形参数组的元素个数必须多于实参数组的元素个数
答案: 【 形参数组可以不指定大小】
2、单选题:
若调用一个函数,且此函数中没有return语句,则正确的说法是( )。
选项:
A: 该函数没有返回值
B: 该函数返回若干个系统默认值
C: 该函数能返回一个用户所希望的函数值
D: 该函数返回一个不确定的值
答案: 【 该函数返回一个不确定的值】
3、单选题:
在函数的说明和定义时若没有指出函数的类型,则( )。
选项:
A: 系统自动地认为函数的类型为整型
B: 系统自动地认为函数的类型为字符型
C: 系统自动地认为函数的类型为实型
D: 编译时会出错
答案: 【 系统自动地认为函数的类型为整型】
4、单选题:
下面叙述中正确的是( )。
选项:
A: 对于用户自己定义的函数,在使用前必须加以说明
B: 说明函数时只需要说明返回类型
C: 函数必须返回一个值
D: 空函数不完成任何操作,所以在程序设计中没有用处
答案: 【 对于用户自己定义的函数,在使用前必须加以说明】
5、单选题:
C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是( )。
选项:
A: float型
B: int 型
C: long 型
D: double型
答案: 【 int 型】
课前小测
1、单选题:
以下哪个选项是判断ch是否为大写字母的正确形式?
选项:
A: 'A' <= ch <= 'Z'
B: ch >='A' AND ch <='Z'
C: ch >= 'A' && ch <='Z'
D: ch BETWEEN 'A' AND 'Z"
答案: 【 ch >= 'A' && ch <='Z'】
2、单选题:
以下代码片段的输出是:int j=4;
for ( int i=j; i<=2*j; i++ )
{ switch ( i/j )
{ case 0:
case 1: printf(“*”); break;
case 2: printf(“#”);
}
}
选项:
A: ****##
B: ****#
C: ***#
D: *#
答案: 【 ****#】
3、单选题:
下列程序段输出结果为:int x=1, y=012;
printf(“%d”,y*x++);
选项:
A: 12
B: 24
C: 10
D: 20
答案: 【 10】
4、单选题:
以下哪个直接量是十进制的124?
选项:
A: 0174
B: 124d
C: 0124
D: 0x124
答案: 【 0174】
5、单选题:
在代码:while ( !e )中,!e等价于:
选项:
A: e == 1
B: e!=0
C: e == 0
D: e != 1
答案: 【 e == 0】
6、单选题:
对于以下代码:int i;for ( i=0; i<10; i++) printf("%d", i);for循环结束后,i的值是多少?
选项:
A: i没有确定的值
B: i不存在
C: 11
D: 10
答案: 【 10】
7、单选题:
表达式8>6>3值是( )。
选项:
A: 0
B: 1
C: 3
D: 表达式语法错误
答案: 【 0】
8、单选题:
下列程序段执行后s值为__。int i=5, s=0;
while(i--)
if (i%2) continue;
else s+=i;
选项:
A: 15
B: 10
C: 9
D: 6
答案: 【 6】
9、单选题:
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素____的值为6。
选项:
A: a[3][2]
B: a[2][1]
C: a[1][2]
D: a[2][3]
答案: 【 a[2][1]】
10、单选题:
如果变量 x、y 已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?
选项:
A: x=x+y, y=x-y, x=x-y;
B: t=x, x=y; y=t;
C: t=y, y=x, x=t;
D: x=t, t=y, y=x;
答案: 【 x=t, t=y, y=x;】
11、单选题:
以下数组定义中错误的是( )。
选项:
A: int x[][3]={0};
B: int x[2][3]={{1,2},{3,4},{5,6)};
C: int x[][3]={{1,2,3},(4,5,6)};
D: int x[2][3]={1,2,3,4,5,6};
答案: 【 int x[2][3]={{1,2},{3,4},{5,6)};】
第三周函数三
小测验1
1、单选题:
在下列结论中,有一个是错误的,它是 ( )
选项:
A: C语言允许函数的递归调用
B: 有些递归程序是不能用非递归算法实现的
C: C语言不允许在函数定义中再定义函数
D: 递归函数就是函数中可以定义其他函数
答案: 【 有些递归程序是不能用非递归算法实现的】
2、单选题:
如果有个递归函数是求 2*4*6*……*(2n) 的积,则递归的公式和条件可以表达为( )
选项:
A: f(n)=2*n*f(n-1) 边界条件 当 n==1 f(n)=2
B: f(n)=2*f(2*n-1) 边界条件 当 n==0 f(n)=1
C: f(n)=2*nf(2*n-1) 边界条件 当 n==1 f(n)=1
D: f(n)=2*f(2*n-1) 边界条件 当 n==0 f(n)=2
答案: 【 f(n)=2*n*f(n-1) 边界条件 当 n==1 f(n)=2】
小测验2
1、单选题:
一段楼梯有N阶,可以一次上1阶,也可以一次上2阶,用递归函数调用实现,计算多少种走法。则递归公式和边界条件是( )
选项:
A: f[n]=f[n-1]+f[n-2] 边界条件 当n=1 f[1]=0, 当n =2 f[2]=1
B: f[n]=f[n-1]+f[n-2] 边界条件 当n=1 f[1]=1, 当n =2 f[2]=2
C: f[n]=f[n-1] 边界条件 当n=1 f[1]=1
D: f[n]= f[n-2] 边界条件 当n=2 f[2]=1
答案: 【 f[n]=f[n-1]+f[n-2] 边界条件 当n=1 f[1]=1, 当n =2 f[2]=2】
2、单选题:
一只小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一个;第二天吃了剩下水果的一半,又多吃了一个;依次类推….到第十天,发现只剩下了10个水果,请问这只猴子到底摘了多少个水果? 写成递归函数。
选项:
A: 
