数据和C的结合

程序存在的意义就是要利用数据给人类提供便利。

C语言提供有两大系列的多种数据类型。

下面我们就着重的介绍整数类型和浮点数类型。


请看下面的示例。(来源于:《C Primer Plus》,略作改动。)

#include <stdio.h>
int main(void)
{
	float weight;     /*你的体重*/
	float value;       /* 相等重量的白金价值*/

	printf("Are you worth your eright i platinum?\n");
	printf("Let's check it out.\n");
	printf("Please enter your weight in pounds: ");

	/* 获取用户的输入 */
	scanf_s("%f", &weight);
	/*假设白金的价格是每盎司$1700 */
	/*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 mort to maintain your value.\n");

	return 0;
}

输出应该为

Are you worth your weight in platinum?
Let's check it out.
please enter your weight in pounds:156
Your weight in platinum is worth $3867491.25.
You are easily worth that!If platinum prices drop,
eat more to maintain your value.

这个示例用到了整数类型的变量(int)和浮点数类型的变量(float),能够处理更大范围的数据。其中,在printf()中使用了%f来处理浮点值,%.2f指:输出的浮点数只显示小数点后面两位。scanf()函数用于读取键盘输入,%f则表示scanf()函数要读取用户输入的浮点数,&weight规定scanf()把输入的值赋给weight。

1.int类型

int类型的值必须为整数,int可以声明多个变量,在int后列出多个变量,每个变量后用逗号隔开。

在C语言中,初始化可以在声明中直接完成,只需在变量后加上(=)和赋值即可,注意一点,不要把不需要初始化的变量和需要初始化的变量放在同一条声明中。

C语言通常把大多数的整型常量视为int类型,但是一些非常大的整数除外。

printf()函数可以打印int类型的值,格式化字符串中的每个%d都与待打印的int值相匹配。

下面看看示例,顺便看看犯错会导致的结果。(来源于《C Primer Plus》,稍作改动。)

/*print1.c-演示peintf()的一些特性*/
#include <stdio.h>
int main(void)
{
   int ten = 10;
   int two = 2;

   printf("正确的做法: ");
   printf("%d minus %d is %d\n",ten,2,ten - two);
   printf("错误的做法: ");
   printf("%d minus %d is %d\n",ten);  //遗漏2个参数

   return 0;
}

输出结果如下:

正确的做法: 10 minus 2 is 8
错误的做法: 10 minus 16 is 1650287143

在第二行输出中,由于没有给后面两个%d提供任何值,所以输出的值就可能是内存中的任意值。

使用printf()函数时,要确保转换说明的数量与待输出的数量相同。

当然,除了int,也还有其他整数类型。(注意,这是在C99的标准下。)

  • short int ---------占用的内存可能会比int小,常常用于较小的数值。
  • long int  ----------占用的内存可能会比int小,常常用于较大的数值。
  • long long int -----占用的内存可能会比long long int大,常常用于更大的数值,一般来说,至少占64位。
  • unsigned int -----只能用于非负值,从0到任何正整数。
  • unsigned long int-----只能用于非负值,占用的内存可能会比unsigned int大。
  • unsigned long long int-----只能用于非负值,占用的内存可能会比unsigned long int大。

2.char类型

char可以看做是整数类型,但是它储存的却是字符(如,字母,标点符号。)。

实际上char确实存储的是整数,而不是字符。

无论是16位系统还是32位系统,都可以使用char类型。

1.声明char类型

声明char类型的变量和其他类型的变量声明一样。

举个例子:

char response;
char itable,latan;
//以上的声明创建了3个char类型的变量:response,itable和latan。

2.字符常量和初始化

在C语言中,用单引号括住的单个字符被称为字符常量。

举个例子:

char broiled;   //声明一个char类型的变量
broiled = 'T';  //为其赋值,正确的操作
broiled = T;    //错误!此时的T是一个变量
broiled = "T";  //错误!此时的T是一个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TXTSDYWT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值