一、如何判断输入的是非数字时跳出循环?
while(scanf(“%d”, &i) == 1), scanf(“%d”, &i) == 1,
因为scanf返回的值如果是整数,则代表为真,为真就== 1,那么while循环的条件满足,循环开始;如果输入的不是整数,返回值就为0,那么!=0,则while不循环。
二、如何在程序中定义常量:
1、在程序开始头文件处用#def 常量名(一般大写字母) 常量值。
2、在代码中用const。
格式为:const 变量类型 变量名(一般也大写字母)= 变量值
优先级:
赋值运算符 < 关系运算符 < 算术运算符;
如:1、x > y +2 等价于x > (y + 2);
2、x =y > 2等价于x = (y > 2),先判断y是否>2。若是,则返回真,值是1,然后把1赋给x,否则返回假,值是0,然后把0赋给x;
3、x_bigger= x > y;等价于x_bigger = (x > y);先判断x是否>y,若是,回真,值是1,然后把1赋给x_bigger, 否则返回假,值是0,然后把0赋给x_bigger.
for 的灵活性:
1、for循环可以增,也可以减
for (n=2;n<60;n++);for (n=2;n<60;n--);
2、如果需要,可以让计数器依次加2,加13等等。
for (n=2;n<60;n=n+2);for (n=2;n<60;n=n+13)
3、可以用字符代替数字来进行计数
for (ch=’a’;ch<=’z’;ch++)
4、您可以判断迭代次数之外的条件。比如:
for (num =1;num<=6;num++)可以用for(num =1; num*num*num <=216;num++)来代替。如果和循环次数相比,更关心的是限制立方的大小,就可以使用这种判断条件。
5、可以让数量几何增加而不是算术增加
for (n=1; n<=100;n=n*2)
6、在第三个表达式中,可以使用所需的任何合法表达式,无论使用的是什么,都会在循环中更新。
for (x =1; y<=75; y= (++x * 5) + 50)
7、甚至可以让一个或多个表达式为空
for (n = 2; ans<=25;)后面的空语句会被当做真而一直执行。
8、第一个表达式不必初始化一个变量,它也可以是某种类型的printf()语句。要记住第一个表达式只在执行训话的其他部分之前被求值或执行一次。
for (printf("Keep entering numbers!\n"); num !=6;)
9、循环中的动作可以改变循环表达式的参数。
三、逗号运算符:
把两个表达式链接为一个表达式,并保证最左边的表达式最先计算。它通常被用在for循环的控制表达式中以包含多个信息。整个表达式的值是右边表达式的值。
四、函数声明:double power(double, int)
开始的double表明power()函数会返回一个类型为double的值。编译器需要知道函数的返回值类型,这样它才能知道需要多少字节的数据以及如何解释他们。括号中的double和int是形参,说明接受的一个是double类型值,一个是int值。