C语言集训-熊剑锋-第一次作业

250 阅读4分钟

学习笔记

一,为什么学习C语言

1)C语言的起源与发展

  • 第一代语言:机器语言(指计算机能直接识别的程序语言或指令代码)

  • 第二代语言:汇编语言(指助记符等简单的英文单词与标点来代表较复杂的01序列)

  • 第三代语言:高级语言(相对机械语言,是一种指令集的体系,是高度封装的编程语言)

各种语言的发展历程 QQ截图20211118190823.png

2)C语言的特点

优点:代码量小 速度快 功能强大

缺点:危险性高 开发周期长 可移植性不强

3)C语言的应用领域

  • 系统程序的开发

    1. 操作系统:Windows,Linux,Unix

    2. 驱动程序:主板驱动,显卡驱动,摄像头驱动

    3. 数据库:DB2 Oracle Sql Server

  • 应用软件的开发

    1. 办图软件:Wps

    2. 图形图像多媒体:ACDSee Photoshop MediaPlayer

    3. 嵌入式软件开发:智能手机,掌上电脑

  1. 游戏开发:2D,3D游戏

4)C语言的重要性

  • C语言是有史以来最重要的语言
  • 所有大学工科和理科学生必修课程
  • 最重要系统软件:Windows,Linux,Unix均使用C开发
  • 一个合格黑客必须掌握的语言
  • 任何一个想终身从事程序设计和开发人员必须熟练掌握的语言
  • 大企业、外企招聘程序员必考的语言
  • 为学习数据结构、C++、Java、C#奠定基础

5)C语言的组成---关键字

32个关键字:(由系统定义,不能重作其他定义)

QQ截图20211118203249.png

二,怎样学好C语言

 途径:多思考,多上机,多动手操作实践
 目标:能看懂程序,能调试程序,自学能力要很强

参考资料

  • 谭浩强《C语言程序设计》 清华

  • 《The C programming language》 机械工业

  • 《C Primer Plus》 人民邮电 60元

  • 《C和指针》 人民邮电 65元

  • 《C专家编程》 绝版

  • 《C陷阱与缺陷》 人民邮电 30元

  • 《C科学与艺术》 机械工业

学习目标

  • 了解程序语言及发展历史

  • 熟练掌握C语言的语法规则

  • 掌握简单算法

  • 理解面向过程的思想,这非常有助于将来对面向对象思想的学习

    1.能看懂程序

    2.会调试程序

    3.掌握将大问题转化为一系列小问题求解的思想

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

常见问题答疑

1.学Java为什么建议要先学C

学C就是在学Java,因为C语言中至少80%的语法知识都被Java继承过来了

C是面向过程语言的代表,学好C有助于学习Java中面向对象的思想

学好C中的指针是理解Java中引用的基础!如果不懂指针就不可能对Java中的引用有深刻的印象,而引用是Java中一个最基本但又十分重要的概念

2.没学过计算机专业课程能学懂C语言

可以,但需要非常用功地学习,三天打鱼两天晒网是永远学不好C语言的

跟着郝斌老师的视频学习或对计算机语言知识很了解的人学习可以少走弯路

3.英语和数学不好能学好C么?

不懂英语完全不影响对C语言的学习,懂英语稍微学得更快一点

对一般人而言,C语言不需要太多数学知识

三,C语言课程总纲要与相关视频链接

课程总纲要

C语言简介课程节数
基本编程知识1讲
数据类型2讲
运算符和表达式1讲
流程控制4讲
函数2讲
数组1讲
指针4讲
变量的作用域和存储方式1讲
扩展数据类型1讲
专题:
字符串的处理1讲
进制转换1讲
补码1讲
动态内存分配1讲
综合运用:链表的使用1讲

郝斌老师视频课连接

对自学的看法

出视频的原因

C概述 系列3-15集

C编程预备专业计算机知识 系列16-30集

31集等后续内容

四,代码实际操作运行

1,“欢迎大家学习C语言”代码演示

#include "stdio.h"

int main()
{
    printf("欢迎大家来学习C语言!\r\n");
    return 0;
}

QQ截图20211118214506.png

2,“一元二次方程”代码演示

#include<stdio.h>
#include<math.h>

int main(void)
{
    
    int a=1;
    int b=5;
    int c=6;
    double delta;
    double x1;
    double x2;
    delta =b*b - 4*a*c;

    if (delta>0)
    {
        x1= (-b + sqrt (delta) ) / (2*a);
        x2= (-b - sqrt (delta) ) / (2*a);
        printf("该一元二次方程有两个解,x1=%f,x2=%f\n",x1,x2);
    }
    else if(delta == 0)
    {
       x1=(-b)/(2*a);
       x2=x1;
       printf("该一元二次方程有一个唯一的解,x1=x2=%f\n",x1);
    }
    else
    {
       printf("无解\n");
    }
    return 0;
}

QQ截图20211118211755.png

3,V++ 6.0

#include<stdio.h>

int main(void)
{
    printf("哈哈\n");
    printf("嘿嘿\n");

    return 0;
}

QQ浏览器截图20211118215956.png