C语言第1节 概述

作者: 小超_8b2f | 来源:发表于2019-07-04 16:13 被阅读0次

C语言中文网

一、 为什么学习C语言?

1. C的起源和发展

1)第一代语言:机器语言(0101010101)
2)第二代语言:汇编语言 (ADD AX BX)
3)第三代语言:高级语言:(a + b)
结构化语言:Fortran,C语言,Basic,Pascal
面向对象语言(OO):C++ , java ,C#(1980年分水岭)

贝尔实验室
B语言:Unix
C语言:Unix改版重写
Sun公司:改写C:java
微软:改写C:C#
产生时间:1972-1973
产生地点:贝尔实验室(Bell)
创始人:Dennis.M.Ritchie和Ken.Thompson
目的:改写Unix系统
C语言发展过程:

  • 1983年:ANSI C
  • 1987年:ANSI C87
  • 1994年:C99

2. C的特点

  • 优点:
    代码量小、速度快、功能强大
  • 缺点:
    危险性高
    开发周期长
    可移植性不好
3. C语言的应用领域
(1)系统软件开发
  • 操作系统:Windows、Linux、Unix
  • 驱动程序:主板驱动、显卡驱动、摄像头驱动
  • 数据库:DB2、Oracle、SQL Server
(2) 应用软件开发
  • 办公软件:WPS
  • 图形图形多媒体:ACDSee、 PhotoShop 、MediaPlayer
  • 嵌入式开发:只能手机、掌上电脑
  • 游戏开发:2D、3D (CS引擎:纯C,运行快,破电脑也能玩)
    魔兽很卡,内核引擎不是C写的。
4. C语言的重要性
  • C语言是有史以来最重要的语言
  • 所有大学工科和理科学生必修课
  • 最重要的系统软件:Windows、Linux、Unix都是C开发的
  • 一名合格的黑客必须掌握的语言
  • 任何一个想终生从事程序设计和开发的人员必须熟练掌握的语言
  • 大企业、外企招聘程序员必考语言
  • 为学习数据结构、C++ 、java、C#奠定基础。学完C不学C++啥也开发不出来

龌蹉的程序:

#include <stdio.h>
#include <windows.h>
#include<malloc.h>

int main(void) {
  int c;
  int i;
  int j;
  
  nihao:
    printf("1:死机\n");
    printf("2:机房爆炸\n");
    printf("请选择:");

    scanf("%d",&c);
    if(c==1){
      system(shutdown -s -t 60);
    } else if(c == 2) {
      printf("你太坏了,我要惩罚你!\n");
      for(j = 0; j < 5; ++j)
        system("start");
    } else {
      printf("你敲错了,请重新输入:\n");
      goto nihao;
    }
   return 0;
}

模拟内存泄漏:

#include <stdio.h>
#include<malloc.h>

int main(void) {
  while(1)
  {
      int *p = (int *)malloc(1000);
  }
  return 0;
}
牛人牛语

入门最基本的方法就是从C语言开始。
当你成为C语言的高手,那么你就很容易进入到操作系统的平台里去;当你进入到操作系统的平台离去实际做程序时,就会懂得进行调试;当你懂得调试的时候,你就会发现能轻易地了解整个平台的架构。这时候,计算机基本上一切都在你的掌握之中了,没有什么东西能逃得出你的手掌心。
----《编程箴言》梁肇新

二、 怎样学习C语言

途径:多思考,多敲代码
目标:能卡看懂程序,能调试程序,自学能力要强

参考资料

谭浩强《C语言程序设计》清华
《The C programming language》机械工业
《C Primer Plus》60 人民邮电
《C和指针》65 人民邮电
《C专家编程》绝版
《C陷阱与缺陷》人民邮电30
《C科学与艺术》机械工业

三、学习的目标

  1. 了解程序语言及发展历史

  2. 熟练掌握C语言的语法规则

  3. 掌握简单的算法

  4. 理解面向过程的思想,这有助于将来面向对象思想的学习
    能看懂、调试程序
    掌握将大问题转化为一系列小问题来求解的思想

  5. 为学习C++、数据结构、C#、Java打下良好的基础

四、常见问题答疑

  1. 学java为什么建议先学C
  • 学习C就是在学java,因为C语言至少80%的语法都被java继承了下来
  • C是面向过程语言的代表,学好C有助于学习java中的面向对象思想
  • 学好C中的指针是理解java中引用的基!如果不懂指针就不可能对java中的引用有深刻的理解,而引用是java中一个最基本但又十分重要的概念。
  1. 没学过计算机专业课程能够学东C语言?
  2. 英语和数学不好能学好C吗?

一元二次方程小例子

#include <stdio.h>
#include <math.h>
//一元二次方程
int main(){
    int a = 1;
    int b = 2;
    int c = 3;

    double delta; //存放b*b -4ac
    double x1;  //解1
    double x2;  //解2

    delta = b * b - 4 * a * c;
    if(delta >0){ //两个解
        x1 = (-b + sqrt(delta)) / (2*a);
        x2 = (-b - sqrt(delta)) / (2*a);
        printf("该一元二次方程有2个解:x1=%f,x2=%f",x1, x2);
    }
    else if(delta == 0) { //唯一解
        x1 = -b / (2*a);
        x2 = x1;
        printf("该一元二次方程有2个same解:x1=x2=%f",x2);
    }
    else {
        printf("该一元二次方程没有解");
    }
    return 0;
}
image.png

C语言32个关键字(由系统定义,不能重做)

image.png

课程大纲

  1. 基本编程知识
  2. 数据类型
  3. 运算符和表达式
  4. 流程控制
  5. 函数
  6. 数组
  7. 指针
  8. 变量的作用域和存储方式
  9. 扩展数据类型
  10. 专题
    字符串的处理
    进制转换
    补码
    动态内存分配
    综合应用:链表的使用

相关文章

  • c语言概述

    一、C 语言的发展和过程 高级语言:a+b 汇编语言:ADD AX,BX 机器语言:0000 0001 1101 ...

  • C语言概述

    **一个简单的C程序 1、include指令和头文件#include 的作用相当于把stdio.h文件中的所有内容...

  • C语言概述

    知识扫盲 CPU从内容读取指令,执行相应的操作. 计算机只能识别1和0指令 第一个C语言程序 连接:就是把我们自己...

  • C语言概述

    1、为什么学习C语言 C的起源和发展(机器语言、汇编语言、高级语言(结构化语言(缺陷数据和操作分离)、面向对象语言...

  • C语言概述

    为什么学习C语言 1.C的起源 程序设计语言的发展第一代语言 : 机器语言第二代语言 : 汇编语言第三代高级语言 ...

  • c语言概述

    iOS开发的核心语言是Objective-C,Objective-C是在c语言的基础加了一层面向对象的语法。为了能...

  • C语言概述

    今天了解了一些C语言的概述,也整理了一些笔记,分享出来以后也可以做一个很好的回顾,估计以后的日子在看到如今现在做的...

  • C语言概述

    // C语言程序是由很多"程序段"组成的 include // 告诉系统printf函数在什么...

  • C语言概述

    C语言是一门“古老”且十分优秀的结构化程序设计语言。它具有简洁、高效、灵活、可移植性强等优点,因而受广大编程人员的...

  • C语言概述

    1.什么是C语言C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理...

网友评论

    本文标题:C语言第1节 概述

    本文链接:https://www.haomeiwen.com/subject/snjbcctx.html