while(!a) 的作用:当a为0时,!a为真,执行循环体。当a为1时,!a为假,程序就跳过循环体往下执行。while语句的格式为:while(条件表达式){ 语句1(循环体)}可以看出,while循环结构简单,仅有条件部分,其他成分(如增量等)应另外安排。正因为如此.while语句执行过程是首先判断while中的“条件表达式’,中的条件是否满足,满足,就执行while语句中的语句;不满足,就退出循环。当while中的条件一开始就为0时,则语句一次也不执行;当while中的条件为1 , while语句无限循环。可见while语句的使用极其灵活多样。
首选,您这个while(a++),这句不成立。while语句在C语言中是条件判断,所以while(),括号内一般是表达式。如果该表达式值为真则执while中的语句,若为假则执行之外的语句。例如while(1) { },因为括号内永远为真,则程序进入列循环,既一直执行while中大括内的语句。另外,您说的a,i,j之内的都是变量名,你可以自己定义任何字母或是单词。当然不能把变量名定义为C语言中的关键字。如:switch,case等等。具体的您可以找本C语言的书看看,都有哪个些关键字。你只要避开这些关键字就行,对于变量的命名也有一些其他的规则,也可以在C语言的书中可以找到。对于变量的含义具体是看你的程序或是函数功能是什么。另外变量在使用前是要先声明的。比如: unsigned char i,这样就声明了一个无符号的字符型变量i.