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

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

  char *getStr(void){  char p[] = "hellow world";  return p;}void test(void){  char *str = NULL;  str = getStr();  printf(str);}

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

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分)下面的代码输出是什么?为什么?

void foo(void){  unsigned int a = 6;  int b = -20;  (a - b > 6) ? puts(">6") : puts("<=6");}

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

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

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

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

#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语言教程》

更多相关文章

  1. c语言指针用法有哪些
  2. C语言中的指针有什么作用
  3. c++引用和指针的区别是什么?
  4. golang不用指针可以吗
  5. golang中的map是指针吗
  6. golang 引用和指针的区别
  7. golang 什么时候使用指针
  8. golang指针传递和值传递的区别是什么?
  9. golang 指针怎么用

随机推荐

  1. android读取xml的代码实例
  2. Android平移动画xml配置代码展示
  3. java DOMParser 解析xml的实例详解
  4. java使用SAX解析xml的代码实例
  5. 用Java解析XML文件的代码示例
  6. 分享一个jscript与vbscript操作XML元素属
  7. dom4j解析xml文件代码示例
  8. 分享一个利用Ajax传递Xml文档的方法
  9. java通过XPath解析xml节点的代码详解
  10. 带你深入了解XML