登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] C语言入门基础

[复制链接]
发表于 2018-1-24 19:03:25 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C语言入门
学习安排: 《手把手教你学51单片机》第四章
开始时间: 2018-01-24
结束时间: 2018-01-24
*C语言入门基础:
1.二进制和十六进制
二进制就是逢二进位,它的一个位只有两个值: 0 和 1,但它却是实现计算机系统的最基本的理论基础,计算机(包括单片机)芯片是基于成万上亿个的开关管组合而成的,他们每一个都只能有开和关两种状态,所以他们只能对应于二进制的 1 和 0 两个值,而没有 2、 3、4。书写二进制数据时需加前缀 0b,每一位的值只能是 0 或 1。十六进制就是把 4 个二进制位组合为一位来表示,于是它的每一位有0b0000~0b1111 共 16 个值,用 0~9 再加上 A~F(或 a~f)表示,那么它自然就是逢十六进位了,它本质上同二进制是一样的,是二进制的一种缩写形式,也是我们程序编写中常用的形式。书写十六进制数据时需加前缀 0x QQ截图20180124164426.png

2.C语言变量类型及范围

QQ截图20180124100634.png 如此图所示,昨天我的帖子上在最后问到一个问题,为什么将我定义的unsigned int 变量i设为<100000之后小灯无变化呢,学习了这一课之后道理就很容易明白了,因为整型变量是一个字节,最高8位二进制,所以最大范围是0~65535,设置的数值超过这个值之后会自动归0(溢出状态),所以灯也就不会延时闪烁了

  3.C语言基本运算符

   QQ截图20180124165412.png 基本运算符相信大家都了解的差不多了,在这里强调一下自加和自减,这两种他们的用法是一样的,一个是自加 1,一个是自减 1,我们选++来讲一下。++在用法上就是加 1 的意思,注意是变量自己加,比如 b++的意思就是 b=b+1,而在编程的时候我们有两种常用的方式先加和后加。比如 unsigned char a = 0; unsigned char b = 0;那么 a = ++b;的整个运算过程是先计算 b=b+1,那么 b 就等于 1 了,然后再运行 a=b,运行完毕

后 a=1, b=1。如果写成 a=b++;那么运算过程就是先执行 a=b;然后再执行 b=b+1,执行完的结果就是 a=0, b=1。
   4.for循环语句
         for 语句是我们今后编程的一个常用的语句,这个语句必须得学会其用法,它不仅仅可以用来做延时,更重要的是用来做一些循环运算。 for 语句的一般形式如下:
for (表达式 1; 表达式 2; 表达式 3)

{

        (需要执行的语句);

}

其执行过程是:表达式 1 首先执行且只执行一次;然后执行表达式 2,通常都是一个用于判定条件的表达式,如果表达式 2 条件成立,就执行(需要执行的语句);然后再执行表达式 3;再判断表达式 2,执行(需要执行的语句);再执行表达式 3.....一直到表达式 2 不成立时,跳出循环继续执行循环后面的语句。
  5.while循环语句
       在单片机 C 语言编程的时候,每个程序我们都会固定的加一句 while(1),这条语句就可以起到死循环的作用,因为除了0之外了任何数字都相当于真(符合条件),所以我们常用的while(1)的意思就是一直执行下面的循环体。
对于 while 语句来说,他的一般形式是:
while (表达式)
{
       循环体语句;
}  这里需要注意循环体必须用{}来括出来,否则系统会默认循环的是第一个分号前的语句
  5.函数的简单介绍
       函数定义的一般形式如下:
函数值类型 函数名 (形式参数列表)
{
         函数体
}
1、函数值类型,就是函数返回值的类型。在我们后边的程序中,会有很多函数中有 return  x 这个东西,这个返回值也就是函数本身的类型。还有一种情况,就是这个函数只执行操作,不需要返回任何值,那么这个时候它的类型就是空类型 void,这个 void 按道理来说是可以省略的,但是一旦省略, Keil 软件会报一个警告,所以我们通常也不省。
2、函数名,可以由任意的字母、数字和下划线组成,但数字不能作为开头。函数名不能与其他函数或者变量重名,也不能是关键字。什么是关键字呢,比如int这类,都是关键字,是我们程序中具备特殊功能的标志符,这种东西不可以命名函数。
3、形式参数列表,也叫做形参列表,这个是函数调用的时候,相互传递数据用的。有的函数,我们不需要传递参数给它, 那么可以用 void 来替代, void 同样可以省略,但是那个括号是不能省略的。
4、函数体,包含了声明语句部分和执行语句部分。声明语句部分主要用于声明函数内部所使用的变量,执行语句部分主要是一些函数需要执行的语句。特别注意,所有的声明语句部分必须放在执行语句之前,否则编译的时候会报错。
5、一个工程文件必须有且仅有一个 main 函数,程序执行的时候,都是从 main 函数开始的。
另外我们可以了解一点,代码中的“//”是注释符, 意思是说在这之后的内容都是注释。注释是给自己或其他人看的,用于对程序代码做一些补充说明,对程序的编译和执行没有任何影响。
  6.keil软件延时方法
   QQ截图20180124190014.png 我昨天的笔记上写的程序用到的就是第一类非精确延时,使用for循环语句,利用程序运行循环的耗时来实现小灯的亮灭。



好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表