C语言程序设计试题及答案解析(二)
C语言程序设计试题及答案 第8章 函 数 一、选择题 若调用一个函数,且此函数中没有RERUrn语句,则关于该函数正确的说法是:( ) 没有返回值 返回若干个系统默认值 能返回一个用户所希望的函数值 返回一个不确定的值 答案:D 在c语言中以下不正确的说法是:( ) 实参可以是常量、变量、或表达式 形参可以是常量、变量或表达式 实参可以为任意类型 形参应与其对应的实参类型一致 答案:B 以下程序有语法性错误,有关错误原因的正确说法是:( ) main() { int G=5,k; void prt_char(); …… k=prt_char(G); …… } 语句void prt_char();有错,它是函数调用语句,不能用void说明 变量名不能使用大写字母 函数说明和函数调用语句之间有矛盾 函数名不能使用下划线 答案:C 以下正确的说法是:( ) 函数的定义可以嵌套,但函数的调用不可以嵌套 函数的定义不可以嵌套,但函数的调用可嵌套 函数的定义和调用均不可以嵌套 函数的定义和调用均可以嵌套 答案:B 若使用一个数组名作函数实参,则以下正确的说法是:( ) 必须在主调函数中说明此数组的大小 实参数组类型与形参数组类型可以不匹配 在被调用函数中,不需要考虑形参数组的大小 实参数组名与形参数组名必须一致 答案:A 在一个函数内部定义的变量是:( ) A、 简单变量 B、 局部变量 C、 全局变量 D、 标准变量 答案:B 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( ) A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 答案:D 已定义以下函数 fun(int*p) { return *p; } 该函数的返回值是:( ) A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值 答案:C 以下所列的各函数首部中,正确的是:( ) A、 void play(var :Integer,var b:Integer) B、 void play(int a,b) C、 void play(int a,int b) D、 Sub play(a as integer,b as integer) 答案:C 当调用函数时,实参是一个数组名,则向函数传送的是:( ) A、 数组的长度 B、 数组的首地址 C、 数组每一个元素的地址 D、 数组每个元素中的值 答案:B 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:( ) A、 地址传递 B、 单向值传递 C、 由实参传给形参,再由形参传回实参 D、 传递方式由用户指定 答案:B 以下函数值的类型是:( ) fun ( float x ) { float y; y= 3*x-4; return y; } A、 int B、 不确定 C、 void D、 float 答案:A 下列函数的功能是:( ) int fun1(chat* x) { char *y=x; while(*y++); return(y-x-1); } A)求字符串的长度 B、比较两个字符串的大小 C、将字符串X复制到字符串Y D、将字符串X连接到字符串Y后面 答案:A 下面程序的输出结果是:( ) void prty(int * x) { printf(“%d\n“,++*x);} main() { int a=25; prtv( } A、23 B、24 C、25 D、26 答案:D 以下对C语言函数的有关描述中,正确的是:( ) A、只能把实参的值传送给形参,形参的值不能传送给实参 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中所有函数都可以嵌套调用 答案:A 以下叙述中不正确的是:( ) A)在C中,函数体中定义的动态变量可以赋初值,每调用一次,赋一次初值. B、 在C中,函数体中定义的静态变量可以赋初值,每调用一次,赋一次初值. C、 在C中,局部变量的隐含类别是自动存储类别. D)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容. 答案:B 以下叙述中不正确的是:( ) 在不同的函数中可以使用相同名字的变量 函数中的形式参数是局部变量 在一个函数内定义的变量只在本函数范围内有效 D)在一个函数内的复合语句中定义的变量在本函数范围内有效 答案:D 有以下程序 void fun (int a,int b,int c) { a=456; b=567; c=678;} main() { int x=10, y=20,z=30; fun (x,y,z); printf(“%d,/%d,%d\n“,x,y,z); } 输出结果是:( ) A、30,20,10 B、10,20,30 C、456,567,678 D、678,567,456 答案:B 有以下程序 ( ) int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; } main() { int a, b, c, d; a=30; b=50; fun(a,b, printf(“%d,%d\n“, c, d); } 输出结果是:( ) A、50,30 B、30,J50 C、80,-20 D、80,20 答案:C 下列程序执行后的输出结果是 ( )。 void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func( printf(“%d \n”,b[0]); } A、 6 B、 7 C、 8 D、 9 答案:A 一个完整的可运行的C源程序中,( )。 A、 可以有一个或多个函数 B、 必须有且仅有一个主函数 C、