第一阶段 学期准备-c语言及程序设计快速入门

C语言的应用

1单片机

2.驱动Linux

3.IOS

4.PC底层

注:因为C语言言支持指针,可以操纵地址,进而操纵硬件,操作底层能力?

 

编译的步骤

1.预处理

2.编译

3.汇编

4.链接

 

计算器自带进制转换

协议处理时,寄存器,算法会用到进制转换

 

物理内存和内存空间模型

物理:单片机RAM。内存空间模型(单位:字节(8bit)):程序中

Bit和byte

 

内存空间几个要素   空间大小 地址

 

内存空间模型

从最低内存空间模型  —>最高内存地址(静态数据区)

  1. 程序代码区
  2. 常量(一般常量,字符串常量)
  3. 未初始化的全局变量和静态变量
  4. 已初始化的全局变量和静态变量
  5. 堆区(通过malloc申请的内存空间)
  6. 栈区(局部变量,如 int 注:先进后出,后进先出)
  7. 命令行参数区

 

英文字符编码 ASC||码

中文字符编码 Unicode

 

巧用ASC码表的一些编程技巧

1、数字字符到数字的转换

2、大小写字母的转换

例如

#include <stdio.h>

#include <stdlib.h>

 

int main()

{

    char  a='1';

    printf("a_change=%d",a-48);

    printf("Hello world!\n");

    return 0;

}

 

 

C开发环境

1.开发环境的组成

编辑环境

编译环境

调试环境

版本管理器也可以集成

2.常见的开发环境

a.turbo c(太老)

b.vc6(太老)

c.vs系列(庞大)

d.codeblocks(小)

 

 

程序介绍:

1、#include <stdio.h>  //io库

2、#include <stdlib.h>  //lib库

3、只有一个main,有返回值

4、程序的编辑,编译,调试

5、clean

 

6、cup Resgiter 寄存器

编码规范

  1. 提高代码的可读性
  2. 提高代码质量
  3. 提高代码的健壮性
  4. 代码的可拓展性,可移植性,可兼容性
  5. Tab键四个空格缩进
  6. {  }左右大括号应该对齐
  7. If for  while ,,,要单独占一行
  8. 一行代码只做一件事
  9. 长行需要拆分,从运算符优先级底的开始拆分
  10. 空行和空格不会占空间
  11. 两种注释

A 、行注释//

B、块注释/*  块    */

  1. 代码、函数、文件注释

 

 

 

Typedef可以自定义变量

 

 

玩转c代码--输入输出开始

1、  人机交互,人和计算机通信方式(输入 输出)

嵌入式系统的人机交互。

A、串口的输入输出

B、LED灯及LED矩阵的输出

C、蜂鸣器的输出

D、触摸屏

E、更加复杂的输入输出通路(无线网络,手机)

2、常见的屏幕输出函数

A、字符输出函数putchar,库函数(经常用到的功能,)

B、格式化的输出函数printf

【标志】【输入最小宽度】【精度】【长度】类型

函数原型 extern void printf(onst char *format,…),可变参

调用格式:

Printf( “格式控制字符串以%开始”,输出列表)

 

     d(十进制)   o(八进制)  x(16进制0x)

常见标志

-                 +                      空格                   #

最小宽度(默认右对齐 –左对齐 不空格)

精度和长度

 

C、输出”\”要输入“\\”,双引号也要转义符“\”

D、触摸屏

E、更加复杂的输入输出通路(无线网络,手机)

 

 

文件函数Getchar scanf函数

1、字符输入函数getchar()

2、格式换输入函数scanf()

函数原型:int scanf(char *format[,grgument,…);

调用格式:scanf(“<格式化字符串>”,<地址表>)   &取地址

Scanf难点分析 传入的参数,格式化字符串,遇到非空白字符的处理

 

 

 

 

 

通过文件的人机交互函数

文件操作函数列表

Fopen  Fclose  getc  putc  feof  fgets fputs  fprintf  fscanf

 

posted @ 2017-11-19 12:42  体重270  阅读(94)  评论(0)    收藏  举报