C语言问题观:

  一、环境搭建问题:linux,(可以是w10下linux子系统);vim(notepad++),gcc编译器,gdb调试器,make自动编译工具,ddd分析工具和valgrind分析工具

  二、输入输出问题:输出函数和输入函数

  三、条件选择问题:if……else或switch……case或if语句块

  四、重复操作问题:for语句块、do……while语句块、while语句块

  五、批量数据问题:数组或字符串

  六、操作封装问题:函数的实现

  七、内存管理问题:内存分配与释放

  八、文件操作问题:文件的读取与写入

  九、结构数据问题:

  计算机硬件:处理器(运算器和控制器)、存储器、I/O系统和总线系统

  C语言要素:标识符、变量、复合类型、自定义类型、运算符、格式(注释、空白、分块)、语句、函数、库

  复合类型:数组、结构、联合、枚举、字符串、指针

  C语言分析:自顶向下,功能不停细分、流程图、伪码、实现

  C语言设计:自下而上,语句、函数、接口、库等

  

  计算机技术是个人成长路上很重要的一门科学,关乎大学能否顺利毕业,影响工作的范围,甚至在很多职业中也是以计算机为工作基础。主要有以下三种思维方式:

  1、以观察和总结自然规律为特征的实证思维(以物理学科为代表)。

  2、以推理和演绎为特征的推理思维(以数学学科为代表)。

  3、以设计和构造为特征的计算思维(以计算机学科为代表)。

  其中计算思维包括三个步骤:理论、设计和实现三个方面。

C语言学习的五各层次:

一、C语言入门

  1、硬件系统:内存和寄存器还有I/O系统、指针是硬件和软件的桥梁

  2、开发环境:OS(Linux)、编辑器(VIM)、编译器(GCC)、调试器(GDB)、自动编译工具(make)、调试工具ddd和valgrind

  3、开发步骤:编辑源码、编译、链接和执行

  4、代码规范:标识符、注释、空白字符、空行、空格、tab键、逻辑块

  5、关键字:C语言有32各关键字

  6、内存管理:内存分配和内存释放

  7、文档和库:内置库和man文档

二、C语言基础

  0、数据及类型:数值和数据、基本类型

  1、变量:类型、数据和地址;自定义类型(typedef)

  2、运算符:基本的和自定义、位运算

  3、语言单位:语句,语句块、逻辑块

  4、结构控制:分支控制和循环控制、条件控制

  5、数组和字符串、指针

  6、预处理和宏定义

  7、流程图和函数

  8、复合类型:结构体、联合体和枚举类型、其他类型(变量、数组、字符串、指针、函数、结构体、联合体、枚举类型、自定义类型)和指针的结合

  9、结构体中的特殊:内存对齐和位操作

  10、指针的特殊:函数指针、数组指针、结构体与指针、常量与指针、指针与硬件等

  11、文件操作

三、算法:

  1、查找:

  2、排序

  3、递归

四、C语言高级

  1、接口:头文件与实现文件的定义及实现

  2、多线程:

  3、网络:

  4、自动编译make

  5、程序调试和分析gdb和valgrind

  6、程序测试

五、C语言专家:

  1、神样的编辑器vim

  2、防御性编程

  3、打包库文件

  4、重构代码

  5、代码同步git使用

六、C数据结构:

  1、线性表

  2、栈和队列

  3、数和二叉树

  4、图

C语言问答九问的更多相关文章

  1. 《12个有趣的C语言问答》(4)

    C语言面试问答——<12个有趣的C语言问答>评析(4) 前文链接:http://www.cnblogs.com/pmer/p/3324063.html 8,Making changes i ...

  2. 12个有趣的C语言问答(详解)

    本文参照博文<12个有趣的C语言问答>,在原文的基础上增加来对应的知识点的详细介绍. 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? #include <st ...

  3. Java语言基础(九)

    Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...

  4. Swift语言指南(九)--基本运算符

    原文:Swift语言指南(九)--基本运算符 运算符(operator)是用来检查,改变或合并值的一种特殊符号或短语.例如,加号运算符让两个数字相加(如:let i = 1 + 2),还有些更复杂的运 ...

  5. 《12个有趣的C语言问答》评析2

    <12个有趣的C语言问答>评析(2) 前文链接:http://www.cnblogs.com/pmer/p/3313913.html (没存盘,遭遇过热保护.至少4个问答的评论白写了.默哀 ...

  6. C语言实现九大排序算法

    C语言实现九大排序算法 直接插入排序 折半插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序 C语言实现九大排序算法 直接插入排序 将数组分为两个部分,一个是有序部分,一 ...

  7. [No000060]冷读热读:读书九问

    兵无常势,水无常形,读书亦无法.彼之砒霜,我之佳肴.然读书无法却有道.你我都是使用同一颗大脑在读书.这颗大脑受制于那千千万万年以来,星辰起落,狩猎采集,演化大道. Q1:读物如何分级? 坏书.可用的书 ...

  8. 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)

    前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262.html A,局部变量的返回地址 Q:下面的代码有问题吗?如果有,如何修改? # ...

  9. 羽夏闲谈—— C 语言入门之问

    前言   最近加入了一个QQ频道,有很多想学C的纯小白.为什么这么说呢?因为他们会问一些环境用啥?为啥我配置不行?看了教程配置环境我也不会,咋配置?为啥这里代码这里有错误?啥语言好不好?诸如此类的问题 ...

随机推荐

  1. webAPI中“System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义解决办法

    webAPI中“System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义 今天从 运行 WebAPI 工程的代码 ...

  2. Eclipse 反编译工具 jad

    ** 1 下载 jad工具 ** 2 将.exe文件放在jdk安装路径下,里面有java ,javac 等命令,然后将jad.jar放在eclipse的dropins目录下 ** 3 启动eclips ...

  3. 最快得到MYSQL两个表的差集

    Mysql里不外乎就是 子查询 和 连接 两种方式. 设第一个表为table1, 第二个为table2, table1包含table2. sql为: //子查询 select table1.id fr ...

  4. SOAP-1概述

    简单对象访问协议 SOAP(简单对象访问协议)一般指简单对象访问协议 简单对象访问协议是交换数据的一种协议规范,是一种轻量的.简单的.基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WE ...

  5. 【python】python 自动发邮件

    一.一般发邮件的方法 Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. 注意到构造MIMETEXT对象时,第一个参数就是邮件正文,第 ...

  6. 猫眼 top_100 爬取 ___只完成了第一页

    # python 3.7 from urllib.request import Request,urlopen import time,re,csv class Maoyan(object): def ...

  7. Service Broker 消息队列的方式实现数据同步

    SQL Server 2008中SQL应用系列--目录索引 导读:本文主要涉及Service Broker的基本概念及建立一个Service Broker应用程序的基本步骤. 一.前言: Servic ...

  8. 通过字节码分析Java方法的静态分派与动态分派机制

    在上一次[https://www.cnblogs.com/webor2006/p/9723289.html]中已经对Java方法的静态分派在字节码中的表现了,也就是方法重载其实是一种静态分派的体现,这 ...

  9. ASP.NET Uploadify 上传文件过大报错

    Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:&l ...

  10. 2.webpack最基本的使用方式

    什么是webpack? webpack是前端的一个项目构建工具,它是基于Node.js开发出来的一个前端工具: webpack安装的两种方式 1.运行 'npm i webpack -g' 全局安装w ...