4_占位符
#include<stdio.h>
#include<stdlib.h>
/*
基本数据类:
char, int, float, double, long, short, signed, unsigned, void
sizeof(int); //返回int类型占字节长度
数字的占位符:%d
*/
main()
{
int size = sizeof(int);
printf("int类型的长度:%d",size);
system("pause");
}
完整代码:
main()
{
printf("char类型的长度:%d\n",sizeof(char));
printf("int类型的长度:%d\n",sizeof(int));
printf("float类型的长度:%d\n",sizeof(float));
printf("double类型的长度:%d\n",sizeof(double));
printf("long类型的长度:%d\n",sizeof(long));
printf("short类型的长度:%d\n",sizeof(short));
system("pause");
}
运行如图:
C语言中char类型是1个字节(不可以表示汉字),Java语言是2个字节(可以表示汉字)
C语言中long类型是4个字节,Java中是8个字节
根据:c99标准下,long类型的定义为:不可以比整形小;
boolean C语言中表示:0(flase), 非0(true)
byte C语言中没有此类型;
unsigned 无符号 0~255
signed 有符号 -128~127
void 无类型,任意类型
- 输入输出函数-32
1_输出函数
printf("你要输出的内容");
%d - int
%ld - long int
%c - char
%f - float
%u – 无符号数
%hd – 短整型
%lf – double
%x – 十六进制输出 int 或者long int 或者short int
%o - 八进制输出
%s – 字符串
1、写代码如下
main()
{
int i = 1234;
long l = 12345678;
char c = 'a';
float f = 3.1415;
double d = 3.1415926535;
printf("i=%d\n",i);
printf("l=%ld\n",l);
printf("c=%c\n",c);
printf("f=%f\n",f);
printf("d=%lf\n",d);
system("pause");
}
运行演示结果如下:
f被补成6位了,d被截断了,
导致的原因是默认输出小数点后六位
2、解决方案:
原来代码:
printf("f=%f\n",f);
printf("d=%lf\n",d);
改成如下:
printf("f=%.4f\n",f);
printf("d=%.10lf\n",d);
- 对应的类型使用对应的占位符输出,不然会损失精度
例如:
int i = 12345678;
printf("i=%hd\n",i);
结果是错误的
2_输入函数
Java中的输入函数:System.in();
C中的输入函数:scanf(“输入的类型占位符”,内存地址);
例如:
int len;
scanf(“%d”, &len);
A:整数的输入函数-创建新的文件“输入函数.c”
#include<stdio.h>
#include<stdlib.h>
/*
输入函数
int len;
scanf(“%d”, &len);
*/
main()
{
printf("请输入一个数字:");
int i;//定义一个i,用来接收用户的数据
scanf("%d",&i); //&i 取i变量在内存中的地址
printf("i=%d\n",i);
system("pause");
}
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。