资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
习 题 内容答 案一、在以下每一题的四个选项中,请选择一个正确的答案。1、以下对C语言函数的有关描述中,正确的是。A、在C语言中调用函数时,只能把实参的值转送给形参,形参的值不能转送给实参。B、C函数既可以嵌套定义,又可以递归调用。C、函数必须有返回值,否则不能使用函数。D、C程序中有调用关系的所有函数必须放在同一个源程序文件中。2、函数调用语句“f(e1,e2),(e3,e4,e5);”中参数的个数是。A、1B、2C、4D、53、将一个函数说明为static后,该函数将。A、既能被同一源文件中的函数调用,也能被其他源文件中的函数调用。B、只能被同一源文件中的函数调用,不能被其他源文件中的函数调用。C、只能被其他源文件中的函数调用,不能被同一源文件中的函数调用。D、既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用。4、C语言中规定函数的返回值的类型由。A、return语句中的表达式类型所决定。B、调用该函数时的主调用函数类型所决定。C、调用该函数时系统临时决定。D、在定义该函数时所指定的函数类型所决定。5、以下正确的说法是。A、定义函数时,形参的类型说明可以放在函数体内。B、return后边的值不能为表达式。C、如果函数值的类型与返回值类型不一致,以函数值类型为准。D、如果形参与实参的类型不一致,以实参类型为准。6、下列存储类标识符中,的可见性与存在性不一致。A、外部类B、自动类C、内部静态类D、寄存器类7、以下不正确的说法是。1、A2、B3、B4、D5、C6、C7、D习 题 内容答 案A、在不同函数中可以使用相同名字的变量。B、形参是局部变量。C、在函数内定义的变量只在本函数范围内有效。D、在函数内的复合语句中定义的变量在本函数范围内有效。8、以下叙述中正确的是。A、用#include包含的头文件的后缀不可以是“.a”。B、在对某个含有错误的头文件进行修改后,包含此头文件的源程序不必重新进行编译。C、宏名必须用大写字母表示。D、宏替换不占用运行时间。9、有一个如下定义的函数func(a) printf(“%d”,a); 则该函数的返回值的类型是。A、与参数a的类型相同。B、void类型C、没有返回值D、无法确定10、以下错误的描述为。A、在函数之外定义的变量称为外部变量,外部变量是全局变量。B、在一个函数中既可以使用本函数中的局部变量a,又可以使用同名的外部变量a。C、外部变量定义和外部变量说明的含义不同。D、若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。二、判断下列各叙述的正确性。11、( )全局变量与函数体内定义的局部变量重名时,全局变量优先。12、( )C程序中,有调用关系的所有函数必须放在同一个源程序文件中,13、( )对于不需要使用函数返回值的函数,可以不定义类型。14、( )C程序文件中每个函数都将被本文件调用。15、( )一个函数可以定义在别的函数的内部,即嵌套定义。16、( )返回值为int或char类型时,函数声明可以缺省。8、A9、B10、B11、12、13、14、15、16、习 题 内容答 案17、( )在C语言中允许函数之间的嵌套调用。18、( )局部静态变量是在编译时赋初值的,即只赋初值一次。19、( )外部变量必须定义在文件的开头部分。20、( )函数的形参在退出该函数后就被释放了。三、填空。21、C语言程序的基本组成单位是 。22、C语言程序总是从 开始执行。23、当函数的返回值与函数值类型不一致时,就会发生 。24、凡在函数中未指定存储类别的变量,其隐含的存储类别为 。25、静态型局部变量的作用域是 。26、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是 。27、若定义的函数没有返回值时,则应在该函数说明时加一个类型说明符 。28、在C语言中,一个函数直接或间接地调用自身,便构成了函数的 。29、函数的形式参数的作用域为 30、如果被调用的用户函数和主调函数不在同一编译单位,则在定义函数的编译单位中应将该函数定义成 ,在主调函数的函数中将该函数说明为 。四、阅读下面的程序,写出程序运行结果。31、#include “stdio.h” void f1(int s) int i,j=3; for(i=1;i=100)17、18、19、20、21、函数22、主函数23、类型转换24、auto25、该函数的函数体内26、单向的值传递27、void28、递归调用29、从调用该函数后开始直到返回主调函数前结束 。30、externextern31、s=20习 题 内容答 案 break; printf(“s=%dn”,s);main( ) int s=10; f1(s);32、#include “stdio.h” main( ) int i=0,a=10; void s( ); while(i3) +a;printf(“%d,”,a+);s( );i+; void f1(int s) int z=300; z+; printf(“%dn”,z+);33、#include “stdio.h” int func(int x,int y) int z; z=x+y;32、11,30113,30115,30133、61322习 题 内容答 案 return z+;main( ) int i=3,j=2,k=1; do k+=func(i,j); printf(“%dn”,k); i+; j+; while(i=5);34、#include “stdio.h” #define N 5 void fun( ); main( ) int i; for(i=1;iN;i+) fun( );void fun( ) static int a; int b=2; printf(“(%d,%d)n”,a+=3,a+b);五、程序填空,请在下面程序空白处填入合适的语句。35、下面的运行结果是输出如下图形,请填空。34、(3,2)(6,5)(9,8)(12,11)习 题 内容答 案* * *#include “stdio.h”void disp(int i) int j,k; for(j=0;j=8-i;j+) printf(“ “); for(k=0;k ;k+) printf(“*”); ;main( ) int i; for(i=0;i4;i+) ;36、下面是一个计算阶乘的程序,请填空。#include “stdio.h”double factorial(int);main( ) int n; printf(“Enter an integer:”); scanf(“%d”,&n); printf(“n%d!=%lgn”, , );double factorial(int i)35、2*i-1printf(“n”)disp(i)36、nfactoria(n)return result习 题 内容答 案 double result=1.0; int j; for(j=1;j=i;j+) result*=j; ;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号