C Language Day01
1.过程和对象
面向过程:是一种以事件为中心的编程思想。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。
面向对象:相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待。
#include <stdio.h>
void main(){
printf("hello world!");
}
main是主函数的函数名,每一个程序必须有,且只有一个主函数。
printf函数功能是把输出的内容送到显示器显示出来。
2.数据类型
常量:程序执行过程中,其值不发生改变的量。
变量:其值可变的量。
符号常量:用标示符代表一个常量。使用前必须先定义,一般形式为:
#define 标识符 常量
#define是一条预处理命令,称为宏定义命令,把标识符定义成一个常量。
符号常量的标识符用大写字母,变量标识符用小写字母。
#include <stdio.h>
#define PRICE 30;
void main(){
int num,total;
num=10;
total=num*PRICE;
printf("total=%d\n",total);
}
整型变量:int k=3;变量定义在变量使用之前。(变量的名称,变量的值,变量的地址)
整型常量就是整常数,整常数有八进制,十六进制,十进制。
八进制:必须以0开头,取值0-7,无符号数。(015 十进制13,0101 十进制65)
十六进制:前缀0X或0x,取值0-9,A-F或a-f。(0X2A 十进制42,0XA0 十进制160)
内存中的二进制存储,一个字节Byte=8位bit
数值以补码表示的:正数的补码和原码相同;负数的补码 将该数的绝对值的二进制形式按位取反再加1。
如:-10的补码
10的原码:00001010
取反: 11110101
再加1: 11110110 第一位是符号位
整型变量:
- 1.基本型 int,在内存中占4个字节
- 2.短整型,short int或short
- 3.长整型 long int或long,在内存占4个字节;
- 4.无符号型 unsigned
#include <stdio.h>
void main(){
printf("%d\n",sizeof(int));
}
变量定义一般形式:类型说明符 变量名标识符,变量名标识符....
int a,b,c; a,b,c为整型变量
long x,y; x,y为长整型变量
#include <stdio.h>
void main(){
int a,b,c,d;
unsigned u;
a=12;
b=-24;
u=10;
c=a+u;
d=b+u;
printf("a+u=%d,b+u=%d\n",c,d);
}
实型变量:单精度(float),双精度(double),长双精度(long double)三类。
字符型数据:字符常量和字符变量
字符变量 char a,b;
转义字符,如“\n”换行
#include <stdio.h>
void main(){
char a,b;
a='a';
b='b';
a=a-32;
b=b-32;
printf("%c,%c\n",a,b);
}
a ASCII码97,A ASCII码65
字符串常量由一对双引号括起来的字符序列。
字符常量由单引号括起来,字符串常量由双引号括起来。
可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。
如 char a='a'可以,而char a="a"不可以; 字符串中存在存放字符"\0",这是字符串结束的标志。
各类数值型数据之间的混合运算转换按数据长度增加的方向进行,如int和long运算时,先把int转换成long型再运算。
char和short运算时,必须先转换成int型。
char,short-->int-->unsigned-->long-->double
强制类型转换:(float)a,(int)(x+y)
#include <stdio.h>
void main(){
float f=5.75;
printf("(int)f=%d,f=%f\n",(int)f,f);
}
3.运算符和算术表达式
运算符结合型:左结合(自左至右),右结合(自右至左)
++i:i自增1后再参与其它运算
--i:i自减1后再参与其它运算
i++:i参与运算后,i的值再自增1
i--:i参与运算后,i的值再自减1
#include <stdio.h>
void main(){
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}
赋值运算符:由“=”连接,变量=表达式
如 x=a+b;
赋值运算符:a+=5等价于a=a+5;x*=y+7等价于x=x*(y+7)
逗号运算符,其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。
#include <stdio.h>
void main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b,b+c);
printf("y=%d,x=%d\n",y,x);
}