C语言条件语句题目,c语言条件表达式例题

http://www.itjxue.com  2023-01-05 06:33  来源:未知  点击次数: 

一道C语言的if条件语句问题

注意if和else的配对关系

f(!a) x=-1;//这个是独立的if

else if(b);//这个else if和上面的if(!a)配对

if(c) x=3;//这个是独立的if

else x=4;//这个else和上面的if(c)配对

由于a等于0,所以!a为真,if(!a)成立,进入 x=-1;分支进行处理,x等于-1

由于c等于0,所以c为假,if(c)不成立,进入else分支,进行x=4处理,x等于4

选B

C语言if条件语句问题

搞清楚if

else

的配对,这样看,你就容易知道了。

int

a=0,b=1,c=0,d=20;

if

(a)

{

d=d-10;

}

else

if

(!b)

{

if

(!c)

d=15;

else

d=25;

}

printf("d=%d\n",d);

很明显,条件都不满足,所以还是返回原值,d=20.注意

if

(!c)

d=15;else

d=25;

这个else是配对

if

(!c)

的,而不是上面的

else

if

(!b)

C语言选择题:正确的条件语句为()求结果,要给出解释

答案当然是A,for循环里必须要有2个分号,依次是迭代变量,执行条件及迭代步进操作。只有A省了一个分号

至于sizeof的结果,要看你编译对int字节长度的定义。如果int占用4字节,那么长度为4+10+2(2字节的padding)=16字节。如果int占用2字节,那么长度为2+10=12字节

一道c语言if条件句的问题

运行结果的是1,将x输出了。你的程序可以理解为,

#includestdio.h

main()

{

int x=1,y=2,z=3;

if(xy)

if(yz)

printf("%d",++z);

else

printf("%d",++y);

printf ("%d\n",x++);

}

因为,if(xy)判断语句下面的if相当是嵌套在第一个if里面,而else要与和它最近的if,也就是与if(yz),保持一直,也就是说,整个程序可以理解为:

#includestdio.h

main()

{

int x=1,y=2,z=3;

if(xy)

{

if(yz)

printf("%d",++z);

else

printf("%d",++y);

}

printf ("%d\n",x++);

}

C语言问题:条件运算符选择题

?:这个是三目运算符。

这个是条件表达式,表示如果a为真,则表达式值为b,如果a为假,则表达式值为c

条件表达式具体说明如下

条件语句:

if(ab) max=a;

else max=b;

可用条件表达式写为

max=(ab)?a:b;

执行该语句的语义是:如ab为真,则把a赋予max,否则把b 赋予max。

使用条件表达式时,还应注意以下几点:

1) 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。

因此

max=(ab)?a:b

可以去掉括号而写为

max=ab?a:b

2) 条件运算符?和:是一对运算符,不能分开单独使用。

3) 条件运算符的结合方向是自右至左。

例如:

ab?a:cd?c:d

应理解为

ab?a:(cd?c:d)

这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。

ka?k:(cb?c:a)

-43正确就是K=4

这个没有答案

K=-4

求一些C语言if嵌套语句算法题

三、if--else

if--else结构。

if(表达式1)

语句1;

else

if(表达式2)

语句2;

else

if(表达式3)

语句3;

.

.

.

else

语句n;

这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关的语句,

并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else

语句n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用{和}把这些语句包括在其中。

条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个if对应哪个else。

例如:

if(x20||x-10)

if(y=100yx)

printf(good);

else

printf(bad);

对于上述情况,

turbo

c2.0规定:

else语句与最近的一个if语句匹配,

上例中的else与if(y=100yx)相匹配。为了使else与if(x20||x-10)相匹配,

必须用花括号。如下所示:

if(x20||x-10)

{

if(y=100yx)

printf(good);

}

else

printf(bad);

下面举几个例子:

1.输入一个数,如果大于0,输出plus;如果是负数,输出negative;如果正好是0,则输出zero。

main()

{

float

num;

scanf(%f,f);

if(num0)

printf(plus\n);

else

if(num0)

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=x1

y=2*x+5;

1=x4

y=x+6;

x=4

y=3*x-2;

程序如下:

main()

{

float

x,y;

scanf(%f,x);

if(x-5)

y=x;

else

if(-5=xx1)

y=2*x+5;

else

if(1=xx4)

y=x+6;

else

y=3*x-2;

printf(%f\n,y);

}

这里要说明两点:

(1).-5=xx1不能写成-5=x1;1=xx4也不能写成1=x4;在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=yx=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=xy=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的对应关系就乱了。

(责任编辑:IT教学网)

更多

推荐Freehand教程文章