C语言中if语句基本的有三种格式,在此基础上可以扩展一些其它格式,下面我们来看看c语言if语句的用法。
c语言if语句的用法
1、 if……形式
一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include
int main(){
int a,b,max;
printf(" input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d ",max);
return 0;
}
2、if……else形式
一般格式:
if(表达式)
语句1;
else
语句2;
语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
示例如下:
#include
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d ",a);
else
printf("max=%d ",b);
return 0;
}
3、if……else……if形式
一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:
#include
int main(){
char c;
printf("input a character: ");
c=get);
if(c<32)
printf("This is a control character ");
else if(c>=0&&c<=9)
printf("This is a digit ");
else if(c>=A&&c<=Z)
printf("This is a capital letter ");
else if(c>=a&&c<=z)
printf("This is a small letter ");
else
printf("This is an other character ");
return 0;
}
4、扩展形式
if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。注意活学活用。
拓展c语言的优缺点
1 简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行 *** 作,而这三者是计算机最基本的工作单元。
2 运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的'运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3 数据结构丰富
C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4 C是结构式语言
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
5C语法限制
C语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度
6 C语言允许直接访问物理地址,可以直接对硬件进行 *** 作
由于C语言允许直接访问物理地址,可以直接对硬件进行
if语句
循环体中只有一句(或者一个整体),如果有两个或两个以上的语句,需要用{}括起来,否则只能执行第一句。
你的程序中第二个if开始:
if (t<0) age=age-1;printf("实际年龄为%d岁(实岁)\n",age);
这里面只有第一句age=age-1;是在循环体中的,之后那一句不在if的范围之内,已经是独立的一个语句。
正确的用法是这样:
if (t<0)
{age=age-1;printf("实际年龄为%d岁(实岁)\n",age);}
所以,你的3个if语句应该是这样:
if(t>0)
printf("实际年龄为%d岁(实岁)\n",age);
else
if (t<0)
{age=age-1;printf("实际年龄为%d岁(实岁)\n",age); }
else
{
t1=d0-d;
if(t1<0)
{ age=age-1;printf("实际年龄为%d岁(实岁)\n",age); }
else
printf("实际年龄为%d岁(实岁)\n",age);
}
ifixif语句的用法例子如下所示。
ifix的一些常用代码
1、从后台调度中访问或修改全局变量的代码
描述:
在iFIX中使用调度要后台运行的时候需要启动FixBackgroundServer程序,而该程序实际上是启动了独立于Workspace的进程,所以在后台调度中不能直接访问全局变量。下面的例子代码描述了怎样访问的方法:
FirstgetapointertotheApplicationobjectintheWorkspaceDimWrkSpcAppAsObject
SetWrkSpcApp=GetObject(,WorkspaceApplication')
GetapointertotheVariableobjectcaledVariable1intheUserglobals
DimTargetVarAsObject
SetTargetVar=WrkSpcAppDocuments('User')PageFindObject(Variable1)
Setthecurrentvalueinthevariableobjecttoa1TargetVarCurrentValue=1
2、脉冲输出示例
DimPauseTime,Start
CloseDigitalPointFix32FIXDDDF_cv
PauseTime=08
设置暂停时间。
Start=Timer
设置开始暂停的时刻。
DoWhileTimerDoEvents
将控制让给其他程序。LoOp
OpenDigitalPointFix32FIXDDDF_CV
3、显示通讯状态
IsthereawaytoviewcommunicationstatusofthedriverwithoutusingMissionControl
Resolution
Usingadigitalinputblockreadingahardwareregister,theA_cualmfieldwilbeutilizedChaintheDIblocktoaneventactionblocktoadigitaloutputtagusingtheSIMdriverIntheeventactionblockusethefollowingscript:
IFtheA_cualm=com
ThensetDO=1
ElsesettheDO-0
AdatalinkcanbemadetotheSimblockThevalueofthisblockwilldeterminethestatusofthecommuncation
4、用VBA脚本打开和关闭调度
为了打开和关闭调度,必须用下列方法:
打开一个名字为ddd”的调度:
ApplicationDocumentsOpenCDynamicslpdb\dddevs
关闭一个名字为ddd的调度:
ApplicationDocuments(ddd)Close
注意:关闭调度时不用扩展名.evs。
5、在后台调度中访问画面中的对象
在调度中中的脚本不能直接访问画面中的对象。
办法:
使用FindObject方法:
DimAppObjasObject
DimPicObjasObject
setAppObj=GetObject(,WorkspaceApplication)
setPicObj=AppObjSystemFindObject(PicObj)PicObj
Pic为画面的名字,picObj为所用的对象的属性或方法。
c语言中的if分支语言一般有如下三种形式,当然还可以其它各种变形,无论如何变形,都以此三种形式为基础,活学活用即可。
1、 if……形式
一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include <stdioh>int main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max<b) max=b;
printf("max=%d\n",max);
return 0;
}
2、if……else形式
一般格式:
if(表达式)
语句1;
else
语句2;
语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
示例如下:
#include <stdioh>int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
return 0;
}
3、if……else……if形式
一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:
#include <stdioh>
int main(){
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
return 0;
}
当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如下图所示。
参考代码如下:
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
return 0;
本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。
这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
扩展资料:
在使用if语句中还应注意以下问题:
1、在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:
if(a=5) 语句;
if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。如在:
if(a=5)…;
中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
2、在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
3、在if语句中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。
参考资料:
Microsoft-if-else(C# 参考)
菜鸟教程-C# if 语句
以上就是关于c语言if语句的用法全部的内容,包括:c语言if语句的用法、一个关于if语句的C语言程序,求解!、ifixif语句的用法例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)