东南融通的笔试题

时间:2022-10-11 14:08:36 笔试题目 我要投稿
  • 相关推荐

东南融通的笔试题

  最新东南融通的笔试题(一)

东南融通的笔试题

  一、

  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]>='0'&&p[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.整个数组元素的值

  14:若变量已正确定义并且指针p已经指向变量x, 则*&x相当于

  A.x

  B.p

  C.&x

  D.&*p

  15:编译程序的功能是

  A.将汇编语言程序转换为目标程序

  B.将汇编语言程序转换为高级语言程序

  C.将高级语言程序转换为目标程序

  D.将高级语言程序转换为汇编语言程序

  简答题

  16:Write a program to count blanks, tabs, and newlines.

  17:硬盘上保存有一个密码表,文本文件格式,文件名为“code.txt”,内容如下:

  abcdefghijklmnopqrstuvwxyz

  ushecginpaywdqmlxbozrtfvjk

  试编写程序实现一个简单的加密程序,循环读取用户输入,按此密码表将字符进行替换,

  并直接打印输出;例如“baidu”将被替换成“super”。

  18:int a[3];

  a[0]=0; a[1]=1; a[2]=2;

  int *p, *q;

  p=a;

  q=&a[2];

  则a[q-p]=?

  19:下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。

  __interrupt double compute_area (double radius)

  {

  double area = PI * radius * radius;

  printf(" Area = %f", area);

  return area;

  }

  20:程序填空

  把文本文件 d1.dat 复制到文本文件 d2.dat 中,要求仅复制 d1.dat 中的英文字符。

  #include

  void main()

  { _______ char ch;

  fpd1=fopen( ″ d1.dat ″ , ″ r ″ );_______

  while(fscanf(fpd1, ″ %c ″ ,&ch)_______)

  if(_______||ch>= ′ a ′ &&ch <= ′ z ′ )fprintf(fpd2, ″ %c ″ ,ch);

  fclose(fpd1);fclose(fpd2);

  }

  21:在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。

  22:请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。

  23:C/C++源代码中,检查花括弧“(”与 “)”,“{”与“}”)是否匹配,若不匹配,则输出不匹配花括弧所在的行与列。

【东南融通的笔试题】相关文章:

东南融通面经11-29

迅雷2011.10.21笔试题08-10

中兴2015笔试题08-02

笔经:加强型试题07-22

海尔04年笔试题及答案07-31

银行2014笔试题目及经验分享03-16

网宿科技研发类2011笔试题07-18

广州本田(Honda)09年笔试题目12-11

阿里巴巴非技术类笔经及试题08-13

交通银行2014笔试题题目分享08-10