c/c++面试指导---c语法总结
任何一门学科或者专业在学习的过程中都要把握总结框架,大家在面试c/c++职位过程中要应对各种企业的面试,回答企业面试官的各种技术问题。如何应对各种各样的关于c/c++的企业面试题目,从各种繁杂的题目中抽象出公共的规律,根据长期以来教授《c/c++就业指导》课程的经验对如何应对c/c++职位的面试做了以下几个方面的总结,
主要分为:c语言整体总结、c项目工程开发过程、c函数的总结、c指针总结一、c指针总结二、c++面向对象总结1、c++面向对象总结2、c/c++项目中技术点总结、如何写好简历。
c语言整体总结:
程序设计语言的主要目的是对输入的数据进行加工处理,利用计算机高效的特性完成项目所要求的功能。如何学好c语言,听过多数的大学生反应c语言不好学,有一定的难度,指针学不懂,代码编写起来没有思路。《c语言程序设计》这本书究竟要告诉我们什么,作者想要我们学会什么,可能多数人的回答是学习c语言的各种语法规则,学习一门语言重要的是学习语法规则。例如学习如何定义变量、如何定义数组、如何赋值和引用数据...,但是我们好像语法很熟悉的情况下依然不知道如何编写程序,如何应对企业面试的编程题目。《c语言程序设计》这本书表面上确实说了很多语法的事情,每一个章节都在讲语法,多数的代课老师也在不断的强调语法,但实质上这么厚的教材中通过各种案例告诉我们编程的方法、编程是思维,就是程序世界中所说的算法。所有企业在面试过程中都在重点考核学员编程思想,查看求职者是否具有程序员基础的编程思维,c语言这本教材力图通过案例循序渐进的培养读者的编程思想,使读者具有一定的编程能力。接下来我从两个方面对《c语言程序设计》进行总结:分别是语法方面和算法方面
语法方面总结:
程序是用来处理数据,从语法角度讲《c语言程序设计》这本书围绕数据和处理数据展开。首先讲解程序设计的概念,程序开发过程经过编辑、编译、链接、运行和调试阶段,明白程序设计的概念之后,开始学习如何编写程序解决问题。
讲解数据部分分为以下五个方面:
1、数据类型、常量、变量和表达式。对现实的数据进行了分类,现实世界中的数据如何存储到计算机,引出了常量和变量的概念和作用,变量是在计算机中存储数据的单元空间。计算机处理数据之前保证描述现实问题的数据进入到计算机中,通过构建各种表达式对数据进行运算。
2、数组。研究计算机中如何存取多个数据,申请一片连续的空间,能够同时容纳类型相同的多个数据引入一维数组,同时存储多个分类的数据引入二维数组。基于数组构建处理多个数据的程序或软件。
3、链表。链表和数组解决的问题是一致,用来处理多个相同类型的数据。数组必须占用连续的存储空间而且大小固定,处理数据方面会造成空间的浪费或者空间不足的情况,链表则没有此方面的限制。链表上的插入和删除操作比起数组上进行相同的操作效率要高,但是数组上查询操作效率高于链表。
4、结构体。能够*构建各种数据类型,用户根据需要可以构建各种新的数据类型,计算机可以描述现实世界的各种事物,因此c语言可以编写出处理各种数据的程序。结构体数组和链表成为项目组织数据的基本形式。
5、文件编程。存入计算机内存中的数据,在软件退出空间释放前应该将数据保存到硬盘上,使数据能够长久存储。软件下一次打开时可以从硬盘读取数据到内存中所以引入了文件编程技术。
讲解数据处理的部分分为五个部分:
1、顺序结构。所有的程序都是顺序结构,一个程序或者软件是按照顺序的思维进行设计,选择和循环仅出现在局部。整个程序的结构一定是顺序结构。
2、选择结构。根据软件的需求需要对数据进行选择性的处理,引入选择结构,分为单一选择、二选一和多选一三种结构。
3、循环结构。在某些情况下需要对数据进行多次循环加工和处理才能得到正确的结果引入循环结构。程序员的主要任务就是为了实现软件的功能,将程序设计为顺序结构,其中包含了选择结构和循环结构。
4、函数。程序模块化的好方法,也是负责软件简单化的形式。c语言是一个函数式的语言,函数是组成c程序最基本的单位。
5、指针。主要用来解决函数之间的数据“传递”,主函数如何传递多个数据给子函数,子函数如何将多个数据返回个主函数,c语言引入指针解决这个问题。同时通过指针可以灵活的申请和释放空间,有效利用内存空间。
所以《c语言程序设计》书的内容安排就有了基本的思路,第一章:程序设计的基本概念;告知读者程序开发的流程和基本步骤。第二章:顺序结构,常量、变量和表达式;了解程序设计的一般方法、步骤和流程。第三章:选择结构;第四章:循环结构;以上两章告知程序设计两种典型结构,程序员的生活就是顺序中套了选择结构和循环结构;第五章:引入存储多个数据的数组;第六章:引入模块程序的方法函数;为了解决函数之间多个数据的“传递”第七章中引入了指针,使函数的功能变得比较强大;为了编写软件描述现实世界中数据类型第八章引入结构体,是编写真实软件的基础;由于数组的局限性第九章中引入和数组具有相同功能的链表;至此c语言具备编写一款软件的所有语法。第十章也就是最后一章研究数据存储的方法:文件编程,利用标准文件操作函数进行数据保存和读取。这就是《c语言程序设计》这本书安排章节的思路,希望大家从全局的观点把握c语言程序设计,理解各个技术点的作用和意义,为后续的软件开发打下坚实的基础,同时为应对企业面试做好积极准备工作。