答案: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(\
main()
{ int a=25; prtv(&a); }
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(\
}
输出结果是:( )
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,&c,&d);
printf(\ }
输出结果是:( )
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(&a,b); printf(“%d \\n”,b[0]); }
A、 6 B、 7 C、 8 答案:A
一个完整的可运行的C源程序中,( )。 A、 可以有一个或多个函数 B、 必须有且仅有一个主函数 C、 可以没有主函数
D、 必须有主函数和其他函数 答案:B
下述函数定义形式正确的是( )。 A、 int f(int x; int y) B、 int f(int x,y)
C、 int f(int x, int y)
D、 int f(x,y: int)
答案:C
关于函数参数,说法正确的是( )。
A、 实参与其对应的形参各自占用独立的内存单元 B、 实参与其对应的形参共同占用一个内存单元
C、 只有当实参和形参同名时才占用同一个内存单元 D、 形参是虚拟的,不占用内存单元 答案:A
一个函数的返回值由( )确定。 A、 return语句中的表达式 B、 调用函数的类型 C、 系统默认的类型
D、 被调用函数的类型
答案:D
以下叙述中正确的是( )。
A、 C语言程序总是从第一个定义的函数开始执行
B、 在C语言程序中,要调用的函数必须在main()函数中定义 C、 C语言程序总是从main()函数开始执行
D、 C语言程序中的main()函数必须放在程序的开始部分 答案:C
D、 9 以下函数
fff(float x) { printf(“%d\\n”,x*x); }
的类型是( )。
A、 与参数x的类型相同 C、 int类型 答案:C
B、 void类型
D、 无法确定
以下对C语言函数的描述中,正确的是( )。 A、 C程序由一个或一个以上的函数组成 B、 C函数既可以嵌套定义又可以递归调用
C、 函数必须有返回值,否则不能使用函数
D、 C程序中调用关系的所有函数必须放在同一个程序文件中 答案:A
以下叙述中不正确的是( )。
A、 在C语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、 在C的函数中,最好使用全局变量
C、 在C语言中,形式参数只是局限于所在函数 D、 在C语言中,函数名的存储类别为外部 答案:B
在一个源文件中定义的外部变量的作用域为( )。 A、 本文件的全部范围 B、 本程序的全部范围 C、 本函数的全部范围
D、 定义该变量的位置开始至本文件结束 答案:B 有以下函数调用语句:
func((exp1,exp2),(exp3,exp4,exp5)); 其中含有的实参个数和是( )。 A、 1 B、 2 答案:B
C、 4
D、 5
C语言中形参的默认存储类别是( )。 A、 自动(auto) B、 静态(static) C、 寄存器(register) 答案:A A、 double fun(int x,int y) { z=x+y; return z; } B、 fun(int x,y) { int z; return z; } C、 fun(x,y)
{ int x,y; double z; z=x+y; return z; } D、 double fun(int x,int y)
D、 外部(extern)
以下正确的函数形式是( )。
{ double z; z=x+y; return z; } 答案:D
在一个源程序文件中定义的全局变量的有效范围为( )。 A、 一个C程序的所有源程序文件 B、 该源程序文件的全部范围
C、 从定义处开始到该源程序文件结束 D、 函数内全部范围
答案:C
下列函数中,能够从键盘上获得一个字符数据的函数是( )。 A、 puts( ) B、 putchar( ) C、 getchar( )
答案:C
以下程序的输出结果是( )。 fun(int a,int b,int c) { c=a+b;
}
main() { int c; fun(2,3,c);
printf(“%d\\n”,c);
}
A、 2 B、 3
C、 5
答案:D
分析以下程序的运行结果( )。 func(int a,int b) { int temp=a; a=b; b=temp;
}
main() { int x,y;
x=10; y=20;
func(x,y);
printf((“%d,%d\\n”,x,y); }
A、 10,20 B、 10,10
C、 20,10
答案:A 下面程序的输出是( )。
fun(int x) {
static int a=3; a+=x;
D、 gets( )
D、D、 20,20
无定值