凌晨好 ,今天是: 2024年11月25日
|
|
|
|
|
|
 
单元练习
第1章 C语言程序设计基本知识
第2章 算法及其描述
第3章 数据类型及表达式
第4章 结构化程序设计
第5章 数组
第6章 函数与预处理
第7章 指针
第8章 结构体、共用体和枚举类型
第9章 位运算
第10章 文件
模拟测试
模拟测试一
模拟测试二
模拟测试三
第6章 函数与预处理
发布人:
陈裕雄
一、 选择题
1.以下正确的函数定义形式是( )。
A.double fun(int x, int y) 
B.double fun(int x ;int y) 
C.double fun(int x, int y);
D.double fun(int x,y);

2.在C语言中,以下说法不正确的是( )。 
A.实参可以是常量、变量或表达式
B.形参可以是常量、变量或表达式 
C.实参可以为任意类型 
D.形参应与其对应的实参类型一致

3.以下说法正确的是( )。
A.定义函数时,形参的类型说明可以放在函数体内 
B.return后边的值不能为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准 
D.如果形参与实参的类型不一致,以实参类型为准

4.C语言允许函数值类型缺省定义,此时该函数值默认的类型是(   )。
A.float型   
B.int型 
C.long型 
D.double型

5.C语言规定,函数返回值的类型是由( )。
A.return语句中的表达式类型所决定 
B.调用该函数时的主调函数类型所决定 
C.调用该函数时系统临时决定 
D.在定义该函数时所指定的函数类型所决定

6.以下错误的描述是( )。
函数调用可以:
A.出现在执行语句中  
B.出现在一个表达式中 
C.作为一个函数的实参
D.作为一个函数的形参

7.以下正确的描述是(  )。
在C语言程序中:
A.函数的定义可以嵌套,但函数的调用不可以嵌套  
B.函数的定义不可嵌套,但函数的调用可以嵌套   
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和调用均可以嵌套

8.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(  )。
A.extern  B.register  C.auto  D.static

9.若有以下宏定义:
#define N 2
#define Y(n) ((N+1)*n)
则执行语句Z=2*(N+Y(5));后结果是( )。
A.语句有误  B.Z=34  C.Z=70           D.Z无定值

10.在宏定义#define PI 3.14159中,用宏名PI代替一个( )。
A.常量  B.单精度数   C.双精度数   D.字符串

二 填空题
1.以下程序的运行结果是_____________。
#include "stdio.h"
void main()
{
  int I=2,x=5,j=7;
  fun(j,6);
  printf("I=%d;j=%d;x=%d\n",I,j,x);
}
fun(int I,int j)
{
  int x=7; 
  printf("I=%d;j=%d;x=%d\n",I,j,x);
}

2.以下程序的运行结果是____________。
#include "stdio.h"
void main()
{
  void increment();
  increment();
  increment();
  increment();
}
void increment()
{
  int x=0;
  x+=1; 
  printf("%d ",x);
}

3.以下程序的运行结果是_____________。
#include "stdio.h"
void main()
{
  int max(int x,int y);
  int a=1,b=2,c;
  c=max(a,b);
  printf("max is %d\n",c);
}
int max(int x,int y)
{
  int z; 
  z=(x>y)?x:y; 
  return(z);
}

4.以下程序的运行结果是_____________。
#include "stdio.h"
void main()
{
  void add(int x,int y, int z);
  int x=2,y=3,z=0;
  printf("(1)x=%d y=%d z=%d\n",x,y,z);
  add(x,y,z);
  printf("(3)x=%d y=%d z=%d\n",x,y,z);
}
void add(int x,int y, int z)
{ z=x+y; 
  x=x*x; 
  y=y*y;
  printf("(2)x=%d y=%d z=%d\n",x,y,z);
}

三、程序设计题
1.编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。要求:
(1) 编写一个函数prime(n),返回给定整数n是否为素数。
(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。

2.函数fun的功能是:统计各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。年龄为1到9的人数存到b[0]中,年龄为10到19的人数存到b[1],年龄为20到29的人数存到b[2], 年龄为30到39的人数存到b[3],年龄为40到49的人数存到b[4], 年龄为50岁以上的人数存到b[5]中。
例如,当a数组中的数据为:
9、18、27、38、59、33、14、75、38。
调用该函数后,b数组中存放的数据应是:
1、2、1、3、0、2。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include "stdio.h"
void fun(int a[], int b[], int n)
{





}
void main()

int i,a[100]={9,18,27,38,59,33,14,75,38},b[6]={0};
fun(a,b,9);
printf("The result is: ");
for (i=0; i<6;i++) 
printf("%d ",b[i]);
printf("\n");
}
 

Copyright©2012,All Rights Reserved
版权所有:广东南方职业学院计算机系 设计:陈裕雄