黑马程序员_第二天视频学习 基本运算和流程控制
来源:互联网 发布:邓肯所有季后赛数据 编辑:程序博客网 时间:2024/06/09 08:07
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、 基本运算:
1、算术运算
加法运算+ 减法运算- 乘法运算*
除法运算/ (整数/整数=整数 例3/2=1)
取余运算% (也叫模运算,%两侧只能是整数,正负性取决于%左侧的数值)
注意:
(1)、自动类型转换 (doube -> int) int a=3.4;
(2)、强制类型转换 (doube -> int) int a= (int)3.4;
将大类型转换成小类型会丢失精度
(3)、自动类型提升 将小类型提升为大类型 double a =5.2 + 3;
2、赋值运算
简单赋值 int a = 1;
复合赋值 复加减乘除余 a * = 4 – 5/3;
3、自增自减运算符
a++, ++a, a--, --a (a只能是变量)
a++ 是先赋值再运算自增;++a是先运算自增再赋值;
4、sizeof
作用:用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
形式:sizeof(变量\常量) sizeof 变量\常量 sizeof(数据类型) (括号不能去除)
5、关系运算(比较运算)
(1)、条件判断:成立执行代码,不成立不执行
(2)、真假:条件成立为’真’,不成立为’假’,所有非0的值都为’真’,只有’0’才为’假’;
(3)、关系比较:==,!=,>,>=,<,<=;条件成立返回1,不成立返回0;
优先级:(==,!=)相等 <(>,>=,<,<=)相等; 关系运算符的优先级小于算术运算符
6、逻辑运算
(1)、逻辑与:&& 两个条件只要有一个不成立,结果都为0,也就是’假’;
判断的时候,先判断第一个条件是否成立,不成立则不再判断第二个条件是否成立,直接返回假;成立则继续判断第二个条件是否成立,成立返回真,不成立返回假。
(2)、逻辑或: || 两个条件只要有一个成立,结果都为1,也就是’真’;
判断的时候,先判断第一个条件是否成立,成立则不再判断第二个条件是否成立,直接返回真;不成立则继续判断第二个条件是否成立,成立返回真,不成立返回假。
(3)、逻辑非:对条件取反,若条件成立,返回假;若条件不成立,返回真。
7、三目运算符
条件 ? 数值1 : 数值2; 条件成立返回数值1,条件不成立返回数值2;
取最大值:
#include <stdio.h>
Int main()
{
int a = 100 ,b = 90 , c = 500 , d;
int abMax = a> b ? a : b;
int d = abMax> c ? abMax : c;
printf(“最大值为%d”,d);
return 0;
}
二、流程控制
(一)、选择结构
1、if
(1)、语句结构
if ( 条件1 )
{
执行语句
}else if ( 条件2 )
{
执行语句
}else
{
执行语句
}
另一种形式
if (条件) 语句1;语句2; 语句2与if无关;if只控制是否执行语句1;
(2)、特点:同一时刻,只有一个大括号里的代码会被执行
(3)、注意:
A、比较大小时,常量值放左边,变量放右边;
B、赋值运算符,不要写成两个=;
C、如果要在if后面的语句中定义新的变量,必须用大括号{};
if(1) int a = 1; 这个是错误的,因为作用域不明确;应改为if(1) { int a = 1;}
2、switch
(1)、语句结构
switch(数值)
{
case 数值1:
执行语句;
break;
case 数值1:
执行语句;
break;
default: 执行语句;break;
}
(2)、特点:
A、默认情况下,只有一个case后面的代码会被执行;
B、如果一个case后面没有break,而且这个case成立,就会按顺序执行后面所有case中的语句,直到遇到break为止;
C、如果要在case后面定义一个新的变量,必须要用大括号{}包住;
if 和 switch
(1)、if语句能完成的功能,switch并不一定能完成;int a = 10; if (a>100){};
(2)、有些情况下,两种语句可以互换;
(3)、switch能完成的功能,if语句都能完成
(二)、循环结构
1、while
(1)、语句结构
While (条件)
{
循环体
}
(2)、运行原理
A、如果一开始条件就不成立,永远不会执行循环体
B、如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立,往复循环。
#include <stdio.h>
int main()
{
int n = 0;
while ( n <= 0 )
{
printf(“请输入一个正整数:\n”);
scanf(“%d”,&n);
}
printf(“此正整数为%d\n”,n);
return 0 ;
}
(3)、最简单的死循环: while(1);
2、do while
(1)、语句结构
do
{
循环体
}
While(条件);
(2)、特点:不管一开始的条件是否成立,至少会执行一次循环体;while(条件)后面有”;”;
很多情况下,while和do while可以互换
3、for
(1)、语句结构
for(语句1;条件;语句2)
{
循环体
}
语句1:初始化语句;语句2 :增量语句(执行完循环体后再执行的语句);
(2)、运行原理
A、for一开始就会执行一次语句1(整个for循环只会执行一次语句1);
B、判断条件是否成立,如果成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立,往复循环;
语句1,语句2,语句3;逗号表达式(逗号运算符);
for循环的变量定义在内部,循环完毕变量回收;while循环只能使用外部变量,变量一直存在。
#include <stdio.h>
int main()
{
for ( int i=1 ; i<10 ; i++ )
{
for ( int j=1 ; j<10 ; j++ )
{
Int sum = i * j;
printf(“%d*%d=$d ”,i,j,sum);
}
printf(“\n”);
}
return 0 ;
}
(3)、使用注意
A、for()后不要写分号;
B、错误写法: for ( int i=0 ; i<3 ;i++) int a=10; 作用域不明确;
C、for ( int i=0 ; i<3;i++) { int i=10;}这个是正确的,因为for()内的i的作用域比代码块中的i的作用域要大。
(4)、最简单的死循环: for(;;);
如何选择循环
1、一般优先选择for循环
2、然后再考虑while (比如验证用户输入的数是否为正整数)
3、最后在考虑do while
break和continue
1、break
a、使用场合:switch语句:退出整个switch语句;循环结构:退出整个循环结构。
b、注意点:只对最近的循环结构有效
2、continue
a、使用场合:循环结构:结束当前这次的循环体,进入下一次循环体。
b、注意点:只对最近的循环结构有效
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员_第二天视频学习 基本运算和流程控制
- 黑马程序员_C语言基本运算和流程控制
- 黑马程序员_Java基础_进制转换、基本数据类型、运算符、流程控制语句等
- 黑马程序员_第六天视频学习 Objective-C的基本语法、类和对象
- 黑马程序员--IOS入学学习--2-基本运算及流程控制(C语言)
- 黑马程序员(一)-------scanf函数、基本运算、流程控制
- 黑马程序员_流程控制
- 黑马程序员_流程控制
- 黑马程序员_流程控制
- 黑马程序员——c语言的基本运算和流程控制
- 黑马程序员——C语言——基本运算和流程控制
- 黑马程序员_Java基础_常用基础内容(进制转换、基本数据类型、运算符、流程控制语句等)
- 黑马程序员——C语言学习——scanf函数、sizeof函数、基本运算、流程控制
- 黑马程序员——零基础学习iOS开发——04 c语言:基本运算、流程控制、函数
- 黑马程序员_流程控制总结
- 黑马程序员_程序流程控制语句
- 黑马程序员_程序流程控制
- 黑马程序员_流程控制语句
- HDU 2544 最短路 (Dijkstra || SPFA)
- 2.maven 安装配置
- 感官敏捷锐利的小孩[图]
- 利用AJAX和ASP.NET实现简单聊天室
- sqlite 触发器
- 黑马程序员_第二天视频学习 基本运算和流程控制
- ASP.NET中数据校验部分的封装与应用
- 第7周作业1——背包问题。
- 利用ASP.net编写发送Email程序
- nyoj104
- [Hadoop源码解读](一)MapReduce篇之InputFormat
- 堆和栈的区别
- 认知小动物的脚印[图]
- 赶集动画实现