【单选题】在下列关于C函数定义的叙述中,正确的是?A、函数可以嵌套定义,但不可以嵌套调用;B、函数不可以嵌套定义,但可以嵌套调用;C、函数不可以嵌套定义,也不可以嵌套调用;D、函数可以嵌套定义,也可以嵌套调用;我的答案:B得分:2.5分2【单选题】下面函数调用语句含有实参的个数为?n c((expl z exp2)z(exp3z exp4A exp5));A、B、D、5我的答案:B得分:2.5分3【单选题】c语言中函数返回值的类型是由以下哪个选项决定的?A、函数定义时指定的类型;B、return语句中的表达式类型;C、调用该两数时的实参的数据类型;D、形参的数据类型;我的答案:A得分:2.5分4【单选题】以下关于函数叙述屮,错误的是?A、两数未被调用时,系统将不为形参分配内存单元;B、实参与形参的个数必须相等,TL实参与形参的类型必须对应一致;C、当形参是变量时,实参可以是常量、变量或表达式;D、如两数调用时,实参与形参都为变:S,则这两个变量不可能共亨同一内存空间; 我的答案:B得分:2.5分5【单选题】若函数调用时参数为基本数据类型的变量,以下叙述正确的是?A、实参与菇对应的形参共享内存存储单元;B、只有当实参与菇对应的形参同名时才共享内存存储单元;C、实参与对应的形参分别占用不同的内存存储单元;实参将数据传递给形参后,立即释放原先占用的内存存储单元;我的答案:C得分:2.5分6【单选题】函数调用时,实参和形参都是简单变量,它们之间数据传递的过程描述正确的是?A、实参将地址传递给形参,并释放原先占用的存储单元;B、实参将地址传递给形参,调用结束时形参再将此地址回传给实参;C、实参将值传递给形参,调用结束时形参再将其值回传给实参;D、实参将值传递给形参,调用结束时形参并不将其值回传给实参;我的答案:D得分:2.5分7【单选题】若用数组名作为函数调用的实参,则传递给形参的是?A、数组第一个元索的地址;数组的第一个元素的值;C、数组中所有元素的值;D、数组元素的个数;我的答案:A得分:2.5分8【单选题】C语言规定了程序中各函数之I'可调用关系,以下说法正确的是?既允许直接递归调用也允许间接递归调用;B、不允许直接递归调用也不允许间接递归调用;C 允许直接递归调用不允许间接递归调用;D、不允许直接递归调用允许间接递归调用;我的答案:A得分:2.5分9【单选题】递归函数f(n)=f(n-l)+n (n>l)的递归体是?A、f(l)=OB、c.f(n)=f(n-l)+nD.f(n)=n我的答案:C得分:2.5分10【单选题】若函数的形参为一维数组,则下列说法中正确的是()O A、使用畅数时的对应实参必为数组名。
B、形参数组可以不指定大小。
C、形参数组的元素个数必须等于实参数组的元素个数。
D、形参数组的元素个数必须多于实参数组的元素个数。
我的答案:B得分:2.5分【单选题】在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则O oA、为畅数的直接递归调用B、称为换数的间接递归调用C、为换数的循环调用D、C语言中不允许这样的递归调用我的答案:B得分:2.5分12【单选题】有以下函数定义:void fun(int n,double x) { ........ }下选项中的变量都己正确定义并赋值,则对函数fun的正确调用语句是()。
A、fun(int y,double m);B、fun(x, n);D.void fun(n,x);我的答案:C得分:2.5分13【单选题】己有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为_________ oint a[3][4];f(a);A、f(int array[][6])B、f(int array[3][])C、f(int array[][4])D、我的答案:C得分:2.5分14【单选题】若程序中定义函数float fadd(float a, float b){return a+b;}并将其放在调用语句之后,则在调用之前应对该函数进行说明。
以下说明中错误的是?A、float fadd(float a, b);B、float fadd(float b, float a);C、float fadd(float, float);我的答案:A得分:2.5分D、float fadd(float a, float b);【单选题】下而程序段运行后的输出结果是?(假设程序运行时输入5, 3回车) int a, b; void swap(){int t;t=a;a=b;b=t;}void main(){int a,b;scanf(”%d,%d;&a, &b);swap();printf (H a=%d z b=%d\n",a z b);}A、a二5, b二3B、a二3, b二5C、5,3D、3,5我的答案:A得分:2.5分16【单选题】以下程序运行后的输出结果是? int fun (int x, int y){if(x>y)return x;elsereturn y;}void main(){int x=3,y=8,z=6z r;r=fun(fun(x,y),2*z); printf(n%d\n n z r);A、C、8D、12我的答案:D得分:2.5分17【单选题】下列程序的输出结果是()0 #include "stdio.h"void fun(int a,int b,int c) {c = a * b;}int main(){int c;fun(2z3z c);printf(u%d\n n z c);return 0;B、1C、6D、无法确定我的答案:D得分:2.5分18【单选题】有以下程序,运行后的输出结果是()。
#include<stdio.h>float fun(int x, int y){return(x+y);}void main(){int a=2,b=5,c=8;printf(u%3.0f\n,,z fun((int)fun(a+c, b), a-c));A、编译出错B、9C、21D、9.0我的答案:A得分:0.0分19【单选题】以下描述正确的是?A、调用函数时的实参只能是有确定值的变就;B、return()语句的括号屮,可以是变量、常量或有确定值的表达式;C、C语言屮,函数调用时实参和形参间的参数传递方式不都是值传递;实参和形参若类型不匹配,编译时将报错;我的答案:B得分:2.5分20【单选题】己有以下代码#include<stdio.h>int a=6z b=3;int main(){int a=8;printf("%d\n",(a>b?a:b)); }则程序的输出结果是()?A、3B、6C、D、我的答案:C得分:2.5分21【单选题】己有以下代码#include<stdio.h>f(){static int x = 1;x ・=1;printf(n%d;\ x);}int main(){int i;for (i = 0; i<4; i++) f();return 0;}则程序的输出是:O ?A、1, 2,3,4B、0,123,D、-1,-2,-3,-4,我的答案:C得分:2.5分22【单选题】C语言程序的基本单位是?A、函数B、过程C、子程序D、源程序文件我的答案:A得分:2.5分23【单选题】以下说法中正确的是?A、C语言程序总是从第一个定义的函数开始执行;B、C语言程序中,要调用的函数必须在main()函数中定义;C、总是从main()函数开始执行;D、main()函数必须放在程序的开始部分;我的答案:C得分:2.5分24【单选题】在函数调用时,以下说法正确的是?A、两数调用后必须带回返回值;B、实际参数和形式参数可以同名;C、函数间的数据传递不可以使用全局变量;D、主调畅数和被调函数总是在同一个文件里;我的答案:B得分:2.5分25【填空题】下面程序段运行后的输出结果是:_____________________(假设程序运行时输入5, 3冋车) void swap( int a, int b)int t;t=a;a=b;b=t;}void main(){int a,b;scanf("%d,%d",&a z &b);swap(a,b );printf ("a=%d,b=%d\n"z a,b);}我的答案:得分:0.0分第一空:a=3,b=5批语26【填空题】以下程序的功能是用递归方法计算工资,己知第一位员工工资最少,为3100元,其余员工工资一个比一个多500元,求第5位员工的工资。
请填空。
salary(int n){int s:if (n==l)s=3100;elses=salary(n-l)+500:return s:}void main (){int n=5;printf (''sarary: %d\n z,z______ );}我的答案:得分:2.5分第一空:salary(5)批语27【填空题】分析以下程序的运行结果是______________#include ''stdio.h"func(int a ,int b){int c;c=a+b;return c;}int main(){int x=6,y z r;y=x+2;r=fu nc(x++,y);printf(H%d %d %d\n",x,y,r); return 0; }我的答案:得分:2.5分第一空:7 8 14批语28【填空题】有如下程序long fib(int n){if(n>2)return(fib(n-l)+fib(n-2)): elsereturn 2;}int main(){printf(n%d\n", fib(3)):}该程序的输出结果是________________ 。
我的答案:得分:2.5分第一空:4批语29【填空题】以下程序的输出结果是______________ Of(int b[], int m, intn){inti, s=0;for(i=m; i<n; i=i+2)s=s+b[i];returns;}int main(){int x, a[]={l, 2, 3, 4, 5, 6, 7, 8, 9};x=f(a, 3, 7);printf(H%d\n", x);}我的答案:得分:2.5分第一空:10批语30【填空题】以下程序的输出结果是__________ 。