函数
目录
第1题
题目名称:
能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是:(A)
题目内容:
A.return这二个数
B.形参用数组
C.形参用二个指针
D.用二个全局变量
void test()
{
return 1,2;//直接这样写是不允许的,不能把两个数值都返回。
}
void test(int arr[])
{
a[0] = 1;
a[1] = 2;
//数组是可以带回两个数值
}
void test(int* p1,int* p2)
{
*p1 = 1;
*p2 = 2;
//指针也是定地址的,变量可以跟着变的
}
int a = 0;
int b = 0;
void test()
{
a = 1;
b = 2;
//全局变量也是可以改变数值
}
第2题
第2题(单选题)
题目名称:
关于函数调用说法不正确的是:(C)
题目内容:
A.函数可以传值调用,传值调用的时候形参是实参的一份临时拷贝
B.函数可以传值调用,传址调用的时候,可以通过形参操作实参
C.函数可以嵌套定义,但是不能嵌套调用
D.函数可以嵌套调用,但是不能嵌套定义
第3题
题目名称:
在函数调用时,以下说法正确的是:(B)
题目内容:
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传送不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
第4题
第4题(单选题)
题目名称:
关于函数的声明和定义说法正确的是:(C)
题目内容:
A.函数的定义必须放在函数的使用之前
B.函数必须保证先声明后使用
C.函数定义在使用之后,也可以不声明
D.函数的声明就是说明函数是怎么实现的
第5题
第5题(单选题)
题目名称:
关于实参和形参描述错误的是:(C)
题目内容:
A.形参是实参的一份临时拷贝
B.形参是在函数调用的时候才实例化,才开辟内存空间
C.改变形参就是改变实参
D.函数调用如果采用传值调用,改变形参不影响实参
第6题
题目名称:
数网用exec((v1,v2),(v3,v4),v5,v6)中,实参的个数是:(B)
题目内容
A.3
B.4
c.5
D.6
//exec((v1,v2),(v3,v4),v5,v6)//逗号表达式
第7题(编程题)判断闰年
第7题(编程题) 题目名称: 函数判断闰年 题目内容: 实现函数判断year是不是闰年
#include<stdio.h>
int test(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else return 0;
}
int main()
{
int year,n;
scanf("%d",&year);
n = test(year);
if(n == 1)
printf("是闰年");
if(n == 0)
printf("不是闰年");
return 0;
}
第8题(编程题)交换两个整数
第8题(编程题) 题目名称: 交换两个整数 题目内容 实现一个函数来交换两个整数的内容
#include<stdio.h>
int Swap(int* a,int* b)
{
int t;
t = *a;
*a = *b;
*b = t;
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
Swap(&a,&b);
printf("a=%d,b=%d",a,b);
return 0;
}
第9题(编程题)打印自定义乘法口诀表
第9题(编程题) 题目名称: 乘法口诀表 题目内容: 实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定 如:输入9,输出9*9口诀表,输入12,输出12 *12乘法口诀表
#include<stdio.h>
int print_table(int n)
{
for(int i = 1;i <= n; i++)
{
for(int j = 1;j <= i; j++)
{
printf("%d*%d=%d ",i,j,i*j);
}
printf("\n");
}
}
int main()
{
int n;
scanf("%d",&n);
print_table(n);
return 0;
}