江湖车侠|C和指针:如何快速上手C语言( 五 )


江湖车侠|C和指针:如何快速上手C语言&&是“逻辑与"操作符 。 要使整个表达式为真,&&操作符两边的表达式都必须为真 。 然而,如果左边的表达式为假,右边的表达式便不再进行求值,因为不管它是真是假,整个表达式总是假的 。 在这个例子中,如果num到达了它的最大值,循环就会终止,而表达式
江湖车侠|C和指针:如何快速上手C语言便不再被求值 。
江湖车侠|C和指针:如何快速上手C语言scanf函数每次调用时都从标准输入读取一个十进制整数 。 如果转换失败,不管是因为文件已经读完还是因为下一次输入的字符无法转换为整数,函数都会返回0,这样就会使整个循环终止 。 如果输入的字符可以合法地转换为整数,那么这个值就会转换为二进制数存储于数组元素columns[num]中 。 然后, scanf 函数返回1 。
江湖车侠|C和指针:如何快速上手C语言接下来的一个&&操作符确保在scanf函数成功读取了一个数之后才对这个数进行是否赋值的测试 。 语句
江湖车侠|C和指针:如何快速上手C语言使变量num的值增加1 , 它相当于下面这个表达式
江湖车侠|C和指针:如何快速上手C语言以后我将解释为什么C语言提供了两种不同的方式来增加一个变量的值 。
江湖车侠|C和指针:如何快速上手C语言这个测试检查程序所读取的整数是否为偶数个,这是程序规定的,因为这些数字要求成对出现 。 %操作符执行整数的除法,但它给出的结果是除法的余数而不是商 。 如果num不是一个偶数,它除以2之后的余数将不是0 。
puts函数是gets函数的输出版本,它把指定的字符串写到标准输出并在末尾添上一个换行符 。 程序接着调用exit函数,终止程序的运行, EXIT_FAILURE这个值被返回给操作系统,提示出现了错误 。
江湖车侠|C和指针:如何快速上手C语言当scan函数对输入值进行转换时,它只读取需要读取的字符 。 这样,该输入行包含了最后一个值的剩余部分仍会留在那里,等待被读取 。 它可能只包含作为终止符的换行符,也可能包含其他字符 。 不论如何while循环将读取并丢弃这些剩余的字符,防止它们被解释为第1行数据 。
下面这个表达式
江湖车侠|C和指针:如何快速上手C语言值得花点时间讨论 。 首先, getchar函数从标准输入读取一个字符并返回它的值 。 如果输入中不再存在任何字符,函数就会返回常量EOF(在stdio.h中定义),用于提示文件的结尾 。
从getchar函数返回的值被赋给变量ch ,然后把它与EOF进行比较 。 在赋值表达式两端加上括号用于确保赋值操作先于比较操作进行 。 如果ch等于EOF,整个表达式的值就为假,循环将终止 。 若非如此,再把ch与换行符进行比较,如果两者相等,循环也将终止 。 因此,只有当输入尚未到达文件尾并且输入的字符并非换行符时,表达式的值才是真的(循环将继续执行) 。 这样,这个循环就能剔除当前输入行最后的剩余字符 。


推荐阅读