1、常量和变量
A、常量
(1)整型常量
(2)实型常量
a十进制小数形式 b指数形式
(3)字符常量
a普通字符:用单撇括起来的一个字符,如`a`,`Z`,'3'
b转义字符
(4)字符串常量:如"boy","123"
(5)符号常量:用#define指令,指定用一个符号名称代表一个常量。如
# define PI 3.1416 //结尾没有分号
使用符号常量的好处 :a含义清楚 b做改动时只需改一处即可
B、变量:先定义,后使用
注:变量名和变量值是不同的概念
C、常变量:定义时,在前面加关键字const,如:const int a=3
D、标志符:只能由字母,数字和下划线3种字符组成,第一个字符必须为字母或下划线,如:sum,_total,_1_2_3
2、数据类型
3、整型数据
A、整型数据的分类
(1)基本整型(int型)
(2)短整型(short int)
(3)长整型(long int)
(4)双长整型(long long int)
注:不同的编译器规定各种类型数据占用存储单元的长度不同,C语言标准只要求long型数据长度不短于int型,short型不短于int型即可。
B、整型变量的符号属性
有的数据范围常常只有正值
无符号整型变量中存放的正数范围比一般整型中正数的范围扩大一倍
注:(1)只有整型,字符型可以加signed或unsigned修饰符,实型数据不能加
(2)对无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。
4、字符型数据
A、字符与字符代码:字母,数字,专门符号,空格符,不能显示的字符
B、字符变量
C、浮点型数据(由于小数点的位置可以浮动,所以实数的指数形式成为浮点数)
a float型(单精度浮点型):编译系统为每一个float型变量分配4个字节,有效数字位数8位。
b double型(双精度浮点型):编译系统为每一个double型数据分配8个字节,有效数字位数16位。
c long double型(长双精度型):编译系统为每一个long double型分配16字节,有效位数19位。
5、确定常量类型的方法
(1)整型常量:不带小数点的数据是整型常量,但应注意其有效范围
(2)浮点型常量:小数形式或指数形式出现的实数均是浮点型常量,如:10是整型常量,10.0是浮点型常量。
注:变量是占用存储单元的,类型是变量的共性,不占用存储单元,不能用来存放数据
6、C运算符
基本的算术运算符
注:两个实数相除的结果是双精度实数,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。例如,-5/3,有的系统中的得到的结果为-1。
%运算符要求参加运算对象(即操作数)为整数。如8%3,结果为2
7、自增(++),自减(--)运算符
++i,--i(在使用i之前,先使i的增加(减)1)
i++,i--(在使用i之后,使i的值加(减)1)
++i和i++的作用相当于i=i+1。但++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。
注:i+++j相当于(i++)+i
8、算术表达式和运算符的优先级与结合性
正常是遵循运算符的结合性,结合方向,自左向右,也有少数自右向左
9、强制类型转换运算符
(double)a (将a转换成double型)
(int)(x+y) (x+y的值转换成int型)
(float)(5%3)(将5%3的值转换成float型)
总结,一般形式为 (类型名)(表达式)
表达式应该用括号括起来。如果写成
(int)x+y只是将x转换成整型,再与y相加
10、C语句的基本结构
种类
a控制语句
b函数调用语句:由一个函数调用加一个分号构成。如:
printf("This is a C statement.");
c表达式语句:由一个表达式加一个分号构成(表达式后加一个分号就成了一个语句)
d空语句:就只有一个;
e复合语句。用{}把一些语句和声明括起来成为复合语句(又称语句块)
11、赋值语句 复合的赋值运算符
a +=3 等价于 a=a+3
x*=y+8 等价于 x=x*(y+8)
x%=3 等价于 x=x%3
12、数据的输入输出
(1)概念a输入输出是以计算机主机为主体而言的
(2)C语言本身不提供输入输出语句
(3)要在程序文件开头用预处理指令#include把有关头文件放在本程序中
注:在本程序文件中使用标准输入输出库函数时,一律加上#include stdio指令
13、printf函数的一般格式
printf(格式控制,输出列表)
格式控制是双撇号括起来的一个字串符
输出列表是输出的一些数据
14、格式字符
(1)d格式字符(可以指定输出数据的域宽即所占的列数)
(2)c格式字符:用来输出一个字符
(3)s格式符:用来输出一个字符串
(4)f格式符
a基本型%f:实数中整数部分全部输出,小数部分输出6位
b指定数据宽度和小数位数,用%m. nf
c输出的数据向左对齐,用%-m. nf
(5)e格式符
(6)其他格式符
a i格式符:作用和d格式相同,一般用%d
b o格式符:以八进制整数形式输出
c x格式符 以十六进制数形式输出整数
d u格式符 用来输出无符号(unsigned)型数据,以十进制整数型形式输出
e g格式符
% 附加字符 格式字符
15、用putchar函数输出一个字符
用getchar函数输入一个字符
16、scanf函数输入数据
17、已知三角形ABC的三边a=3.67,b=5.43,c=6.21,求三角形ABC的面积
执行代码
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%ftb=%ftc=%fn",a,b,c);
printf("area=%fn",area);
return;
}
运行结果
a=3.670000 b=5.430000 c=6.210000
area=9.903431