printf的输出相关

#include <stdio.h>

void main()
{
 // printf的输出是发现是二进制就转换输出

 int num = -1;

 printf("%d\n", num);    // -1
 printf("%u\n", num);    
 /* 首先 -1  1000 0000  0000 0000  0000 0000  0000 0001 
 反码1111 1111  1111 1111  1111 1111  1111 1110
 补码1111 1111  1111 1111  1111 1111  1111 1111
 输出,就是 4294967295*/

 int num1 = 4294967295;

 printf("%d\n", num1);
 /*unsigned int a = 4294967295 转成2进制就是   1111 1111  1111 1111  1111 1111  1111 1111
 %d不取符号位 1000 0000  0000 0000  0000 0000  0000 0000
 补码 1000 0000  0000 0000  0000 0000  0000 0001
 输出就是-1*/
 printf("%u\n", num1);    // 4294967295

 unsigned int a = 4294967295;
 printf("%d\n", a);
 /*%d按照有符号来解析,和上面一样,输出的是-1*/
 printf("%u\n", a);  // 4294967295

 unsigned int a1 = -1;
 printf("%d\n", a1);    // -1
 printf("%u\n", a1);    // 4294967295

 getchar();
}


// 输出的如果是双引号,需要在双引号前面加\
// 同样的,输出\ 也需要在\前加\
printf("\"");
printf("\\");

char a =  '1';
printf("%d", a);对应ASCCII码值    49


printf默认是右对齐
printf("%d", 3);    // 根据输出分配宽度
printf("%10d", 3);    // 宽度是10
printf("%2d", 234);    // 输出还是234,大于实际宽度,根据输出分配宽度
printf("%010d", 235);// 默认填充0
printf("%-d", 2);    // 负号右对齐

char str[100] = "12345";
printf("%.2s", str);    // 截取两个,输出结果是12

### C语言 `printf` 函数的使用方法 #### 基本概念 `printf` 是 C 语言中的一个重要函数,用于向标准输出(通常是屏幕)写入格式化的字符串。它的声明形式如下: ```c int printf(const char *format, ...); ``` 其中,`const char *format` 表示一个格式控制字符串,后面跟着零个或多个附加参数[^3]。 #### 格式说明符 `printf` 的核心在于其 **格式化字符串** 中使用的占位符(也称为转换说明)。这些占位符决定了如何解释后续传递给函数的实际参数。常见的格式说明符及其含义包括: | 占位符 | 描述 | |--------|--------------------------| | `%d` | 输出十进制整数 | | `%f` | 输出浮点数 | | `%s` | 输出字符串 | | `%c` | 输出单个字符 | | `%x` | 输出十六进制无符号整数 | 更多细节可参见参考资料[^1]。 #### 示例代码 以下是几个典型的 `printf` 使用案例: ##### 示例 1:基本数值输出 ```c #include <stdio.h> int main() { int a = 10; float b = 3.14; printf("Integer value is %d\n", a); // 整型变量输出 printf("Float value is %.2f\n", b); // 浮点型变量输出,保留两位小数 return 0; } ``` ##### 示例 2:字符串与字符输出 ```c #include <stdio.h> int main() { char c = 'A'; const char* str = "Hello, world!"; printf("Character: %c\n", c); // 字符输出 printf("String: %s\n", str); // 字符串输出 return 0; } ``` ##### 示例 3:多类型混合输出 ```c #include <stdio.h> int main() { int num = 255; double pi = 3.14159; printf("Decimal: %d, Hexadecimal: %X, Float: %.2lf\n", num, num, pi); return 0; } ``` 以上代码展示了如何通过不同的格式说明符实现多种类型的输出[^2]。 #### 返回值 需要注意的是,`printf` 函数返回成功打印的字符数量。如果发生错误,则会返回负值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值