第一阶段 学期准备-c语言及程序设计快速入门
C语言的应用
1单片机
2.驱动Linux
3.IOS
4.PC底层
注:因为C语言言支持指针,可以操纵地址,进而操纵硬件,操作底层能力?
编译的步骤
1.预处理
2.编译
3.汇编
4.链接
计算器自带进制转换
协议处理时,寄存器,算法会用到进制转换
物理内存和内存空间模型
物理:单片机RAM。内存空间模型(单位:字节(8bit)):程序中
Bit和byte
内存空间几个要素 空间大小 地址
内存空间模型
从最低内存空间模型 —>最高内存地址(静态数据区)
- 程序代码区
- 常量(一般常量,字符串常量)
- 未初始化的全局变量和静态变量
- 已初始化的全局变量和静态变量
- 堆区(通过malloc申请的内存空间)
- 栈区(局部变量,如 int 注:先进后出,后进先出)
- 命令行参数区
英文字符编码 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 寄存器
编码规范
- 提高代码的可读性
- 提高代码质量
- 提高代码的健壮性
- 代码的可拓展性,可移植性,可兼容性
- Tab键四个空格缩进
- { }左右大括号应该对齐
- If for while ,,,要单独占一行
- 一行代码只做一件事
- 长行需要拆分,从运算符优先级底的开始拆分
- 空行和空格不会占空间
- 两种注释
A 、行注释//
B、块注释/* 块 */
- 代码、函数、文件注释
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

浙公网安备 33010602011771号