为什么要学C语言?

因为C语言在高级语言中运行效率最高,并且作为最古老的计算机语言之一,C语言涉及了很多底层的知识,比如:内存、寻址。并且Windows、Linux、Unix 等操作系统的内核 90% 以上都使用 C 语言开发,所以C 语言是一门直通底层的语言。对于BSP工程师,就是在软件和硬件之间搭起桥梁,做计算机较为底层的工作,那C语言就是不可不学的语言,所以从今天开始认真学习C语言。

怎么学C语言?

1.着眼于养成分析问题的能力,构造算法的能力,编程能力和调试能力

2.平时训练重点放在解题思路,即算法。

3.掌握基本语法,打好基础。

4.手敲代码,亲自调试

5.举一反三,掌握语言规律。

首先先学习进制转换,那么为什么要学进制转换呢?

我觉得应该是因为计算机底层是二进制的,而程序中,1个字节是八个进制,而我们常用2个十六进制来表示,再者我们日常生活中,常用10进制数,所以在学习C语言前应该要学习进制转换。

二进制:是用0和1这两个数来表示数字,逢2进1

八进制:是用0~7表示数,逢8进1

十进制:是用0~9表示数,逢10进1

十六进制:是用0~F表示数,逢16进1

进制转换:

二进制         十六进制         十进制         八进制

0000                 0                      0                0

0001                 1                      1                1

0010                 2                      2                2

0011                 3                      3                 3

0100                 4                      4                 4

0101                 5                      5                 5

0110                 6                      6                 6

0111                 7                      7                 7

1000                 8                      8

1001                 9                      9

1010                 A

1011                 B

1100                 C

1101                 D

1110                 E

1111                 F

遇到十进制转换为二、八、十六进制的时候,优先转换二进制,这样就可以“拆分”二进制来转换成八进制或十六进制

十进制转换二(八,十六)进制,采用除2(8,16)取余,然后逆序排列

例如十进制的55我们转换成二进制

那么就十进制的55转换成二进制就为110111

当转换为二进制后,转换十六进制和八进制就很方便了

二进制转换八进制,将二进制从右向左以三个为单位,拆分,(110|111) => 67

二进制转换为十六进制,将二进制从右向左以四个为单位,位数不够补0,上方八进制同理,拆分成(0011|0111)=> 37

这个想快速计算没有什么特殊方法,多练就好。当然以后工作想换算进制,就可以用计算机自带的计算器,里面有个程序员模式

HEX 是十六进制

DEC 是十进制

OCT 是八进制

BIN  是二进制

下来,就开始来完成我的第一个HelloWorld文件

#include<stdio.h> //.h结尾c语言头文件,标准输入输出头文件int main(){       //返回值 函数名 (入参) printf("HelloWorld!");          //在终端输出HelloWorldreturn 0;
}

运行结果:

紧接着,我突然想起我最喜欢的《七里香》,不自觉就想在我的C语言程序里想输出几句我最喜欢的歌词

在这里我遇到了一个问题,在我编译的时候,我想代码看起来也美观,就像在每一句后面都敲一个回车但是发现程序会报错。

后来请教了老师,老师说在每一句后面再加一个\就可以了,这样C程序就知道这句话后面还有内容,他会在后面寻找其他的语句。

这样果然就成功了,并且成功编译运行,结果和上面一样

接下来学习了c程序的编译过程:

总结:

今天,开始接触C语言,虽然大一的时候也学过一些,但是由于年少无知,当时大好的学习机会被我白白浪费,其实只能模糊的想起C语言的轮廓,但是不能真正的写一个C程序,今天还尝试着写一些函数,但是却提笔忘字,所以现在只能从头开始学。既然选择从头开始学,那么再基础的东西,也要多思考为什么这样,原理是怎样的。多想,多想,多想。。。

Day03 BSP工程师小白的第一步-------今天开始正式学C语言相关推荐

  1. 树莓派3代Raspberry3 B型小白入门第一步

    树莓派3代Raspberry3 B型小白入门第一步 大家好,好吧!我承认我是菜鸟,昨天才第一天真正接触树莓派,之前都是看别人大神们的一些作品,感觉这个小玩意儿还是很神奇的,前几天就在网上购买了一个树莓 ...

  2. win10正版系统安装 win10系统启动盘制作 小白装机第一步(U盘装机)

    都2020年了,怎么还有人在求正版win10系统?? 从远古时代说起,小白装机潮,巨硬为打击国产系统发展,任由盗版win系统注册安装. 由此大背景下,诞生了xx家.xx风等一大批所谓的定制系统,无非就 ...

  3. 小白视觉第一步保存图片

    基于opencv3按s取图按q退出 并保存 #include <opencv2/opencv.hpp> //头文件 #include <opencv2/imgproc/imgproc ...

  4. 今天第一天在b站学c语言

    #include 〈stdio.h〉 int  main () {printf   ("b站nb") return 0 printf是库函数,用的话要和别人借一下 int是函数的返 ...

  5. 新手入门 | 上链第一步,如何完成XuperChain环境、服务部署

    本文面向零区块链基础入门XuperChain的开发者,介绍了如何部署XuperChain基础可用环境以及XuperChain服务部署基本操作和配置,帮助开发者们快速了解XuperChain部署流程和基 ...

  6. 内含JAVA简单概括和JAVA所需安装的软件和详细教程,想学习JAVA无从下手,这篇文章带你迈出第一步

    本文大致概括了JAVA编程语言的简史和特点,主要介绍了JAVA开发环境安装,涉及JDK,Sublime Text IntelliJ IDEA三个软件的简单介绍,安装和使用,最后编写了第一个JAVA代码 ...

  7. 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得

    本文适用对象:从没接触过编程的零基础小白 首先,判断是否需要学习SQL 学习的第一步:了解SQL的用途. 比如你的目的是处理小量数据,那么excel就能满足需求,且excel简单易学,适用性广,这种情 ...

  8. 小白入门计算机视觉第一步——编程+cv软件安装

    初步安装 Python MATLAB Visual Studio OpenCv Matplotlib模块 EasyGUI Meshroom 写在最前:建议先了解每个软件的用途,和自己的所需.要是装了不 ...

  9. 建木(Jianmu)----迈出建木第一步创建项目分组

    [原文链接] 1 建木简介 下面一段是摘自建木官网的一段话,用来对建木做一个简单的介绍: "建木"是上古先民崇拜的一种圣树,传说建木是沟通天地人神的桥梁.伏羲.黄帝等众帝都是通过这 ...

最新文章

  1. 混合云计算应用中小企业市场前景看好
  2. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
  3. #pragma pack(push,1) #pragma pack(pop)
  4. ubuntu更新时区和时间
  5. discuzX2.5 数据字典
  6. DIY逗比的时钟,制作资料100%开源!
  7. Ch5501-环路运输【环形处理dp】
  8. Linux 的内存分页管理
  9. UI组件DevExpress WinForm入门指南 - DialogService服务
  10. Linux下9种优秀的代码比对工具推荐
  11. SNP基因数据质控调研
  12. linux执行scp命令出错
  13. Object类中的hashCode方法
  14. WinRAR 3.93 3.92 的注册码(已经测试)
  15. Nginx学习(四)
  16. Java实战项目详细教程+文档+PPT+源码等]javaweb点餐系统全套|餐饮就餐订餐餐厅
  17. oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
  18. 省选+NOI 第一部分 动态规划DP
  19. 电脑插上扩展坞后会有显示的空盘符
  20. 持续盈利背后,水滴“新增长”难寻?

热门文章

  1. delphi 分屏显示
  2. iOS 面试题集合~[有答案]
  3. PHP中的SAPI是什么?如何实现?
  4. 学生选课系统功能需求
  5. 字节跳动测开面经(两面 + HR)
  6. a16z合伙人Chris Dixon:DeFi和NFT之后的下一波区块链应用浪潮可能是这些
  7. 阿里云改名并下载文件,乱码问题解决
  8. 新买的苹果11如何验真假
  9. CS很难发论文?这些技巧你都get了吗?
  10. 联调QuartersII + ModelSim(下载安装)