- 基本的算术运算符
Ø两个整数相除的结果为整数
如5/3的结果值为1,舍去小数部分
如果除数或被除数中有一个为负值,舍入方向不固定。例如,-5/3,有的系统中得到的结果为-1,在有的系统中则得到结果为-2
VC++采取“向零取整”的方法
如5/3=1,-5/3=-1,取整后向零靠拢
% 运算符要求参加运算的运算对象(即操作数)为整数,结果也是整数。如8%3,结果为2
Ø用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式
Ø运算对象包括常量、变量、函数等
C语言规定了运算符的优先级和结合性
- 不同类型数据间的混合运算:
(1)+、-、*、/ 运算的两个数中有一个数为float或double型,结果是double型。系统将float型数据都先转换为double
型,然后进行运算
(2) 如果int型与float或double型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double型
(3)字符型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算
- 强制类型转换运算符
Ø强制类型转换运算符的一般形式为
(类型名)(表达式)
(double)a (将a转换成double类型)
(int) (x+y) (将x+y的值转换成int型)
(float)(5%3)(将5%3的值转换成float型)
Ø有两种类型转换
系统自动进行的类型转换
强制类型转换
- C运算符
(7) 逗号运算符 (,)
(8) 指针运算符 (*和&)
(9) 求字节数运算符 (sizeof)
(10) 强制类型转换运算符 ( (类型) )
(11) 成员运算符 (. ->)
(12) 下标运算符 ([ ])
(13) 其他 (如函数调用运算符())
- C语句分为以下5类
(1) 控制语句: if、switch、for、while、do…while、continue、break、return、goto等
(2) 函数调用语句 例如:printf(“hello”);
(3) 表达式语句 例如:i=i+1; j=3;
(4) 空语句 ;
(5) 复合语句 {}
1.赋值运算符“=”是赋值运算符
作用是将一个数据赋给一个变量
也可以将一个表达式的值赋给一个变量
2.复合的赋值运算符
在赋值符“=”之前加上其他运算符,可以构成复合的运算符
a+=3 等价于 a=a+3
+=,-=,*=,/=,%=,|=, &=,^=,=
3.赋值表达式一般形式为:
变量 赋值运算符 表达式
对赋值表达式求解的过程:
求赋值运算符右侧的“表达式”的值
赋给赋值运算符左侧的变量
赋值表达式a=3*5的值为15,对表达式求解后,变量a的值和表达式的值都是15
a=(b=5)和a=b=5等价
a=b和b=a含义不同
4.赋值过程中的类型转换两侧类型一致时,直接赋值
两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值定义变量时要防止数据溢出
5.赋值表达式和赋值语句赋值表达式的末尾没有分号,而赋值语句有分号
一个表达式可以包含赋值表达式,但决不能包含赋值语句
6.变量赋初值int a=3,b=3,c;
int a=3; 相当于 int a; a=3;
- 用printf函数输出数据
d格式符。用来输出一个有符号的十进制整数
可以在格式声明中指定输出数据的域宽 printf(”%5d%5d\n”,12,-345);
%d输出int型数据
%ld输出long型数据
i格式符和d格式符,也是输出有符号的十进制整数
u格式符,以十进制形式输出无符号整数
c格式符。用来输出一个字符char ch=’a’;
printf(”%c”,ch);
输出字符:a
s格式符。用来输出一个字符串printf(”%s”,”CHINA”);
输出字符串:CHINA
o格式符,以八进制整数形式输出 printf("%o\n",10);输出八进制数12
x或X格式符,以十六进制整数形式输出printf("%x\n",10);
输出十六进制数a
f格式符。用来输出实数,以小数形式输出①不指定数据宽度和小数位数,用%f
例3.6 用%f输出实数,只能得到6位小数。
double a=1.0;
printf(”%f\n”,a/3);
输出:
② 指定数据宽度和小数位数。用%m.nf
printf("%20.15f\n",1/3);
输出:printf("%.0f\n”,10000/3.0);
输出:
③ 输出的数据向左对齐,用%-m.nf
f格式符。用来输出实数,以小数形式输出float型数据只能保证6位有效数字
double型数据能保证15位有效数字
计算机输出的数字不都是绝对精确有效的
e或E格式符。指定以指数形式输出实数%e,VC++给出小数位数为6位
指数部分占5列
小数点前必须有而且只有1位非零数字
printf(”%e”,123.456);
输出:1.234560 e+002
g或G格式符,从e或E和f中选择长度最短的输出格式- 用scanf函数输入数据
Ø与printf函数中的格式声明相似
Ø以%开始,以一个格式字符结束,中间可以插入附加的字符
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
3.使用scanf函数时应注意的问题- 用putchar函数输出一个字符
Ø从计算机向显示器输出一个字符
Øputchar函数的一般形式为:
putchar(c)
例: 先后输出BOY三个字符。
Ø解题思路:
定义3个字符变量,分别赋以初值B、O、Y
用putchar函数输出这3个字符变量的值
#include
int main ( )
{
char a='B',b='O',c='Y';
putchar(a);
putchar(b);
putchar(c);
putchar ('\n');
return 0;
}
- 用getchar函数输入一个字符
Ø向计算机输入一个字符
Øgetchar函数的一般形式为:
getchar( )
例:从键盘输入BOY三个字符,然后把它们输出到屏幕。
Ø解题思路:
用3个getchar函数先后从键盘向计算机输入BOY三个字符
用putchar函数输出
#include
int main ( )
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}