类型、运算符与表达式
变量和常量是C语言中的基本数据对象。
1.变量与变量名
局部变量:较短的变量名
外部变量:较长的变量名
变量名使用小写字母,符号常量名使用大写字母。
2.数据类型与长度
字符型 char–1B
整型 int–4B 短整型 short int–2B 长整型 long int–8B
单精度浮点型 float–4B
双精度浮点型 double–8B
3.常量
整数常量
浮点数常量
字符常量
常量表达式
字符串常量
枚举常量
字符用单引号;字符串用双引号,末尾默认加’\0’。
4.声明
在声明变量时也可对其进行初始化
任何变量声明都可使用const限定符限定指定变量不能被修改
对数组而言,const限定符指定数组中的所有元素不能被修改
举例:
#include #define MAX 100
int main()
{
int num1 = 20;
float num2 = 20.0;
//整数常量和浮点数常量
printf("%d %f\n", num1, num2);
//字符常量
printf("%d %d %d ", 'A', 'a', '0'); //65 97 48
printf("%c %d\n", '\0', '\0'); //'\0'代表空字符,其值为0
//常量表达式
printf("%f ", num1+num2);
printf("%d\n", MAX+1); //101
//字符串常量
printf("%s ", "Hello World");
printf("Hello World ");
printf("%c\n", "Hello World"[6]);
//枚举常量
enum m {f, q, j};
printf("%d %d %d\n", f, q, j); //0 1 2
return 0;
}
结果:
5.运算符
算术运算符 + - * /(除) %(取余)
关系运算符 > >= < <= == !=
逻辑运算符 !(非) &&(且) ||(或)
类型转换 (float) 变量
按位运算符 &与 |或 ^异或 <>右移 ~按位取反
赋值运算符 = += -= *= /=
自增运算符和自减运算符 ++ –
优先级:算术>关系>逻辑>赋值
作为前缀或后缀运算符,++n与n++的效果相同;表达式x=n++与x=++n效果不同
6.表达式
赋值表达式 i=i+2与i+=2等价
条件表达式 ? :(三目运算符)A? B : C (A成立为B,A不成立为C)
逗号表达式 (A, B, C, D) 最终值为D的值
举例:
#include int main()
{
int a = 10, b = 100, c =101;
printf("%d %d %d %d %d %d %d\n", a+b, b-a, a*b, b/a, c/a, b%a, c%a);
if((a+b)>100 && (a*b)>=1000)
printf("是!\n");
if((b/a)==10 || (c%a)!=10)
{
printf("类型转换为:%f\n", (float) b);
}
int x1, x2, n = 50;
x1 = n++;
x2 = ++n;
printf("%d %d\n", x1, x2);
int p = 6, q = 7, z;
z = (p > q) ? p : q;
printf("%d\n", z);
return 0;
}
结果:
7.运算符的优先级