美文网首页学习笔记
面向小白的C语言教程(001)-计算机基础及C语言概述

面向小白的C语言教程(001)-计算机基础及C语言概述

作者: 爱学习的老周 | 来源:发表于2019-04-17 20:44 被阅读106次

    1、什么是语言?什么是C语言?

    • 一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。

    • 而今天,计算机遍布了我们生活的每一个角落,除了人和人之间的相互交流之外,我们必须和计算机交流。用什么样的方式和计算机做最直接的交流呢?人们自然想到的是最古老也最方便的方式——语言

    1、基本常识

    软件:

    一系列数据和指令的集合。

    比如QQ,里面的好友,就是数据,当我点击删除好友时,这个动作叫做指令,指令会触发针对数据的操作。

    常见的软件:

    系统软件(也就是操作系统):

    DOS, windows, Linux, IOS, Android

    应用软件:

    微信,迅雷等。

    2、人机交互

    软件的出现实现了人与计算机之间的更好的交互。

    2.1、自然交互界面:

    声音控制,触摸屏手势识别

    这个用过智能手机的都知道。

    2.2、图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。

    001.png

    这就是图形化界面

    2.3、命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。

    命令行人机交互以windows的CMD命令为例:

    002.png 003.png

    3、语言和C语言有什么区别和联系

    通过DOS命令行的演示,可以发现原来操作计算机就如同和计算机说话一样。我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就是计算机语言。

    语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与。这是语言最重要的功能。语言就是用来表达意思传递信息的。说的一方传递信息,听的一方接受信息;说的一方下达指令,听的一方遵从命令做事情。语言是人与人交流,C语言是人与计算机.人可以不听另外一个人,计算机就是无条件服从。并且自然语言可以模糊,但计算机语言必须精准无误,才能够被识别。

    语言有独特的语法规则与语言定义。交流双方都了解明白并遵守这些规则与定义。一个只会说汉语的中国人,和一个只会说英语的美国人,只通过嘴巴发出声音互相交流,结果一定是对牛弹琴,信息完全传递不出去。为什么?因为互相不知道对方的语法规则与语言定义,当然听不懂了。

    4、计算机的结构

    004.png

    外存储器:就是硬盘。

    内储存器:就是我们常说的内存,4G、8G、16G等。

    输入设备:键盘,鼠标等,人们用来操作电脑的设备。

    输出设备:声卡,显卡等,电脑用以给人们反馈的设备。例如我用鼠标点一张图片,这叫输入,图片打开,展示在我面前,这就是显卡给我的反馈,这叫输出。

    中央处理器:分为运算器和控制器,用来处理这一些列过程。

    5、进制的概念

    在计算机底层世界中全部都是一串密密麻麻的1010二进制串。 1和0对应电子元件的开和关,1代表开,0代表关。 计算机用高电平和低电平分别表示1和0,计算机只能识别二进制码代表的程序和数据。 1和0是组成计算机世界的最基本元素。

    早期的计算机使用穿孔纸袋来进行计算,有空代表1,没空代表0。 计算机吞下一堆纸袋后才开始计算, 之后再把计算结果用纸袋吐出来或者用一排排信号灯来告诉人类计算结果。

    二进制奉行逢二进一,十进制奉行逢十进一。 一个1或0表示1位,四个1或0就是4位,八个1或0就是8位,以此类推。 4位二进制码:0001 8位二进制码:00000001 16位二进制码:00000000 00000001 32位二进制码:00000000 00000000 00000000 00000001

    例如:对于一个十进制数字5, 4位的表达方式是:0101,8位的表达方式是:00000101。

    以00000101为例,最左侧的0是高位,最右侧的1是低位。

    这里有个高位补0的概念,如果当前二进制码不够要求的长度,就要高位补0。

    位(bit):度量数据的最小单位。

    字节(Byte):最常用的基本单位,一个字节有8位,10011110,就是一个字节。

    K 字节 : 1K = 1024 byte

    M(兆)字节 :1M = 1024 K

    G(吉) 字节: 1G = 1024 M

    T(太)字节 :1T = 1024 G

    十进制 R=10, 数字集 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

    二进制 R=2, 数字集 0, 1

    八进制 R=8 , 数字集 0, 1, 2, 3, 4, 5, 6, 7

    十六进制 R=16,数字集 0, … , 9, A, B, C, D, E, F

    6、机器语言与指令

    计算机是一个忠实的仆人,时刻等候着主人的命令。如何才能使计算机听话呢?当然是用计算机听得懂的语言去命令它了。计算机的大脑或者说心脏就是CPU,它控制着整个计算机的运作。每种CPU,都有自己的指令系统。这个指令系统,就是该CPU的机器语言。机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。比如下面是某CPU指令系统中的两条指令:

    1000000 加 1001000 减

    要让计算机干活,就得用这样的语言去命令它。这样的命令,不是一条两条,而是上百条。而且不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。

    机器语言编程是不是很令人蛋疼呢,终于出现了汇编语言,就是一些标识符取代0与1。一门人类可以比较轻松认识的编程语言。只是这门语言计算机并不认识,所以人类还不能用这门语言命令计算机做事情。如同上文提到过的中国人和美国人交流一样,如何才能让中国人说的话美国人明白呢?

    翻译!一个既懂汉语又懂英语的人,就可以将中文翻译给美国人听

    所以,有一类专门的程序,既认识机器语言,又认识汇编语言,也就是编译器,将标识符换成0与1,知道怎么把汇编语言翻译成机器语言。于是,人类和机器间的交流,终于又畅通了,而且人类可以比较轻松的编写程序了。也就是编译器,将标识符换成0与1.

    汇编语言和机器语言都是面向机器的,机器不同,语言也不同。既然有办法让汇编语言翻译成机器语言,难道就不能把其他更人性化的语言翻译成机器语言?1954年,Fortran语言出现了,其后相继出现了其他的类似语言。这批语言,使程序员摆脱了计算机硬件的限制,把主要精力放在了程序设计上,不在关注低层的计算机硬件。这类语言,称为高级语言。同样的,高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,这就是编译程序,简称编译器。

    这类高级语言解决问题的方法是分析出解决问题所需要的步骤,把程序看作是数据被加工的过程。基于这类方法的程序设计语言成为面向过程的语言。C语言就是这种面向过程的程序设计语言。

    语言如何执行呢?

    例如:

    高级语言:A + B

    汇编语言:ADD AX BX

    机器语言:0000 0001 1101 10000

    每一步的转换都需要“翻译”

    计算机语言从底层到高级语言依次为:

    机器语言 - 汇编语言 - C语言 - C/C++语言 - java/C#/PHP/Python等。

    越接近底层越面向机器,也就越难,越高级越抽象,也越人性化。

    7、C语言有哪些特点

    代码量小,执行速度快,编程自由,功能强大。

    8、为什么要学习C语言

    C语言毫无疑问是最基础最重要的语言,也几乎是一切语言及操作系统的基石。

    学会了C语言,几乎可以实现任何事,甚至可以自己写一个操作系统,或者开发出一种新的语言。

    9、常用的CMD-DOS命令

    calc-----------启动计算器

    certmgr.msc----证书管理实用程序

    charmap--------启动字符映射表

    chkdsk.exe-----Chkdsk磁盘检查

    ciadv.msc------索引服务程序

    cleanmgr-------垃圾整理

    cliconfg-------SQL SERVER 客户端网络实用程序

    Clipbrd--------剪贴板查看器

    cmd.exe--------CMD命令提示符

    compmgmt.msc---计算机管理

    conf-----------启动netmeeting

    dcomcnfg-------打开系统组件服务

    ddeshare-------打开DDE共享设置

    devmgmt.msc---设备管理器

    dfrg.msc-------磁盘碎片整理程序

    diskmgmt.msc---磁盘管理实用程序

    drwtsn32------ 系统医生

    dvdplay--------DVD播放器

    dxdiag---------检查DirectX信息

    explorer-------打开资源管理器

    eudcedit-------造字程序

    eventvwr------事件查看器

    fsmgmt.msc-----共享文件夹管理器

    gpedit.msc-----组策略

    iexpress-------木马捆绑工具,系统自带

    logoff---------注销命令

    lusrmgr.msc----本机用户和组

    notepad--------打开记事本

    magnify--------放大镜实用程序

    mem.exe--------显示内存使用情况

    mmc------------打开控制台49.

    mobsync--------同步命令

    mplayer2-------简易widnows media player

    Msconfig.exe---系统配置实用程序

    mspaint--------画图板

    mstsc----------远程桌面连接

    narrator-------屏幕“讲述人”

    net start messenger----开始信使服务

    netstat -an----(TC)命令检查接口

    net stop messenger-----停止信使服务

    Nslookup-------IP地址侦测器 ,是一个监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具.

    它在Windows NT/2000/XP中均可使用,但在 Windows 98 中却没有集成这一个工具。

    ntbackup-------系统备份和还原

    ntmsmgr.msc----移动存储管理器

    ntmsoprq.msc---移动存储管理员操作请求

    odbcad32-------ODBC数据源管理器

    oobe/msoobe /a----检查XP是否激活

    osk------------打开屏幕键盘

    packager-------对象包装程序

    perfmon.msc----计算机性能监测程序

    progman--------程序管理器

    regedit.exe----注册表

    regedt32-------注册表编辑器

    regsvr32 /u *.dll----停止dll文件运行

    regsvr32 /u zipfldr.dll------取消ZIP支持

    rononce -p----15秒关机

    rsop.msc-------组策略结果集

    secpol.msc-----本地安全策略

    services.msc---本地服务设置

    sfc.exe--------系统文件检查器

    sfc /scannow-----扫描错误并复原

    sfc /scannow---windows文件保护

    shrpubw--------创建共享文件夹

    shutdown-------60秒倒计时关机命令

    sigverif-------文件签名验证程序

    sndrec32-------录音机

    Sndvol32-------音量控制程序

    syncapp--------创建一个公文包

    sysedit--------系统配置编辑器

    syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码

    taskmgr--------任务管理器

    tourstart------xp简介(安装完成后出现的漫游xp程序)

    utilman--------辅助工具管理器

    wiaacmgr-------扫描仪和照相机向导

    winchat--------XP自带局域网聊天

    winmsd---------系统信息

    winver---------检查Windows版本

    write----------写字板

    wmimgmt.msc----打开windows管理体系结构(WMI)

    wscript--------windows脚本宿主设置

    wupdmgr--------windows更新程序

    关注微信公众号axxd_lz回复【C语言】获取25G视频教程和电子书。

    相关文章

      网友评论

        本文标题:面向小白的C语言教程(001)-计算机基础及C语言概述

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