- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
第六章 函数与预处理
PAGE
PAGE 1
习题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
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=(xy)?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);
}
5.以下程序的运行结果是____________
#include stdio.h
void main()
{
void inc
文档评论(0)