c语言if语句的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言if语句的用法相关的知识,希望对你有一定的参考价值。

参考技术A

  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语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

  5.C语法限制

  C语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度

  6. C语言允许直接访问物理地址,可以直接对硬件进行操作

  由于C语言允许直接访问物理地址,可以直接对硬件进行

SQL Select 语句的用法

参考技术A 以下是代码片段:
SQL:
select
*
into
b
from
a
where
1<>1说明:拷贝表(拷贝数据,源表名:a
目标表名:b)以下是代码片段:
SQL:
insert
into
b(a,
b,
c)
select
d,e,f
from
b;说明:显示文章、提交人和最后回复时间以下是代码片段:
SQL:
select
a.title,a.username,b.adddate
from
table
a,(select
max(adddate)
adddate
from
table
where
table.title=a.title)
b说明:外连接查询(表名1:a
表名2:b)以下是代码片段:
SQL:
select
a.a,
a.b,
a.c,
b.c,
b.d,
b.f
from
a
LEFT
OUT
JOIN
b
ON
a.a
=
b.c说明:日程安排提前五分钟提醒以下是代码片段:
SQL:
select
*
from
日程安排
where
datediff(’minute’,f开始时间,getdate())>5
说明:两张关联表,删除主表中已经在副表中没有的信息
SQL:
以下是代码片段:
delete
from
info
where
not
exists
(
select
*
from
infobz
where
info.infid=infobz.infid 说明:--
SQL:
以下是代码片段:
SELECT
A.NUM,
A.NAME,
B.UPD_DATE,
B.PREV_UPD_DATE

FROM
TABLE1,

(SELECT
X.NUM,
X.UPD_DATE,
Y.UPD_DATE
PREV_UPD_DATE

FROM
(SELECT
NUM,
UPD_DATE,
INBOUND_QTY,
STOCK_ONHAND

FROM
TABLE2

WHERE
TO_CHAR(UPD_DATE,’YYYY/MM’)
=
TO_CHAR(SYSDATE,
’YYYY/MM’))
X,

(SELECT
NUM,
UPD_DATE,
STOCK_ONHAND

FROM
TABLE2

WHERE
TO_CHAR(UPD_DATE,’YYYY/MM’)
=

TO_CHAR(TO_DATE(TO_CHAR(SYSDATE,
’YYYY/MM’)
¦¦
’/01’,’YYYY/MM/DD’)
-
1,
’YYYY/MM’)
Y,

WHERE
X.NUM
=
Y.NUM
(+)

AND
X.INBOUND_QTY
+
NVL(Y.STOCK_ONHAND,0)
<>
X.STOCK_ONHAND
B
WHERE
A.NUM
=
B.NUM说明:--
SQL:
以下是代码片段:
select
*
from
studentinfo
where
not
exists(select
*
from
student
where
studentinfo.id=student.id)
and
系名称=’"&strdepartmentname&"’
and
专业名称=’"&strprofessionname&"’
order
by
性别,生源地,高考总成绩说明:
从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)
SQL:
以下是代码片段:
SELECT
a.userper,
a.tel,
a.standfee,
TO_CHAR(a.telfeedate,
’yyyy’)
AS
telyear,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’01’,
a.factration))
AS
JAN,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’02’,
a.factration))
AS
FRI,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’03’,
a.factration))
AS
MAR,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’04’,
a.factration))
AS
APR,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’05’,
a.factration))
AS
MAY,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’06’,
a.factration))
AS
JUE,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’07’,
a.factration))
AS
JUL,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’08’,
a.factration))
AS
AGU,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’09’,
a.factration))
AS
SEP,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’10’,
a.factration))
AS
OCT,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’11’,
a.factration))
AS
NOV,

SUM(decode(TO_CHAR(a.telfeedate,
’mm’),
’12’,
a.factration))
AS
DEC
FROM
(SELECT
a.userper,
a.tel,
a.standfee,
b.telfeedate,
b.factration

FROM
TELFEESTAND
a,
TELFEE
b

WHERE
a.tel
=
b.telfax)
a
GROUP
BY
a.userper,
a.tel,
a.standfee,
TO_CHAR(a.telfeedate,
’yyyy’)说明:四表联查问题:SQL:
以下是代码片段:
select
*
from
a
left
inner
join
b
on
a.a=b.b
right
inner
join
c
on
a.a=c.c
inner
join
d
on
a.a=d.d
where
.....说明:得到表中最小的未使用的ID号
SQL:
以下是代码片段:
SELECT
(CASE
WHEN
EXISTS(SELECT
*
FROM
Handle
b
WHERE
b.HandleID
=
1)
THEN
MIN(HandleID)
+
1
ELSE
1
END)
as
HandleID
FROM
Handle
WHERE
NOT
HandleID
IN
(SELECT
a.HandleID
-
1
FROM
Handle
a)

以上是关于c语言if语句的用法的主要内容,如果未能解决你的问题,请参考以下文章

c语言中if else的用法

C语言里面if 和else的用法?

关于C语言中if else的用法,高手来帮下忙

c语言中的 条件语句 if else

C语言里面if 和else的用法?

SQL Select 语句的用法