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

C 语言基础:输入输出、运算符与流程控制全梳理

好的,我们来一次C语言基础的系统梳理,重点覆盖你提到的三大块:输入输出运算符流程控制

这份内容适合零基础或想快速复习的人,全部用最实用、最常考的写法和注意点,强烈建议你边看边敲代码验证。

一、C程序基本结构(先打好地基)

#include<stdio.h>// 标准输入输出头文件intmain(void)// main函数是程序入口{// 你的代码写在这里return0;// 返回0表示正常结束,非0表示出错}

编译运行(常见命令):

gcc hello.c -o hello# 编译./hello# Linux/Mac运行hello.exe# Windows运行

二、输入输出(最常用、最容易错)

函数作用常用格式符注意点 / 常见坑
printf格式化输出到屏幕%d %ld %f %lf %c %s %p必须匹配类型,否则未定义行为
scanf格式化输入从键盘同上&取地址,空格/回车会影响输入,极易出错
getchar读一个字符返回 int(EOF = -1)
putchar输出一个字符
gets读一行(危险,已废弃缓冲区溢出风险,永远不要用
fgets安全读一行需要指定大小推荐替代 gets
puts输出字符串+换行比 printf(“%s\n”, str) 稍快

最常用示例(敲一遍!)

#include<stdio.h>intmain(){intage;floatheight;chargender;charname[20];// 字符串数组printf("请输入年龄、身高、性别(M/F)和姓名:\n");// 正确写法:scanf 需要 & 取地址scanf("%d %f %c",&age,&height,&gender);// 吃掉残留的换行符(常见坑)getchar();// 或 scanf("%*c");// 安全读字符串(包含空格)fgets(name,sizeof(name),stdin);// 去掉 fgets 带来的换行符if(name[strlen(name)-1]=='\n')name[strlen(name)-1]='\0';printf("你好,%s!\n",name);printf("年龄:%d 身高:%.1f 性别:%c\n",age,height,gender);return0;}

scanf 经典坑总结

  • 不要忘&
  • %s不要加&(数组名就是地址)
  • 连续输入时,空格/回车会残留 → 常用getchar()%*c吃掉
  • 建议用fgets+sscanf组合,更安全

三、运算符全梳理(优先级 + 结合性 + 常见陷阱)

优先级运算符结合性说明与陷阱
1() [] . ->左→右后缀运算符最高
2! ~ ++ – - + * & (type) sizeof右→左单目运算符;注意!只对0/非0,~是按位取反
3* / %左→右模运算 % 两边必须整数
4+ -左→右
5<< >>左→右移位(有符号右移看编译器)
6< <= > >=左→右关系运算符
7== !=左→右相等判断
8&左→右按位与
9^左→右按位异或
10左→右
11&&左→右逻辑与(短路)
12
13?:右→左三目运算符
14= += -= *= /= %= <<= >>= &= ^==右→左
15,左→右逗号表达式(最低优先级,常用于 for 循环)

最常考/最坑的点

inta=5,b=3;printf("%d\n",a+++++b);// 5 + 4 = 9 (后++ 先用后加,前++ 先加后用)intx=1;printf("%d\n",x++&&++x);// 1 && 2 → 1(短路,后面的 ++x 不执行)intn=10;n+=n++;// 未定义行为!不要写这种代码

推荐:永远不要在同一表达式中多次修改同一变量。

四、流程控制全家桶(顺序 → 分支 → 循环)

1. 分支结构
// ifif(age>=18){printf("成人\n");}elseif(age>=13){printf("青少年\n");}else{printf("儿童\n");}// 三目运算符(表达式)intmax=(a>b)?a:b;// switch(只能用于整型/字符型,不能范围判断)switch(grade){case'A':printf("优秀\n");break;case'B':case'C':printf("及格\n");break;// 穿透default:printf("不及格\n");}
2. 循环结构(三种 + 对比)
循环类型语法特点与适用场景跳出/继续
whilewhile(条件) { … }先判断后执行,适合未知次数break / continue
do-whiledo { … } while(条件);至少执行一次,适合菜单等同上
forfor(初始化; 条件; 增量) { … }最常用,计数/已知次数清晰同上

经典 for 变种(很实用)

// 死循环(常见写法)for(;;){...}// 等价 while(1)// 逗号表达式(for 中最强)for(inti=0,j=100;i<10&&j>50;i++,j-=5){printf("%d %d\n",i,j);}// 遍历数组(现代写法)intarr[]={1,2,3,4,5};for(inti=0;i<sizeof(arr)/sizeof(arr[0]);i++){...}

goto(了解即可,生产代码尽量别用

error:printf("出错了\n");// ...if(失败)gotoerror;

五、快速自测清单(做完这些说明你基础过关)

  1. scanf("%d", age);错在哪里?(忘了 &)
  2. printf("%f", 3/2);输出多少?(1.000000,因为整数除法)
  3. a = 5; b = a++ + ++a;b 是多少?(未定义行为!)
  4. while((c=getchar()) != '\n') putchar(c);作用是什么?(回显一行)
  5. for(;;)等价于什么?(while(1))
  6. switch 里不写 break 会怎样?(case 穿透)
  7. 三目运算符的结合性是?(右结合)
  8. do { ... } while(0);有什么用?(宏定义中常用,避免语法问题)

把上面这些点都敲代码验证一遍,C语言的输入输出 + 运算符 + 流程控制你就基本掌握了。

接下来想深入哪一块?(数组、函数、指针、结构体、文件操作、常见算法题…)直接告诉我,我继续给你最实用的总结和代码。

http://www.jsqmd.com/news/294390/

相关文章:

  • 鸿蒙APP开发从入门到精通:ArkUI组件库详解与常用组件实战
  • Typescript——泛型
  • Win11 轻松设置更新暂停至 2042年告别过度弹窗 卸载系统冗余软件
  • 实战复盘:如何用 HTML+JS+AI 打造一款“影迹”智能影视管理系统
  • 从对象结构到锁机制:Java 对象锁与类锁深度解析
  • 什么是 Java 中的原子性、可见性和有序性?
  • 2000亿美元!2026年全球游戏行业的新格局与新变量
  • 使用 wxPython 构建文件编辑器与预览器:从零到一的完整实现
  • 从零构建轻量级企业考勤订饭系统:Node.js + SQLite 全栈实战复盘
  • python如何发送邮件
  • 【课程设计/毕业设计】基于Springboot的在线游戏商城系统基于springboot的游戏售卖商城系统【附源码、数据库、万字文档】
  • Python如何识别周围WiFi:跨平台实现与进阶技巧
  • 一键生成100条小红书笔记!DeepSeek+火兔工具箱的组合太牛了!
  • 【毕业设计】基于springboot的助农扶贫系统(源码+文档+远程调试,全bao定制等)
  • 白盒测试 接口测试 自动化测试
  • 2026年上海企业管理咨询公司权威推荐:卓越绩效模式/ 绩效模式 /绩效分析模式/ 团队绩效模式/高绩效心理建设源头服务商精选
  • 雅思网上辅导终极榜单推荐|2026 雅思网上辅导实测 全国适配机构汇总
  • Router_T000_ConceptMECE
  • 离散化详解
  • 山东一卡通(礼遇卡)哪里回收方便,1分钟变现技巧
  • Java毕设选题推荐:基于springboot的游戏售卖商城系统基于SpringBoot+Vue的游戏装备交易商城系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 计算机Java毕设实战-基于springboot的游戏售卖商城系统游戏攻略资讯补丁售卖系统 游戏道具商城【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java计算机毕设之基于springboot+vue的游戏装备账号销售商城平台系统基于springboot的游戏售卖商城系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java毕设项目:基于springboot的助农扶贫系统(源码+文档,讲解、调试运行,定制等)
  • 2026英语雅思口语培训辅导机构排行榜 家长择校实用指南:多维度评测帮孩子选对适配口语辅导机构
  • 2026英语雅思培训学校机构辅导机构推荐榜单 家长择校指南:多维度评测帮孩子选对适配机构
  • 全国支付宝立减金回收平台正规使用攻略
  • 2026英语雅思培训学校机构辅导机构排行榜+核心解析 家长择校实用指南 帮孩子精准匹配雅思备考全阶段适配方案
  • 01BFS
  • 2026英语雅思口语培训辅导机构排行榜+核心解析 家长择校实用指南 精准匹配孩子口语备考需求