2.1 引例
#include <stdio.h>
#define PI 3.14159
void main()
{ int r;
float v, f;
r=2;
v=4.0 * PI * r * r * r / 3.0;
f=4.0 * PI * r * r;
printf("体积为:%f.表面积为:%f\n",v,f);
}
2.2 C语言的数据类型
数据类型分为:基本类型,构造类型,指针类型,空类型
基本类型可分为:整型,字符型,实型(浮点型)
构造类型可分为:数组类型,结构体类型,共用体类型,枚举类型
2.3 C语言的常量
2.3.1 直接常量
直接常量又分为整型常量,实型常量,字符型常量和字符型串常量
1.整型常量
在C语言中整型常量可以用十进制,八进制,十六进制表示
十进制表示:有数字0—9,正负号组成
八进制表示:以0为前缀,后面数字由0—7组成
十六进制表示:以0x或0X为前缀后面由数字0—9和字母大小写都可组成
十六进制一般是无符号数
注意:(1)整数型常量后面加一个字母u或U可以为是unsigned int型 如246u
(2)整数型常量后面加一字母L或l可以为是 long int型
2.实型常量
实型常量又称浮点数 在C语言中实数只能用十进制表示
实数的表示方式有两种:小数形式和指数形式
(1)小数形式:如12.367 -17.266均为正确的实数
(2)指数形式:有尾数部分,字母E或e和指数部分组成 格式为:±尾数E指数
如1.23-2,3.14E+3等表示的数值分别为1.23✖10✖0.01
以小数形式表达实数时必须要有小数点
以指数形式表达实数时字母E(e)的前后必须有数字
在C语言中 实数型常量默认为是double型的实数 如果在数的后面加字母f或F 则认为是float型的实数
3.字符型常量
#include<stdio.h>
int main()
{
char b, c, d, e;
b = '\43';
c = '\103';
d = '\x2a';
e = '\x41';
printf("b=%c,c=%c,e=%c\n", b, c, d, e);
printf("\"good\40morning!\b\"!\n");
printf("\123456");
return 0;
}
2.3.2 符号常量
#define标识符 常量值是一条编译预处理命令#include<stdio.h>
#define PRICE 20
int main()
{
int num, total;
num = 10;
total = num * PRICE;
printf("总价格为:%d\n", total);
return 0;
2.4 变量的定义与使用
C语言中所有变量必须先定义后使用
#include <stdio.h>
int main()
{ int a, b, c;
char ch = 'A';
a = 10;
b = a + ch;
scanf("%d", &c);
printf("%d,%d,%d,%c\n",a,b,c,ch);
return 0;
}
2.4.2 整型变量
不同类型整型变量定义与使用示例#include <stdio.h>
int main()
{ int a, b, c, d;
unsigned long e;
a = 5, b = 6, e = 10;
c = a + e;
d = b + e;
printf("c=%d,d=%d\n", c, d);
return 0;
}
短整型变量的溢出
#include <stdio.h>
int main()
{ short int a, b;
a = 32767;
b = a + 1;
printf("a=%d,b=%d\n", a, b);
return 0;
}
2.4.3 实型变量
单精度型数据能保留7为有效数字,双精度型数据能保留16为有效数字
#include <stdio.h>
int main()
{ float a = 1234.56789;
double b = 1234.567895678;
printf("a=%f,b=%f\n", a, b);
return 0;
}
2.4.4 字符型变量
长安漫月.:
#include <stdio.h>
int main()
{ char c1, c2;
c1 = 'A';
c2 = 65;
printf("%c,%c\n", c1, c2);
rintf("%d,%d\n", c1, c2);
return 0;
}
把大写字母换为小写字母
#include <stdio.h>
int main()
{ char c1, c2;
c1 = 'A';
c2 = 'B';
c1 = c1 + 32;
c2 = c2 + 32;
printf("%c,%c\n", c1, c2);
rintf("%d,%d\n", c1, c2);
return 0;
}
2.5 运算符和表达式
1.简单赋值运算符
int=a,b,c=3
2.复合赋值运算符
运算符 应用举例 等价形式
=+ a+=x a=a+(x)
3.赋值表达式
由赋值运算符将一个变量和一个表达式连接起来的式子所组成 一般形式为变量=表达式
v=4.0*PI*r*r*r/3.0
a=15+(i=6)
2.5.2 算术运算符和算术表达式
输入一个三位数的正整数,输出其反序数
长安漫月.:
#include <stdio.h>
int main()
{ int number, a, b, c;
number = 123;
printf("输入的3位数为;%d\n", number);
a = number / 100;
b = (number - a * 100) / 10;
c = number % 10;
printf("反序数是:%d%d%d\n", c, b, a);
return 0;
}
逗号表达式应用示例
#include <stdio.h>
int main()
{ int i, j = 7;
float k = 5;
i = (j = j + 2, j / k);
printf("i=%d\n",i);
return 0;
}
不同数据类型字节示例
#include <stdio.h>
int main()
{ printf("char 类型占%d字节\n", sizeof(char));
printf("short int类型占%d字节\n", sizeof(short int));
printf("int类型占%d字节\n", sizeof(short int));
printf("float类型占%d字节\n", sizeof(float));
printf("doubie类型占%d字节\n", sizeof(double));
return 0;
}
求字节数运算符示例
#include <stdio.h>
int main()
{ int a, b;
a = sizeof(3 + 5.0);
b = (sizeof 3 + 5.0);
printf("%d,%d,%d\\",a,b,sizeof ("china"));
return 0;
}
2.6 数据类型转换
强制类型转换示例
#include <stdio.h>
int main()
{ int a = 3, b = 4;
float c;
c = (float)(a + b) / 2;
printf("c=%f\n",c);
return 0;
}