C语言入门02
整型
定义:就是没有小数部分的数
存储:正数以二进制原码存储,负数以二进制补码存储
占用空间:-231 ~ 231-1
类型 | 占用空间 |
---|---|
int | 16bit或32bit (4字节) |
short | 16bit(2字节) |
long | 32bit(4字节) |
long long | 8字节 |
sizeof():可以确定占用字节长度
符号属性:用unsigned修饰无符号数,表示只有正数;默认无unsigned 修饰是有符号数
字符型
定义:存储字符和标点符号之类的字符,用特定正数表示特定字符。只有在常用ASCII表中规定的字符,程序才能识别;范围0-127,只需7位即可。char类型是8位,刚好可以容纳。
存储:以整数存储,单用空间8bit
浮点型
定义:用于存储小数类型,一般分为单精度float,双精度double,长双精度long double
存储:以指数形式保存,按照SxMx2E(S符号位,M有效位,E指数位)
占用空间:float(6-7位) 4字节,double(有效数字15位)8字节 long double(有效数字19位)16字节 (不同编译系统分配大小不同)
float:1bit符号+8bit指数+23bit数值
double:1bit符号+11bit指数+52bit数值
转义字符
\b: 退格,退一格将前一位覆盖
\r:光标会回到这一行的首位
\t: \t占据8位,如果字符串不满8位会用空格占据,刚好8位会间隔8位空格,多出8位多出的部分用空格代替
两个\:代表斜杠
\单引号:代表单引号
\双引号:代表双引号
练习使用如下:
#include<stdio.h>
//#define PI 3.14
//%d是打印有符号的10进制的格式符
//%o是打印8进制的格式符
//%x是打印16进制的格式符
//%c是打印单个字符的格式符
//%s打印字符串的格式符
//%u无符号整数
//%hd short
//%ld long
//%lld long long
int main()
{
printf("%d\n",100); //100
printf("%e\n",0.3); //3.000000e-001
printf("%c\n",'a'); //a
printf("%d\n",'a'); //97
printf("%o\n",'a'); //141
printf("%x\n",'a'); //61
printf("%c\n",'a'-32); //将小写字母转化为大写字母 A
printf("%d\n",'1'); //49
printf("%d\n",'1'-'0'); //将字符'1'转化为数字1
printf("1234,\b5678\n"); //退格打印,退一格将逗号覆盖
printf("123456,\b789067\n");
printf("hello,world\r"); //光标会回到这一行的首位
printf("hello,world\r");
printf("world,world");
printf("qwert\tqwert\n"); // "\t"占据8位,如果字符串不满8位会用空格占据,刚好8位会
//间隔8位空格,多出8位多出的部分用空格代替
printf("qwertqwer\tqwert\n");
printf("qwertqwe\tqwert\n");
printf("qweer\\\n"); // "\\"打印 "\"
printf("qweer\'\n"); //打印 '
printf("qweer\"\n"); //打印 "
printf("%d\n",'\1'); //8进制转10进制
printf("%d\n",'\11');
printf("%d\n",'\111');
printf("%d\n",'\xF'); //16进制转10进制
printf("%d\n",'\x44');
unsigned int a; //无符号类型
a = -5;
printf("%u\n",a); //4294967291
printf("%d\n",sizeof(short int)); //计算类型或变量的长度
int a1 = 0xFFFFFFFF;
printf("%d\n",a1);
char ch;
ch = getchar(); //从键盘输入一个字符
putchar(ch); //终端打印一个字符
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(ch));
int ch1;
char ch2; //从键盘输入多个字符
scanf("%d%c",&ch1,&ch2);
printf("ch1=%d,ch2=%c\n",ch1,ch2);
return 0;
}