估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上。 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的。
先快速学习并练习一些基本的语言要素,基本类型,表达式,函数,循环结构, 基本字符串操作, 基本指针操作,动态分配内存,使用结构表示复杂数据, 使用函数指针实现灵活逻辑。
虽然C是一个规模很小的语言,但也得自己多设计一些练习练手才能学会。
基本类型
我就记得char, int, 别的都不常用吧应该,用的时候再搜索。
表达式
和JAVA, C#差不多吧,不用学基本,各种算数运算符,关系运算符,逻辑运算符,逗号, 括号等的意思应该也差不多,表达式最终的结果也有类型和值。
函数
函数是最基本的抽象,基本没有什么语言没有函数的概念,它封装一系列操作, 最简单的Hello world,如下。
static void hello_world(){ printf("hello, world "); }
我们的练习都是随手写的函数,不需要被外部调用,所以前面加个static,表示只在 本文件内可见。
printf
输出一行的话,最后要加
, 常见个格式化参数有%d,%c,%s,%p等,分别表示 输出int, char, 字符串, 指针。
分支,循环结构
和别的语言差不多,不过i的声明要放在函数开头,c89就是这样。
static void n_hello_world(int n){ int i = 0; for (i = 0; i < n; i++) { printf("hello, world "); } }
字符串练习,获取一个字符串的长度
库函数strlen
就是干这个的,不过我们自己可以写一个练手,c没有字符串类型, 用' '结尾的字符数组表示字符串,所以for循环从头滚到' '位置就好了。
// 字符串练习, 计算字符串长度 static int w_strlen(const char* str){ int i; // 向后滚动指针,同时递增i,直到找到字符串结尾 for (i = 0; *str != '