范文无忧网面试笔试笔试回答

东南融通的笔试题

06月28日 编辑 fanwen51.com

[东南三菱汽车笔试总结]哈哈,东南三菱汽车,远远望见了大展厅,终于顺利到达了。看见了平日经常可见的类似别克轿车之类的展厅,我欣喜若狂,真是不负有心人啊。不过此时离面试只有三分钟了,我不得不飞箭如奔...+阅读

最新东南融通的笔试题

(一)

一、

int main()

{

char *a=Hello;

char *b=world\n;

strcpy(a,b);

printf(%s,%s,a,b);

}

程序运行的结果是什么?

解析:这道题看上去很简单,第一想到的就是strcpy的地址越界问题,所以认为结果可能是

world

world

或者是运行错误,因为出现了地址越界,对于越界后的地址我们并不知道存的是什么,有可能是很重要的内容。

第二想到的是\n在结果中怎么输出呢,这个问题考虑的多余,\\n才是输出\n,而\n直接以回车形式输出。

第三真正上机运行会发现,即使地址不发生越界,运行也会错误,仔细分析原因,得出如下结论

char *a=Hello;

其中的Hello是字符串常量,存放在常量存储区(具体存放在内存什么位置,还有待于验证),但有一点是肯定的,常量是不允许修改的。

改正:char a[6]=Hello;

或者是char *a=(char *)malloc(sizeof(char)*6);

strcpy(a,Hello);

二、下面这道题很简单,但刚看到时也思考了一会儿,考虑怎么做会更好一些呢

输入16进制数,编写程序将其以10进制数形式输出

代码:已经上机运行通过,只要输入的16进制数合法,就能输出正确结果,如果有不对的地方,还希望明白的朋友给予指正

#include

int convert(char *p){

int i=0;

int sum=0;

while(p[i]!=\0){

if(p[i]=0p[i]=9)

sum=sum*16+p[i]-0;

else

sum=sum*16+p[i]-55;

i++;

} while

return sum;

} convert

int main()

{

char a[4];

gets(a);

printf(16进制 %s 转换为 10进制 %d\n,a,convert(a));

return 0;

}

最新东南融通的笔试题

(二)

1:下列运算符中,优先级最高的是

A.[]

B.++

C.%

D.

2:以只读方式打开文本文件 a: \ aa.dat, 下列语句中哪一个是正确的

A.fp=fopen( a: \ aa.dat , ab )

B.fp=fopen( a: \ aa.dat , a )

C.fp=fopen( a: \ aa.dat , wb )

D.fp=fopen( a: \ aa.dat , r )

3:设 int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是

A.a[2]

B.(a+1)

C.a[5]

D.p

4:C语言中计算a的3次方,正确的表达是

A.a^3

B.pow(a,3)

C.a**3

D.power(a,3)

5:c语言对文件的操作提供了提供了若于个标准库函数,其中对格式化读函数fscanf的函数调用正确格式是

A.fscanf(文件指针,格式控制字符串,输入项表);

B.fscanf(格式控制字符串,输入项表,文件指针);

C.fscanf(格式控制字符串,文件指针,输入项表);

D.fscanf(文件指针,输入项表,格式控制字符串);

6:对于while语句,错误的说法是

A.用条件控制循环体的执行次数

B.循环体至少要执行一次

C.循环体有可能一次也不执行

D.循环体中可以包含若干条语句

7:设有程序

#include

main()

{

int i,j;

for (i=0,j=1;i =j+1;i+=2,j--)

printf(%d\n,i);

}

在运行上述程序时,for语句中循环体的执行次数是

A.3

B.2

C.1

D.0

8:main()

{ int x=1,y=1;

y=x-- ;

printf( %d,%d\n ,x,y);

}运行结果为

A.0 , 0

B.0 , 1

C.1 , 0

D.1 , 1

9:函数调用语句 f((e1,e2),(e3,e4,e5)) 中参数的个数是

A.1

B.2

C.3

D.5

10:执行语句 for(d=0;d!=60; d+=0.6) s+=d; 时,

A.循环在 d 等于 60 时终止

B.循环在 d 大于 60 时终止

C.循环在 d 小于 60 时终止

D.循环在 d 大于 60 后继续

11:使用语句scanf(a=%f, b=%f, a, b);输入变量a、b的值(□代表空格),正确的是

A.1.25,2.4

B.1.25□2.4

C.a=1.25, b=2.4

D.a=1.25□b=2.4

12:全局变量的存储类型可以定义为

A.auto或static

B.extern或register

C.auto或extern

D.extern或static

13:调用函数时,若实参是一个数组名,则向函数对应的形参传送的是

A.数组的长度

B.数组的首地址

C.数组第一个元素的值

D.整个数组元素的值

延伸阅读:

东南融通笔试题目以下本站给大家分享的是关于东南融通常见的笔试题目,希望对大家的笔试有帮助。 1:下列运算符中,优先级最高的是 A.[] B.++ C.% D. 2:以只读方式打开文本文件 a: \ aa.dat, 下...

东南融通集团笔试题目一份由本站笔试网介绍的集团笔试题目 对于while语句,错误的说法是 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若...

东南融通笔试试题1:设 int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是 A.a[2] B.(a+1) C.a[5] D.p 2:C语言中计算a的3次方,正确的表达是 A.a^3 B.pow(a,3) C.a**3 D.power(a,3) 3:下列运...

推荐阅读
图文推荐
栏目列表