15道C语言开发面试题(原题分享)


本文摘自PHP中文网,作者青灯夜游,侵删。

以下是题主参加的一家偏向Linux平台开发的公司软件岗位笔试题,分享原题,后面附上题主91分的部分参考答案^V^)

一、(8分)请问一下程序输出什么结果?

1

2

3

4

5

6

7

8

9

10

11

  char *getStr(void)

{

  char p[] = "hellow world";

  return p;

}

void test(void)

{

  char *str = NULL;

  str = getStr();

  printf(str);

}

二、(5分)test2函数有问题吗,如果有,请支出问题出在什么地方并给出正确答案。

1

2

3

4

5

6

7

8

9

10

void test2()

{

  char string[10], str[10];

  int i;

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

  {

    str[i] = 'a';

  }

  strcpy(string, str);

}

三、(5分)用预处理指令#define 声明一个常数,用以表明一年中有多少秒。(忽略闰年问题)

四、(5分)写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

五、(8分)你怎么样用C编写死循环呢?

六、(10分)用变量a给出下面的定义:

1、一个整型数;

2、一个指向整型数的指针;

3、一个指向指针的指针,它指向的指针是指向一个整型数;

4、一个有10个整型数的数组;

5、一个有10个指针的数组,该指针是指向一个整型数的;

6、一个指向有10个整型数数组的指针;

7、一个指向函数的指针,该函数有一个整型数参数并返回一个整数;

8、一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;

七、(5分)关键字static的作用是什么?

八、(10分)关键字const有什么含意?

下面的声明都是什么意思?

1)const int a;

2)int const a;

3)const int *a;

4)int *const a;

5)int const *a const;

九、(5分)下面的代码输出是什么?为什么?

1

2

3

4

5

6

void foo(void)

{

  unsigned int a = 6;

  int b = -20;

  (a - b > 6) ? puts(">6") : puts("<=6");

}

十、(5分)动态分配内存可能发生的问题是什么?

十一、(5分)volatile这个关键字的作用是什么?

十二、(8分)进程之间进行通信的方式有几种,它们分别是什么?

十三、(8分)请写出下面的程序的输出结果:

1

2

3

4

5

6

7

8

9

10

#include<stdio.h>

int main()

{

  int a = 10, b, c, d;

  b = a++;

  c = ++a;

  d = 10 * (++a);

  printf(" b : %d , c:%d, d :%d ", b , c, d);

  return 0;

}

十四、(5分)进程和线程的区别是什么?

十五、(8分)请列举四种位运算符,并说明它们一般用于什么地方。

部分参考答案:

1.jpg

2.jpg

推荐:《c语言教程》

以上就是15道C语言开发面试题(原题分享)的详细内容!

相关阅读 >>

C语言怎么输入3个数输出最大值

C语言中合法的字符常量如何定义?

C语言的标识符允许使用关键字吗?

C语言中取地址运算符是什么?

C语言逗号运算符用法是什么?

C语言fun函数有什么作用

C语言中用于实现循环结构的三种基本语句是什么

三分钟带你了解选择排序和冒泡排序的用法

C语言函数返回值类型由什么决定?

C语言计算阶乘累加和

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...