运算符
1.算术运算符 + - * / % ++ --
2.关系运算符 > < == >= <= !=
3.逻辑运算符 ! && ||
4.位运算符 << >> ~ | ^ &
5.赋值运算符 =及其扩展赋值运算符
6.条件运算符 ? :
7.逗号运算符 ,
8.指针运算符 * &
9.求字节数运算符 sizeof
10.强制类型转换运算符 (类型)
11.成员运算符 . ->
12.下标运算符 [ ]
13.其他 如函数调用运算符()
赋值运算符: =
赋值表达式:将赋值运算符右侧的值赋给左边的变量
1.右侧的值赋给左边变量 x=y=10
2.优先级低于算术运算符
例子:
int x;
float y;
x=5;
y=5.3;
3.结合性:从右向左
a+=n 等价于 a=a+n
n 是常量或表达式的值
4.复合的赋值运算:
a+=n
a-=n
a*=n
a/=n
a%=n
a=8,b=8,c=10,先左,后取值,最后右
表达式一为真则为表达式二的值,表达式一为假,则为表达式三的值。
位运算及其运算符: 与&,或|,异或^,
(1)按位与 & 双目运算符
格式: x & y
规则:对应位均为1时才为1,否则为0:
例: 3&9=1 0000 0000 0000 0011
& 0000 0000 0000 1001
0000 0000 0000 0001 =1
应用:取(或保留)1个数的某(些)位,其余各位置0。
(2)按位或 |
格式: x | y
规则:对应位均为0时才为0,否则为1。
例:15|9=15: 0000 0000 0000 1111
| 0000 0000 0000 1001
0000 0000 0000 1111 =15
应用:将1个数的某(些)位置1,其余各位不变。
(3) 按位异或 ^
格式:x ^ y 规则:对应位相同时为0,不同时为1
例如:15^9=6。
0000 0000 0000 1111
^ 0000 0000 0000 1001
0000 0000 0000 0110 = 6
用途:使一个数的某(些)位翻转(即原来为1的位变为0,为0的变为1),其余各位不变。
#include <stdio.h> int main() { char c1,c2; c1='A'; //将字符′A′的ASCII代码放到c1变量中 c2=c1+32; //得到字符′a′的ASCII代码,放在c2变量中 printf("%c\n",c2); //输出 c2的值,是一个字符 printf("%d\n",c2); //输出 c2的值,是字符′a′的ASCII代码 return 0; }
自动类型转换
小字节将自动向大字节的数据类型转换。
强制类型转换
把表达式的结果强制转换成指定的类型,但两种转换都是临时转换,不改变数据本身的类型和值。
【例】求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac>0。
#include <stdio.h> #include<math.h> //程序中要调用求平方根函数sqrt int main() { double a,b,c,disc,x1,x2,p,q; //disc 用来存放判别式(b b-4ac)的值 scanf("%lf%lf%lf",&a,&b,&c); //输入双精度型变量的值要用格式声明″%lf″ disc=bxb-4xa*c; p=-b/(2.0xa); q=sqrt(disc)/(2.0*a); x1=p+q;x2=p-q; //求出方程的两个根 printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);//输出方程的两个根 return 0; }
scanf函数用于输入a,b,c的值。
函数中括号内变量a,b,c的前面,要用地址符&。&a表示变量a在内存中的地址。 双引号内用%lf格式声明,表示输入的是双精度型实数。
格式声明为“%lf%lf%lf”,要求输入 3 个双精度实数。程序运行时,输入“1 3 2”, 两个数之间用空格分开。输入的虽是整数,但由于指定用%lf 格式输入,因此系统会先把 这3个整数转换成实数1.0,3.0,2.0,然后赋给变量a,b,c。
在printf函数中,在格式符f的前面加了“7.2”,表示在输出x1和x2时,指定数据占 7 列,其中小数占2列。优点:
①可以根据实际需要来输出小数的位数;
②如果输出多个数据,可使输出数据整齐美观。
1.输入输出是以计算机主机为主体而言的
-
C语言本身不提供输入输出语句 输入和输出操作是由C标准函数库中的函数来实现的。 优点: 简化编译系统简化 增强通用性和可移植性
-
要在程序文件的开头用预处理指令#include把有关头文件放在本程序中 #include #include 指令说明
三种形式:
#include"c:\cpp\include\myfile.h"
#include"myfile.h“
#include<myfile.h>
按指定路径查找文件
源程序文件所在目录
C编译系统指定的include目录
printf 函数
用来向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。
printf(格式控制,输出表列)