一、c语言概述
1.为什么学习c语言?
(1)c的起源和发展
第一代语言:机器语言 1101
第二代语言:汇编语言 add ax,bx;
第三代语言:高级语言 a+b;
结构化:c fortran basic(子语言vb) pascal(用于教学)
缺陷:结果化语言数据和操作是分离的
/*1980年分界限*/
面向对象:c++(最重要) java c#(和java差不多,微软开发)
---------------------------------------------
贝尔实验室(B语言,c语言)
Unix系统第一版是用B语言写的,最后用c语言改写了
大型系统一般是Unix系统
---------------------------------------------
(2)c的特点
优点:代码量小,速度快,功能强大
系统分为三大类:windows(c,c++) , linux(c) , unix(c) 都是用c写的
操作系统是直接控制硬件的,c语言可以访问硬件(里面有指针)
缺点:危险性高,开发周期长,可移植性不强。
(3)应用领域
系统软件开发
驱动程序(c,汇编)
(4)c的重要性
计算机语言最基础最重要的语言
----------------------------------------------
蠕虫病毒:
CHI:破坏硬件
----------------------------------------------
2.怎样学习c语言?
谭浩强《c语言程序设计》
《The c Programming Language》机械工业
《c primer plus》人民邮电
《c和指针》人民邮电
《c专家编程》绝版
《c陷阱与缺陷》 人民邮电
《c科学与艺术》机械工业
相关文章
- 【C语言】15-预处理指令1-宏定义
- 为什么一定要调用 setlocale 呢? 因为在 C/C++ 语言标准中定义了其运行时的字符集环境为 "C" ,也就是 ASCII 字符集的一个子集。使用setlocal改变整个应用程序的字符集编码方式(wcstombs使用前要设置 setlocale (LC_ALL, "chs"); )
- 技能收获与C语言学习
- 20155229-付钰涵-分析自我技能延展到c语言学习状况
- C语言中如何写一个简单可移植而又足够随机的随机数生成器
- C#委托,事件最初浅的和最易看懂的学习笔记
- C语言中的函数、数组与指针
- 【转载】C语言中的undefined behavior/unspecified behavior - 序
- 向量体系结构(5):步幅&&集中一分散- 在C语言中,矩阵的行存储是连续的,但列之间存在较大的步幅。以矩阵D为例,如果要连续访问其列中的元素(内层循环的目的),每次迭代需要跳过整个行的宽度。Fortran语言通常以列主序存储数组,意味着矩阵的列元素在内存中是连续的,意味着访问其连续行元素时需要跨过较多内存空间。 编译器在向量化代码时,需要识别并优化这些步幅问题,以便有效地利用向量处理器的并行能力。如果不对循环进行重新排序或调整访问模式,处理器可能无法有效加载连续的向量元素到寄存器中进行并行运算,这会影响性能。 编译器可以通过循环变换(如循环展开、循环交换等)来改善内存访问模式,以减小步幅或使其适应向量寄存器的宽度。例如,通过改变循环顺序,使内存访问变得更加连续,从而减少跨步读取的次数。 向量处理器处理非连续数据
- C语言——栈的实现