当前位置: 首页 > news >正文

C语言变量与输入输出详解——从printf到scanf的全掌握

C语言变量与输入输出详解——从printf到scanf的全掌握

🧩 一、C语言程序的基本结构

在前一篇中,我们已经安装好了 Dev-C++ 编译环境,今天我们来写人生中第一个真正有“互动”的C语言程序——
通过 输入(scanf)输出(printf) 实现与用户交流。

一个最简单的C语言程序长这样👇

#include <stdio.h>   // 引入标准输入输出库
int main() {printf("Hello, World!\n");return 0;
}

运行后,它会在控制台中输出:

Hello, World!

📘 二、变量与数据类型

在C语言中,变量(Variable) 就像一个“容器”,用来存储数据。

✅ 常见的数据类型有:

数据类型说明示例
int整数类型10, -5
float单精度浮点数(小数)3.14
double双精度浮点数3.1415926
char字符类型‘A’、‘b’

🧠 命名规则:

  1. 只能由 字母、数字、下划线 组成
  2. 不能以数字开头
  3. 区分大小写,例如 ageAge 是不同的变量
  4. 不能与关键字重复(如 int, return, if 等)

✅ 示例:

int age = 20;
float score = 95.5;
char grade = 'A';

🖥️ 三、输出函数 printf()

printf() 用来 输出信息到屏幕,是最常用的C语言函数。

✅ 基本语法:

printf("格式控制字符串", 输出变量);

🎯 常用格式控制符:

格式符含义示例输出
%d输出整数10
%f输出浮点数3.140000
%.2f保留两位小数3.14
%c输出字符A
%s输出字符串hello

示例:

int age = 20;
float score = 89.75;
printf("我今年%d岁,成绩是%.1f分。\n", age, score);

运行结果:

我今年20岁,成绩是89.8分。

⌨️ 四、输入函数 scanf()

scanf() 用来 从键盘输入数据,让程序与用户交互。

✅ 基本语法:

scanf("格式控制字符串", &变量名);

⚠️ 注意:
输入时,变量名前一定要加 &,表示把数据存入该变量的“地址”中。

示例:

int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("它们的和为:%d\n", a + b);

运行效果:

请输入两个整数:5 7
它们的和为:12

🚫 五、常见错误与解决方法

错误原因解决方法
忘记加 &scanf无法写入变量在变量前加 &
格式符不匹配类型与格式符不对应保证 %d 对应 int、%f 对应 float
忘记 #include <stdio.h>函数未定义在文件开头加上该头文件

🧠 六、综合练习

练习题 1:
编写程序,输入圆的半径,输出它的周长和面积。
(提示:周长=2πr,面积=πr²,取 π=3.14)

✅ 示例代码:

#include <stdio.h>
int main() {float r, c, s;printf("请输入圆的半径:");scanf("%f", &r);c = 2 * 3.14 * r;s = 3.14 * r * r;printf("圆的周长为:%.2f\n", c);printf("圆的面积为:%.2f\n", s);return 0;
}

🏁 七、课堂小结

通过本节内容,你已经掌握了:

  • ✅ C语言变量的定义与命名规则
  • ✅ printf() 输出格式控制
  • ✅ scanf() 输入的使用方法
  • ✅ 常见输入输出错误的修复方法
http://www.dtcms.com/a/592740.html

相关文章:

  • MATLAB倍频转换效率分析与最佳匹配角模拟
  • Resilience4j 入门与实战
  • 智能投资,快速回本:复合机器人如何缩短你的投资回收期?
  • 5 Repository 层接口
  • 新乡网站优化平台id怎么打开wordpress
  • 小网站推荐会展官方网站建设
  • Springboot 启动过程及源码分析
  • STM32进行步进电机控制(PWM模式+翻转模式)
  • 信号系统常见的整体特性分类
  • PPT: Pre-trained Prompt Tuning - 预训练提示调优详解
  • 【RK3568】- 文件系统打包
  • 项目四:Dify智能开发与应用(零售企业基于Dify搭建会员智能运营平台)
  • 公司网站开发费计入什么科目迅当网络深圳外贸网站建设
  • 【C++11】右值引用+移动语义+完美转发
  • 商城系统的部署流程
  • 云朵课堂网站开发怎么收费装修公司口碑
  • python中numpy库学习笔记(2)
  • 【穿越Effective C++】条款16:成对使用new和delete时要采用相同形式——内存管理的精确匹配原则
  • 自己做的网站百度搜不到网站备案查询 工信部
  • 数据结构期中复习
  • TradingAgents-CN v1.0.0-preview 重磅发布!全新架构
  • 基于瑞萨 RA6M5 开发板的声源定位系统设计与实现
  • Vue 2 转 Vue 3, 差异不同点汇总, 快速上手vue3
  • 工业级环境传感器的网络通信与协议兼容性分析
  • 个人网站建设 免费下载一个公司备案两个网站
  • PR(1)11.10
  • 数据结构(19)
  • LWIP--以太网
  • 3分钟搞定,接口管理工具PostIn安装和配置
  • 【剑斩OFFER】算法的暴力美学——在排序数组中查找元素的第一个和最后一个位置