关于printf()打印的用法,格式说明符%m.nf的作用,以及其他输入输出的方法(put_get)

#include <stdio.h>

/*
printf函数

printf("格式控制”,输出列表);
如:printf("%d, %c\n",a,b);

一、“格式控制是” 由""所括起来的,称为格式字符串,
格式控制包含两个信息——格式声明和普通字符,

(1)格式声明——由%和格式字符组成,如%d和%C,作用是将输出的数据转换为指定的格式输出
(2)普通字符——双引号内的逗号、空格和换行符\n等,也可以包含其他字符


二、”输出表列“是程序需要输出的一些数据a,b



*/

int main()
{
	int a_data = 3; // ;一个分号代表一个语句的结束
	float f_data = 2.3; //float 浮点数的数据类型
	char c_data = '#'; //字符型数据类型
	
	int dividend = 10; //整数型 被除数
	float divisor = 3.14; //浮点数 除数
	float result; 
	
	result = (float)dividend / divisor; //所得的商,强制转换,将整数转换为小数
	
	printf("打印一个结果,***爱编程\n");
	printf("***一定能学会嵌入式,一定能找到嵌入式的工作\n");
	
	printf("A_Data=%d\n",a_data);
	
	a_data = 100;
	printf("修改后的: A_Data=%d\n",a_data); //占位符以%开头
	printf("16进制输出A_Data=0x%x\n",a_data);
	printf("输出小数f=%f\n",f_data);
	printf("输出一个字符c=%c_data",c_data);
	printf("输出a_data的地址%p\n",&a_data); //&取值符
	
	printf("result=%f\n",result); 
	printf("result2=%f\n",(float)dividend / divisor);
	
	//两种不同的输出方式,一种是用变量名,一种是用其赋的值
	
	return 0;
	
	
}

在这里插入图片描述

#include <stdio.h>

//(1)用%f输出实数,只能得到6位小数,结果是0.333333

int main()
{
	double num1 = 1.0;
	// printf("%f\n",num1/3);
	
	
/*
 (2)格式说明符%m.nf的作用:
      m:指定输出的总最小宽度(包括整数部分、小数点和小数部分)
      n:指定小数部分的位数,控制四舍五入和精度。
	
      若数值的实际宽度小于m,左侧补空格;若大于m,按实际宽度输出;
	  若小数位数不足n,右侧补零;若超过n,四舍五入到第n位。
*/
    
	double data1 = 3.1415926;
	printf("default: %f\n",data1); //输出3.141593(默认6位小数)
	printf("总宽度7位,保留两位小数(左侧补3个空格):%7.2f\n",data1);  //输出   3.14
	printf("%3.2f\n",data1);  //输出3.14
	printf("保留两位小数:%.2f\n",data1);
	
	//如果把小数部分指定为0,则不仅不输出小数,小数点也不输出
	printf("输出结果为1,左侧补2个空格:%3.0f\n",num1);
	
	
/*
 (3)输出的数据向左对齐,用%-m.nf
	 在m.n的前面加一个负号,其作用与%m.nf形式作用基本相同,但当数据不超过m时,
	 数据向左靠,右端补空格
*/


    // 注意:必须使用半角减号"-",而非全角符号"-"
    printf("%%-25.15f : |%-25.15f|\n", num1); // 左对齐,右侧补空格
    printf("%%25.15f  : |%25.15f|\n", num1);  // 右对齐,左侧补空格
	// %%用于在printf系列函数中输出一个百分号字符%
	
	return 0;
}

在这里插入图片描述

put_get的输入输出方法

#include <stdio.h>

/*
  puts和printf都是用于输出内容的函数,其区别是:
    (1)puts会自动加入换行符,无需添加\n
	(2)printf支持多种数据类型的输出,而puts只支持字符串输出

*/

int main()
{
	char c;
	
	puts("请输入一个字符");
	c = getchar();   // get用于输入字符或字符串,读取单个字符
	puts("你输入的字符是");
	putchar(c);      // 用于输出字符或字符串,输出单个字符,并且不用添加格式声明符
	
	return 0;
}

在这里插入图片描述

关于字母大小写转换的小练习:

#include <stdio.h>

//将大写字母转换成小写字母

int main()
{
	char a = 'a';
	char b = 'b';
	
	char A = 'A';
	char B = 'B';
	
	printf("%c,%c,%c,%c\n",a,b,A,B); 
	printf("a=%d,b=%d,A=%d,B=%d\n",a,b,A,B); //不同字母对应的ASCII码值(差值为32)
	/*
	  小写字母a-z:对应的ASCII值范围是97-122
	  大写字母A-Z:对应的ASCII值范围是65-90
	  
	*/
	
	
	puts("请输入一个大写字母");
	scanf("%c",&a);
	b = a+32;                // 大小写转换:通过加减 32 实现大小写字母的相互转换
	printf("你输入的字母对应的小写字母是 %c\n",b);
	/*
	  scanf("%c", &a);的副作用:
        当用scanf("%c", &a);输入一个大写字母(例如 A)后,会按下回车键(Enter),
        此时输入缓冲区中会包含两个字符:
        输入的字母(如 A),换行符\n(由回车键产生),scanf 会读取字母 A,但换行符 \n 仍残留在输入缓冲区中。
		
		getchar() 的行为:
		    第38行的第一个 getchar():它的作用是读取缓冲区中残留的 \n 并丢弃,防止其影响后续输入。
			第39行的 putchar(getchar()+32); 此时输入缓冲区已为空,程序会等待用户输入一个新的字符。
	*/
	
	printf("测试\n");
	getchar();              
	putchar(getchar()+32);
	
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值