2015.12.03 命名规范 输入输出 运算符 条件语句 循环语句
命名规范
这个命名规范实际上是变量的命名规范,名字中只能包括大小写字符、数字和下划线(_)。并且,必须是以字母开头。当多个单词组成的变量名中,第一个单词小写,之后每个单词的首字母大写(UIIMageView *bgImageView UIView *operationView)。要尽量做到见名知意。
(P.S.声明一个变量:系统不会立即分配内存空间。(不赋值)
定义一个变量:系统分配内存空间,然后将值保存。(赋值))
printf 向终端输出
输出的是字符串 printf("");
例:向终端输出:"It's delicious ?", she asked.
printf("\"It's delicious ?\", she asked."); 在条语句中,“\”是转义的意思。
scanf 从终端接收输入
...输入的内容必须严格按照scanf内部的格式输入。
int a, b; int a, b;
scanf("%d %d", &a, &b); scanf("%d&%d, &a, &b);
输入格式 输入格式
12 34 12&34
...scanf参数必须是变量的地址(&表示取地址)
我发现scanf("%d%d", &a, &b);在输入的时候直接输入“12 34”是可以识别的。
P.S. getchar() 从终端一次接受一个字符
运算符
“+”、“-”、“*”在实际运用中是一样的。
"++"就是自增长的意思(i++(++i) <=> i = i + 1)。当“++”在后时,是延迟+1,就是说是执行完毕之后再+1,但这里说的不是整个语句执行完。(例:int temp = 10;
printf("temp = %d, after = %d\n", temp++, temp)
这个时候输出的结果就是temp = 10, after = 11。
当“++”在前时就是立刻执行+1。
“/”是取整的意思(5 / 2 = 2)。“%”是取余的意思(5 / 2 = 1)。
...这里需要提一个类型的优先级的问题。 short -> int -> long -> float -> double
例:自动转换 强制转换
int x = 3; int x = 3;
int y = 10; int y = 10;
printf("%f\n", 1.0 * y / x); printf("%f\n", (float)y / x);
两种方式输入的结果都为 3.333333
“>”大于、“<”小于、“>=”大于等于、“<=”小于等于、“!=”不等、“==”判断等号(这个要特别注意,一般用在条件语句中,与“=”(赋值)要特别区分)。
条件语句
在计算机语言中,“非零即真”(-1,1,1.1),“0即假”。
在C语言中的条件语句一般只有三种,“if”、“if-else”、“switch”(“else if”我把它归类到“if-else”当中)。
之前一直认为if后面一定要跟一个else,这个想法一定要在后面的运用中杜绝掉。在编写代码的时候思路一定要清晰,什么时候用什么样的格式是一定要考虑清楚的。比如说输入三个数字,然后按照从小到大的顺序进行排序输出。在这个小程序中运用到的就是“if”语句而不是“else if”语句。
循环语句
在C语言中的循环语句一般也只有三种,“for”、“while”、“do...while”。
这里要特殊说明一下,“for”语句有三种写法,但是在图片所展示中的第一种写法才是标准的,以后编写代码的过程中,应该尽量按照这种方式来写,好处是简洁明了。
在循环中有“break”和“continue”这两个语句。在某些循环当中,“break”是必不可少的,不然会进入死循环。死循环在C语言中是要必须避免的。