接上:
三、数据和C
1. 示例程序
/* platinum.c -- your weight in platinum */
#include <stdio.h>
int main(void)
{
float weight; /* 你的重量 */
float value; /* 相等重量的白金价值 */
printf("Are you worth your weight in platinum?\n");
printf("Let't check it out.\n");
printf("Please enter your weight in pounds: ");
/* 获取用户的输入 */
scanf("%f",&weight);
/* 假设白金的价格是每盎司 */
/* 14.5833 用于把英镑常衡盎司转换为金衡盎司 */
value = 1700.0 * weight * 14.5833;
printf("Your weight in platinum is worth $%.2f.\n",value);
printf("You are easily worth that! If platinum prices drop,\n");
printf("eat more to maintain your value.\n");
return 0;
}
2. 新元素
浮点数类型(float),前面用的整数类型变量(int)。
print()中使用%f处理浮点值,%.2f中的.2用于精确控制输出,指定输出的浮点数只显示小数点后两位。
scanf()读取输入,相当于python中的input(),%f表示读取输入浮点数,&weight表示把值赋给weight的变量,&用于找到weiht变量的地点。
3. 变量与常量数据
最初 K&R 给出的关键字 | C90 标准添加的关键字 | C99 标准添加的关键字 |
---|---|---|
int | signed | _Bool |
long | void | _Complex |
short | _Imaginary | |
unsigned | ||
char | ||
float | ||
double |
■位(bit):最小储存单位(0,1)
■字节(byte): 常用的计算机储存单位,1字节为8位,即有256种可能的0,1组合。可通过二进制编码表示0~255的整数或一组字符。
■字(word):设计计算机时给定的自然存储单位。
4. C语言基本数据类型
4.1 int 类型
■声明 int 变量 int erns;
■初始化变量 int hogs =21;和int cows =32, goats = 14;
■int 类型常量
■打印int值
/* print1.c-displays some properties of printf() */
#include <stdio.h>
int main(void)
{
int ten = 10;
int two = 2;
printf("Doing it right: ");
printf("%d minus %d is %d\n", ten, 2, ten - two );
printf("Doing it wrong: ");
printf("%d minus %d is %d\n", ten ); // forgot 2 arguments
//后两个%d打印值是内存中的任意值
return 0;
}
//Doing it right: 10 minus 2 is 8
//Doing it right: 10 minus 16 is 1650287143
■八进制和十六进制(前缀分别用0、0x和0X表示)
■显示八进制和十六进制
/* bases.c--prints 100 in decimal, octal, and hex */
#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);
//%o转为八进制,%x转为十六进制
//#表示八进制数前加0,十六进制前加0x
return 0;
}
//dec = 100; octal = 144; hex = 64
//dec = 100; octal = 0144; hex = 0x64