当前位置:高考升学网 > 招聘笔试题 > 正文

软通动力C语言笔试题和面试题答案目(二)

更新:2023-09-17 09:51:27 高考升学网

  11、写出下列代码的输出内容

  #include

  int inc(int a)

  {

  return(++a);

  }

  int multi(inta,intb,intc)

  {

  return(c=ab);

  }

  typedef int(FUNC1)(int in);

  typedef int(FUNC2) (int,int,int);

  void show(FUNC2 fun,int arg1, intarg2)

  {

  INCp= &inc;

  int temp =p(arg1);

  fun( &temp,&arg1, arg2);

  printf( "%d\n ",arg2);

  }

  main()

  {

  int a;

  show(multi,10, &a);

  return 0;

  }

  答:110

  11、请找出下面代码中的所以错误

  说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

  1、#include "string.h "

  2、main()

  3、{

  4、charsrc= "hello,world ";

  5、char dest=NULL;

  6、int len=strlen(src);

  7、dest=(char)malloc(len);

  8、char d=dest;

  9、char s=src[len];

  10、while(len--!=0)

  11、d++=s--;

  12、printf( "%s ",dest);

  13、return 0;

  14、}

  答:

  方法1:

  int main()

  {

  char src = "hello,world ";

  int len = strlen(src);

  char dest = (char)malloc(len+1);//要为\0分配一个空间

  char d = dest;

  char s = &src[len-1];//指向最后一个字符

  while( len-- != 0 )

  d++=s--;

  d = 0;//尾部要加\0

  printf( "%s\n ",dest);

  free(dest);// 使用完,应当释放空间,以免造成内存汇泄露

  return 0;

  }

  方法2:

  #include

  #include

  main()

  {

  char str[]= "hello,world ";

  int len=strlen(str);

  char t;

  for(int i=0; i     {

  t=str[i];

  str[i]=str[len-i-1]; str[len-i-1]=t;

  }

  printf( "%s ",str);

  return 0;

  }

  12。对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

  答案:c用宏定义,c++用inline

  13。软件测试都有那些种类?

  答案:黑盒:针对系统功能的测试 白合:测试函数功能,各函数接口

  14。确定模块的功能和模块的接口是在软件设计的那个队段完成的?

  答案:概要设计阶段

  15。enum string

  {

  x1,

  x2,

  x3=10,

  x4,

  x5,

  }x;

  问x;

  答案:取值在0。1。10。11。12中的一个

  16。unsigned char p1;

  unsigned long p2;

  p1=(unsigned char )0x801000;

  p2=(unsigned long )0x810000;

  请问p1+5= ;

  p2+5= ;

  答案:801005; 810014。不要忘记了这个是16进制的数字,p2要加20变为16进制就是14

  选择题:

  1.Ethternet链接到Internet用到以下那个协议?

  A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

  2.属于网络层协议的是:

  A.TCP;B.IP;C.ICMP;D.X.25

  3.Windows消息调度机制是:

  A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;

  答案:b,a,c

  二找错题:

  1.请问下面程序有什么错误?

  int a[60][250][1000],i,j,k;

  for(k=0;k<=1000;k++)

  for(j=0;j<250;j++)

  for(i=0;i<60;i++)

  a[i][j][k]=0;

  答案:把循环语句内外换一下

  2。以下是求一个数的平方的程序,请找出错误:

  #define SQUARE(a) ((a)(a))

  int a=5;

  int b;

  b=SQUARE(a++);

  答案:这个没有问题,s(a++),就是((a++)×(a++))唯一要注意的就是计算后a=7了

最新图文

2020年河北新闻网两学一做

时间:2023-09-18 07:0:24

2020年河北新闻网两学一做

时间:2023-09-15 11:0:59

两学一做学习教育知

时间:2023-09-21 06:0:30

2020年开展两学一做学习教

时间:2023-09-19 21:0:30