读书笔记 一
来源:互联网 发布:深入浅出数据分析 pdf 编辑:程序博客网 时间:2024/06/04 17:53
C和C++程序员面试秘籍——董山海
前言
面试技术人员,不是看他有多深多尖端的技术,而是看他的基础是否扎实,是否有团队精神,是否具备可塑能力,是否有奉献精神,大企业缺少的不是技术人员,是综合素质人才。
技术基础决定上层建筑。
C/C++基本上是所有语言的基础,是学习的重中之重。
内容提要
C/C++程序基础、预处理、const、static与sizeof,引用和指针,字符串,位运算与嵌入式编程,C++面向对象,C++继承和多态,数据结构,排序,泛型编程,STL,算法和逻辑思维。
第一章 C/C++程序基础
你在求职时,公司会询问你的项目经验,例如你做过什么类型的项目,担任的是何种角色,以及做项目时如何与人他人沟通,等等。除此之外,当然还要考查你的编程能力。这里包括你的编程风格,以及你对于赋值语句、递增语句、类型转换、数据交换等程序设计基本概念的理解。
C++域操作符
#include <stdio.h>int value = 0;void PrintValue() { printf("value = %d\n", value);}int main(void) { int value = 0; value = 1; printf("value = %d\n", value); ::value = 2; PrintValue(); return 0;}//运行结果value = 1value = 2Press any key to continue
选择编程风格良好的条件比较语句
A. 假设布尔变量名字为flag,它与零值比较的标准if语句如下。
//第一种:if (flag == TRUE);if (flag == FALSE);//第二种if (flag)if (!flag)
B. 假设整形变量的名字为value,它与零值比较的标准if语句
//第一种if (value == 0)if (value != 0)//第二种if (value)if (!value)
C. 假设浮点变量的名字为x,它与0,0的比较如下。
//第一种if (x == 0.0)if (x != 0.0)//第二种if ( (x >= ERSINON) && (x <= ERSINON) )if ( (x < -ERSINON) && (x > ERSINON) )////其中,ERSINON是允许的误差(精度)
D. 指针变量p与0的比较
//第一种if (p == NULL)if (p != NULL)//第二种if (p == 0)if (p != 0)
不使用任何中间变量交换a、b的方法
//利用加减a = a + b;b = a - b;a = a - b;//利用位运算中的异或a = a^b;b = a^b;a = a^b;
//Test.cpp#include <stdio.h>void SwapByOperation(int a, int b) { printf("Begin:%d %d\n", a, b); a = a + b; b = a - b; a = a - b; printf("End:%d %d\n", a, b);}void SwapByBit(int a, int b) { printf("Begin:%d %d\n", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("End:%d %d\n", a, b);}int main(void) { int a = 1; int b = 2; SwapByOperation(a, b); SwapByBit(a, b); return 0;}
C++ 和 C有什么不同
C是结构化语言,它的重点在于算法和数据结构。对语言本身而言,C是C++的子集。C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理,得到输出。对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够配合对应的问题,这样就可以通过获取对象的状态信息得到输出和实现过程控制。
因此,C与C++的最大区别在于,它们用于解决问题的思想方法不一样。
C实现了C++中过程化控制及其他相关功能。而在C++中的
C,相对于原来的C还有所加强,引入重载、内联函数、异常处理等。C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等。
在C++中,不仅需要考虑数据封装,还需要考虑对象粒度的选择、对象接口的设计和继承、组合与继承的使用等问题。
相对于C,C++包含了更丰富的设计概念。
extern “C”
- 告诉编译器,其声明的函数和变量可以在本模块或其他模块中使用。
- 被它修饰的目标是”C”的,意思是其修饰的变量和函数是按照C语言方法编译和链接的。
- 读书笔记 一
- 读书笔记(一)
- 读书笔记(一)
- 读书笔记一
- 读书笔记(一)
- 读书笔记一
- 读书笔记 一
- 读书笔记一
- 人月神话读书笔记(一)
- TIJ读书笔记(一)
- 《重构》读书笔记(一)
- 《深入浅出MFC读书笔记一》
- struts读书笔记一 (9.27)
- Spring读书笔记(一)
- [测试]读书笔记(一)
- ajax读书笔记(一)
- 设计模式读书笔记(一)
- C++Primer读书笔记(一)
- RTP-RTCP协议分析
- hpuoj搬砖难题
- ZOJ 2315 New Year Bonus Grant(贪心)
- SSL2293 暗黑游戏(dp)
- POJ 1789 Truck History(构造最小生成树)
- 读书笔记 一
- bzoj 2594 LCT+离线处理+Kruscal
- 经典matlab调用库相关资料
- 博客更新规划
- 块储存、对象存储、文件存储的区别和联系
- Chinese Girls' Amusement
- 数据库操作
- C++类中静态成员简单使用
- 【SDOI2017】数字表格