c语言格式化输入/输出

发布时间:2026/7/12 23:29:06
c语言格式化输入/输出 1. 输入/输出模型2. printf 函数格式化输出2.1 转换说明3. scanf 函数格式化输入3.1 scanf 函数的工作原理![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e18556e8307947d1a0346c1427ce6dc5.p3.3 不要混淆 printf 函数和 scanf 函数4.课堂小练习#define_CRT_SECURE_NO_WARNINGS#includestdio.hintmain(void){intnum1,denom1;//numerator分子denominator分母printf(Enter first fraction:);scanf(%d/%d,num1,denom1);intnum2,denom2;//numerator分子denominator分母printf(Enter second fraction:);scanf(%d/%d,num2,denom2);//计算intresult_numnum1*denom2num2*denom1;intresult_denomdenom1*denom2;printf(The sum is %d/%d\n,result_num,result_denom);return0;}整体思路基本没问题只有执行顺序有一小部分颠倒我结合你这个分数相加的例子给你整理一套运算类程序的标准固定流程同时对照你的理解修正细节一、正确完整执行顺序你这个分数加法程序第1步先写头文件#include stdio.h必须放在最顶部不然不能用 printf、scanf 这两个输入输出函数。第2步进入 main 函数最先把所有要用的变量全部定义好遵循 C 语言规则变量必须先定义后使用。也就是提前造出所有盒子int num1, denom1; // 第一个分数分子、分母int num2, denom2; // 第二个分数分子、分母int result_num, result_denom; // 结果的分子、分母这一步就是指定类型 起变量名只开辟内存暂时没有数值。第3步printf 打印提示文字告诉用户接下来要输入什么printf(Enter first fraction: );只是在控制台输出文字不接收数据。第4步scanf 读取键盘输入给变量赋值从stdin缓冲区拿数据scanf(“%d/%d”, num1, denom1);把你键盘输入的数字装进提前定义好的 num1、denom1 盒子里。第二组分数重复提示 scanf 输入。第5步运算赋值核心计算两组数字都拿到之后再写计算公式把运算结果赋值给结果变量result_num num1 * denom2 num2 * denom1;result_denom denom1 * denom2;这里就是你说的用等号把计算结果存入新变量。第6步最后用 printf 输出最终的计算结果printf(“The sum is %d/%d\n”, result_num, result_denom);二、对照你自己的总结两处关键修正不能先输出、再定义变量C 不允许先用变量后定义变量所有盒子必须提前造好。赋值分两种来源不一样• scanf 赋值数据来自键盘、stdin缓冲区外部输入• result_num 算式 赋值数据来自程序内部计算。计算必须放在两次输入全部完成之后因为要等两个分数都输入完才能相加。