C语言学习笔记[第3天]2022.11.13

这篇博客介绍了C语言的基本数据类型,包括int、float和double,并展示了如何使用printf和scanf进行浮点数的输入输出。示例程序演示了如何计算体重对应的白金价值,同时讲解了变量、常量以及不同进制的表示方法。还通过实例解释了不正确使用printf可能导致的意外输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上:

三、数据和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 标准添加的关键字
intsigned_Bool
longvoid_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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值