C语言开发面试题
(以下是题主参加的一家偏向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语言开发面试题的更多相关文章
- 100个iOS开发面试题汇总-王刚韧的技术博客
100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题总结之——HTML
______________________________________________________________________________________________ 相关知识点 ...
- 前端开发面试题总结之——CSS3
____________________________________________________________________________________________ 相关知识点 布 ...
- 100个iOS开发面试题汇总
100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
##2017.10.30收集 面试技巧 5.1 面试形式 1) 一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2) 面试官喜欢什么样的人 ü 技术好. ...
- [转]linux C/C++服务器后台开发面试题总结
linux C/C++服务器后台开发面试题总结 https://www.cnblogs.com/nancymake/p/6516933.html 一.编程语言 1.根据熟悉的语言,谈谈两种语言的区别 ...
- 前端开发面试题-JavaScript(转载)
本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...
- C/C++嵌入式开发面试题
C/C++嵌入式开发面试题 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEA ...
随机推荐
- 深入理解 JavaScript 事件循环(二)— task and microtask
引言 microtask 这一名词是 JS 中比较新的概念,几乎所有人都是在学习 ES6 的 Promise 时才接触这一新概念,我也不例外.当我刚开始学习 Promise 的时候,对其中回调函数的执 ...
- Qlik报表开发见解
因为项目需要,最近去做了Qlik Sense报表开发,学习了Qlik报表的开发方法和一些基础的开发模式,以下是我对Qlik报表开发的一些见解,个人水平有限,欢迎大神指导. 1.Qlik Sense的函 ...
- [USACO08JAN]手机网络Cell Phone Network
[USACO08JAN]手机网络Cell Phone Network 题目描述 Farmer John has decided to give each of his cows a cell phon ...
- Java 基础 变量介绍
变量的声明和使用 概念: 变量是指内存中的一个存储区域,该区域要有自己的名称(变量名).类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值: 变量的使用注意事项: Java中的变量必须 ...
- phpstrom识别phalcon框架模板文件的配置
- JAVAEE学习笔记
以后创建常量有三个名字:Constant SystemParas StaticValue 上限或者下限命名 max_ min_ 包含的范围命名 first l ...
- 第三章(jQuery中的DOM操作)
3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...
- Swift开发常用知识点
#pragma mark - as/类型转换as? / as! 需要根据前面的返回值决定 有?证明可选,可能为空:需要弱解包 没有?证明一定有值:大胆解包 as? 前面的结果是可选的 if let / ...
- linux 常用 掌握要点
1.查看正在执行的进程(Process) ps命令 Process Status 进程状态 语法: ps [option] [--help] -A 列出所有的行程 -w 显示加宽可以显示较多的 ...
- python编程快速上手之第6章实践项目参考答案
#!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','o ...