1.C语言条件表达式
if(n=c1);
printf("%f",c);
if else(n=d1);
printf("%f",d);
if else(n=e1);
printf("%f",e);
if else(n=f1);
printf("%f",f);
else;
printf("Sorry!");
这一段代码错了,因为c里面和Vb的语法是不一样的。
c里面 if语句的格式是:
if(条件1)
{语句1;}
else if(条件2)
{语句2;}
else
{语句n}
而且c里面判断是否相同使用符号“==”(注意是两个),而不是“=”(一个)
所以你相应的程序段应该为:
if(n==c1)
printf("%f",c);
else if(n==d1)
printf("%f",d);
else if(n==e1)
printf("%f",e);
else if(n==f1)
printf("%f",f);
else
printf("Sorry!");
简化的话可以直接将if语句后面的c1,d1,e1,f1 换成'h','c','j','y'.
提供一个简单的方法,但是也有局限:
把 scanf("%f%f%c",&a,&b,&n);
改为:
scanf("%f%f%c",&a,&b);
do
{
scanf("%c",&n);
}while(n=='\n'||n==','||n==' ');
这样就可以在第二个值和符号之间插入若干个回车或者逗号或者空格来区分它们。但是对于除此以外的符号,依然会出错。
2.关于C语言的问题
关系为x是3或5的倍数的C语言条件表达式:
(x % 3 == 0) || (x % 5 == 0)
表达式结果为:
0: 表式 x 即不是3的倍数, 也不是5的倍数
1: 表式 x 即是3的倍数或5的倍数
关系为a、b同号的C语言条件表达式:
!((a >> (8 * sizeof(a) - 1)) ^ (b >> (8 * sizeof(b) - 1)))
0: 表式 a,b 不同号
1: 表式 a,b 同号
3.C语言表达式是什么样的,格式是什么样的
表达式由运算符、常量及变量构成。C语言的表达式基本遵循一般代数规则,有几点却是与C语言紧密相关的,以下将分别加以讨论。
2.7.1 表达式中的类型转换
混合于同一表达式中的不同类型常量及变量,应均变换为同一类型的量。C语言的编译程序将所有操作数变换为与最大类型操作数同类型。变换以一次一操作的方式进行。具体规则如下:
1)所有char及shortint型量转为int型,所有float转换为double。
2)如操作数对中一个为longdouble,另一个转换为longdouble。①要不然,一个为double,另一个转为double。②要不然,一个为long,另一个转为long。③要不然,一个为unsigned,另一个转为unsigned。
一旦运用以上规则。每一对操作数均变为同类型。注意,规则2)有几种必须依次应用的条件。
图2-1示出了类型转换。首先,charch转换成int,且floatf转换成double;然后ch/i的结果转换成double,因为f*d是double;最后由于这次两个操作数都是double,所以结果也是double.
2.7.2构成符cast
可以通过称为cast的构成符强迫一表达式变为特定类型。其一般形式为:
(type)expression(type)是标准C语言中的一个数据类型。例如,为确保表达式x/2的结果具有类型float,可写为:
(float)x/2通常认为cast是操作符。作为操作符,cast是一元的,并且同其它一元操作符优先级相同。虽然cast在程序中用得不多,但有时它的使用的确很有价值。例如,假设希望用一整数控制循环,但在执行计算时又要有小数部分。
若没有cast(float),就仅执行一次整数除;有了cast就可保证在屏幕上显示答案的小数部分。
2.7.3空格与括号
为了增加可读性,可以随意在表达式中插入tab和空格符。例如,下面两个表达式是相同的。
x=10/y*(127/x);x=10/y*(127/x);
冗余的括号并不导致错误或减慢表达式的执行速度。我们鼓励使用括号,它可使执行顺序更清楚一些。例如,下面两个表达式中哪个更易读一些呢?
x=y/2-34*temp&127;x=(y/2)-((34*temp)&127);
2.7.4C语言中的简写形式
C语言提供了某些赋值语句的简写形式。例如语句:
x=x+10;
在C语言中简写形式是:
:x+=10;
;
这组操作符对+=通知编译程序将X+10的值赋予X。这一简写形式适于C语言的所有二元操作符(需两个操作数的操作符)。在C语言中,
variable=;
与variable1operator=expression相同。请看另一个例子:
x=x-100;
;
其等价语句是
x-=100;
4.C语言问题,条件表达式
#include <stdio.h>
int function(int n)
{
if(n>0) return 1;
else if(n==0) return 0;
else return -1;
}
void main()
{
int x,y;
printf("请输入x的值:\n");
scanf("%d",&x);
switch(function(x))
{
case 1:y=1;break;
case 0:y=0;break;
case -1:y=-1;break;
default:break;
}
printf("y的值是:%d\n",y);
}
5.C语言的条件表达式取值
#include <stdio.h>
int main(void)
{
int a, b, max;
printf("请输入a, b的值:\n");
scanf("%d,%d", &a, &b);
max = (a>b) ? printf("最大的值是:%d\n", a):printf("最大的值是:%d\n", b);
printf("最大值是:%d\n", max);
/*
max被赋值的值来自于printf函数
也就是printf函数的字符字节长度
一个中文字或大写符号就是2字节,
英文字符或者小写字符占用1字节.
"最大的值是" 一共5个字, 2*5 = 10字节
':' 1字节, '\n' 1字节, %d(占位符)
因为输入的是'1', 所以也是1字节
所以max == 10 + 1 + 1 + 1 == 13
*/
return 0;
}
修改方法 (只需修改一句):
把
max = (a>b) ? printf("最大的值是:%d\n", a):printf("最大的值是:%d\n", b);
改为
(a>b) ? printf("最大的值是:%d\n", max=a):printf("最大的值是:%d\n", max=b);
输出测试 (粗体表输入):
请输入a, b的值:
1,2
最大的值是:2
最大值是:2
6.C语言条件表达式
main(){ float a,b,c,d,e,f; char n,c1,d1,e1,f1; scanf(%f%f%c,&a,&b,&n); c = a+b; d = a-b; e = a*b; f = a/b; c1 = 'h'; /*C1等于h,h是英文字符,不是任何变量*/ d1 = 'c'; /*同上*/ e1 = 'j'; /*同上*/ f1 = 'y'; /*同上*/ if(n==c1); printf("%f",c); else if(n==d1); printf("%f",d); else if (n==e1); printf("%f",e); else if (n==f1); printf("%f",f); else printf("Sorry!"); getch();。
7.C语言中条件表达式和逻辑表达式的意义是什么
逻辑表达式 用于判断条件是否成立,表达式的值为 零(假) 或 非零(真)
使用 ==、!=、>;、>;=、<;、<;=、! 运算符的表达式均称为逻辑表达式。
条件表达式 形如: <exp1> ? <exp2> : <exp3>
取值:若exp1的值非零 则取exp2的值 否则取exp3的值
说明:exp1、exp2、exp3为必要的表达式
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准。
转载请注明出处育才学习网 » c语言条件表达式怎么写