C语言入门part5

C语言入门part5

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

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 进入case2
    case 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=3
    case 2:++i;然后在执行这一步的++i,i=4
}

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言入门到精通》是一本针对C语言学习的教程。本书以系统完整的方式介绍了C语言的基本概念、语法和应用,并通过大量的示例和练习帮助读者快速掌握C语言编程技巧。 书籍的第一部分主要介绍了C语言的基础知识。首先,它介绍了C语言的发展历程以及与其他编程语言的区别。然后,书中详细解释了C语言的数据类型、运算符、流程控制语句和函数等基本概念,帮助读者建立起对C语言编程的基础理论知识。 第二部分是关于C语言的高级应用和技巧。本书详细介绍了C语言的数组、指针、结构体和文件操作等高级特性。读者可以通过学习这些知识,掌握更加灵活、高效的编程方法,提高自己的程序设计能力。 此外,本书还包含了一些常用的C语言库函数和相关工具的介绍,如字符串处理函数、内存管理函数和调试工具等。这些内容帮助读者更好地理解和使用C语言的相关资源,提高自己的编程效率。 《C语言入门到精通》不仅提供了理论知识的讲解,还提供了大量的实战编程示例和练习题。这些示例和练习题既可以帮助读者巩固所学知识,又可以提供编程实践的机会,培养读者的编程思维和解决问题的能力。 总的来说,这本书适合初学者作为C语言学习的入门教材,也适合有一定编程基础的读者作为C语言进阶学习的参考书。无论是新手还是专业人士,通过学习这本书,都可以逐步掌握C语言的基本概念和高级应用,从入门到精通。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值