一、示例程序
/*platinum.c ---your weight in platinum*/
#include <stdio.h>
int main(void)
{
float weight; /*your weight*/
float value; /*equal to your weight*/
printf("Are you worth your worth in platinum\n");
printf("Let's check it out\n");
printf("Please enter your weight in pounds:\n");
/*获取用户输入*/
scanf("%f", & weight);
/*%f 用于读取键盘的输入,&weight b把输入的值赋值给weight变量。&寻找weight变量地点*/
/*假设白金的价格是每盎司$700*/
/*14.5833用于把每英镑常衡盎司转换为金衡盎司*/
value = 1700.0 * weight * 14.5833;
printf("Your weight in platinum is worth $%.2f\n", value);
/*%f 浮点数占位符 数字2代表精确度--百分位*/
printf("You are easily wroth that !If platinum prices drop,\n");
printf("eat more to maintain your value.\n");
getch();
return 0;
}
二、变量与常量数据
变量variable
常量constant
三、数据型关键字
(一)常用数据类型关键字
int long short unsighed sighed这五个提供基本整数类型的变式
float double 以及long double表示带小数点的数
char
void _Bool _Complex _Imaginary
其中char关键字用于指定字母和其他字符(#,$,*,%)也可以用来表示表较小的整数
_Bool 表示布尔值
_Complex表示复数
_Imaginary表示虚数
(二)位、字节、字
位、字节、字用于描述计算机数据单元或存储单元的术语。这里主要是指存储单元。
位(bit)存储0和1.是计算机内存的基本构建块。
字节(byte)是常用的计算机存储单元。对于几乎所有的机器,1字节 = 8位(C语言有不同的定义)
字是设计计算机时给定的自然存储单元。计算机的字长越大,其数据转移越快,允许的内存访问也更多。
(三)整数
整数以二进制方式存储在计算机中。整数和浮点数不同在于存储方式。
(二)浮点数
浮点数以e计数法(科学计数法)存储时,如:3.16E7表示3.16乘以10的7次方。
计算机把浮点数分为小数部分和指数部分来表示,而且分开存储。
浮点数表示的范围比整数大(整数没有小数部分,浮点数有小数部分)
四、C语言基本数据类型
(一)int类型
int是有符号整形可以是正整数,负整数和零
1、声明方式:
声明为变量创建和标记存储空间,并为其指定初始值。
- int erns;
- int hogs, cows, goats;
2、获取值的方式:
- 赋值crows = 12;
- 函数(如:scanf())
- 初始化变量
初始化可以直接在声明中完成,
int hogs = 21;
int cows = 45, goats = 14;
int dogs = ,cats = 78; //在这个时候,实际上只初始化了变量cats。
初始化变量时,不要把未初始化的变量和初始化的变量放在同一条声明中
3、int类型常量
4、打印int值
/*print1.c--演示print()的一些特性*/
#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); 遗漏两个参数
getch();
return 0;
}
5、八进制和十六进制
8和16是2的幂,在表达计算机相关的值时很方便。
十六进制表示为0x或0X
八进制表示为015;
6、显示十六进制和八进制
不同进制需要使用不同的转换说明。
1)以十进制显示的数字,使用%d,
2)以八进制显示的数字,使用%o;
3)以十六进制显示数字,使用%x;
要显示不同进制的前缀0、0X、0x分别使用以下方式%#o、%#x、%#X
(二)其他整数类型
C语言提供3个附属关键字修饰基本整数类型:short,long,unsigned
- short int(简写成short)占用的存储空间比int少,属于有符号类型;
- long int(l简写long)占用的存储空间比int多,属于有符号数据类型;
- long long int(简写成long long)占用的存储空间比int多,属于有符号数据类型;
- unsigned int(unsigned)只用于非负值。可获取更多的正值范围。还有unsigned short, unsigned long , unsigned long long
- signed int(signed)只用于非正值。以获取更多的负值范围。还有signed short, signed long , signed long long
1、声明其他整数类型
long int estine;
long johns;
short int erns;
short ribs;
unsigned int s_count;
unsigned players;
unsigned long headcount;
unsigned short yesvotes;
long long ago;
2、使用多种整数类型的原因
C语言规定了最低值。二个人计算机发展16位32位64位,导致各整数类型之间有重叠。
int 类型优先考虑unsigned类型,常用语计数,并且unsigned表示更大的数
尽量避免使用long ,但如需使用,则必须使用,以适用底层级位数的电脑。
3、long常量和 long long常量
从int --long ----unsigned ----unsigned long— long long --unsigned long long
并且适用于八进制数和十六进制数(均被视为int型 )