1. 条件判断语句
1.1 if-else
语句
- 语法
if(条件){ /* 如果表达式为真将执行的语句 */ }else{ /* 如果表达式为假将执行的语句 */ }
- 说明
- 大括号内的语句整体称为复合语句(compound statement)或者代码块/程序块(block)。
- 代码块与
if
之间使用空格或者Tab缩进,不影响编译和执行,只是为了提高代码可读性。
- 练习
- 比较两个数的大小
- 求一个数的相反数和绝对值
- 闰年判断
- 三角形构成判断
1.2 if
语句
- 语法
if(条件){ /* 如果表达式为真将执行的语句 */ }
- 练习
打印两位数的整数,如果数字只有各位数,前面补0
。例如:1
打印为01
。
1.3 If-else if-else
语句
- 语法
if(条件1){ /* 当条件1为真时执行 */ } else if(条件2){ /* 当条件2为真时执行 */ } else if(条件3){ /* 当条件3为真时执行 */ }else{ /* 当上面条件都不为真时执行 */ }
- 练习
- 输入年份和月份,获取这个月的天数
- 输入某年某月某日,判断这一天是这一年的第几天?
-
输入字符,把它转成对应的摩尔斯电码
1.4 switch-case
语句
- 语法
switch(表达式){ case 整型常量1: /* 表达式等于整型常量1执行的代码 */ break; /* 可选的 */ case 整型常量2: /* 表达式等于整型常量2执行的代码 */ break; /* 可选的 */ /* 您可以有任意数量的 case 语句 */ default : /* 可选的 */ /* 表达式不等于上面所有情况执行的代码 */ }
- 练习
- 输入年份和月份,获取这个月的天数
- 输入某年某月某日,判断这一天是这一年的第几天?
2. 循环语句
2.1 while
语句
- 语法
while(条件){ /* 如果条件为真将重复执行的语句 */ }
- 说明
*if
与while
区别在于if
只执行一次,但是while
重复执行多次直至条件为假。-
while
语句的代码块通常称作循环体。
-
- 练习
- 输入整数n,m,打印出n与m之间所有整数。
- 输入整数m,打印出从1到m的所有整数。
- 输入一个整数n,求出这个数的位数。例如:
123
的位数为3
- 输入一个整数n,求出每位的整数和。例如:
123
的每位的整数和是6
(1+2+3=6)。 - 输入一个整数n,将数字按位反转。例如:
123
反转后的数字为321
- 猜数字
- 登录密码验证
2.2 do-while
语句
- 语法
do { /* 如果表达式为真将重复执行的语句 */ }while(条件);
- 说明
注意while()
后的分号;
。 - 练习
- 猜数字
- 登录密码验证
do-while
循环与while
循环的区别:
do-while
循环是先循环后判断,循环体至少执行一次;while
循环是先判断后循环,循环体可能一次也不执行。
2.3 for
语句
- 语法
for (初始值;条件;递增或递减){ /* 如果条件为真将重复执行的语句 */ }
- 练习
- 输入整数n,打印出从1到n的所有整数。
- 输入整数m,n,打印出m与n之间所有整数。
- 输入整数n,并依次输入n个整数,求这n个数的和与积。
- 输入整数n,并依次输入n个整数,求这n个数的平均值。
for
循环可以与while
循环,二者之间相互替换,实现相同的功能。但是for
循环比while
循环使用更加广泛。因为,for
循环从语义上,更容易表达一些情况。例如:产生从n
到m
的递增的数列,循环体执行n
次等。
2.4 break
语句和continue
语句
在while
和for
循环中,break
是结束整个循环体;continue
是结束单次循环。
- 练习
打印出21世纪中前10个闰年年份。
3. 简化写法
1. 省略大括弧
如果if
语句、while
语句、for
语句中只有一个执行语句,可以省略大括弧。
写代码时不要省略大括弧,但是要能读懂省略大括弧的代码。
2. 三元运算符:?
如果if-else
语句只有单个执行语句,可以使用三元运算符:?
。
编码之难,通常不是语法难。而是把实际问题转化成代码比较难。
如何提高编码能力?
- 造轮子:自己实现常用功能的代码。
拆轮子:多读别人写的代码。
综合
- 输入一个日期,计算出是这一天是星期几?
例如:
输入
输出20190101
蔡勒(Zeller)公式星期二
公式中的符号含义如下,w=(y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1)%7
No. | 符号 | 说明 |
---|---|---|
1 | w |
星期,0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六 |
2 | c |
年份前两位 |
3 | y |
年(年份后两位) |
4 | m |
月(在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2019年1月1日要看作2018年的13月1日来计算) |
5 | d |
日 |
6 | [] |
代表取整,即只要整数部分。 |
注:以上公式只适合于1582年10月15日之后的情形(当时的罗马教皇将恺撒大帝制订的儒略历修改成格里历,即今天使用的公历)
-
打印出当月的日历,例如:2019年3月日历
网友评论