Day03 BSP工程师小白的第一步-------今天开始正式学C语言
为什么要学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语言相关推荐
- 树莓派3代Raspberry3 B型小白入门第一步
树莓派3代Raspberry3 B型小白入门第一步 大家好,好吧!我承认我是菜鸟,昨天才第一天真正接触树莓派,之前都是看别人大神们的一些作品,感觉这个小玩意儿还是很神奇的,前几天就在网上购买了一个树莓 ...
- win10正版系统安装 win10系统启动盘制作 小白装机第一步(U盘装机)
都2020年了,怎么还有人在求正版win10系统?? 从远古时代说起,小白装机潮,巨硬为打击国产系统发展,任由盗版win系统注册安装. 由此大背景下,诞生了xx家.xx风等一大批所谓的定制系统,无非就 ...
- 小白视觉第一步保存图片
基于opencv3按s取图按q退出 并保存 #include <opencv2/opencv.hpp> //头文件 #include <opencv2/imgproc/imgproc ...
- 今天第一天在b站学c语言
#include 〈stdio.h〉 int main () {printf ("b站nb") return 0 printf是库函数,用的话要和别人借一下 int是函数的返 ...
- 新手入门 | 上链第一步,如何完成XuperChain环境、服务部署
本文面向零区块链基础入门XuperChain的开发者,介绍了如何部署XuperChain基础可用环境以及XuperChain服务部署基本操作和配置,帮助开发者们快速了解XuperChain部署流程和基 ...
- 内含JAVA简单概括和JAVA所需安装的软件和详细教程,想学习JAVA无从下手,这篇文章带你迈出第一步
本文大致概括了JAVA编程语言的简史和特点,主要介绍了JAVA开发环境安装,涉及JDK,Sublime Text IntelliJ IDEA三个软件的简单介绍,安装和使用,最后编写了第一个JAVA代码 ...
- 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得
本文适用对象:从没接触过编程的零基础小白 首先,判断是否需要学习SQL 学习的第一步:了解SQL的用途. 比如你的目的是处理小量数据,那么excel就能满足需求,且excel简单易学,适用性广,这种情 ...
- 小白入门计算机视觉第一步——编程+cv软件安装
初步安装 Python MATLAB Visual Studio OpenCv Matplotlib模块 EasyGUI Meshroom 写在最前:建议先了解每个软件的用途,和自己的所需.要是装了不 ...
- 建木(Jianmu)----迈出建木第一步创建项目分组
[原文链接] 1 建木简介 下面一段是摘自建木官网的一段话,用来对建木做一个简单的介绍: "建木"是上古先民崇拜的一种圣树,传说建木是沟通天地人神的桥梁.伏羲.黄帝等众帝都是通过这 ...
最新文章
- 混合云计算应用中小企业市场前景看好
- centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
- #pragma pack(push,1) #pragma pack(pop)
- ubuntu更新时区和时间
- discuzX2.5 数据字典
- DIY逗比的时钟,制作资料100%开源!
- Ch5501-环路运输【环形处理dp】
- Linux 的内存分页管理
- UI组件DevExpress WinForm入门指南 - DialogService服务
- Linux下9种优秀的代码比对工具推荐
- SNP基因数据质控调研
- linux执行scp命令出错
- Object类中的hashCode方法
- WinRAR 3.93 3.92 的注册码(已经测试)
- Nginx学习(四)
- Java实战项目详细教程+文档+PPT+源码等]javaweb点餐系统全套|餐饮就餐订餐餐厅
- oracle触发器函数,oracle 存储过程、函数和触发器用法实例详解
- 省选+NOI 第一部分 动态规划DP
- 电脑插上扩展坞后会有显示的空盘符
- 持续盈利背后,水滴“新增长”难寻?