内容正文:
《编程语言基础-C语言》高等教育出版社(第5版)
第六章 函数 章节过关卷(一)(解析版)
考试时间:90分钟 满分:100分
姓名 班级 学号
一、单项选择题(本题共25小题,每题2分,共50分)
1、以下关于C语言函数的说法,正确的是( )
A. 函数可以嵌套定义,也可以嵌套调用
B. 函数不可以嵌套定义,但可以嵌套调用
C. 函数可以嵌套定义,但不可以嵌套调用
D. 函数既不可以嵌套定义,也不可以嵌套调用
答案:B
解析:C语言中函数的定义是相互平行的,不能在函数内部再定义另一个函数,即不能嵌套定义;但可以在函数调用过程中调用另一个函数,即可以嵌套调用。
2、以下函数定义正确的是( )
A. void fun(int a,b) { }
B. float fun(float a,float b);{ }
C. int fun(int a;int b) { }
D. int fun(int a,int b){ }
答案:D
解析:函数参数必须指定类型,并且每个参数都指明类型,所以A错误;B选项中()和{}中间不能加分号;当函数参数有多个时,需要用逗号隔开。
3、以下关于函数的说法,正确的是( )
A. 一个C程序中可以有多个main函数
B. main函数必须放在所有函数的最前面
C. C程序总是从main函数开始执行
D. main函数可以没有返回值
答案:C
解析:一个C程序有且只有一个main函数,程序总是从main函数开始执行;main函数的位置可以任意,但建议放在前面;main函数通常返回int类型。
4、关于函数的形参和实参,下列说法正确的是( )
A. 实参和形参可以同名,且占用同一个存储单元
B. 实参和形参可以同名,但占用不同的存储单元
C. 实参和形参不可以同名
D. 形参可以是常量或表达式
答案:B
解析:形参和实参可以同名,但它们是不同的变量,占用不同的存储单元;形参只能是变量,实参可以是常量、变量或表达式。
5、在C语言中,函数参数传递的默认方式是( )
A. 地址传递
B. 值传递
C. 引用传递
D. 由用户指定传递方式
答案:B
解析:C语言中函数参数默认采用值传递方式,实参将值的副本传递给形参,对形参的修改不会影响实参。
6、以下程序的输出结果是( )
void swap(int x, int y) {
int t = x;
x = y;
y = t;
}
main() {
int a = 3, b = 5;
swap(a, b);
printf("%d,%d", a, b);
}
A. 3,5
B. 5,3
C. 3,3
D. 5,5
答案:A
解析:swap函数采用值传递,形参x和y是a和b的副本,交换的是副本,不影响实参a和b,因此a和b的值不变,输出3,5。
7、若要用数组名作为函数调用的实参,则实际上传递给形参的是( )
A. 数组的第一个元素的值
B. 数组的全部元素的值
C. 数组的首地址
D. 数组的长度
答案:C
解析:数组名作为函数参数时,传递的是数组的首地址。
8、执行以下程序后,值为100的元素是( )
void fun(int a[], int n) {
a[0] = 100;
}
main() {
int a[5] = {1, 2, 3, 4, 5};
fun(&a[2], 3);
for(i=0;i<5;i++)
printf("%d ", a[i]);
}
A. a[1]
B. a[2]
C. a[3]
D. a[4]
答案:B
解析:实参将数组中a[2]的地址传递给形参,所以fun函数中数组a的a[0]为主函数中的a[2]。
9、以下函数声明的写法中,正确的是( )
A. int fun(a, b);
B. int fun(int, int);
C. fun(int a, int b);
D. int fun(int a, int b) { }
答案:B
解析:函数声明需要指定函数类型,以及参数的类型,可以省略参数,但不能省略类型,所以A、C不正确。D是函数定义而不是声明。
10、关于函数的返回值,下列说法正确的是( )
A. 函数必须有返回值
B. 函数的返回值类型由return语句决定
C. 如果函数值的类型与return语句中表达式的类型不一致,以return语句中表达式的类型为准
D. 如果函数值的类型与return语句中表达式的类型不一致,以函数定义时指定的返回值类型为准
答案:D
解析:函数返回值类型由函数定义时指定的类型决定;如果return语句中表达式的类型与函数返回值类型不一致,系统会自动进行类型转换;void类型的函数可以没有return语句。
11、以下程序的输出结果是( )
int fun(int x) {
static int y = 0;
y += x;
return y;
}
main() {
printf("%d", fun(1));
printf("%d", fun(2));
}
A. 13
B. 12
C. 11
D. 03
答案:A
解析:static局部变量y在程序运行期间只初始化一次,第一次调用fun(1)时y=0+1=1,输出1;第二次调用fun(2)时y保持上次的值1,再加2得3,输出3,最终输出“13”。
12、关于局部变量和全局变量,下列说法正确的是( )
A. 全局变量的作用域是整个源程序文件
B. 局部变量的作用域是从定义处到文件结束
C. 当局部变量与全局变量同名时,在局部变量作用域内全局变量被屏蔽
D. 全局变量必须在所有函数之前定义
答案:C
解析:全局变量的作用域是从定义处到文件结束;局部变量作用域仅限于定义它的函数或复合语句内;当同名时,局部变量优先,全局变量被暂时屏蔽;全局变量不一定必须在所有函数之前定义。
13、以下程序段中,被输出的变量a是( )
int a = 10;
void fun() {
int a = 20;
printf("%d", a);
}
A. 全局变量
B. 局部变量
C. 静态变量
D. 寄存器变量
答案:B
解析:函数fun内部定义的a是局部变量,其作用域仅限于fun函数内部,与外部的全局变量a是不同变量。
14、以下关于函数的说法,错误的是( )
A. 函数的形参属于局部变量
B. 函数可以没有返回值
C. 函数的返回值类型必须是int
D. 函数调用时,实参和形参的个数必须一致
答案:C
解析:函数的返回值类型可以是任意合法类型,不一定是int。
15、以下程序的输出结果是( )
int fun(int x, int y) {
return x > y ? x : y;
}
main() {
int a = 5, b = 8;
printf("%d", fun(a, b));
}
A. 5
B. 8
C. 13
D. 40
答案:B
解析:fun函数返回两个参数中的较大值,a=5,b=8,返回8。
16、关于函数原型,下列说法正确的是( )
A. 函数原型必须放在所有函数定义之前
B. 函数原型可以省略参数名称,只写参数类型
C. 函数原型中的参数名必须与函数定义中的参数名相同
D. 函数原型不是必须的,任何时候都可以省略
答案:B
解析:函数原型可以省略参数名,只写参数类型;函数原型通常放在调用之前;参数名不必与定义中相同;若函数定义在调用之前,则可以省略原型。
17、以下程序的输出结果是( )
int fun(int n) {
if (n == 1) return 1;
return n + fun(n - 1);
}
main() {
printf("%d", fun(4));
}
A. 6
B. 10
C. 15
D. 24
答案:B
解析:这是递归函数,计算1+2+3+4=10。递归过程:fun(4)=4+fun(3)=4+3+fun(2)=4+3+2+fun(1)=4+3+2+1=10。
18、以下关于递归函数的说法,正确的是( )
A. 递归函数可以没有终止条件
B. 递归函数的效率总是高于非递归函数
C. 递归函数必须有终止条件,否则会无限递归导致栈溢出
D. 递归函数不能有返回值
答案:C
解析:递归函数必须有明确的终止条件,否则会无限递归,最终导致栈空间耗尽;递归的效率通常低于非递归;递归函数可以有返回值。
19、以下程序的输出结果是( )
void fun(int x, int y) {
x = x + y;
y = x - y;
x = x - y;
}
main() {
int a = 6, b = 4;
fun(a, b);
printf("%d,%d", a, b);
}
A. 6,4
B. 4,6
C. 2,4
D. 6,2
答案:A
解析:fun函数试图交换两个变量的值,但由于是值传递,交换的是形参的副本,不影响实参a和b,因此a和b的值不变,输出6,4。
20、关于变量的存储类别,下列说法正确的是( )
A. auto变量未初始化时,其值默认为0
B. static局部变量未初始化时,其值默认为0
C. register变量可以存储在内存中
D. 所有变量都可以定义为register类型
答案:B
解析:static局部变量未初始化时自动初始化为0;auto局部变量未初始化时值为随机值;register变量建议存储在CPU寄存器中,但不能保证一定存储在寄存器中;并非所有变量都可以定义为register类型,全局变量不能。
21、以下程序的输出结果是( )
int x = 5;
void fun() {
int x = 10;
printf("%d ", x);
}
main() {
printf("%d ", x);
fun();
printf("%d", x);
}
A. 5 10 5
B. 5 10 10
C. 10 5 5
D. 10 10 10
答案:A
解析:main函数中输出全局变量x=5;调用fun时输出局部变量x=10;返回main后再次输出全局变量x=5。
22、以下程序的输出结果是( )
void fun(int a[]) {
a[0] = a[1] = 10;
}
main() {
int a[] = {1, 2, 3, 4};
fun(a);
printf("%d,%d", a[0], a[1]);
}
A. 1,2
B. 10,10
C. 10,2
D. 1,10
答案:B
解析:数组名作为函数参数传递的是数组首地址,fun函数中对形参数组元素的修改会影响实参数组,因此a[0]和a[1]都变为10。
23、在C语言中,关于函数调用的说法正确的是( )
A. 函数调用可以出现在表达式中
B. 函数调用不能作为另一个函数的实参
C. 函数调用必须单独作为一个语句
D. 函数调用不能嵌套
答案:A
解析:函数调用可以出现在表达式中(如c = fun(a, b);),也可以作为另一个函数的实参(如fun2(fun1(a, b));),也可以单独作为语句(如fun(a, b););函数调用可以嵌套。
24、下面程序段中fun的功能是( )
int fun(int n) {
if (n <= 1) return 1;
return n * fun(n - 1);
}
main() {
printf("%d", fun(5));
}
A. 统计大于5的乘积
B. 递归计算5的阶乘
C. 统计1~5的和
D. 递归计算2的5次方
答案:B
解析:递归函数计算n的阶乘,5! = 5×4×3×2×1 = 120。
25、以下关于return语句的说法,错误的是( )
A. return语句可以出现在void类型的函数中
B. return语句后面可以跟一个表达式
C. 一个函数中可以有多个return语句
D. return语句必须出现在函数的最后一行
答案:D
解析:return语句可以出现在函数的任何位置,不一定是最后一行;void类型的函数可以用return;提前结束函数;一个函数可以有多个return语句。
二、多选题(本题共5小题,每题4分,共20分)
1、以下关于C语言函数的说法,正确的有( )
A. 函数定义时可以没有参数
B. 函数定义时可以没有返回值
C. 函数的形参可以是数组
D. 函数的返回值类型可以是数组
答案:ABC
解析:函数可以没有参数(无参函数);函数可以没有返回值(void类型);函数的形参可以是数组;函数的返回值类型不能是数组,但可以是指向数组的指针。
2、以下关于函数参数传递的说法,正确的有( )
A. 普通变量作为实参时,传递的是变量的值
B. 数组名作为实参时,传递的是数组的首地址
C. 指针作为实参时,传递的是地址
D. 形参和实参占用相同的存储单元
答案:ABC
解析:普通变量是值传递;数组名传递地址;指针传递地址;形参和实参占用不同的存储单元,D错误。
3、以下关于变量的说法,正确的有( )
A. 局部变量的作用域仅限于定义它的函数内部
B. 全局变量的作用域是整个源程序文件
C. static局部变量的值在函数调用结束后不会消失
D. auto局部变量未初始化时,其值是随机值
答案:ABCD
解析:所有选项均正确。
4、以下关于递归函数的说法,正确的有( )
A. 递归函数必须有一个终止条件
B. 递归函数可以间接调用自身
C. 递归调用会消耗更多的内存空间
D. 所有循环结构都可以用递归代替
答案:ABC
解析:递归必须有终止条件;间接递归是指函数A调用函数B,函数B又调用函数A;递归每次调用都会在栈中分配空间,消耗更多内存;循环和递归各有适用场景,并非所有循环都适合用递归代替。
5、以下关于函数的说法,正确的有( )
A. C程序由一个或多个函数组成
B. main函数是程序的入口,可以有多个
C. 函数调用时,实参和形参的类型必须一致
D. 函数原型可以放在函数调用之后
答案:AC
解析:C程序由一个或多个函数组成;main函数有且只能有一个;实参和形参的类型必须一致(或可以隐式转换);如果函数定义在调用之后,则必须在调用前提供函数原型。
三、判断题(本题共10小题,每题2分,共20分)
1、C语言中,函数可以嵌套定义,但不能嵌套调用。( )
答案:×
解析:函数不可以嵌套定义,但可以嵌套调用。
2、函数的形参属于局部变量,其作用域仅限于该函数内部。( )
答案:√
解析:形参在函数被调用时分配存储空间,函数执行结束后释放,作用域仅限于该函数内部。
3、全局变量的作用域是从定义处到文件结束,不能通过extern关键字扩展。( )
答案:×
解析:全局变量的作用域可以通过extern关键字扩展到其他源文件。
4、在函数调用时,实参与形参的类型可以不一致,系统会自动进行类型转换。( )
答案:√
解析:C语言允许实参和形参类型不一致,系统会进行隐式类型转换,但可能产生精度损失。
5、使用static关键字修饰的局部变量,其生命周期是整个程序运行期间。( )
答案:√
解析:static局部变量在程序运行期间一直存在,但作用域仅限于定义它的函数内部。
6、函数的返回值类型由return语句中表达式的类型决定。( )
答案:×
解析:函数的返回值类型由函数定义时指定的返回值类型决定,而非return语句中的表达式类型。
7、函数原型可以省略参数名称,但参数类型不能省略。( )
答案:√
解析:函数原型可以写成int fun(int, int);,参数类型必须指定,参数名称可以省略。
8、所有函数都必须有return语句。( )
答案:×
解析:void类型的函数可以没有return语句,也可以有return;(不带表达式)。
9、在C语言中,函数可以递归调用直接自身也可以间接调用自身。( )
答案:√
解析:若函数调用自身,则称为函数的递归调用
10、数组作为函数参数时,在函数内部使用sizeof(数组名)得到的是整个数组的字节数。( )
答案:×
解析:数组作为函数参数时退化为指针,在函数内部使用sizeof(数组名)得到的是指针的大小(通常4或8字节),而不是整个数组的字节数。
四、填空题(本题共5小题,每题2分,共10分)
1、以下程序段执行后,输出结果为 ( )。
int fun(int x) {
static int s = 0;
s += x;
return s;
}
main() {
printf("%d", fun(3));
printf("%d", fun(5));
}
答案:38
解析:static局部变量s只初始化一次。第一次调用fun(3):s=0+3=3,输出3;第二次调用fun(5):s=3+5=8,输出8。最终输出“38”。
2、以下程序段的功能是计算n的阶乘,请填空。
int fact(int n) {
if (n <= 1) return 1;
return ( );
}
答案:n * fact(n - 1)
解析:递归计算阶乘,当n>1时,返回n乘以(n-1)的阶乘。
3、以下程序段中,函数fun的功能是交换两个整数的值,请填空。
void swap(int *x, int *y) {
int t;
t = *x;
( );
*y = t;
}
答案:*x = *y
解析:通过指针传递地址,可以实现交换实参的值。先将*x的值存到t,再将*y的值赋给*x,最后将t的值赋给*y。
4、以下程序段中,函数fun的功能是求数组a中所有元素的和,请填空。
int sum(int a[], int n) {
int i, s = 0;
for (i = 0; i < n; i++)
( );
return s;
}
答案:s += a[i]
解析:遍历数组,累加每个元素的值到s中。
5、以下程序段中,变量的输出结果为 ( )。
int x = 10;
void fun() {
int x = 20;
{
int x = 30;
printf("%d ", x);
}
printf("%d ", x);
}
main() {
fun();
printf("%d", x);
}
答案:30 20 10
解析:在复合语句内定义x=30,输出30;离开复合语句后,输出函数内的局部变量x=20;返回main后,输出全局变量x=10。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《编程语言基础-C语言》高等教育出版社(第5版)
第六章 函数 章节过关卷(一)(原卷版)
考试时间:90分钟 满分:100分
姓名 班级 学号
一、单项选择题(本题共25小题,每题2分,共50分)
1、以下关于C语言函数的说法,正确的是( )
A. 函数可以嵌套定义,也可以嵌套调用
B. 函数不可以嵌套定义,但可以嵌套调用
C. 函数可以嵌套定义,但不可以嵌套调用
D. 函数既不可以嵌套定义,也不可以嵌套调用
2、以下函数定义正确的是( )
A. void fun(int a,b) { }
B. float fun(float a,float b);{ }
C. int fun(int a;int b) { }
D. int fun(int a,int b){ }
3、以下关于函数的说法,正确的是( )
A. 一个C程序中可以有多个main函数
B. main函数必须放在所有函数的最前面
C. C程序总是从main函数开始执行
D. main函数可以没有返回值
4、关于函数的形参和实参,下列说法正确的是( )
A. 实参和形参可以同名,且占用同一个存储单元
B. 实参和形参可以同名,但占用不同的存储单元
C. 实参和形参不可以同名
D. 形参可以是常量或表达式
5、在C语言中,函数参数传递的默认方式是( )
A. 地址传递
B. 值传递
C. 引用传递
D. 由用户指定传递方式
6、以下程序的输出结果是( )
void swap(int x, int y) {
int t = x;
x = y;
y = t;
}
main() {
int a = 3, b = 5;
swap(a, b);
printf("%d,%d", a, b);
}
A. 3,5
B. 5,3
C. 3,3
D. 5,5
7、若要用数组名作为函数调用的实参,则实际上传递给形参的是( )
A. 数组的第一个元素的值
B. 数组的全部元素的值
C. 数组的首地址
D. 数组的长度
8、执行以下程序后,值为100的元素是( )
void fun(int a[], int n) {
a[0] = 100;
}
main() {
int a[5] = {1, 2, 3, 4, 5};
fun(&a[2], 3);
for(i=0;i<5;i++)
printf("%d ", a[i]);
}
A. a[1]
B. a[2]
C. a[3]
D. a[4]
9、以下函数声明的写法中,正确的是( )
A. int fun(a, b);
B. int fun(int, int);
C. fun(int a, int b);
D. int fun(int a, int b) { }
10、关于函数的返回值,下列说法正确的是( )
A. 函数必须有返回值
B. 函数的返回值类型由return语句决定
C. 如果函数值的类型与return语句中表达式的类型不一致,以return语句中表达式的类型为准
D. 如果函数值的类型与return语句中表达式的类型不一致,以函数定义时指定的返回值类型为准
11、以下程序的输出结果是( )
int fun(int x) {
static int y = 0;
y += x;
return y;
}
main() {
printf("%d", fun(1));
printf("%d", fun(2));
}
A. 13
B. 12
C. 11
D. 03
12、关于局部变量和全局变量,下列说法正确的是( )
A. 全局变量的作用域是整个源程序文件
B. 局部变量的作用域是从定义处到文件结束
C. 当局部变量与全局变量同名时,在局部变量作用域内全局变量被屏蔽
D. 全局变量必须在所有函数之前定义
13、以下程序段中,被输出的变量a是( )
int a = 10;
void fun() {
int a = 20;
printf("%d", a);
}
A. 全局变量
B. 局部变量
C. 静态变量
D. 寄存器变量
14、以下关于函数的说法,错误的是( )
A. 函数的形参属于局部变量
B. 函数可以没有返回值
C. 函数的返回值类型必须是int
D. 函数调用时,实参和形参的个数必须一致
15、以下程序的输出结果是( )
int fun(int x, int y) {
return x > y ? x : y;
}
main() {
int a = 5, b = 8;
printf("%d", fun(a, b));
}
A. 5
B. 8
C. 13
D. 40
16、关于函数原型,下列说法正确的是( )
A. 函数原型必须放在所有函数定义之前
B. 函数原型可以省略参数名称,只写参数类型
C. 函数原型中的参数名必须与函数定义中的参数名相同
D. 函数原型不是必须的,任何时候都可以省略
17、以下程序的输出结果是( )
int fun(int n) {
if (n == 1) return 1;
return n + fun(n - 1);
}
main() {
printf("%d", fun(4));
}
A. 6
B. 10
C. 15
D. 24
18、以下关于递归函数的说法,正确的是( )
A. 递归函数可以没有终止条件
B. 递归函数的效率总是高于非递归函数
C. 递归函数必须有终止条件,否则会无限递归导致栈溢出
D. 递归函数不能有返回值
19、以下程序的输出结果是( )
void fun(int x, int y) {
x = x + y;
y = x - y;
x = x - y;
}
main() {
int a = 6, b = 4;
fun(a, b);
printf("%d,%d", a, b);
}
A. 6,4
B. 4,6
C. 2,4
D. 6,2
20、关于变量的存储类别,下列说法正确的是( )
A. auto变量未初始化时,其值默认为0
B. static局部变量未初始化时,其值默认为0
C. register变量可以存储在内存中
D. 所有变量都可以定义为register类型
21、以下程序的输出结果是( )
int x = 5;
void fun() {
int x = 10;
printf("%d ", x);
}
main() {
printf("%d ", x);
fun();
printf("%d", x);
}
A. 5 10 5
B. 5 10 10
C. 10 5 5
D. 10 10 10
22、以下程序的输出结果是( )
void fun(int a[]) {
a[0] = a[1] = 10;
}
main() {
int a[] = {1, 2, 3, 4};
fun(a);
printf("%d,%d", a[0], a[1]);
}
A. 1,2
B. 10,10
C. 10,2
D. 1,10
23、在C语言中,关于函数调用的说法正确的是( )
A. 函数调用可以出现在表达式中
B. 函数调用不能作为另一个函数的实参
C. 函数调用必须单独作为一个语句
D. 函数调用不能嵌套
24、下面程序段中fun的功能是( )
int fun(int n) {
if (n <= 1) return 1;
return n * fun(n - 1);
}
main() {
printf("%d", fun(5));
}
A. 统计大于5的乘积
B. 递归计算5的阶乘
C. 统计1~5的和
D. 递归计算2的5次方
25、以下关于return语句的说法,错误的是( )
A. return语句可以出现在void类型的函数中
B. return语句后面可以跟一个表达式
C. 一个函数中可以有多个return语句
D. return语句必须出现在函数的最后一行
二、多选题(本题共5小题,每题4分,共20分)
1、以下关于C语言函数的说法,正确的有( )
A. 函数定义时可以没有参数
B. 函数定义时可以没有返回值
C. 函数的形参可以是数组
D. 函数的返回值类型可以是数组
2、以下关于函数参数传递的说法,正确的有( )
A. 普通变量作为实参时,传递的是变量的值
B. 数组名作为实参时,传递的是数组的首地址
C. 指针作为实参时,传递的是地址
D. 形参和实参占用相同的存储单元
3、以下关于变量的说法,正确的有( )
A. 局部变量的作用域仅限于定义它的函数内部
B. 全局变量的作用域是整个源程序文件
C. static局部变量的值在函数调用结束后不会消失
D. auto局部变量未初始化时,其值是随机值
4、以下关于递归函数的说法,正确的有( )
A. 递归函数必须有一个终止条件
B. 递归函数可以间接调用自身
C. 递归调用会消耗更多的内存空间
D. 所有循环结构都可以用递归代替
5、以下关于函数的说法,正确的有( )
A. C程序由一个或多个函数组成
B. main函数是程序的入口,可以有多个
C. 函数调用时,实参和形参的类型必须一致
D. 函数原型可以放在函数调用之后
三、判断题(本题共10小题,每题2分,共20分)
1、C语言中,函数可以嵌套定义,但不能嵌套调用。( )
2、函数的形参属于局部变量,其作用域仅限于该函数内部。( )
3、全局变量的作用域是从定义处到文件结束,不能通过extern关键字扩展。( )
4、在函数调用时,实参与形参的类型可以不一致,系统会自动进行类型转换。( )
5、使用static关键字修饰的局部变量,其生命周期是整个程序运行期间。( )
6、函数的返回值类型由return语句中表达式的类型决定。( )
7、函数原型可以省略参数名称,但参数类型不能省略。( )
8、所有函数都必须有return语句。( )
9、在C语言中,函数可以递归调用直接自身也可以间接调用自身。( )
10、数组作为函数参数时,在函数内部使用sizeof(数组名)得到的是整个数组的字节数。( )
四、填空题(本题共5小题,每题2分,共10分)
1、以下程序段执行后,输出结果为 ( )。
int fun(int x) {
static int s = 0;
s += x;
return s;
}
main() {
printf("%d", fun(3));
printf("%d", fun(5));
}
2、以下程序段的功能是计算n的阶乘,请填空。
int fact(int n) {
if (n <= 1) return 1;
return ( );
}
3、以下程序段中,函数fun的功能是交换两个整数的值,请填空。
void swap(int *x, int *y) {
int t;
t = *x;
( );
*y = t;
}
4、以下程序段中,函数fun的功能是求数组a中所有元素的和,请填空。
int sum(int a[], int n) {
int i, s = 0;
for (i = 0; i < n; i++)
( );
return s;
}
5、以下程序段中,变量的输出结果为 ( )。
int x = 10;
void fun() {
int x = 20;
{
int x = 30;
printf("%d ", x);
}
printf("%d ", x);
}
main() {
fun();
printf("%d", x);
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$