"); //-->
if语句和while循环
C语言中,if语句和while循环都会用到布尔表达式。下面是一个使用if语句的简单例子:
#include
int main()
{int b;printf("输入一个值:");scanf("%d", &b);if (b < 0)
printf("值为负数n");return 0;}
程序从用户读入一个数字,然后用if语句测试这个数字是否小于零。如果小于零则打印一条消息,否则什么也不做。程序中的(b<0)称为布尔表达式。C需要求出此表达式的值才能决定是否打印后面的消息。如果布尔表达式的结果是真,那么C将执行紧接在if语句后面的一行代码(或花括号中的代码块);如果布尔表达式的结果是假,那么C将跳过紧接在if语句后面的代码行或代码块。
![]() |
下面是一个稍复杂一点的例子:
#include
int main()
{int b;
printf("输入一个值:");
scanf("%d", &b);
if (b < 0)
printf("值为负数n");
else if (b == 0)
printf("值为0n");
else
printf("值为正数n");
return 0;}
这个例子中的else if和else部分处理了值为零或为正的情况。
下面是一个更复杂一些的布尔表达式:
if ((x==y) && (j>k))
z=1;
else
q=10;
上面这个if语句的意思是:“如果变量x和y的值相等,而且变量j的值大于k的值,那么令变量z的值等于1,否则令变量q的值等于10。”在C程序中,您经常使用类似这样的if语句进行判断。一般而言,大多数判断都很简单,像第一个例子。但偶尔也会遇到复杂一些的情况。
请注意,C使用==判断相等,而用=为变量赋值。&&在C中代表布尔操作符与。
这是C语言中的所有的布尔操作符:
等于 ==
小于 <
大于 >
小于等于 <=
大于等于 >=
不等于 !=
与 &&
或 ||
非 !
您会发现,while声明和if声明使用起来一样简单。举个例子:
while (a < b)
{printf("%dn", a);a = a + 1;}
![]() |
C还提供一种do-while结构:
do{printf("%dn", a);a = a + 1;}while (a < b);
C中的for循环只不过是while语句的精简写法。例如,您有如下C代码:
x=1;while (x<10)
{……x++; }
您可以用for循环改写成下面这样:
for(x=1; x<10; x++)
{……}
请注意,while循环实际包括了三个步骤:初始化(x=1)、判断(x<10)和增量(x++)。使用for循环可以把三个步骤写在同一行中,但并不限制三个部分的具体内容。例如,您有如下C代码:
a=1;
b=6;
while (a < b)
{a++;printf("%dn",a);}
用for循环就可以写为:
for (a=1,b=6; a < b; a++,printf("%dn",a));
这样虽然有点不易读懂,但还是允许的。在for循环的初始化和增量(不包括测试)部分,我们可以使用多条语句并用逗号操作符加以分隔。许多 C 程序员喜欢用一行代码“浓缩”进很多信息。但也有许多人认为这样会使代码更加难以理解,所以他们选择分开来写。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
一些实用μC OS-Ⅱ Mega8 源代码
英伟达下一代GPU将直接升级到A16制程
全球折叠手机出货量最新排名:三星扩大领先,华为稳居第二
展示现代安全技术的气囊系统模型车
MICRF008 00K 440~300 MHz接收器
TH71112 FSK/ASK/FM 915/868 MHz接收器
Buck电路的工作过程
《嵌入式系统设计》23-MP3播放器设计(Uboot上增加新设备Ramdisk到结束)及网络存储设计(开始到结束)及一部分补充说明
我想请问一下下载的电子书的用户名和密码??
OKI ARM 快速入门及应用研讨会,开发板等你拿!
音频电路图
欢迎光临IMDSP论坛
一个专为嵌入式系统编写的小型TCP IP协议栈
呵呵,这个论坛好哦
微软将以3美元的价格授权Windows CE部分源代码
RXM-433/418/315-LC-S系列接收器模块
EasyARM1138嵌入式专题讲座
FPGA成为终极AI推理引擎的五大架构原因
加速FPGA上的LLM推理
分析师警告称,人工智能数据中心建设将推动铜短缺——2035年需求仅能满足70%,2025年预计缺口为304,000吨
采用9S08LG32的汽车LCD仪表板设计
Buck芯片失效分析
台积电美国厂生产意外中断
《嵌入式系统设计》22-MP3播放器设计(设计方法到块设备读取)
硬件技术资料(ZE5开发板资料)
科技巨头警告:存储芯片短缺情况或将失控!
信号与线性系统
TQ5622 TDMA/PCS l990~1930 MHz接收器
DKl002R 868 MHz带滚动码接收器模块
Buck电路EMI优化实例