C语言入门part5

关键字:break和continue的注意事项,EOF,getchar和putchar的,scanf和getchar()的坑,各种经典深坑(循环的判断条件,逻辑或符号的运用||,switch语句,++,break)

  • C语言入门part1
  • C语言入门part2
  • C语言入门part3
  • C语言入门part4

break和continue的注意事项

  • break和continue都是放在循环体内的,不能单个使用

EOF

EOF:是个宏,意为end of file,文件结尾标志

  • 在dos框里结束getchar()输入ctrl+z
  • ctrl+c中断程序死循环

getchar和putchar

  • getchar()从键盘读取一个字符

  • putchar()将相应字符输出

int main()
{int ch = 0;while ((ch = getchar()) != EOF) // 键盘未读到ctrl+c(结束程序)或ctrl+z(中断死循环)就一直读取并打印{if (ch < '0' || ch > '9') //只打印数字{continue;}putchar(ch);}return 0;
}

scanf和getchar()的坑

scanf("%d",&num);
ch=getchar();
putchar(ch);

程序本意让用户输入一个数字,再输入一个字符,打印字符,但运行结果是输入数字回车后程序结束,原因是getchar将回车吃掉,打印的字符是回车

各种经典深坑

循环的判断条件
int i=0;
int j=0;
for(i=0,j=0;j=0;i++,j++)
{j++;
}

循环不执行,因为 for(i=0,j=0;j = 0;i++,j++),判断条件j=0是个赋值语句,意为假,即for(i=0,j=0;0;i++,j++),所以不执行,所以要注意循环判断条件的书写

逻辑或符号的运用 ||
int i=0;
int j=0;
if((++i>0)||(++j>0))
{打印i,j的值;
}

打印结果 i=1,j=0 , 此处注意 || 逻辑或符号(也叫短路或),前面条件为真后面就不执行,前面为假后面才执行

int i=0;
int j=0;
if((i++>0)||(++j>0))
{打印i,j的值
}

打印结果 i=1,j=1 理由见上

switch语句,++,break)
int i=0
switch(++i) //i=1
{case 0:++i;case 1:++i;//进入,i=2,没有break 进入case2case 2:++i;//进入,i=3
}

打印结果 i=3

int i=0
switch(i++)//i=0
{case 0:++i;//进入,执行之前执行上面的i++得i=1,然后在执行这一步的++i,i=2  没有break所以顺次执行case 1:++i;然后在执行这一步的++i,i=3case 2:++i;然后在执行这一步的++i,i=4
}

打印结果 i=4,case没有break则依次顺序执行

C语言入门part5相关推荐

  1. C语言入门Part8--操作符篇

    C语言入门Part8–操作符篇 关键字: 各种操作符的介绍, 表达式求值(整型提升,算术转换) C语言入门part1 C语言入门part2 C语言入门part3 C语言入门part4 C语言入门par ...

  2. C语言入门Part7--数组篇

    C语言入门Part7–数组篇 **关键字:**数组常见问题及注意事项总结,字符串定义,一维数组在内存中的存储,sizeof()求数组长度的注意事项,sizeof()的用法注意,sizeof()和str ...

  3. C语言入门part6--函数

    C语言入门part6–函数 关键字:库函数,自定义函数,函数的嵌套调用及链式访问,递归,strlen 和sizeof的区别,* p++和(*p)++的区别 C语言入门part1 C语言入门part2 ...

  4. 写一篇C语言入门第一讲

     嗨~大家好~  我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议.(P ...

  5. C语言入门练习 - 第二期 判断语句与循环语句(题解)

    比赛地址:C语言入门练习 - 第二期 判断语句与循环语句 A.入门--基础语法(for) #include<stdio.h> int main(){int n,i;scanf(" ...

  6. 计算机书籍-Go语言入门经典SAMS Teach Yourself

    书名:Go语言入门经典 作者:[英]乔治 奥尔波(George Ornbo) 出版社:人民邮电出版社 出版时间:2018年08月 去当当网了解

  7. c语言中描述y是奇数,4章选择结构程序设计C语言入门习题

    C语言入门习题 第四章 选择结构程序设计 一.选择题 1.有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) pr ...

  8. C#forUnity快速入门(连载2)-C#语言入门

     C# for Unity 编程语言快速入门教程(连载2)---C#语言入门 接上篇内容,我们把更多的C#语言入门级编程习题发布如下,希望能够对C#编程小白提高技能有帮助. 三:  学习循环语句(续) ...

  9. python终结一个循环额_Python语言入门之内存管理方式和垃圾回收算法解析

    本文主要向大家介绍了Python语言入门之内存管理方式和垃圾回收算法解析,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在列表,元组,实例,类,字典和函数中存在循环引用问题.有 ...

最新文章

  1. Python+OpenCV 图像处理系列(7)—— 图像色彩空间及转换
  2. C++ string中的几个小陷阱,你掉进过吗?
  3. 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...
  4. 设计模式(二)__装饰设计模式
  5. SpringMVC源码——未完待续
  6. 游戏框架设计的一些心得
  7. Atom飞行手册翻译: 2.3 文本选择
  8. 股市常胜将军都懂得适时休息
  9. FL Studio20.8中文完整果味版编曲
  10. 短视频标题自动生成工具,助你打造爆款标题
  11. 思源黑体(魅族)、方正兰亭(小米)、冬青黑体(锤子)比较
  12. HBase Shell命令大全
  13. 直接可以用的Python和OpenCV检测及分割图像的目标区域例子
  14. 爬虫 --- 08. 全站爬取(CrawlSpider), 分布式, 增量式爬虫
  15. u盘 计算机管理 没有就绪,U盘插上电脑显示驱动器未准备就绪。怎么办?
  16. 2020宁波银行终面一分钟抽词演讲
  17. 2016.10.9晨记
  18. 浏览器中的js不能同步更新的解决方案
  19. 张亚勤谈AI:中国具有结构性优势发展人工智能
  20. 局域网可以访问,但打印机就是连不上,提示拒绝访问,原来是这个原因

热门文章

  1. Maven 环境踩坑及完整配置
  2. 读取html到超级列表框,超级列表框读取TXT文本配置内容
  3. CFLOW-AD:通过条件归一化流量进行实时无监督的异常检测与定位
  4. 你真的不懂 yml !
  5. 财务福音。用Python+OCR人工智能识别发票自动存入Excel表格保姆级教程
  6. 华为前副总裁李一男正式出任百度CTO
  7. 从零开始微信机器人(一):wxpy简介(登录、消息发送、注册回复)
  8. VC下载文件 + 显示进度条
  9. 天河超级计算机观后感,“天河一号”超级计算机读后感
  10. 标签传播算法(LPA)