数据类型、运算符与表达式
整形变量
基本整形:int 【两个字节】
短整形:short int,或者short 【两个字节,16位】
长整型:long int ,或者long【四个字节】
无符号整型:unsigned int 【两个字节】
//一个字节8位。
//在32位机子上int 为4字节
输出:
#include <stdio.h>
int main()
{
int a=3;
printf("%d\n",a);
return 0;
}
浮点型变量
单精度:float 【四个字节】
双精度:double 【8个字节】
长双精度:long double【16个字节】
输出:
#include <stdio.h>
int main()
{
float a=3;
printf("%f\n",a);
return 0;
}
注:
当输出单精度浮点型float变量f时,可以用printf("%.nf", f)来使输出结果保留n位有效数字。
如果是双精度浮点数double,就需要用%.nlf来使输出结果保留n位小数。
字符型数据
字符常量
字符形式 | 含义 |
---|---|
\n | 换行 |
\t | 水平制表(跳到下一个tab位置) |
\b | 退格 |
\r | 回车,当前位置移到本行开头 |
\f | 换页,当前位置移到下页开头 |
\ | 代表一个反斜杠字符“\” |
’ | 代表一个单引号字符 |
" | 代表一个双引号字符 |
\ddd | 1到3位八进制数所代表的字符 |
\xhh | 1到2位十六进制数所代表的字符 |
字符变量
char 【一个字节】
输出:
#include <stdio.h>
int main()
{
char c=‘a’;
printf("%c\n",c);
}
字符串常量
“a”
注意:‘a’是字符常量,“a”是字符串常量
“a”在内存中为: a \0,并不是a
字符串
char []= “la la la”;
与
char []={“la la la”};
等价,可以省略{}
char []={‘la’,‘la’,‘la’,’\0’};
与
char []={‘la’,‘la’,‘la’}
并不相同,第一个有\0而第二个没有
强制类型转换
(类型名)(表达式)
eg,
(double)a //将a转换成double类型
(int)(x+y)//将x+y的值转换成整型
(float)(5%3)//将5%3的值转换成float型
注意:
(int)x+y为:将x转换成整型然后与y相加。
++i :先加后赋值
i++:先赋值再相加
printf
输出字符:
1、%d。按10进制整型数据的实际长度输出。
2、%md。如果数据的位数小于m,则左端补以空格,若大于吗,则按实际位数输出。
3、%ld。输出长整型数据。
4、%o。以八进制整数形式输出。
5、%c。输出一个字符
6、%s。输出字符串
%ms:输出的字符串占m列。若字符串小于m,向左补空格。大于m,全部输出。
%-ms:如果字符串小于m,则右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格
%-m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,右补空格
7、%m.nf:指定输出的数据占m列,其中有n位小数。如果数值长度小于m,则左端补空格
scanf
输入
注意
eg:
scanf(“%d,%d”,&a,&b);
输入应该是 4,5【带逗号】
在遇到以下情况默认结束:
1、在输入空格或者回车或者tab键
2、 按指定的宽度结束,如%4d,只取3列
3、遇到非法输入
开根号:sqrt();
头文件:#include<math.h>