(以下是题主参加的一家偏向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分)请列举四种位运算符,并说明它们一般用于什么地方。

部分参考答案:

C语言开发面试题的更多相关文章

  1. 100个iOS开发面试题汇总-王刚韧的技术博客

    100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...

  2. 前端开发面试题总结之——JAVASCRIPT(一)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  3. 前端开发面试题总结之——HTML

    ______________________________________________________________________________________________ 相关知识点 ...

  4. 前端开发面试题总结之——CSS3

    ____________________________________________________________________________________________ 相关知识点 布 ...

  5. 100个iOS开发面试题汇总

    100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...

  6. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  7. [转]linux C/C++服务器后台开发面试题总结

    linux C/C++服务器后台开发面试题总结  https://www.cnblogs.com/nancymake/p/6516933.html 一.编程语言 1.根据熟悉的语言,谈谈两种语言的区别 ...

  8. 前端开发面试题-JavaScript(转载)

    本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...

  9. C/C++嵌入式开发面试题

    C/C++嵌入式开发面试题 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEA ...

随机推荐

  1. python 解析nginx 日志 url

    >>> import os>>> os.chdir('e:/')>>> log=open('access.log')//这两行是获取日志流> ...

  2. Spring Boot 构建 WAR和JAR 文件

    原文:https://github.com/x113773/testall/issues/3 ## JAR文件方式一:1. 修改[pom.xml](https://github.com/x113773 ...

  3. Binder的工作原理浅析

    在Android开发中,Binder主要用于Service中,包括AIDL和Messenger,其中Messenger的底层实现就是AIDL,所以我们这里通过AIDL来分析一下Binder的工作机制. ...

  4. win 结束占用端口的进程

    在web开发的时候,经常开启http服务器监听某个端口,例如npm run dev等等 以下介绍通过命令行结束占用端口的程序(注:测试环境为win10) 1.启动命令行 2.在命令行输入 netsta ...

  5. css画三角形,梯形

    (根据调节边框的宽度来调节三角形形状) <!DOCTYPE html> <html> <head> <meta http-equiv="Conten ...

  6. [图形学] Chp8.4 OpenGL 二维观察函数——视口

    这节有几个显示窗口的控制函数,可以调整视口,创建子窗口,最小化为图标,设置图标名称,隐藏显示等. gluOrtho2D (xwmin, xwmax, ywmin, ywmax); // 定义二维裁剪窗 ...

  7. LRU算法总结

    LRU算法总结 无论是哪一层次的缓存都面临一个同样的问题:当容量有限的缓存的空闲空间全部用完后,又有新的内容需要添加进缓存时,如何挑选并舍弃原有的部分内容,从而腾出空间放入这些新的内容.解决这个问题的 ...

  8. 教你如何取消GCD任务

    GCD 是一种非常方便的使用多线程的方式.通过使用 GCD,我们可以在确保尽量简单的语法的前提下进行灵活的多线程编程.在 "复杂必死" 的多线程编程中,保持简单就是避免错误的金科玉 ...

  9. 从零搭建DotnetCore2.0

    右键解决方案>新建项目> 选择Web>ASP.NETCoreWeb应用程序(.NET Core) 选择Web应用程序,暂时不选择启用Docker,身份验证选择个人用户账户(会自动生成 ...

  10. 理解Linux文件系统之inode

    很少转发别人的文章,但是这篇写的太好了. 理解inode   作者: 阮一峰 inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础. 我觉得,理解inode,不仅有助于提高系统 ...