工作生活C语言

C语言第1节 概述

2019-07-04  本文已影响0人  小超_8b2f

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语言发展过程:

2. C的特点

3. C语言的应用领域
(1)系统软件开发
(2) 应用软件开发
4. 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
  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. 专题
    字符串的处理
    进制转换
    补码
    动态内存分配
    综合应用:链表的使用
上一篇 下一篇

猜你喜欢

热点阅读