编辑(.c) 编译(obj) 链接(exe) 运行
int main(){ printf("hello word"); return 0;} 只能有字母、数字、下划线组成
数字不能开头
严格区分大小写
不能用关键字
被C语言本身使用的那些字,比如:include,int,return
包含基本(简单)数据类型、复合(复杂、构造)数据类型
基本数据类型包括整形(整数)、浮点型(实数)、字符型(单个字符)。
6个:
有符号数:short(2)、int(2/4)、long(4)
无符号数:unsigned short、unsigned int、unsigned log
bit/b 1byte=8b 1KB=1024byte 1GB=1024MB 1TB=1024GB
单精度:float(4)
双精度:double(8)
char(1)
十进制、八进制、十六进制三种表示方法
100 0100 0x100
例如:048是错误八进制是0-7
0x23EF是十六进制
十进制、指数形式两张表示方法
表示单个字符,使用‘’单引号界定
转译字符:回车‘/n’ Tab制表符位'/t' '/'
表示一串字符,使用“”双引号界定
“Hello Word”
#define 符号 常量
xxxxxxxxxx
定义变量的格式:
数据类型 变量名 [=初始]
xxxxxxxxxxint a;float max;char ch='a';变量的三要素:变量的数据类型、变量的名、变量的值
可以同时定义多个变量
xxxxxxxxxxint a,b,c;int a,b=5,c;int a=b=c=5;/*错误的*/ => int a,b,c; a=b=c=5;
符号、运算规则、使用规则
符号:+ - * / % ++ --
运算规则:%求模运算(取余数)5%3(=2)
++和--:自增自减,自己+1或自己-1;++/--的运算规则和所在位置有关系
xxxxxxxxxxint b=2;a = b++;/*先参加运算,后自增结果a=2 b=3*/a = ++b;/*先自增,后运算 a=3 b=3*/使用规则:
/:如果两个操作数都是整形的,结果是整形的(商);只要有一个操作数是浮点型的,那么结果就是浮点型的。
%:两个操作数都必须是整形的
符号:=
运算规则:把=右边的数据赋值给左边的变量
二进制的运算
运算符:
| & | | | ~ | ^ | << | >>> | >>> |
|---|---|---|---|---|---|---|
| 按位与 | 按位或 | 按位求反 | 按位异或 | 按位左移 | 按位右移 | 按位算数右移 |
运算规则:
0&0=0;0&1=0;1&0=0;1&1=1
0|0=0;0|1=1;1|0=1;1|1=1
~0=1;~1=0
0^0=0;0^1=1;1^0=1;1^1=0
5<<2 0000010100
5>>2 0000000101
顺序结构、选择结构、循环结构
从上自下顺序执行每一条语句
printf("格式字符串",输出列表);
格式字符串:用""括起来
普通字符:原样输出
格式符:%+字母(%d-整数,%f-实数,%c-字符,%s-字符串)
输出列表:输出项之间用,号隔开
注意:输出列表中的输出项要一一对应前面的格式符(个数、类型、内容)
xxxxxxxxxx/*例如*/printf("area=%f",area);printf("length=%f,width=%f,area=%f",lenght,width,area);scanf("格式字符串",输出地址列表);
求地址运算符:&
格式字符串:用""括起来
普通字符:原样输入
格式符:%+字母(%d-整数,%f-实数,%c-字符,%s-字符串)
输入地址列表:用,号隔开
xxxxxxxxxx scanf("%f,%f",&length,&width);注意:多个数值类型数据输入的时候,如果没有指定分隔符,使用默认的分隔符(空格、回车、tab)
多个字符型数据输入的时候,如果没有指定分隔符,不需要使用默认的分个数,编译器会按照字符是的顺序自动接收
x/*键盘输入练习*/int main(){// float length,width,area;// scanf("%f%f",&length,&width);// area = length * width;// printf("area = %.2f",area); char ch1,ch2; scanf("%c,%c",&ch1,&ch2); printf("ch1=%c,ch2=%c",ch1,ch2); return 0;};
xxxxxxxxxx/*例题求圆的面积和周长*/int main(){ float r,l,s; printf("请输入圆的半径:"); scanf("%f",&r); l = 2 * PI * r; s = (r*r)*PI; printf("圆的周长=%.2f,圆的面积=%.2f",l,s); return 0;};xxxxxxxxxx/*练习公差运算*/int main(){ /*定义变量*/ int a1,n,d,an,sn; /*输入*/ printf("请输入首项和公差:"); scanf("%d%d",&a1,&d); n = 10; /*计算*/ an =a1+(n-1)*d; sn=n*a1+n*(n-1)*d/2; /*输出*/ printf("第十项的值为:%d,前十项的和:%d",an,sn); return 0;};