当前位置:首页 » 编程语言 » c语言运算b1怎么计算
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言运算b1怎么计算

发布时间: 2022-08-19 15:59:55

c语言各种运算符的运算法则

c语言中,条件运算符的法则:
由高到低是:!(非),&&(与),||(或)
&&左边为0则不看右边运算,||左边为1不看右边!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
}
运行结果:a=1
b=0
c=3
d=1
程序执行说明:先执行!b>a即0>a,结果为0(b=0)
再执行0&&c结果为0,执行c>2结果为1
0||1结果为1
因为执行顺序为右结合,所以将整个表达式的结果给 d为1
}

条件运算符:
(表达式1)?(表达式2):(表达式3)
运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果
例如:
A=1,B=2
(A>B)?A:B
返回值为2
注意表达式是右结合的.
例:
A=1,B=2,C=3
(A>B)?A:B?C:B
相当于(A>B)?A:(B?C:B)
返回值为3

Ⅱ 怎么用c语言输出b1b2这两个图案,要用for循环,求解答

b1的图案:

#include<stdio.h>
voidmain()
{
inti,j;
for(i=9;i>=1;i-=2)
{
for(j=1;j<=i;j++)printf("*");
printf(" ");
}
}

b2的图案:

#include<stdio.h>
voidmain()
{
inti,j;
for(i=9;i>=1;i-=2)
{
for(j=1;j<=9-i;j++)printf("");
for(j=1;j<=i;j++)printf("*");
printf(" ");
}
}

Ⅲ 求助c语言b1

B D C C B C A G C D 应该是这个。。

Ⅳ 用C语言怎么写个计算器

一、用户界面是用图形窗口还是命令行窗口。
如果是命令行窗口它的数据输入输出比较简单。
如果是图形窗口则要涉及,图形窗口相同的操作了。这个部分如果你不会,那你需要专门学习一样。

二、支持哪些计算功能。
除了加减乘除外,是否还支持其他高级的计算功能?
加减乘除的计算精度。
32位系统中,如果计算结果为不大于32位二进制的数。(64位系统则为不大于64位数)你可以直接使用C语言的相应的加减乘除表达式完成。
如果是支持超大数的运算,那就需要采取特殊手段了。

比如32位系统中,计算的数超过32位。比如两个128位数相加。
需要将128位拆分成4个32位。将每个32位作为整体。在依照数学的多位数加进行计算。
A1 B1 C1 D1
A2 B2 C2 D2
--------------

D1与D2相加(需要检测是否有进位,也就是计算结构是否有溢出)
C1与C2相加,同样要检测进位,并且要加上D1与D2结果的进位。
B1与B2相加,同样要检测进位,并且要加上C1与C2结果的进位。
B1与B2相加,同上类推。

在实际程序时,可以将用户界面与加减乘除程序分离。即用户界面的代码要与计算程序的代码分在不同的函数中。
又用户界面代码调用计算函数。计算函数将结果返回给用户界面代码。

以命令行界面为例,
用户界面代码,只是等待用户输入,将相应用户信息转换成合适的格式,
然后调用相应计算函数。
计算函数做完计算以后,返回相应数字。
用户界面代码,再将返回的数字转换成适当的格式,显示在窗口上。

Ⅳ C语言程序运算

本题的一个完整的c程序如下,在win-tc和Dev-c++下调试通过。需要说明的是这里的m,n表示x的幂分别是m-1次和n-1次,同时p[]和q[]的各系数是从x^(m-1)和x^(n-1)到x^0前的系数,和你上面的写法正好相反,所以输入时要注意:
/*多项式乘法程序*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#define MAX 50

void npmul(p,m,q,n,s)
int m,n;
double p[],q[],s[];
{
int i,j;
for (i=0; i<=m-1; i++)
for (j=0; j<=n-1; j++)
s[i+j]=s[i+j]+p[i]*q[j]; /*迭代计算各项系数*/
return;
}

double compute(s,k,x) /*计算所给多项式的值*/
double s[];
int k;
float x;
{
int i;
float multip = 1;
double sum = 0;
for (i=0;i<k-1;i++)
multip = multip * x; /*先求出x的最高次项的值*/
for (i=0;i<=k-1;i++)
{
sum = sum + s[i] * multip; /*依次从高到低求出相对应次项的值*/
if (x!=0)
multip = multip / x;
}
return sum;
}

void main()
{
int i,j,m,n;
double px[MAX],qx[MAX],rx[MAX];
float x;
clrscr();
for(i=0;i<MAX;i++)
rx[i]=0;
puts(" This is a polynomial multiplication program.");
puts("It calculate the proct of two polynomials: P(x) and Q(x)");
puts(" P(x)=Pm-1*x^(m-1)+Pm-2*x^(m-2)+...+P1*x+P0");
puts(" Q(x)=Qn-1*x^(n-1)+Qn-2*x^(n-2)+...+Q1*x+Q0");
printf("\n >> Please input m (>=1): ");
scanf("%d",&m);
printf(" >> Please input P%d, ... P0 one by one:\n",m-1);
for(i=0;i<m;i++)
scanf("%lf",&px[i]);
printf("\n >> Please input n (>=1): ");
scanf("%d",&n);
printf(" >> Please input Q%d, ... Q0 one by one:\n",n-1);
for(i=0;i<n;i++)
scanf("%lf",&qx[i]);
npmul(px,m,qx,n,rx);
printf("\nThe proct of two polynomials R(x) is :\n");
for (i=m+n-1,j=0;i>=1;i--) /*逐行逐项打印出结果多项式*/
{
printf(" (%f*x^%d) ",rx[m+n-1-i],i-1);
if(i-1>0)
printf(" + ");
else
printf(" . ");
if(j==2)
{
printf("\n");
j=0;
}
else
j++;
}
printf("\n");
printf("Input the value of x: ");
scanf("%f",&x);
printf("\nThe value of the R(%f) is: %13.7f",x,compute(rx,m+n-1,x));
puts("\n Press any key to quit...");
getch();
}

Ⅵ C语言运算符相关

经过调试发现编译器内部是这样做的:
当遇到同一个变量有多个++操作的时候,将头两个结合进行结果返回。
比如:b2=(++a2)+(++a2)+(++a2);
因为编译器把前面两个(++a2)+(++a2)结合在一起进行计算,a2等于10,经过2次++,得a2等于12,因此返回12,得到12+12=24,然后再和第三个++a2进行相加,此时a2再加1等于13,从而24+13=37
如果再多一个的话:b2=(++a2)+(++a2)+(++a2)+(++a2);
你可以试一下,跟刚才分析的一样,也是头两个结合,头两个相加结果24,然后和第三个进行相加,此时a2加1等于13,24+13=37,最后和第四个进行相加,此时a2加1等于14,37+14=51。
如果再多加几个也是一样,后面的都不会结合相加结果返回的,只有头两个是这样。因此我认为这跟编译器强相关,不同的编译器可能输出结果不同。

还有b4,跟前面的相同,也是把头两个(--a4)结合起来返回了,所以返回的是8+8=16,再和第三个相加,此时a4减1等于7,16+7=23

至于答案,我觉得39(13+13+13得到)和21(7+7+7得到)更为合理。或者是36(11+12+13得到)和24(9+8+7得到)也较为合理。
VC的输出37和23,则较为不合理,做法有点令人匪夷所思。我个人认为是bug

Ⅶ C语言运算解释.d=a&b怎么算

& C语言是求与的意思。

求与是二进制的与运算。如1100&1010求与结果为1000,也就是说同为真(1)的时候为真(1)。
1 1 0 0

1 0 1 0 &
——————————

1 0 0 0
同理将a=12,b=5转换为2进制,a=1100(12),b=0101(5),d为ab求与
1 1 0 0

0 1 0 1 &
——————————

0 1 0 0
所以d=4(0100)。
输出的结果是 12&5 = 4(楼主写的是c,应该是打错了)!
满意请采纳!谢谢

Ⅷ C语言运算

这是考函数的参数的
chang2()中,b作为形参,它是输入参数,不是输出参数
也就是说它是函数外部,向函数内部传递参数用的
它在函数内部虽然减1了,但并不能把它传到函数外部。