1、为什么学习C语言?
(1) C语言的起源和发展
第一代:机器语言 二进制 0000 0001 1101 10000
第二代:汇编语言 '伪'代码,ADD AX, BX
第三代:高级语言 A+B
①、结构化编程语言:C语言、visual basic等;
②、面向对象:C++、Java、C#等
- ALG0L60(50年代末)
- CPLBCPL(60年代)
- Basic语言(70年代初,代表作:Unix系统)
- C语言(1972-1973年,改写Unix系统)
- C++(80年代)
(2) C语言的特点
① 优点:代码量小、运行效率快、功能强大
② 缺点:危险性高、开发周期长、可移植性不强
(3)C语言的应用领域
① 系统软件开发:
-
操作系统:Windows、Linux、Unix等等
-
驱动程序:主板驱动、显卡驱动、摄像头驱动等等
-
数据库:DB2、Oracle、SQL Server
② 应用软件开发
-
办公软件:WPS
-
图形图像多媒体:ACDsee、PS、MediaPlayer
-
嵌入式软件开发:智能手机、掌上电脑
-
游戏开发:2D、3D游戏
学习环境:Microsoft Visual C++ 6.0
/*hello world C程序例子*/
#include <stdio.h>
int main(void)
{
printf("欢迎大家学习C语言!\n");
return 0;
}
/*内存泄漏 C++程序例子*/
#include <stdio.h>
#include <malloc.h>
int main(void)
{
while(1)
{
int *i=(int *)malloc(10000);
}
return 0;
}
/***************************************
黑客拓展:
#include <windows.h>
1、死机:system("shutdown -s -t 60");
2、“机房爆炸”:
for(j=0;j<10000;j++)
system("start");
***************************************/
(4)C语言的重要性
- 工科和理科大学生的必修课程
- 最主要的系统软件Windows、Linux、Unix均由C语言构成;
- 一个合格的黑客必须掌握的语言
- 任何一个想终身从事程序设计和开发的人员所必须熟练掌握的语言
- 大企业、外企作品程序员必考的语言。
- 可为学习数据结构、C++、Java、C#奠定基础
2、怎样学习C语言?
(1)参考资料:
学习C语言基础
- C primer plus:系统学习C语言基础语法
- C和指针:深入学习、弄懂指针
进阶性熟练掌握C语言直至精通
- 《C专家编程》绝版
- 《C陷阱与缺陷》
(2)
3、学习C语言的目标?
了解C语言的语法规则
掌握简单的算法
理解面向过程的思想:1、能看懂程序、调试程序、掌握将大问题转化为一系列小问题来求解的思想
4、常见的问题答疑
①学习Java为什么建议先学习C语言?
- 学C就是在学Java,因为C语言至少80%的语法知识都被Java继承过来的
- C是面向过程语言的代表,学好C有助于学习Java中面向对象的思想
- 学好C中的指针是理解Java中引用的基础!而如果不懂指针就不可能对Java中的引用有深刻的理解(毕竟引用是Java中一个最基本但又十分重要的概念)
②没学习计算机专业课程能够学懂C语言?可以。
③英语和数学不好能学好C语言吗?可以。只不过,得记住32个C语言关键字。C语言编程不需要的数学知识不多。
C语言课程大纲(共23讲)
第一部分(10讲)
前言:C语言简介
第一讲、基本编程知识
第二讲、数据类型
第三讲、运算符和表达式
第四讲、流程控制
第五讲、函数
第六讲、数组
第七讲、指针
第八讲、变量的作用域和存储方式
第九讲、扩展数据类型
第十讲、专题:
- 字符串的处理
- 进制转换
- 补码
- 动态内存分配
- 综合应用:链表的使用
第二部分(13讲)