随笔分类 -  嵌入式 C

字符串常量与 字符指针,字符数组
摘要:1. 字符串的定义(1) char buf[10] = "hello"; //定义了10个字节的数组,但只用了6个字节存放字符串(2) char *str = "hello"; //此处hello是字符串常量,存储在长常量区,把首地址传给指针变量 sts(3) char *s = "hello"; 阅读全文

posted @ 2019-05-11 13:03 管理员D 阅读(349) 评论(0) 推荐(0)

C 删除字符串中某个指定的字符
摘要:#include char *del_char(char *str, char ch) { unsigned char i=0,j=0; while(str[i] != '\0') { if(str[i] != ch) //只有在不是空格的情况下目标才会移动赋值 { str[j++] = str[i]; } i++; //源一直移动 } str[j] = ... 阅读全文

posted @ 2019-05-11 12:36 管理员D 阅读(6272) 评论(0) 推荐(0)

C 终端输入 字符123 输出 10进制123
摘要:#include #define N 20 int main(int argc, const char *argv[]) { char a[N] = {'\0'}; int i = 0; char ch = '\0'; while((ch=getchar())!='\n') { a[i++] = ch; } int cnt = i; int num = 0; for(... 阅读全文

posted @ 2019-05-07 20:29 管理员D 阅读(289) 评论(0) 推荐(0)

C puts,gets
摘要:1. char *gets(char *s); 从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间 注意事项:空间不检查合理;要使用功能必须准备足够大的空间; 使用gets时编译警告 2. int puts(const char *s); 功能是将字符串输出到屏幕自动添加换行。 阅读全文

posted @ 2019-05-06 08:56 管理员D 阅读(185) 评论(0) 推荐(0)

C 自己实现strcpy,strcmp,strlen,strcat等函数
摘要:// mystrlen() 测试字符长度方法 int mystrlen(char *str) { int cnt = 0; char *p= str; while(*p++ != '\0') { cnt++; } return cnt; } //mystrcpy() 字符串拷贝 char *mystrcpy(char *dest, char *src) { cha... 阅读全文

posted @ 2019-05-06 08:30 管理员D 阅读(404) 评论(0) 推荐(0)

C 常见字符串操作函数
摘要:头文件 <string.h> 1. char *strstr(const char *str1, const char *str2); 判断str2是否为str1的子串 #include <stdio.h>#include <string.h>int main(int argc, const cha 阅读全文

posted @ 2019-05-06 08:27 管理员D 阅读(250) 评论(0) 推荐(0)

C 二维数组与指针
摘要:http://c.biancheng.net/view/2022.html 1. 区分指针数组和数组指针 指针数组:存放指针的数组,如 int *pstr[5] = NULL; 数组中每个元素存放的是一个 int * 类型的指针 数组指针: 存放的是数组(数组名即为指针)如 int a[3][4] 阅读全文

posted @ 2019-05-05 18:53 管理员D 阅读(269) 评论(0) 推荐(0)

C 二维数组
摘要:1. 二维数组不部分初始化问题 列信息可以根据实际的字符串个数确定,但是行信息中每个字符串的长度是不确定的,所以不完全初始化时必须给定 2. 求数组占空间大小(sizeof()关键字求变量或类型占空间的大小) 二维数组占空间:sizeof(数据类型) * 行数 * 列数 == sizeof(数组名) 阅读全文

posted @ 2019-04-29 18:53 管理员D 阅读(188) 评论(0) 推荐(0)

C 函数传参问题
摘要:1. 传指针 传入指针时会改变指针指向的内容 2. 传变量 传入变量,不会改变变量的内容,只是使用变量的数据 阅读全文

posted @ 2019-04-28 18:47 管理员D 阅读(179) 评论(0) 推荐(0)

C 一维数组 冒泡排序,查最大值
摘要:1. 初始化 2. 练习,字符数组把内容逆序,如: "hello" 换为 "olleh" 方法1:(把数组折半遍历和后一半交换数据) 分析:数组长 5 ,那麽只需要前两个与后两个交换即可,中间的不变 5 / 2 = 2,下标从0开始 则只需要使 a[0] 与a[4] 交换; a[1] 与 a[3] 阅读全文

posted @ 2019-04-28 18:31 管理员D 阅读(522) 评论(0) 推荐(0)

C putchar() 和 getchar()
摘要:C 库函数 int getchar(void) 从 终端输入获取一个字符 ; 返回值:该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF C 库函数 int putchar(int char) 参数 范围 0~127 也可以是单个字符形式 阅读全文

posted @ 2019-04-26 21:14 管理员D 阅读(270) 评论(0) 推荐(0)

C goto
摘要:http://c.biancheng.net/view/266.html 当程序遇到 goto 后, 会无条件跳转到标签后出,然后程序按照顺序执行 例子: 阅读全文

posted @ 2019-04-26 20:20 管理员D 阅读(182) 评论(0) 推荐(0)

C 逻辑运算, 移位运算 , 取整 , 取模(取余),printf输出 %
摘要:一. 按位运算 (快速操作数据的某个位) ^ 按位异或 ~ 按位取反 & 按位与 | 按位或 二. 逻辑运算 && 逻辑与 有一个值为 0 ,值为 0 || 逻辑或 有一个值为 1 ,值为 1 ! 逻辑非 真值逻辑非为假 , 假值逻辑非为真 三. 移位操作 << 左移 有符号无符号数低位 都补 0 阅读全文

posted @ 2019-04-26 15:40 管理员D 阅读(1031) 评论(0) 推荐(0)

C 运算符, 有符号数据运算,
摘要:1. b++运算 输出结果: a=3 b=3 运算过程 : (b++的运算是先运算, 后自加) (1) . 先把第一个b++看成 x=b++ , 则 x=1,b=2 ; 第二个 b++ 看成 y=b++ , y=2, b=3 (2) . a=x+y a=3 2 . ++b运算 输出结果: a=6 b 阅读全文

posted @ 2019-04-25 17:33 管理员D 阅读(347) 评论(0) 推荐(0)

C 标识符, 数据存储形式(原码,反码,补码)
摘要:一. 标识符 第一个字母必须是英文字母或下划线:英文字母,数字,下划线,其中不能以数字开头。 二. 数据存储形式(补码存储) 最高位是符号位 0表示整数 ; 1 表示负数 1. 正数:原码 = 反码 = 补码 例子 : (10) 原码 : 0000 1010 反码 : 0000 1010 补码 : 阅读全文

posted @ 2019-04-24 13:59 管理员D 阅读(297) 评论(0) 推荐(0)

C 语言经典例子
摘要:1. 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 输出结果: 2. 题目:输出9*9口诀。 程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列 阅读全文

posted @ 2019-04-24 08:49 管理员D 阅读(231) 评论(0) 推荐(0)

C语言strcmp()实现
摘要:函数原型: extern int strcmp(const char *s1,const char *s2); 比较两个字符串 设这两个字符串为str1,str2, 若str1=str2,则返回零; 若str1<str2,则返回负数; 若str1>str2,则返回正数 两个字符串自左向右逐个字符相比 阅读全文

posted @ 2019-04-23 19:18 管理员D 阅读(1332) 评论(0) 推荐(0)

导航