学习c语言的第一篇博客,心里的感觉说不出来,不知道能不能坚持下去,我是一名工作了差不多2年的phper,其实我本来是想学习数据结构和算法的,但是尼玛这年头那些书的例子都不是php,动不动就是c,java之类的,根本看不懂,这两年里边好几次碰到这个问题,我都回避了,现在又碰到了,决定开始学习c,其实我自己心里也没底,能不能学坚持的学下去,这几天公司没什么事情,比较清闲,今天就开始学了;

介绍一下我学习的情况,今天是第一天(刚开始):

书籍:C.Primer.Plus(第5版)中文版 (本人英文不太行,选择了中文版)

系统:linux (虚拟机,里面是centos 7.1)

看了第五版的第一章 橄览,说实话我看的有点似懂非懂,我最不喜欢记那些发展史了,那些个外国牛人的名字我是一个没记住,汗颜。。。。

下面是第一章的笔记(好记性不如烂笔头):

一、使用c语言的理由:

  设计的特性:强大的控制结构、快速、紧凑的代码(体积更小)、可移植

  强大、灵活

  基本设计原则:避免不必要的成分(只有需要的时候才引入-简洁,高效)

二、使用c语言的7个步骤(逐级往上)

  定义程序目标、设计程序、编写代码、编译源文件、运行可执行文件、测试和调试程序、维护和修改程序

三、编译的机制

  1.机制:

  

  这里边有几个重要的东西:

    1>.目标代码文件:将源代码转换成机器语言代码,将转换的结果放到一个目标代码文件

    2>.启动代码:目标代码文件里面缺少了启动代码(start_up code)的东西,启动代码相当于程序与操作系统之间的接口

    3>.库代码:几乎所有c程序都利用标准c库中锁包含的例程(函数)

    4>.链接器的作用:将目标代码文件、启动代码、库代码结合在一起产生可执行文件

    5>.编译器:将源代码转换成机器语言代码  

  2.编译过程(linux上面使用gcc编译c源文件,也可以指定生成的可执行文件gcc test.c -o test产生的可执行文件就是test,默认是a.out

  

四、语言标准

  ANSI/ISO C标准  C90  C99

博客里面的图片或者一些内容引用至 C.Primer.Plus(第5版)中文版

兴趣+坚持+努力 = 成功

开始学习c语言的更多相关文章

  1. 我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗

    文章背景,回答提问:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗? 我的建议是这样:1. 不要辞职.首先说,你对整个开发没有一个简单的了解,或一个系统的入门学习.换句 ...

  2. 学习C语言感悟

     还记得刚上第一节C语言课的时候,基本上一节课只有最后10分钟的内容听懂了.在此之前从没接触过C语言,想说看看书预习一下吧,可是完全找不到条理,发现老师也不是按书上的顺序讲的.当时就特别着急,想说难道 ...

  3. 学习Nim语言.rar(nim语言中文教程下载)

    学习Nim语言 nim 语法上类似python ,是一门静态编译型语言,nim 使用空格缩进标示语句块的开始和结束, 喜欢python风格的程序员应该也会很容易适应和喜欢nim的风格. nim语言官方 ...

  4. 学习C语言常用的几个网站

    今天整理资料,发现了以前学习C语言时,常用到的几个网站: 1.http://ganquan.info/standard-c/   改网站包含了C语言标准版的15个头文件解释以及函数,137个函数和演示 ...

  5. 对大一新生开始学习C语言课程谈几点看法

    大家好,首先祝贺大家进入了大学,迈入了大学的校门,也意味着开始了新的征程,希望大家能够有一个美好的大学四年. 先做下自我介绍,我叫李帅阳,(大家可以称呼我 李老师,或是班助,或是...)这是在邹欣老师 ...

  6. 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)

    前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...

  7. 新学习的语言Groovy

    什么是 Groovy? Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同.在编写新应用 ...

  8. 转:从开源项目学习 C 语言基本的编码规则

    从开源项目学习 C 语言基本的编码规则 每个项目都有自己的风格指南:一组有关怎样为那个项目编码约定.一些经理选择基本的编码规则,另一些经理则更偏好非常高级的规则,对许多项目而言则没有特定的编码规则,项 ...

  9. 漫谈C语言及如何学习C语言

    抄自:http://my.oschina.net/apeng/blog/137911 目录:[ - ] 为什么要学习C语言? C语言学习方法 1,参考书籍 2,动手实验环境搭建 3,网络资源 附录 一 ...

随机推荐

  1. ios 模拟器内部网络连接问题

    今日,一运行程序,打印出来头疼的的日志 "Error Domain=kCFErrorDomainCFNetwork Code=-1001 "The request timed ou ...

  2. 【转】Oracle索引列NULL值引发执行计划该表的测试示例

    有时开发进行表结构设计,对表字段是否为空过于随意,出现诸如id1=id2,如果允许字段为空,因为Oracle中空值并不等于空值,有可能得到意料之外的结果.除此之外,最关键的是,NULL会影响oracl ...

  3. CS: Marshalling and Unmarshalling, Serialization and Unserialization

    Link1: https://en.wikipedia.org/wiki/Marshalling_(computer_science) Quote: " Comparison with se ...

  4. 【原】iOS学习之UIStoryboardSegue解析

    在 Storyboard 的可视化编程中,跳转界面就是按住 Ctrl 使用鼠标头一条连线就可以解决,相当的简单!本篇博客主要就是介绍这条连线,在iOS中,这条连线也是一个对象,也有其自己的初始化方法和 ...

  5. 创建WSDL项目

    WSDL文件是测试基于soap的服务,他们定义实际暴露服务和要求SoapUI生成测试,要求信息,验证和MockServices. SoapUI支持最广泛使用的1.1版本的WSDL和SOAP 1.1和1 ...

  6. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  7. cookie小析

    cookie用于存储数据,当用户访问了某个网站(网页)时,我们就可以通过cookie来向访问者电脑上存储数据1.不同的浏览器存放的cookie位置不同,也不能通用2.cookie的存储是以域名的形式进 ...

  8. EasyUI 页面分页

    DAO package com.hanqi.dao; import java.util.ArrayList; import java.util.List; import org.hibernate.S ...

  9. vim基本命令

    vim基本命令     1.vim#在命令行中输入vim,进入vim编辑器2.i#按一下i键,下端显示 --INSERT--#插入命令,在vim中可能任意字符都有作用3.Esc#退出i(插入)命令进行 ...

  10. Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318/UITableView.m:10772

    Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3 ...