‘壹’ c语言选择语句的条件分支有几种格式,它们的作用及适用范围又是什么
主要选择结构有:if 最常见的选择结构 单一的if语句有人也称为挖坑 可将程序分为两路 没有满足则不执行 else 与if 合用 可将程序分为三路 if(条件)(语句一) else(语句二) 都没有满足则不执行 else if 与if合用 将程序分为若干路 if(条件)(语句一)else if(条件)(语句二)else if(条件)...... switch case 条件选择 switch(条件列表标识符)case:(语句);break; case(语句);break; ...... default(语句); 每一句后要加break 不然会全都执行 default 表示如果都不满足则执行此语句 不同的语句要用在恰当的时候楼主这些语句多试试就会有自己的看法 编程要编出自己的风格
‘贰’ C语言语句种类有哪些
C语句可分为以下五类:
1 表达式语句;
2 函数调用语句;
3 控制语句;
4 复合语句;
5 空语句。
‘叁’ C语言中if语句的三种形式到底是怎样的分别举例
1)简化形式
if(表达式) 语句块
如: if(x>y) printf(“%d”,x);
2)一般形式
if (表达式)
语句块1
else
语句块2
例如:
if (x>y)
printf(“max=%d”,x);
else
printf(“max=%d”,y);
3)嵌套形式
含义:一条if语句重又包含另一个if语句称为if语句的嵌套.
格式:
if( )
if( ) 语句块1
else 语句块2
else
if( ) 语句块3
else 语句块4
例如:
if (score>90)
printf(“very good”);
else
if(score>80)
printf(“good”);
else
if(score>60)
printf(“ok”);
else
printf(“bad”);
如果语句块包含多个语句,用{}就行了
例如:
if(n>0)
{
printf("%d",n);
printf("是正数\n");
}
‘肆’ c语言中的语句有哪几类
C语言语句分为5 类 : 1、 表达式语句 2、 函数调用语句 3、 控制语句 4、 复合语句 5、 空语句 表达式语句 : 表达式+分号; 函数调用语句 : 函数名+实际参数+分号; 格式一般为:函数名(参数表); 控制语句 : 1,条件判断语句 if语句,switch语句循环执行语句 例如:if(a>b) max=a; else max=b; // 该语句表示:如果a>b条件成立,则max取a的值,否则max的值是b。在a>b条件的控制下,出现两个可能的分支流程。而switch语句能实现多个分支流程。 do while语句,while语句,for语句转向语句 2,循环语句有for、while和do_while三种。当循环语句的循环控制条件为真时,反复执行指定操作,是C语言中专门用来构造循环结构的语句。 如:for(i=1;i<10;i++) printf("%d",i); i从1开始,每次加1,只要i<10就输出i的值,因此i=1,2,3,……,9,共循环9次,输出: 1 2 3 4 5 6 7 8 9 上述功能还可以用while语句和do_while语句实现。 用while语句实现: i=1; while(i<10) { printf("%d",i);i++; } 用do_while语句实现: i=1; do { printf("%d",i);i++; } while(i<10); 转移语句有break,continue,return和goto四种。它们都能改变程序原来执行顺序并转移到其它位 置继续执行。例如,循环语句中break语句终止该循环语句的执行;而循环语句中的continue语句只结束本次循环并开始下次循环;return语句 用来从被调函数返回到主调函数并带回函数的运算结果;goto语句可以无条件转向任何指定的位置执行。 复合语句 :多个语句用{}括起来,组成复合语句,其中每条语句都以;结束,但}外不能加分号; 空语句 : 空语句是只有分号(;)的语句。由一个分号组成,它表示什么操作也不做。从语法上讲,它的确是一条语句。在程序设计中,若某处从语法上需要一条语句,而实际上不需要执行任何操作时就可以使用它。例如,在���计循环结构时,有时用到空语句。 赋值语句 :属于表达式语句,注意事项如下: 1、 允许嵌套 2、 与为变量赋初值有区别,赋初值是变量说明的一部分,与其他变量要用逗号分隔,而赋值语句需要用分号;结束 3、 变量说明不允许中的赋初值不允许连续赋初值,如int a=b=c=5;是错误的,但赋值语句a=b=c=5是正确的。 4、 注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。 如if ((x=y+5)>0) z=x;是正确的,而if((x=y+5;)>0) z=x;是错误的。
‘伍’ c语言条件语句有哪两种形式
if和switch语句
if-else 或者 if-else if-else 表示多个条件的
swith是开关语句,条件多的时候根据传入参数选择某一个分支执行
‘陆’ C语言中的的if语句共有多少种格式
if语句基本的有三种格式,在此基础上可以扩展一些其它格式,注意活学活用即可。
1、
if……形式
一般格式:if(表达式) 语句;
语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
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;
}
4、扩展形式
if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。注意活学活用。
‘柒’ C语言中条件编译有哪几种形式
预处理程序提供了条件编译的功能。 可以按不同的条件去编译
不同的程序部分,因而产生不同的目标代码文件。 这对于程序的移
植和调试是很有用的。
条件编译有三种形式,下面分别介绍:
1. 第一种形式:
#ifdef 标识符
程序段1
#else
程序段2
#endif
它的功能是,如果标识符已被 #define命令定义过则对程序段1
进行编译;否则对程序段2进行编译。
如果没有程序段2(它为空),本格式中的#else可以没有, 即可
以写为:
#ifdef 标识符
程序段
#endif
#define NUM ok
main(){
struct stu
{
int num;
char *name;
char sex;
float score;
} *ps;
ps=(struct stu*)malloc(sizeof(struct stu));
ps->num=102;
ps->name="Zhang ping";
ps->sex='M';
ps->score=62.5;
#ifdef NUM
printf("Number=%d\nScore=%f\n",ps->num,ps->score);
#else
printf("Name=%s\nSex=%c\n",ps->name,ps->sex);
#endif
free(ps);
}
由于在程序的第16行插入了条件编译预处理命令, 因此要根据
NUM是否被定义过来决定编译那一个printf语句。而在程序的第一行
已对NUM作过宏定义,因此应对第一个printf语句作编译故运行结果
是输出了学号和成绩。
在程序的第一行宏定义中,定义NUM表示字符串OK,其实也可以
为任何字符串,甚至不给出任何字符串,写为:
#define NUM
也具有同样的意义。 只有取消程序的第一行才会去编译第二个
printf语句。读者可上机试作。
2. 第二种形式:
#ifndef 标识符
程序段1
#else
程序段2
#endif
与第一种形式的区别是将“ifdef”改为“ifndef”。它的功能
是,如果标识符未被#define命令定义过则对程序段1进行编译, 否
则对程序段2进行编译。这与第一种形式的功能正相反。
3. 第三种形式:
#if 常量表达式
程序段1
#else
程序段2
#endif
它的功能是,如常量表达式的值为真(非0),则对程序段1 进行
编译,否则对程序段2进行编译。因此可以使程序在不同条件下,完
成不同的功能。
#define R 1
main(){
float c,r,s;
printf ("input a number: ");
scanf("%f",&c);
#if R
r=3.14159*c*c;
printf("area of round is: %f\n",r);
#else
s=c*c;
printf("area of square is: %f\n",s);
#endif
}
本例中采用了第三种形式的条件编译。在程序第一行宏定义中,
定义R为1,因此在条件编译时,常量表达式的值为真, 故计算并输
出圆面积。
上面介绍的条件编译当然也可以用条件语句来实现。 但是用条
件语句将会对整个源程序进行编译,生成的目标代码程序很长, 而
采用条件编译,则根据条件只编译其中的程序段1或程序段2, 生成
的目标程序较短。如果条件选择的程序段很长, 采用条件编译的方
法是十分必要的。
☆本章小结☆
1. 预处理功能是C语言特有的功能,它是在对源程序正式编译前由
预处理程序完成的。程序员在程序中用预处理命令来调用这些功
能。
2. 宏定义是用一个标识符来表示一个字符串,这个字符串可以是常
量、变量或表达式。在宏调用中将用该字符串代换宏名。
3. 宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值
传送”。
4. 为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符
串中出现的形式参数两边也应加括号。
5. 文件包含是预处理的一个重要功能,它可用来把多个源文件连接
成一个源文件进行编译,结果将生成一个目标文件。
6. 条件编译允许只编译源程序中满足条件的程序段,使生成的目标
程序较短,从而减少了内存的开销并提高了程序的效率。
7. 使用预处理功能便于程序的修改、阅读、移植和调试,也便于实
现模块化程序设计。
‘捌’ 在C语言的if语句常见的形式有哪些分别说,它们的作用
三种形式:
形式一、if(表达式)~~
作用:只判断满足条件时的功能,不满足时什么也不做,如:
if(睡醒了)
上班工作;
形式二、if(表达式)~~else~~
作用:两个相反的条件,当表达式成立时执行某段代码,否则执行另一段代码,如:
if(今天不下雨)
外出爬山;
else
在家上网;
形式三、if(表达式)~~else
if(表达式)~~else~~
作用:当实际问题有多种情况(分支)时,用此形式,如:
if(1-2节)
上英语课;
else
if(3-4节)
上数学课;
else
if(5-6节)
上体育课;
else
上自习;