基本知识:1.无符号的整型数据,指的是不带符号的整数,也就是0和整数【或者不算复数】。
2.。。1字节=8比特,占了一个字节就是:0000 0000这样子的8个比特。
3.{
(1.整型常量)
1.整型:eg:n位,从-2^(n-1)到2^(n-1)-1
char【既是整型又是字符型8位,-128—127(-2^7到2^7-1)】;short【16位(-2^15到
2^15-1)】;int【32位】;long【32位】,前面加上unsigned就是无符号型;
2.整型常量:就是整数,只要大小不超过下面4.中列出的数值就是合法常量。
3.不同进制:eg;10 010 0x10这三个例子,第一个是十进制的10,也就是我们生活中最广
泛的数字10,第二个是八进制的10,转换成我们常用的十进制就是0*8^0+1*8^1=8,同理0x10转换成十进制就是0*16^0+1*16^1=16.所以十进制【由正负号和阿拉伯数字0到9组成】我们都会,八进制【由正负号和0到7组成】首位数字必须是0,十六进制【由正负号和0到9和a到f组成】首位必须是0x
4.整数的类型:一般根据有无后缀来划分:1.有后缀;l或L表示long型eg:-12L,后面有u或U表示unsigned型,后面有lu或LU表示unsigned long 型。2.无后缀:根据数值大小来确定eg:取值在-127到128之间的是char型。
(2.字符型)
1.用ASCLL码储存,即char=65与char=‘A’等价。
2.字符型常量:包括单引号和里面的字符eg:‘a’就是。【0和‘0’不一样】。
}
4.转义字符:它们叫控制码,因为屏幕上面没办法显示,也无法从键盘上面输入,【也属于字符常量】,所以通过由一个反斜杠加上一个字符组成的手段,把字符转换成别的含义。
5.{
1.实型:float【32位,有效数字7-8位,4个字节的存储空间】;double【64位,有效数字15-16位,8个字节的存储空间】;若前面有unsigned,那么符号位也表示数值。
2.实型常量:就是实数【或浮点数】
两种表示方法1.(十进制)浮点表示法:即实数的小数形式,每个小数点左右至少有一边要有数字,由正负号和0-9组成。
2.科学计数法:正负号,数字,e组成;e代表指数,前后都要有数字,后面必须是整数(代表指数)。【一般用于表示很大或很小的数字。】
}
6.整型数据的输入输出:{
1.整型的:16进制虽然是0x10这样的但是用scanf表示输入时要用%x【而不是%0x】,这样子我们输入的数字就直接转换成16进制了。下列代码无论输入的是0x10还是10,都是16.
#include <stdio.h>
int main() {
int a;
scanf("%x", &a);
printf("%d", a);
return 0;
}
scanf:%d --以十进制形式输出;%u---以十进制形式输出一个无符号的数字;%o--以八进制的形式输出;%x--以十六进制形式输出;若%md形式输出,则输出宽度为m,左补空格。
#include <stdio.h>
int main() {
printf("%d %o %x\n", 10, 10, 10);
printf("%d %d %d\n", 10, 010, 0x10);
printf("%d %x", 012, 012);//16进制的10用a来表示!,因为0到9不够了
}
这段代码说明,无论一个整数采用那种形式输出,它的数值是确定的。
2.实型数据的输入与输出:1.输出(printf)浮点数:%f %e,分别代表输出(6位小数的)浮点数,以指数形式输出(小数点前有且仅有一位非零的数字)。
2.实型数据的输入:float:%f %e,代表以小数或指数形式输出一个单精度的浮点数。double:%lf %le,以小数或指数的形式输入一个双精度的浮点数。
3.%m.n 表示输出宽度是m,保留小数后n位。%.n表示保留n位小数。
3.字符型数据的输入与输出:1.使用scanf:%c来表示输入一个字符型变量。printf:%c表示输出字符型的变量;scanf(“%c%c%c“,c1,c2,c3);printf("%c%c%c%c%c",c1,'#',c2,'#',c3);
若输入a bc(此时只读入了a b,作为c1,c2,c3,空格也被算进去了),此时printf:a# #b
2.使用单个字符的输入与输出:getchar()与putchar()。它们只能读取单个字符。用法:ch=getchar();putchar();括号里面不加‘’
3.在用字符型常量对字符型变量赋值时,由于字符型常量用ASCLL码表示,则要用''引起来。eg:ch=ch+'a'-'A'.