内容正文:
6.1节:函数的定义
一、单项选择题
1.以下函数定义正确的是( )
A. int fun(int a) { int b=3; return a+b; }
B. int fun(int a) { int b=3; a+b; }
C. int fun(int a) { int b=3; return a,b; }
D. int fun(int a) { int b=3; return; }
【答案】A B选项缺少return;C选项不能返回多个值;D选项缺少返回值。
2.以下程序的输出结果是( )
void fun(int x) { printf("%d", x+1); }
main() {
fun(5); printf("%d", 5);
}
A. 5 5 B. 6 5
C. 5 6 D. 6 6
【答案】B
3.关于函数的定义,以下说法正确的是( )
A. 函数定义可以嵌套
B. 函数定义必须在main函数之前
C. 函数定义可以放在程序任何位置
D. 函数定义必须在调用之前
【答案】C
4.以下程序的输出结果是( )
int fun(int x) { return x++; }
imain() {
int a=5; printf("%d", fun(a));
}
A. 5 B. 6 C. 0 D. 随机值
【答案】A
5.关于函数参数的说明,以下说法正确的是( )
A. 形参必须是变量
B. 实参可以是函数调用
C. 形参和实参可以同名
D. 形参的类型可以省略
【答案】C
6.以下程序的输出结果是( )
int fun(int x) { if(x>0) return 1; else return 0; }
main() {
printf("%d", fun(0)+fun(1));
}
A. 0 B. 1
C. 2 D. 编译错误
【答案】B
7.以下函数定义中,能够正确判断一个数是否为偶数的是( )
A. int isEven(int x) { return x%2; }
B. int isEven(int x) { return !(x%2); }
C. int isEven(int x) { return x/2; }
D. int isEven(int x) { return x%2==1; }
【答案】B
二、程序运行结果题
8.执行以下程序的输出结果是( )
#include<stdio.h>
void fun(int x)
{ printf("%d ", x);
x++; }
int main()
{
int a=5;
fun(a);
printf("%d", a);
return 0;
}
【答案】5 5
9.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return x*x; }
main()
{
printf("%d", fun(2)*fun(3));
}
【答案】36
10.执行以下程序的输出结果是( )
#include<stdio.h>
void printStar(int n)
{ int i;
for(i=0; i<n; i++)
printf("*");
}
main()
{
printStar(3);
}
【答案】***
11.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int a, int b)
{ return a*b; }
int main()
{
printf("%d", fun(3,4));
}
【答案】12
12.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return x+1; }
main()
{
int a=5;
printf("%d", fun(a)+a);
}
【答案】11
13.执行以下程序的输出结果是( )
#include<stdio.h>
void fun(int x)
{ printf("%d ", x); }
main()
{
fun(3);
fun(5);
}
【答案】3 5
14.执行以下程序的输出结果是( )
#include<stdio.h>
int fun()
{ return 5; }
main()
{
printf("%d", fun()+fun());
}
【答案】10
15.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ if(x>0) return 1;
return 0; }
main()
{
printf("%d", fun(-1));
}
【答案】0
16.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return x*x; }
int main()
{
printf("%d", fun(3)+fun(2));
return 0;
}
【答案】13
17.执行以下程序的输出结果是( )
#include<stdio.h>
void fun(int x)
{ printf("%d", x++); }
int main()
{
int a=5; fun(a);
printf("%d", a);
return 0;
}
【答案】55
18.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return ++x; }
int main()
{
int a=5;
printf("%d", fun(a));
return 0;
}
【答案】6
19.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return x>0?1:0; }
int main()
{
printf("%d", fun(0)+fun(1));
return 0;
}
【答案】1
20.执行以下程序的输出结果是( )
#include<stdio.h>
int fun(int x)
{ return x+2; }
int main()
{
printf("%d", fun(fun(1)));
return 0;
}
【答案】5
三、编程题
1.编写一个函数isPrime,判断一个整数是否为素数,是则返回1,否则返回0。
【答案】
int isPrime(int n)
{
if (n <= 1) return 0;
for (int i = 2; i * i <= n; i++)
{
if (n % i == 0) return 0;
}
return 1;
}
2.编写一个函数printTriangle,接收一个整数n,打印n行的直角三角形星号图案。
【答案】
void printTriangle(int n)
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
printf("*");
}
printf("
");
}
}
3.编写一个函数isPalindrome,判断一个整数是否为回文数(如121),是则返回1,否则返回0。
【答案】
int isPalindrome(int n)
{
int original = n, reversed = 0;
if (n < 0) return 0;
while (n > 0)
{
reversed = reversed * 10 + n % 10;
n /= 10;
}
return original == reversed;
}
4.编写一个函数printMultiplicationTable,打印九九乘法表。
【答案】
void printMultiplicationTable()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
printf("%d*%d=%-2d ", j, i, i*j);
}
printf("
");
}
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
6.1节:函数的定义
一、单项选择题
1.以下函数定义正确的是( )
A. int fun(int a) { int b=3; return a+b; }
B. int fun(int a) { int b=3; a+b; }
C. int fun(int a) { int b=3; return a,b; }
D. int fun(int a) { int b=3; return; }
2.以下程序的输出结果是()
void fun(int x) { printf("%d", x+1); }
main() {
fun(5); printf("%d", 5);
}
A. 5 5 B. 6 5
C. 5 6 D. 6 6
3.关于函数的定义,以下说法正确的是()
A. 函数定义可以嵌套
B. 函数定义必须在main函数之前
C. 函数定义可以放在程序任何位置
D. 函数定义必须在调用之前
4.以下程序的输出结果是()
int fun(int x) { return x++; }
imain() {
int a=5; printf("%d", fun(a));
}
A. 5 B. 6 C. 0 D. 随机值
5.关于函数参数的说明,以下说法正确的是()
A. 形参必须是变量
B. 实参可以是函数调用
C. 形参和实参可以同名
D. 形参的类型可以省略
6.以下程序的输出结果是()
int fun(int x) { if(x>0) return 1; else return 0; }
main() {
printf("%d", fun(0)+fun(1));
}
A. 0 B. 1
C. 2 D. 编译错误
7.以下函数定义中,能够正确判断一个数是否为偶数的是()
A. int isEven(int x) { return x%2; }
B. int isEven(int x) { return !(x%2); }
C. int isEven(int x) { return x/2; }
D. int isEven(int x) { return x%2==1; }
二、程序运行结果题
8.执行以下程序的输出结果是()
#include<stdio.h>
void fun(int x)
{ printf("%d ", x);
x++; }
int main()
{
int a=5;
fun(a);
printf("%d", a);
return 0;
}
9.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return x*x; }
main()
{
printf("%d", fun(2)*fun(3));
}
10.执行以下程序的输出结果是()
#include<stdio.h>
void printStar(int n)
{ int i;
for(i=0; i<n; i++)
printf("*");
}
main()
{
printStar(3);
}
11.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int a, int b)
{ return a*b; }
int main()
{
printf("%d", fun(3,4));
}
12.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return x+1; }
main()
{
int a=5;
printf("%d", fun(a)+a);
}
13.执行以下程序的输出结果是()
#include<stdio.h>
void fun(int x)
{ printf("%d ", x); }
main()
{
fun(3);
fun(5);
}
14.执行以下程序的输出结果是()
#include<stdio.h>
int fun()
{ return 5; }
main()
{
printf("%d", fun()+fun());
}
15.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ if(x>0) return 1;
return 0; }
main()
{
printf("%d", fun(-1));
}
16.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return x*x; }
int main()
{
printf("%d", fun(3)+fun(2));
return 0;
}
17.执行以下程序的输出结果是()
#include<stdio.h>
void fun(int x)
{ printf("%d", x++); }
int main()
{
int a=5; fun(a);
printf("%d", a);
return 0;
}
18.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return ++x; }
int main()
{
int a=5;
printf("%d", fun(a));
return 0;
}
19.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return x>0?1:0; }
int main()
{
printf("%d", fun(0)+fun(1));
return 0;
}
20.执行以下程序的输出结果是()
#include<stdio.h>
int fun(int x)
{ return x+2; }
int main()
{
printf("%d", fun(fun(1)));
return 0;
}
三、编程题
1.编写一个函数isPrime,判断一个整数是否为素数,是则返回1,否则返回0。
2.编写一个函数printTriangle,接收一个整数n,打印n行的直角三角形星号图案。
3.编写一个函数isPalindrome,判断一个整数是否为回文数(如121),是则返回1,否则返回0。
4.编写一个函数printMultiplicationTable,打印九九乘法表。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$