C语言入门总结——Linux C编程一站式学习

C的语法规则。

1.源文件中所有函数定义之外可以出现哪些语法元素?
全局变量、函数原型声明、宏定义、typedef和结构体、联合体定义、注释…
2.函数定义之中可以出现哪些语法元素?
局部变量定义,语句块,注释…
3.语句有哪几种?
表达式语句、函数调用语句、控制语句、复合语句、空语句。
4.哪些语法元素需要遵循标识符的命名规则?
标识符的命名规则即:必须用字母/下划线开头;只有下划线、字母、数字的组合;不能是关键字。
函数名、变量名、类型名…
5.表达式由哪些语法元素组成?
由操作数和运算符按照一定的语法规则组成。
6.到目前为止学过哪些运算符?它们的优先级和结合性是怎样的?
<1>算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(–)共七种。

<2>赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

<3>逗号运算符:用于把若干表达式组合成一个表达式(,)。

<4>关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

<5>逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

<6>条件运算符:这是一个三目运算符,用于条件求值(?:)。

<7>位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

<8>指针运算符:用于取内容(*)和取地址(&)二种运算。

<9>求字节数运算符:用于计算数据类型所占的字节数(sizeof)。

<10>特殊运算符:有括号(),下标[],成员(→,.)等几种。
在计算机语言中,算术表达式的求值规律与数学中的四则运算的规律类似,其运算规则和要求:

  • 在算术表达式中,可使用多层圆括号,但括号必须配对。运算时从内层圆括号开始,由内向外依次计算各表达式的值。
  • 在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向进行运算。
  • 如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制类型转换,使两者具有相同类型,然后进行运算。

7.哪些运算符取操作数的左值?哪些运算符的操作数必须是整型?哪些运算符有Side Effect?
取地址运算符、++运算符、–运算符、赋值运算符的左侧、成员运算符的左侧取操作数要求是左值。
取模运算符(%)的操作数必须是整型;
当运算符改变了操作数时就可能有副作用,如前自增、赋值。
8.哪些表达式可以做左值?哪些表达式只能做右值?
函数调用表达式和强制转换表达式的结果,在C中都属于右值,结果为引用的函数调用表达式和强制转换表达式都属于左值。

思维方法与编程思想。

以概念为中心;
组合规则;
Least Surprise;
充分条件与必要条件;
封装;
布尔逻辑;
递归;
函数式编程;
迭代;
抽象;
数据驱动;
分而治之;
折半查找;
回溯;

扫描二维码关注公众号,回复: 9186699 查看本文章

调试方法

编译错误、运行时错误与语义错误;
增量式开发;
打印语句与Scaffold;
gdb;
DbC与Assertion。

发布了39 篇原创文章 · 获赞 4 · 访问量 1107

猜你喜欢

转载自blog.csdn.net/qq_41403559/article/details/104313744