c语言起名规范:
字母数字下划线,不能字母开头;点定义后使用。定义不初始化不使用跳warning
C语言没有字符串变量,用指针或数组表示字符串变量;单个字符可认为整数。例如:int arr ['A'];常量表达式
5.5是double;5.5f是浮点型。f是浮点型缩写;&取地址符
1.类型一致原则。(1)强制类型转换。int a=(int)2.5;
输入输出
scanf("a=%d,b=%d",&a,&b);麻烦。
scanf("%3d%5d",&a,&b);几d指定宽度。
printf输出:数据类型一致原则(打印谁的数据,使用对应是数据类型)
%d,十进制整数,%f对应float数据类型;%3.2f,保留小数点后两位且整个数据占3个。3包括小数点。%-30.f,正负代表左对齐还是右对齐,负为左对齐。
类型不一致会导致错误。
运算符
第一优先级 . > () []
第二优先级(单目运算符) !* & ++ -- //右结合
算数运算 + - /除法 整数除以整数结果还是整数且结果不符合四舍五入;%取模运算,取余数,经常结合函数rand()使用。例如:随机生成A-Z。rand()%26+'A' //A到Z共26个字符,取余可确保随机区间落在A-Z之间。
关系运算 是有值的。非0即真
逻辑运算 或与非 短路现象或、与。即只执行前半部分
三目运算 (根据操作数目划分) 表达式1?语句1 :语句2 //如果表达式成立,就执行语句1,否则执行语句2
赋值 1,类型一致原则,+= /= 例如:a+=2 //a=a+2
逗号表达式 (12,4,6)运算结果是最后出现的数值。
例如printf(“%d”,12,4,6);//逗号表达式错误写法,输出结果为12;
printf(“%d”,(12,4,6));//逗号表达式正确写法,输出结果为6;
表达式=运算符结合运算量 运算量(值),即只要是表达式,就有值 例如 5+2;a=2;
控制语句
顺序结构;分支if语句(条件成立就循环);switch==if(){ }else if(){ }//区别在于恒等于;break跳出整个循环;contitue,在循环内使用,跳出本次循环。switch语句中break不能替换成continue。
循环三兄妹:while()//很多次的if,条件成立就执行;do while()至少执行一次的while,即先操作再判断。某些初始化会用到;for(;;)两个分号不能多,也不能少;for循环的执行顺序。
循环好基友——数组。地址的概念arr;&arr[];&arr;*p=arr++;