数据和C
2019-06-09 本文已影响0人
arkliu
简单的示例程序
#include <stdio.h>
/* main: generate some simple output */
int main(void)
{
float price, weight;
printf("please input price \n");
scanf("%f", &price); // 获取用户输入,%f表明输入的是浮点数
printf("please input weight\n");
scanf("%f", &weight);
printf("total is :%f", (price * weight));
return 0;
}
image.png
整数类型
八进制和十六进制
- 以十进制显示数字,使用%d
- 以八进制显示数字,使用%o
- 以十六进制显示数字,使用%x
#include <stdio.h>
int main(void)
{
int x = 100;
printf("dec = %d octal = %o hex = %x\n", x, x, x);
printf("dec = %d octal = %#o hex = %#x\n", x, x, x); //要显示各个进制数的前缀
return 0;
}
image.png
以不同进制的形式输出整数
#include <stdio.h>
int main()
{
short a = 0b1010110; //二进制数字
int b = 02713; //八进制数字
long c = 0X1DAB83; //十六进制数字
printf("a=%ho, b=%o, c=%lo\n", a, b, c); //以八进制形似输出
printf("a=%hd, b=%d, c=%ld\n", a, b, c); //以十进制形式输出
printf("a=%hx, b=%x, c=%lx\n", a, b, c); //以十六进制形式输出(字母小写)
printf("a=%hX, b=%X, c=%lX\n", a, b, c); //以十六进制形式输出(字母大写)
return 0;
}
image.png
其他整数类型
C语言提供3个附属关键字修饰基本整数类型:short,long和unsigned
- short int 通常用于较少数值的场合以节省空间,short是有符号类型
- long int 通常用于较大数值的场合,long是有符号类型
- long long 适用于更大数值的场合
- unsigned int unsigned只用于非负值的场合
- long long int
- unsigned long int
- unsigned short int
- unsigned short
- unsigned long long int
- unsigned long long
打印short ,long, long long, 和unsigned类型
打印unsigned int类型使用%u, 对于short类型,使用h前缀,%hd表示以十进制输出, 打印long类型的值,使用%ld
#include <stdio.h>
int main(void)
{
unsigned int un = 1000;
short end = 200;
long big = 65537;
long long verybig = 12367428364123289475;
printf("un = %u end = %hd big = %ld verybig = %lld", un, end, big, verybig);
return 0;
}
image.png
打印字符型和浮点型
#include <stdio.h>
int main(void)
{
char c;
printf("please input a char\n");
scanf("%c", &c);
printf("your input is :%c\n", c);
float f;
printf("请输入一个浮点数\n");
scanf("%f", &f);
printf("输入的数是:%f", f);
return 0;
}
image.png
类型大小
#include <stdio.h>
int main(void)
{ // sizeof以字节为单位给出对象的大小
printf("char 类型大小:%zd 字节\n", sizeof(char));
printf("int 类型大小:%zd 字节\n", sizeof(int));
printf("long 类型大小:%zd 字节\n", sizeof(long));
printf("long long 类型大小:%zd 字节\n", sizeof(long long));
printf("double 类型大小:%zd 字节\n", sizeof(double));
printf("long double 类型大小:%zd 字节\n", sizeof(long double));
return 0;
}
image.png
字符串简介
char类型数组和null字符
(此处为\0)
#include <stdio.h>
int main(void)
{
char name[200];
printf("请输入您的姓名:\n");
scanf("%s", name);
//strlen函数计算字符串的字符长度
printf("您的姓名是:%s, 字符长度是%zd", name, strlen(name));
return 0;
}
image.png
常量和C预处理器
#include <stdio.h>
#define PI 3.1415926
int main(void)
{
float radius, circum, area;
printf("请输入圆的半径:\n");
scanf("%f", &radius);
circum = 2.0 * PI * radius;
area = PI * radius * radius;
printf("圆的周长是:%1.2f 面积是:%1.2f", circum, area); //%1.2f 表示结果被四舍五入为两位小数
return 0;
}
image.png
单字符IO
#include <stdio.h>
int main(void)
{
char ch;
while ((ch = getchar()) != '#') {
putchar(ch);
}
return 0;
}
image.png