3.1示例程序
#include <stdio.h>
int main(void){
float weight;
float value;
printf("Are you worth your weight in rhodium?/n");
printf("Let's check it out./n");
printf("Please enter your weight in pounds:");
scanf("%f",&weight);
value=2000.0*weight*14.5833;
printf("Your weight in rhodium is worth $%.2f./n",value);
printf("You are easilly worth that!If rhodium prices drop,/n");
printf("eat more to maintain your value./n");
return 0;
}
3.2变量与常量数据
常量:在程序使用之前预先设定并在整个运行过程中没有变化。
变量:在程序运行中可能变化或被赋值。
3.3数据:数据类型关键字
整数类型和浮点数类型:
int:基本整数类型,long、short和unsigned是变种。
char:表示字母和其他字符,也可表示小的整数。
float、double表示带有小数点的数。
_Bool表示布尔值,_Complex和_Imaginary表示复数和虚数。
位:容纳两个值(0和1)
字节:8位
字:根据计算机不同而不同,看计算机的位是多少。
3.3.1整数类型与浮点数类型
3.3.2整数
整数以二进制数字存储
3.3.3浮点数
小数和指数部分分别存储
3.4C数据类型
3.4.1int类型
可以是正、负或者0,范围-32768到32767,多个变量声明用逗号隔开。
八进制和十六进制,0表示使用八进制,0x表示十六进制,显示用%0和%d,%#0、%#X
3.4.2其他整数类型
short:比int小,有符号类型。
long:比int大,有符号类型。
long long:比long大,有符号类型。
unsigned:非负值,无符号类型,表示范围不同。
unsigned long和unsigned short,与unsigned意思类似。
使用多种整数类型是为了适应不同的机器,考虑速度和空间。
整数溢出:转回开始点。
后缀指定数值类型。
3.4.3使用字符:char类型
技术实现上是整数,实际存储整数,赋值也可以赋整数
转义序列
3.4.4_Bool类型
1位,1表示true,0表示false
3.4.5可移植的类型:inttypes.h
3.4.6float、double和long double类型
形式:包含小数点的一个带符号的数字序列,接着是字母e,然后是代表10的指数的一个有符号值。
可以省略正号,可以没有小数点或指数部分,但不能同时没有二者,可以省略纯小数部分或整数部分,但不能同时省略二者。
默认常量是double类型。
浮点值的上溢和下溢
infinity和NaN
浮点数舍入误差:缺乏足够精度
3.4.7复数和虚数类型
复数类型:float_Complex、double_Complex、long double_Complex
虚数类型:float_Imaginary、double_Imaginary、long double_Imaginary
3.4.8其他类型
数组、指针、结构和联合。
3.4.9类型大小
sizeof运算符给出类型大小
3.5使用数据类型
3.6参数和易犯的错误
3.7刷新输出
标准C规定在以下几种情况将缓冲区内容传给屏幕:缓冲区满,遇到换行符,需要输入。
#include <stdio.h>
int main(void){
float weight;
float value;
printf("Are you worth your weight in rhodium?/n");
printf("Let's check it out./n");
printf("Please enter your weight in pounds:");
scanf("%f",&weight);
value=2000.0*weight*14.5833;
printf("Your weight in rhodium is worth $%.2f./n",value);
printf("You are easilly worth that!If rhodium prices drop,/n");
printf("eat more to maintain your value./n");
return 0;
}
3.2变量与常量数据
常量:在程序使用之前预先设定并在整个运行过程中没有变化。
变量:在程序运行中可能变化或被赋值。
3.3数据:数据类型关键字
int | double |
long | signed |
short | void |
unsigned | _Bool |
char | _Complex |
float | _Imaginary |
整数类型和浮点数类型:
int:基本整数类型,long、short和unsigned是变种。
char:表示字母和其他字符,也可表示小的整数。
float、double表示带有小数点的数。
_Bool表示布尔值,_Complex和_Imaginary表示复数和虚数。
位:容纳两个值(0和1)
字节:8位
字:根据计算机不同而不同,看计算机的位是多少。
3.3.1整数类型与浮点数类型
3.3.2整数
整数以二进制数字存储
3.3.3浮点数
小数和指数部分分别存储
3.4C数据类型
3.4.1int类型
可以是正、负或者0,范围-32768到32767,多个变量声明用逗号隔开。
八进制和十六进制,0表示使用八进制,0x表示十六进制,显示用%0和%d,%#0、%#X
3.4.2其他整数类型
short:比int小,有符号类型。
long:比int大,有符号类型。
long long:比long大,有符号类型。
unsigned:非负值,无符号类型,表示范围不同。
unsigned long和unsigned short,与unsigned意思类似。
使用多种整数类型是为了适应不同的机器,考虑速度和空间。
整数溢出:转回开始点。
后缀指定数值类型。
3.4.3使用字符:char类型
技术实现上是整数,实际存储整数,赋值也可以赋整数
转义序列
/a | 警报 |
/b | 退格 |
/f | 走纸 |
/n | 换行 |
/r | 回车 |
/t | 水平制表符 |
/v | 垂直制表符 |
// | 反斜杠 |
/' | 单引号 |
/" | 双引号 |
/? | 问号 |
/0oo | 八进制值 |
/xhh | 十六进制值 |
3.4.4_Bool类型
1位,1表示true,0表示false
3.4.5可移植的类型:inttypes.h
3.4.6float、double和long double类型
形式:包含小数点的一个带符号的数字序列,接着是字母e,然后是代表10的指数的一个有符号值。
可以省略正号,可以没有小数点或指数部分,但不能同时没有二者,可以省略纯小数部分或整数部分,但不能同时省略二者。
默认常量是double类型。
浮点值的上溢和下溢
infinity和NaN
浮点数舍入误差:缺乏足够精度
3.4.7复数和虚数类型
复数类型:float_Complex、double_Complex、long double_Complex
虚数类型:float_Imaginary、double_Imaginary、long double_Imaginary
3.4.8其他类型
数组、指针、结构和联合。
3.4.9类型大小
sizeof运算符给出类型大小
3.5使用数据类型
3.6参数和易犯的错误
3.7刷新输出
标准C规定在以下几种情况将缓冲区内容传给屏幕:缓冲区满,遇到换行符,需要输入。