1.rand()是产生随机整数,任何整数对n求余得到的整数范围为0-n-1
2."/"的结果是根据两边的值来确定的,如果都为整数,运算结果要取整,若有一个数是浮点数,则要取结果为浮点数。
3.不使用中间变量交换两个数的值(采用异或运算)
#include<stdio.h> void main() { int m = 33, n = 66; m = m ^ n; n = n ^ m; m = m ^ n; printf("%d\n%d",m,n); }
4.赋值运算符的左边必须是一个变量! 且赋值运算符的运算方向是自右向左进行赋值
5.‘a'=97,'A'=65
6.float型输入用%f
double型输入用%lf
7.C语言的关系运算值只有0和1
8.pow函数pow(,)第一个参数是底数,第二个参数是指数,eg:pow(x,2)是x的平方
9.关于a+b+c*(d+e)的执行顺序:先执行a+b得r1,再计算(d+e)得r2,再执行c*r2得r3,最后执行r1+r3
10.c-=++b...........c=c-++b
11.getchar的作用
1.从缓冲区读走一个字符,相当于清除缓冲区
2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个
getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误
3.getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)
getchar()使用不方便,解决方法:
(1)使用下面的语句清除回车:
while(getchar()!='\n');