一、代码
1 //输入a,b;输出较大值;如果相同,输出0 2 3 #include<stdio.h> 4 5 int max(int,int); //C语言调用函数时,如果被调用的函数在前面定义的,则不需要声明,如果调用的函数在后面定义的,就需要申明 6 int main() 7 { 8 int a,b,n; 9 printf("please input two num:"); //printf函数,通常的用法就是没有输出数字时,直接将需要输出的内容写到引号里面,如果加了输出数字,就需要中间用逗号隔开,后面直接写输出的数 10 scanf("%d,%d",&a,&b); // %后面加输出数据类型,表示输出的格式;使用形式:scanf("<格式说明字符串>",<变量地址>),输入的格式要完全按照前面引号内的部分,后面是变量地址,所以普通变量需要加&,表示它的地址 11 n=max(a,b); 12 printf(" the max between %d and %d is %d ",a,b,n); //转义序列是编程语言中有特殊意义的符号标记 13 } 14 15 int max(int num1,int num2) 16 { 17 if(num1>num2) //if语句三种用法:if() ; if() esle ; if() else if() else 18 return num1; //if(内容) 的意思就是判断内容的真假,1是真,0是假,因此如果里面不是一个表达式,而是一个数字时,只要数值不是0就是真,运行if后面的,如果是0,就是假,后面不运行 19 else if(num1<num2) //if(a=b)和if(a==b)的区别:if(a=1)也就将b的值赋给a,然后判断a是否为0,是真是假;if(a==b)里面是判断a和b的大小,判断a是否等于b,如果等于就是真,不等于就是假 20 return num2; //C语言中关系运算符:大于 > , 大于等于>=, 小于 < , 小于等于<=, 等于 ==, 不等于 !=; 关系表达式的一般形式为:表达式 关系运算符 表达式; 关系表达式的值是真”和“假”,用“1”和“0”表示。 21 else //c语言中逻辑运算:逻辑与 &&, 逻辑或 ||, 逻辑非 !,一般形式:表达式 逻辑运算符 表达式; 22 return 0; //c语言位运算符:按位与 &, 按位或 |,按位异或 ^ , 取反 ~, 左移 <<, 右移 >>; 同或就是输入两边相同时为1,不同时为0; 异或就是输入两边不同时为1,相同时为0; 23 }
二、常量和变量
1、在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。
2、常量包括:
直接常量:整型(整数)、实型(实数)、字符型(需要加单引号括起来)
符号常量:用标识符代表一个常量,先宏定义:#define 标识符 常量,一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值(好处就是一改全改)。
3、变量:
在定义中不允许连续赋值,如a=b=c=5是不合法的
三、数字
1、进制前缀:二进制前缀0b,十进制没有前缀,八进制必需前缀0(是零,不是欧,开头也不能是负号),十六进制前缀0x或0X(同样是零不是欧),
2、实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式(必须有小数点才合法)。
指数形式: a E n(a为十进制数必需要有小数,n为十进制整数,E大小写均可),其值为 a*10n,
3、实型变量
实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。
类型说明符 | 比特数(字节数) | 有效数字 | 数的范围 |
---|---|---|---|
float | 32(4) | 6~7 | 10-37~1038 |
double | 64(8) | 15~16 | 10-307~10308 |
long double | 128(16) | 18~19 | 10-4931~104932 |
4、实型常数不分单、双精度,都按双精度double型处理
四、字符型数据
1、字符型数据是用单引号括起来的一个字符,转义字符是一种特殊的字符;
2、字符变量:字符变量的类型说明符是char
3、字符串
字符串是由一对双引号括起的字符序列
五、数据类型转换
1、自动转换
自动转换发生在不同数据类型的量混合运算时,由编译系统自动完成。自动转换遵循以下规则:
- 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
- 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
- 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
- char型和short型参与运算时,必须先转换成int型。
- 在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
2、强制转换
类型说明符和表达式都必须加括号(单个变量可以不加括号)
(类型说明符) (表达式)
例如:(float) a;
(int)(x+y);
六、运算符
1、算术运算符: 加 +, 减 -, 乘 *, 除 /, 取余%(必需都用于整型),
自加:++i(i自增1后再参与其它运算), i++:i参与运算后,i的值再自增1;
自减:--i:i自减1后再参与其它运算,i--:i参与运算后,i的值再自减1