一、C语言总结(一):
1.基础概念以及框架:
-
算法:完成特定任务的步骤(方法方式),良好的算法的特点:
-
让程序的结构看起来清晰明了,易于实现
-
提高程序运行效率,但是到了某种程度就是一种技术了
所以,必须多了解一些算法,然后才能再选择或者在原有算法基础上创造新的算法去解决遇到的问题!
-
数据的表现形式
变量和常量:
常量: 整型常量、实型常量、字符常量(普通、转义)、符号常量(#define PI 3.141592注意与 typedef区分)
变量:普通变量和常变量(const flaot pi=3.1415926)
辨析:常变量和符号常量:
常变量有名字不可以改变,符号常量有名字可以,用预编译处理,效率高。
相同点在于有定值而且可以引用(区别于常量)
Attention: 而宏定义中的字符,由于不是特定类型所以编译器对错误无法正确提示,可能带来很多问题。所以推荐用const来定义一个变量。(引用不太多的情况)否则修改维护将是很大的问题。
int a1=3; ///non-const data
constint a2=a1; ///const data
int * a3 = &a1; ///non-const data,non-const pointer
constint * a4 = &a1; ///const data,non-const pointer
int * const a5 = &a1; ///non-const data,const pointer
intconst * const a6 = &a1; ///const data,const pointer
constint * const a7 = &a1; ///const data,const pointer
数据类型:
基本类型:整型(int,long int ,short int ,long long int ,char,boll)
浮点型:(float,double,double complex)
枚举型:enum(见最后例子,不知所以然。。。)
空类型:void
派生类型:*,[],struct,union,函数类型
运算符和表达式:
+ - * /++ -- %
强制转换运算符:variable=(type)variable/(variable之间的运算)
逻辑运算符:!、&&、||
位运算符:> 、<、==、!=、>=、<=
条件运算符:? :
成员运算符: . 、->
-
数据的输入输出
Printf和scanf:
字符数据的输入输出:
格式控制字符:d/I,o,x/x,u,c,s,c,f,e/E,g/G
字符串%s 汉字char类型定义数组,%s形式输出
格式附加字符 :ld(o,x,u)、m/n
Printf(“%md”,x); Printf(“%m.nf”,y);
Enum举例: