软件工程师software engineer笔试题

时间:2021-02-10 15:11:11 面试笔试 我要投稿

软件工程师software engineer笔试题

  选择题

软件工程师software engineer笔试题

  1:执行下列程序

  #define r 0.5

  #define areax r*x*x

  main

  {int a=1, b=2;

  printf ″%5。1f ″, areaa+b;

  }

  后输出的结果是

  执行下列程序

  #define r 0.5

  #define areax r*x*x

  main

  {int a=1, b=2;

  printf ″%5。1f ″, areaa+b;

  }

  后输出的结果是

  a.0.0

  b.0.5

  c.3.5

  d.4.5

  2:过程与函数中的形式参数种类有

  a.整型、实型,字符型,布尔型四种参数

  b.标准型,自定义型,构造型,指针型四种参数

  c.值参型,变量参数型,过程参数型和函数参数型四种

  d.无参型,变量参数型,过程参数型和函数参数型四种

  3:在c语言中,有值函数的数据类型是指

  a.函数形式参数的数据类型

  b.函数返回值的数据类型

  c.调用该函数时的实参的数据类型

  d.任意指定的数据类型

  4:设float a=2, b=4, c=3;,以下c语言表达式与代数式 (a+b)c计算结果不一致的是

  a.(a+b)*c/2

  b.(1/2)*(a+b)*c

  c.(a+b)*c*1/2

  d.c/2*(a+b)

  5:若定义了int a,x,y;,则下列语句中不正确的是

  a.x=3,y=5;

  b.++x;

  c.x=y+=x*30;

  d.a=y+x=30;

  6:对语句“ int a [ 10 ] ,*p=a; ”,下列表述中哪一个是正确的

  a.*p 被赋初值为 a 数组的首地址

  b.*p 被赋初值为数组元素 a [ 0 ]的地址

  c.p 被赋初值为数组元素 a [ 1 ]的地址

  d.p 被赋初值为数组元素 a [ 0 ]的地址

  7:正确的c语言用户自定义标识符是

  a.print

  b.float

  c.when

  d.random﹪2

  8:表达式 !x 等效于

  a.x1

  b.x0

  c.x!=1

  d.x!=0

  9:设有程序

  #include

  main()

  {

  int i,j;

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

  printf("%d ",i);

  }

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

  a.3

  b.2

  c.1

  d.0

  10:( ) 不是合法的 c 语句。

  a.{int j;j++;}

  b.{int j;j++;;}

  c.{int j;;j++;}

  d.{float j=0;j++;}

  11:设有以下程序段:int a=1, b=10, c=1, x; x=a&&b||++c;printf(″%d, %d ″,x,c);执行后输出的结果是

  a.0,0

  b.0,1

  c.1,0

  d.1,1

  12:设char ch,str[4],*strp;,则正确的赋值语句是

  a.ch=″mba″;

  b.str=″mba″;

  c.strp=″mba″;

  d.*strp=″mba″;

  13:设typedef char *point;point p,q[3],*r;,则p、q和r分别是字符型的

  a.变量、一维数组和指针变量

  b.变量、二维数组和指针变量

  c.指针变量、一维数组指针和二级指针变量

  d.指针变量、一维指针数组和二级指针变量

  14:设int x;,则以下语句中错误的输入是

  a.scanf (″%d″,x);

  b.scanf (″%d″,&x);

  c.scanf (″%o″,&x);

  d.scanf (″%x″,&x);

  15:下列不正确的转义字符是

  a.′\′

  b.′″

  c.′86′

  d.′′

  16:以下属于c语言保留字的是

  a.fopen

  b.include

  c.get

  d.unsigned

  17:下列错误的是

  a.char s[]=″china″;

  b.char s[10]={″china″};

  c.char s[10]; s=″china″;

  d.char s[10]={′c′, ′h′, ′i′,;′n′, ′a′};

  简答题

  18:字符串a是由n个小写英文字母(a ~ z)构成的,定义为char a[n]。你能用更少的`空间表示这个字符串吗?请写出从char a[n]到你的新的储存格式的转换函数。

  19:命令tail用来打印文件中最后n行。命令格式为:

  tail [-n] filename

  其中

  -n: n表示需要打印的行数,当省略此参数时,n的缺省值为10。

  filename: 给定文件名。

  例如,命令tail –20 example.txt表示打印文件example.txt的最后20行。

  请用c语言实现该程序,该程序应具有一定的错误处理能力,例如能处理非法命令参数和非法文件名。

  提示1:使用命令行参数;

  提示2:可以使用下面的c库函数:

  - int atoi(char *s)将数字串转换为相应整数;

  - fopen, fclose, printf, fprintf, exit;

  - fgets(char *s, int n, file *fp)从文件中读入一行;

  - void *malloc(unsigned size), free申请和释放内存;

  - strlen计算字符串长度;

  - strcpy将一个字符串拷贝到另一个字符串中。

  除此之外,不允许使用其它库函数。

  20:链表排序(从小到大)

  节点定义为:

  struct node{

  int nvalue;

  struct node* pnext;

  };

  最后一个节点的pnext = null.

  node* sortchain( node* phead );

  返回值:链表头

  21:何谓全局变量 ? 为什么它能用于函数数据传递 ?

  22:建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个学号,如果链表中的结点包括该学号,则输出该结点内容后,并将其结点删去。

  23:下面的代码有什么问题?

  char *_strdup( const char *strsource )

  {

  static char str[max_str_len];

  strcpy(str, strsource);

  return str;

  }

  24:在c++ 程序中调用被 c编译器编译后的函数,为什么要加 extern “c”声明?

  25:公元4046年,人类科学高度发达,绝大部分人都已经移居至浩瀚的宇宙,在上千颗可居住的星球上留下了人类的印记。然而,此时人类却分裂成了两个联盟:正义联盟和邪恶联盟。两个联盟之间仇恨难解,时有战争。

  现在,邪恶联盟通过不正当贸易积聚了大量宇宙财富。因此,正义联盟计划要破坏邪恶联盟的非法贸易网络,从而影响邪恶联盟的经济状况,为下一次战争作好准备。邪恶联盟由数百颗星球组成,贸易通过星球间的运输航道来完成。一条运输航道是双向的且仅连接两个星球,但两个星球之间可以有多条航道,也可能没有。两个星球之间只要有运输航道直接或间接的相连就可以进行贸易。正义联盟计划破坏邪恶联盟中的一些运输航道,使得邪恶联盟的星球分成两部分,任一部分的星球都不能与另一部分的星球进行贸易。但是为了节省破坏行动所需的开支,正义联盟希望破坏尽量少的运输航道来达成目标。请问正义联盟最少需要破坏多少条运输航道呢?

【软件工程师software engineer笔试题】相关文章:

软件工程师的面试囧事03-04

软件工程师面试英语自我介绍03-28

工程师面试笔试题03-19

求故事:软件工程师的面试囧事02-27

网络工程师面试笔试题03-09

软件工程师的职业生涯规划的小技巧03-13

关于软件工程师职业生涯规划书范文参考04-02

华为数据通信工程师面试笔试题03-11

2017笔试各题型答题技巧02-11

给学弟学妹的求职笔面试总结03-18