【C语言基础考研向】03混合运算和printf讲解

发布时间:2024年01月17日

一.混合运算

类型强制转换场景
整型数进行除法运算时,如果运算结果为小数,那么存储浮点数时一定要进行强制类型转换,请看下面例子

#include <stdio.h>
int main() {
    int i=5;
    float f=i/2;  //这里做的整型运算
    printf("%f\n",f);
    return 0;
}

输出:2.000000 ,而不是2.5
原因:

除号左边的数是左操作数,右边的数是右操作数.这里左操作数是整型变量,右操作数是整型常量,所以做的整型计算

强制类型转换:

#include <stdio.h>
int main() {
    int i=5;
    float f=(float)i/2;  //强制类型转换
    printf("%f\n",f);
    return 0;
}

输出:2.500000


二.printf函数介绍

printf函数可以输出各种类型的数据,包括整型、浮点型、字符型、字符串型等,实际原理是printf函数将这些类型的数据格式化为字符串后,放入标准输出缓冲区,然后将结果显示到屏幕上。

printf 函数根据format给出的格式打印输出到stdout(标准输出)和其他参数中.
字符串格式(format)由两部分组成:显示到屏幕上的字符和定义printf 函数显示的其他参数.我们可以指定一个包含文本在内的format字符串,也可以是映射到 printf 的其他参数的“特殊”字符。

如下列代码所示:

int age = 21;
printf("Hello %s, you are %d years old\n", "Bob", age);

代码的输出如下:

Hello Bob, you are 21 years old

其中,%s表示在该位置插入首个参数(一个字符串),%d表示第二个参数(一个整数)应该放在哪里。不同的%codes表示不同的变量类型,也可以限制变量的长度.printf函数的具体代码格式如下表所示。

在这里插入图片描述

位于%和格式化命令之间的一个整数被称为最小字段宽度说明符,通常会加上空格来控制格式.

  • 用%f精度修饰符指定想要的小数位数.例如,%5.2f会至少显示5位数字并带有2位小
    数的浮点数.
  • 用%s精度修饰符简单地表示一个最大的长度,以补充句点前的最小字段长度.

printf 函数的所有输出都是右对齐的,除非在%符号后放置了负号。例如,%-5.2f 会显示5位字符、2位小数位的浮点数并且左对齐.
下面来看一个例子,如下面例子所示.
【例】printf 函数输出对齐

#tinclude <stdio.h>int main()
{
int i=10;float f=96.3;
printf("student number=%3d score=%5.2f\n",i,f);
printf("student number=%-3d score=%5.2f\n",i,f);
printf("%10s\n" ,"hello");
}

总结:

%3d 表示占3位,%5.2,代表占5位保留2位小数

执行结果如下图所示,可以看到整型数10在不加负号时靠右对齐,加负号时靠左对齐,%10s代表字符串共占用10个字符的位置.因为 printf 函数默认靠右对齐,所以"hello"字符串相对于左边的起始位置有5个空格的距离.掌握这些内容后,在做OJ作业时,就会很容易掌握打印格式的控制.

student number= 10 score=96.30
student number=10  score=96.30
     hello
文章来源:https://blog.csdn.net/weixin_62613321/article/details/135587977
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。