一、单个字符:
'a' 输出 %c
字符串:
"abc" 输出 %s
二、宏定义命令#define
1、简单宏定义: #define 宏名 字符串 #define π 3.1415926
字符串:
"abc" 输出 %s
二、宏定义命令#define
1、简单宏定义: #define 宏名 字符串 #define π 3.1415926
2、带参宏定义:#define 宏名(参数表) 宏体 #define area(x) x*x
#define A(x) x//若遇Max(a,b),则替换a>b?a:b
#define A(x) x//若遇Max(a,b),则替换a>b?a:b
用来将一个标识符定义为字符串。若一个标识符被宏定义后即为宏名,程序中只出现宏名,先将宏名用被定义的字符串替代(宏替换),再进行编译。
注意:字符串为表达式时易引起歧义
均为先替换后编译具体运算
三、当输入输出单个字符时
putchar( ) \\不能换行== printf
getchar( ) \\防闪退== scanf
四、变量
1、局部变量:函数内部定义的变量。
int a = 0;\\必须进行初始化; 默认随机值
2、常变量(c++:常量):使用 const 修饰符声明
const int a = 0;\\不可改变(在编译时是已知的,在程序的生命周期内不会改变); 定义同时必须初始化
3、全局变量:函数外部定义的变量。
注意:字符串为表达式时易引起歧义
均为先替换后编译具体运算
三、当输入输出单个字符时
putchar( ) \\不能换行== printf
getchar( ) \\防闪退== scanf
四、变量
1、局部变量:函数内部定义的变量。
int a = 0;\\必须进行初始化; 默认随机值
2、常变量(c++:常量):使用 const 修饰符声明
const int a = 0;\\不可改变(在编译时是已知的,在程序的生命周期内不会改变); 定义同时必须初始化
3、全局变量:函数外部定义的变量。
全局变量是在所有作用域都可访问的变量,它不属于哪一个函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。
五、判断语句
1、if…else
五、判断语句
1、if…else
通过关系运算符判断表达式的真假来决定执行哪个分支,可嵌套使用
2、三元运算符:
(条件表达式)?表达式1:表达式2
如果条件为true,则返回表达式1;否则返回表达式2
ex.a>b?a:b\\a>b则返回a,否则返回b
3、switch
如果条件为true,则返回表达式1;否则返回表达式2
ex.a>b?a:b\\a>b则返回a,否则返回b
3、switch
switch(表达式)//float、double不可做参数
{
case '取值1': 执行语句;//case后必须为常量
break;
case '取值2': 执行语句;
break;
··· ···
default : 执行语句;
break;
}
(1)switch语句执行时由首个case开始,直至遇到break或 }结束;
(2)若case后未加break,程序会从满足条件的第一个case起执行下去到尾。
if else与switch的区别、效率:
区别: if需显示给定判断式;switch用于分支较多问题,代码可读性较强;
if的括号内的表达式可以分别是布尔类型的合法表达式,可以是所有大于0的正整数为true,反之为小于等于0的正整数为false,可以是常量、枚举; 而switch括号内也符合前面if提到的外,就是当圆括号内为正整数只能是0或1,其它的正整数属于 default范围。
效率:后者直接跳转,正常情况下只需判断一次;而当条件比较多时,前者可能会判断直至最后一个才符合,故要判断至少一次。
六、const与#define的区别
1、const是一种语法结构、define是一个函数,const的执行效率高于define
2、define只能在类外定义常量,const可以在类内与类外定义常量。
3、const不能用在分支结构,define可以
4、const的值只能是一个具体的标量类型,define的值可以是一个式子
5、const定义的常量名严格区分大小写,defined函数可以通过使用第三个参数,来决定常量名是否区分大小写。
2、define只能在类外定义常量,const可以在类内与类外定义常量。
3、const不能用在分支结构,define可以
4、const的值只能是一个具体的标量类型,define的值可以是一个式子
5、const定义的常量名严格区分大小写,defined函数可以通过使用第三个参数,来决定常量名是否区分大小写。