作业分析讲解
=============
1. 运算符的优先级
面试题往往故意搞一些优先级让你去判断的题目,搞晕你
实际开发中,从来不会去记优先级,我会用括号来清楚地表明我的运算顺序
sizeof(++i + ++i) --> (++i) + (++i)
练习:
1.消化刚才讲的内容
用至少三种方法实现交换两个整数的值
从键盘输入两个整数,用三种方法实现把两个整数值交换
第一种:用中间变量
第二种:用异或运算
第三种:用加减法运算
C语言中循环
=====================
1. 三种循环
第一种: for循环
语法:for(表达式1; 表达式2; 表达式3) //先执行表达式1,然后判断表达式2是否为真
{
执行的代码
}
注意:花括号中的代码只有一句话,那么花括号可写可不写
花括号中的代码有多句话,一定要写
难点:循环的嵌套
写法一: for( ; i<5; i++)
写法二: for( ; i<5; )
写法三: for( ; ;) //死循环
第二种: while循环
语法:while(条件) //条件为真,则执行循环语句
{
}
while(i<5)
{
i++;
}
while(1) //等价于 for(;;) while('a')
{
}
第三种:do while循环
do
{
执行的代码
}while(条件);
注意: do while循环先斩后奏,会先执行一次循环,然后再判断条件是否成立
2. break和continue
break --》彻底结束循环
continue --》结束本次循环,进入下一次循环
练习:
1. for循环打印99乘法表
2. for循环实现钻石图案
3. while循环实现任意输入一个整数,编程得到这个整数总共多少位,各个位分别是多少
123/10 --》12 --》12/10 --》1 1/10--》0
123%10 --》3 12%10 --》2 1%10--》1
C语言的条件判断
==================
1. 第一种:单个情况的判断
if(条件)
{
代码
}
第二种:两种情况的判断,非此即彼
if(条件)
{
}
else
{
}
第三种:大于等于三种情况的判断
if(条件)
{
}
else if(条件)
{
}
else if(条件)
{
}
else
{
}
注意:if和else之间不能出现其他语句
if或者else花括号里面的语句如果只有一条语句,花括号可以省略
练习:
1. if语句实现求5个整数的最大值和最小值
// 编程实现任意输入6个整数,从小到大排个序(升序)
C语言中选择条件分支语句(开关语句)
===================
1. 语法
swich(变量) //标准写法
{
case 1:
代码;
break; //结束switch,break只能在循环或者switch中使用
case 2:
代码;
break;
default:
代码;
break;
}
特点:switch中的变量只能是整数,字符,常量
switch有变形形式
第一种: default 可写可不写
第二种: switch中的break是可以不写,写和不写含义完全不同
第三种: default跟case的书写顺序可以随意颠倒
总结:switch一直执行,直到遇到break才结束switch,没有遇到break一直往下运行
作业:
1. switch做一个功能选择菜单,重复选择不同的功能
printf("请你选择如下功能!\n");
1. 登录
2. 借书
3. 还书
4. 修改账户密码
5. 查询
2. switch键盘任意输入年,月,日, 告诉我这个日期是这个一年的第几天
1987 6 23
3. 用循环求出这种表达式的结果
1+1.0/2-1.0/3+1.0/4-1/5.........1.0/n
思路一: 加法和减法分开来计算
思路二:-1的n次方表示正负号
n从键盘输入