int 整形 | signed 默认 有符号 或无符号 | _bool 布尔 |
---|---|---|
long 长 | void 无 | _complex |
short 短 | _lmaginary | |
unsigned 无符号 | long long | |
char 字符串 | ||
float 浮点数 | ||
double 双精度 |
类型 | 宽度 |
---|---|
short | 2 |
int | 4 |
long | 4 |
long long | 8 |
char | 1 |
float | 4 |
double | 8 |
//进制的表示
#include <stdio.h>
#include <stdlib.h>
#include<stdio.h>
int main(int argc, char *argv[])
{
//十进制
int a = 1231;
//八进制
int b = 01231;
//十六进制
int c = 0x1231c;
printf("%d,%o,%x",a,b,c); // %x可大写 大写输出的16进制就是大写格式
// printf("%d,%#o,%#x",a,b,c); 加# 输出完整的数据
return 0;
}
//char
char ca= 'b';
printf("%c",ca);
// float double
float e=3.14;
double f =3.14e2;
printf("%f.%lf",e,f);
// 提前了解数组
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char arrStr[20]= {'r','k','v','i','r','\0' };
char arrStr2[20] = "rkvir";
// string
//int nRetSize = strlen (arrStr) ; strlen 字符串数据有多少
int nRetSize = sizeof (arrStr) ; //sizeof () 计算有效数据
printf("%d" ,nRetSize) ;
return 0;
}
常量与预处理器
常量 : #denfine
只读 : const
// 宏
#define CHEN_X_L "CHENXIAOLONG"
int main(int argc, char *argv[])
{
printf("%s",CHEN_X_L);
return 0;
}
// 全局都是通用的一个宏 常量 宏在编译的时候被替换
int main(int argc, char *argv[])
{
const int a =10;
//a=12; const 是只读的 一般情况下不能在赋值
printf("%d",a);
return 0;
}
小练习
一:实现输入ASCII 输出字符
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a;
scanf("%d",&a);
printf("%c",a); //可以替换为 x 输出 16进制
return 0;
}
二:一年大概有(365 24 60* 60)秒,实现输入一个人的年龄,输出秒数
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int age;
long m;
scanf("%d",&age);
m=(365*24*60*60)*age;
printf("%ld",m);
return 0;
}
// 替换为常量 年月日
#include <stdio.h>
#include <stdlib.h>
#define t 365
#define y 24
#define r 60
#define m 60
int main(int argc, char *argv[])
{
int age;
long mm;
scanf("%d",&age);
mm=(t*y*r*m)*age;
printf("%ld",mm);
return 0;
}
三:1英寸等于2.54厘米,实现输入一个人的身高(英寸),输出厘米单位的身高数
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
float a;
float b;
scanf("%f",&a);
b=a/2.54;
printf("%f",b);
return 0;
}