1. c语言中 : 语句是什么意思
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
注意:在C语言中,结果1 和 结果2的类型必须一致。
a ? b : c简单理解方式为:
if(a){
returnb;
}else{
returnc;
}
2. c语言输入语句
getchar()和scanf("%c")的功能都是读一个字符
区别是getchar()可以读回车,而scanf("%c")会跳过回车。
所以scanf读了2个字符1,2分别给了a,b。
然后第一个getchar()读了回车符给c,读了3给d.
3. c语言语句有哪些
C语句可分为以下五类: 1.表达式语句; 2.函数调用语句; 3.控制语句; 4.复合语句; 5.空语句。
1.表达式语句
表达式语句由表达式加上分号“;”组成。 其一般形式为: 表达式;执行表达式语句就是计算表达式的值。 例如: x=y+z;a=520; 赋值语句; y+z;加法运算语句,但计算结果不能保留,无实际意义; i++; 自增1语句,i值增1。 i++; 是先运算i后再加1。 ++i; 是先把i值增1后运算。
编辑本段2.函数调用语句
由函数名、实际参数加上分号“;”组成。 其一般形式为: 函数名(实际参数表) ; 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。 调用库函数,输出字符串。
编辑本段3.控制语句
控制语句用于控制程序的流程, 以实现程序的各种结构方式。 它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类: (1). 条件判断语句 if语句、switch语句; (2) .循环执行语句 do while语句、while语句、for语句; (3). 转向语句 break语句、goto语句(此语句尽量少用,因为这不利结构化程序设计,滥用它会使程序流程无规律、可读性差)、continue语句、return语句。
编辑本段条件判断
int a,b; if(x>y) printf("x,\n"); else printf("y,\n");
编辑本段4.复合语句
把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如 { x=y+z; a=b+c; printf(“%d%d”,x,a); } 是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。
编辑本段5.空语句
只有分号“;”组成的语句称为空语句。 空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。 例如 while(getchar()!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。
4. C语言 条件语句
条件表达示语句
一、if语句
if(表达式) 语句1;
如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。
如果语句1有多于一条语句要执行时, 必须使用{} 把这些语句包括在其中, 此时条件语句形式为:
if(表达式)
{
语句体1,2,3;
}
例如:
if(x>=0) y=x;
if(a||b&&c)
{
z=a+b;
c+=z;
}
if--else语句
除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一段代码。在C语句中利用else语句来达到这个目的。
if(表达式) 语句1;
else 语句2;
同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。 例如:
if(x>=0) y=x;
else y=-x;
if--else if--else结构
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
.
else
语句n;
这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关的语句, 并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else 语句n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用{}把这些语句包括在其中。
条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个if对应哪个else。
例如:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(Good);
else
printf(Bad);
对于上述情况, Turbo C规定: else语句与最近的一个if语句匹配, 上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必须用花括号。如下所示:
if(x>20||x<-10)
{
if(y<=100&&y>x)
printf(Good);
}
else
printf(Bad);
下面举几个例子:
1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是0,则输出zero。
main()
{
float num;
scanf(%f,&f);
if(num>0)
printf(plus\n);
else if(num<0)
printf(negative\n);
else
printf(zero\n);
}
先定义两个变量,然后输入一个数,然后判断这个数的范围,输出对应的字符串。
2.输入一个数x,输出y。其中y是x的绝对值。
main()
{
float x,y;
scanf(%f,&x);
if(x>=0) y=x;
else y=-x;
printf(%f\n,y);
}
Trubo C 2.0把一些常用的功能都写好了,我们只需要使用就可。例如求绝对值的功能在C的库里面就有。看下面的:
#include math.h
main()
{
float x,y;
scanf(%f,&x);
y=fabs(x); /*求x的绝对值,然后赋值给y*/
printf(%f\n,y);
}
这个程序和上面的程序完成的功能是一模一样的,都是求绝对值。可以看出,用下面这个方法比上面就要好一些。由
于fabs()是一个函数,系统自带的,所以在使用它的时候,我们必须把它所在的库文件math.h包含在程序中,即程序最前面一行。类似的还有求开方sqrt(),求指数幂exp()等等,这些与数学方面有关的函数都在math.h里面。
3.输入x,输出y,x和y满足关系:
x<-5 y=x;
-5<=x<1 y=2*x+5;
1<=x<4 y=x+6;
x>=4 y=3*x-2;
程序如下:
main()
{
float x,y;
scanf(%f,&x);
if(x<-5)
y=x;
else if(-5<=x&&x<1)
y=2*x+5;
else if(1<=x&&x<4)
y=x+6;
else
y=3*x-2;
printf(%f\n,y);
}
这里要说明两点:
(1).-5<=x&&x<1
不能写成-5<=x<1;1<=x&&x<4也不能写成1<=x<4;在C语言中,不能认识连续不等式。
(2).y=2*x+5不能写成y=2x+5;y=3*x-2也不能写成y=3x-2;这与我们平时所写的方法不一样。
4.输入三个数x,y,z,然后按从大到小输出。
main()
{
float x,y,z;
scanf(%f%f%f,&x,&y,&z); if(x>=y&&x>=z) {
printf(%f\t,x);
if(y>=z) printf(%f\t%f\n,y,z); else printf(%f\t%f\n,z,y); }
else if(y>=x&&y>=z) {
printf(%f\t,y);
if(x>=z) printf(%f\t%f\n,x,z); else printf(%f\t%f\n,z,x); }
else
{
printf(%f\t,z);
if(x>=y) printf(%f\t%f\n,x,y); else printf(%f\t%f\n,y,x); }
}
说明:这是一个典型的if语句嵌套结构,如果不使用括号,那么if和else的对应关系就乱了。
switch--case语句
在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if -else-if语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情况, Turbo C提供了一个开关语句。
开关语句格式为:
switch(变量)
{
case 常量1:
语句1或空;
case 常量2:
语句2或空;
.
case 常量n:
语句n或空;
default:
语句n+1或空;
}
执行switch开关语句时,将变量逐个与case后的常量进行比较,若与其
中一个相等,则执行该常量下的语句,若不与任何一个常量相等,则执行default后面的语句。
注意:
1.switch中变量可以是数值,也可以是字符,但必须是整数。
2.可以省略一些case和default。
3.每个case或default后的语句可以是语句体,但不需要使用{}括起来。 例如:
main()
{
intx,y;
scanf(%d,&x);
witch(x)
{
case 1:
y=x+1;
break; /*退出开关语句,遇到break才退出*/
case 4:
y=2*x+1;
break;
default:
y=x--;
break;
printf(%d\n,y);
}
用开关语句编的程序一定可以用if语句做。那么在什么情况下需要用switch语句呢?一般在出现比较整的情况下或者能转化成比较整数的情况下使用。看下面的例子:
例子:一个学生的成绩分成五等,超过90分的为'A',80-89的为'B',70-79为'C',60-69为'D',60分以下为'E'。现在输入一个学生的成绩,输出他的等级。
(1).用if语句
main()
{
float num;
char grade;
scanf(%d,&num);
if(num>=90) grade='A';
else if(num>=80&&num<89) grade='B';
else if(num>=70&&num<79) grade='C';
else if(num>=60&&num<69) grade='D';
else grade='E';
printf(%c,grade);
}
(2).用switch语句
main()
{
intnum;
char grade;
scanf(%d,&num);
num/=10;
switch(num)
{
case 10:
case 9:
grade='A';
break;
case 8:
grade='B';
break;
case 7:
grade='C';
break;
case 6:
grade='D';
break;
default:
grade='E';
break;
}
printf(%c,grade);
}
说明一点,并不是每个case里面有都语句,有时侯里面是空的,就好象这一题。switch语句执行的顺序是从第一case判断,如果正确就往下执行,直到break;如果不正确,就执行下一个case。所以在这里,当成绩是100分时,执行case 10:然后往下执行,grade='A';break;退出
5. C语言中逻辑或的表示方法
c语言中逻辑或用符号“||”表示,在具体程序中的使用:
#include<stdio.h>
voidmain()
{
inta=5;
if(a>2||a<7)//或的使用
printf("a不在2-7之间 ");
}
同时“&&”表示逻辑的与,“!”表示逻辑的非
6. C语言条件语句问题
一个表达式的返回值都可以用来判断真假,除非没有任何返回值的void型和返回无法判断真假的结构。当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。
一、if语句
if(表达式) 语句1;
如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。
如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中, 此时条件语句形式为: if(表达式) {
语句体1; }
例如:
if(x>=0) y=x; if(a||b&&c) {
z=a+b; c+=z; }
二、if--else语句
除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一段代码。在C语句中利用else语句来达到这个木的。 if(表达式) 语句1; else 语句2;
同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。 例如:
if(x>=0) y=x; else y=-x;
三、if--else if--else结构。 if(表达式1) 语句1;
else if(表达式2) 语句2;
else
语句
n;
这种结构是从上到下逐个对条件进行判断
,
一旦发现条件满点足就执行与它有关的语句
,
并
跳过其它剩余阶梯
;
若没有一个条件满足
,
则执行最后一个
else
语句
n
。最后这个
else
常起
着缺省条件的作用。同样
,
如果每一个条件中有多于一条语句要执行时
,
必须使用
{
和
}
把这些
语句包括在其中。
条件语句可以嵌套
,
这种情况经常碰到
,
但条件嵌套语句容易出错
,
其原因主要是不知道哪个
if
对应哪个
else
。
例如
:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(Good);
else
printf(Bad);
对于上述情况
, Turbo C2.0
规定
: else
语句与最近的一个
if
语句匹配
,
上例中的
else
与
if(y<=100&&y>x)
相匹配。为了使
else
与
if(x>20||x<-10)
相匹配
,
必须用花括号。如下所
示
:
if(x>20||x<-10)
{
if(y<=100&&y>x)
printf(Good);
}
else
printf(Bad);
else if(表达式3) 语句3; . . .
7. C语言中的语句有哪几类
C语言语句分为5类:
1、
表达式语句
2、
函数调用语句
3、
控制语句
4、
复合语句
5、
空语句
现在有C++,C,C#。
c是最起初的语言,然后是C++,C#是最近微软推出的。
三种语言都有自己的好处。可以这么说现在很多大学里的课程都有C和C++。C#的课还没有。
java是一种现在十分流行的面对对象语言,而C更多的是面向过程。他们都有自己的长处。要看你选择那个方向发展而定了。
首先你要明白我们编写的程序只是程序的一些关键部分,真正将代码编译为程序是需要很多文件的,打个比方电脑其实并不能直接把printf这个函数直接编译出来,之所以我们能用是因为在其他文件中已经把这个函数写好了,而系统能从你的代码中找到其他文件就是因为预处理语句。通过预处理语句系统可以找到其他文件并把其他文件和你写的代码合并成一个文件然后进行编译,这样才能产生程序,其他的预处理语句比如#if,#ifndef,#ifdef,#endif,#unde其实都是为了防止一个文件被包含多次设置的。
8. C语言所有语句格式
循环结构是程序中一种很重要的结构。其特点是, 在给定条件成立时,反复执行某程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
while语句
while语句的一般形式为: while(表达式)语句; 其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用图3—4表示。 统计从键盘输入一行字符的个数。
#include <stdio.h>
void main(){
int n=0;
printf("input a string:\n");
while(getchar()!='\n') n++;
printf("%d",n);
}
本例程序中的循环条件为getchar()!='\n',其意义是, 只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。
使用while语句应注意以下几点:
1.while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
while (n--)
printf("%d ",a++*2);
}
本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)
2.循环体如包括有一个以上的语句,则必须用{}括起来, 组成复合语句。
3.应注意循环条件的选择以避免死循环。
void main(){
int a,n=0;
while(a=5)
printf("%d ",n++);
}
本例中while语句的循环条件为赋值表达式a=5, 因此该表达式的值永远为真,而循环体中又没有其它中止循环的手段, 因此该循环将无休止地进行下去,形成死循环。4.允许while语句的循环体又是while语句,从而形成双重循环。
do-while语句
do-while语句的一般形式为:
do
语句;
while(表达式);
其中语句是循环体,表达式是循环条件。
do-while语句的语义是:
先执行循环体语句一次, 再判别表达式的值,若为真(非0)则继续循环,否则终止循环。
do-while语句和while语句的区别在于do-while是先执行后判断,因此do-while至少要执行一次循环体。而while是先判断后执行,如果条件不满足,则一次循环体语句也不执行。
while语句和do-while语句一般都可以相互改写。
void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
do printf("%d ",a++*2);
while (--n);
}
在本例中,循环条件改为--n,否则将多执行一次循环。这是由于先执行后判断而造成的。
对于do-while语句还应注意以下几点:
1.在if语句,while语句中, 表达式后面都不能加分号, 而在 do-while语句的表达式后面则必须加分号。
2.do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。
3.在do和while之间的循环体由多个语句组成时,也必须用{}括起来组成一个复合语句。
4.do-while和while语句相互替换时,要注意修改循环控制条件。
9. c语言中语句的意思
C程序的执行部分是由语句组成的。
程序的功能也是由执行语句实现的。
C语句可分为以下五类:
1.表达式语句;表达式语句由表达式加上分号“;”组成。例如:y=0;
2.函数调用语句;由函数名、实际参数加上分号“;”组成。例如:fun(a);
3.控制语句;
4.复合语句;把多个语句用括号{}括起来组成的一个语句称复合语句
5.空语句。只有分号“;”组成的语句称为空语句。
http://ke..com/view/1333149.htm
网络上有详细的介绍。另:不知道你是想要书面上的回答,还是自己理解,网络上介绍的很全面了。
个人的理解,语句就是你按照一定的C语言的规则,告诉编译器你要做什么,编译器只能按照规定好的规则去理解你的要求,分号就相当于一句话说完了。
10. C语言请教一些语句。
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
break是强行结束循环,执行循环语句后面的语句