面试题-甚佳

2023-12-16 11:43:24

上海甚佳面试题

1.以下正确的说法是(?)

A、用户若需要调用标准函数,调用前必须重新定义

B、用户可以重新定义标准函数,若如此,该函数将失去原有含义

C、系统根本不允许用户重新定义标准库函数

D、用户若需调用标准库函数,调用前不必使用预编译指令将函数所在文件包括到用户源文件中,系统自动去调

2.以下正确的函数声明形式是( )

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)

3.以下正确的函数形式是( )

A、double fun(int x,int y){z = x + y;return z;}

B、fun(int z,y){int z;return z;}

C、fun(x,y){int x,double z; z=x+y;return z;}

D、double fun(int x,int y){double z; z=x+y;return z;}

4.在C语言中,以下正确的说法是( )

A、实参和与其对应的形参各占用独立的存储单元

B、实参和与其对应的形参共占用一个存储单元

C、只有当实参和与其对应的形参同名是才共占用存储单元

D、形参是虚拟的,不占用存储单元;

5.若调用一个函数,且此函数中没有return语句,则正确的说法是( )

A、没有返回值

B、返回若干个系统默认值

C、能返回 一个用户所希望的函数值

D、返回一个不确定的值

6、C语言规定中,以下不正确的说法是( )

A、实参可以是常量、变量、表达式

B、形参可以是常量、变量、表达式

C、实参可以是任意类型

D、形参应与其对应的实参类型一致

`

7.以下正确的说法是( )

A、定义函数时,形参的类型说明可以放在函数体内

B、return后边的值不能为表达式

C、如果函数值的类型与返回值类型不一致,以函数值类型为准

D、如果形参和实参的类型不一致,以实参类型为主

8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )

A、地址传递

B、单向值传递//实参传给形参,函数之间值的传递是单向传递

C、由实参传给形参,再有形参传回给实参

D、由用户指定传递方式

9.以下程序有语法性错误,有关错误的原因的正确说法是( )

void main( )

{

int G = 5,k;

void prt_char();

k=prt_char(G);

}

A、语句 void prt_char();有错,它是函数调用语句,不能用void说明

B、变量名不能使用大写字母

C、函数说明和函数调用之间有矛盾

D、函数名不能使用下划线

10、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )

A、float型

B、int型

C、long型

D、double型

11、C语言规定中,函数返回值的类型是由( )

A、return语句中的表达式类型所决定

B、调用该函数时的主调函数类型所决定

C、调用该函数时系统临时决定

D、在定义该函数时所指定的函数类型所决定

12.下面函数调用语句含有实参的个数为()

func((exp1,exp2),(exp3,exp4,exp5));

A、1

B、2

C、3

D、4

13.以下错误的描述是( )

函数调用可以

A、出现在执行语句中

B、出现在一个表达式中

C、做为一个函数的实参

D、作为一个函数的形参

14.以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y) + (z+y)/(z-y)的值,请选择填空①( )②( )

#include <stdio.h>

#include <math.h>

void main()

{

float x,y,z,sum;

scanf("%f,%f,%f",&x,&y,&z);

sum=f(①) + f(②);

printf("sum = %f\n",sum);

}

float f(float a,float b)

{

float value;

value = a/b;

return(value);

}

①A、x-y,x+y

?B、x+y,x-y

?C、z+y,z-y

?D、z-y,z+y

②A、x-y,x+y

?B、x+y,x-y

?C、z+y,z-y

?D、z-y,z+y

15.在C语言中,以下正确的描述是( )

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用均不可以嵌套

D、函数的定义和函数的调用均可以嵌套

16.关于static全局变量与普通的全局变量,以下说法正确的是( )

A、两者都是静态的存储方式

B、两者都是动态的存储方式

C、两者都是作用域相同

D、static全局变量的作用范围在限于一个源文件内,普通全局变量是在几个源文件中,两者都不能在整个源程序中使用

17.局部变量能否和全局变量重名,以下说法正确的是( )

A、不可以,编译时会报错

B、可以,局部变量只能一次和全局变量重名

C、可以,局部变量的作用域只从它被定义代码开始

D、可以,只能在一个文件内多次定义同名全局变量和局部变量

18.int a =5,b=7,c;c=a+++b;左边运行完成后,a,b,c的结果是( )

A、a=5,b=7,c=12B、a=6,b=7,c=13

C、a=6,b=7,c=12

D、a=5,b=7,c=13

19.以下语句中,错误语句是( )

A、int a[5];a[0]=1;a[5]=3;a[2]=a[0];a[3]=a[0];a[4]=a[5];

B、unsigned char a;unsigned char b;if(a!=0){b=1}

C、unsigned char a;unsigned char b;if(a=0){b=1}

D、unsigned char *a;unsigned char b;a=&b;*a=1;

20.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是型,C语言规定,函数返回值的类型是由所决定( )

A、float型,return语句中的表达式类型

B、int型,在定义该函数时所指定的函数类型

C、long型,调用该函数时的主调函数类型

D、double型,调用该函数时系统临时决定

21、以下有效的程序段是( )

#define TEST_MODE_1

#define TEST_MODE_2 ON

#ifndef TEST_MODE

#if 1

(程序段A)

#endif

#ifdef TEST_MODE_1

(程序段B)

#endif

#ifdef TEST_MODE_2 == ON

(程序段C)

#else

(程序段D)

#endif

#endif

22.下面add函数的功能是求两个参数的和,并将和值返回调用函数

函数中错误的部分是(?),改正后为( )

void add(float a,float b)

{

float c;

c=a+b;

return c;

}

23.以下程序的运行结果是()

int max(int x,int y)

{

int z;

z=(x>y)?x:y;

return(z);

}

void main()

{

int a=1,b=2,c;

c=max(a,b);

printf("max is %d\n",c);

}

24.数字位颠倒

输入一个数字,从个数开始输出

例如:输入123,输出321

? ??输入120,输出21

```

文章来源:https://blog.csdn.net/xuesama/article/details/135030164
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。