26
c语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑 *** 作的符号。c语言有三大运算符:算术、关系与逻辑、位 *** 作。另外,
c还有一些特殊的运算符,用于完成一些特殊的任务。
261
算术运算符
表2
-
5列出了c语言中允许的算术运算符。在c语言中,运算符“
+”、“-”、“”和“
/”的用法与大多数计算机语言的相同,几乎可用于所有c语言内定义的数据类型。当“
/”被用于整数或字符时,结果取整。例如,在整数除法中,
1
0
/
3
=
3。
一元减法的实际效果等于用-
1乘单个 *** 作数,即任何数值前放置减号将改变其符号。模运算符“%”在c语言中也同它在其它语言中的用法相同。切记,模运算取整数除法的余数,所以“%”不能用于float和double类型。
表2-5
算术运算符
运算符
作用
运算符
作用
-
减法,也是一元减法
%
模运算
+
加法
--
自减(减1)
乘法
++
自增(增1)
/
除法
下面是说明%用法的程序段。
int
x,y;
x
=
10;
y
=
3;
printf("%d",x/y);
/
显示3
/
printf("%d",x%y)
;
/
显示1
,整数除法的余数
/
x
=
1
;
y
=
2
;
printf("%d,%d",x/y,x%y)
;
/
显示0,1
/
最后一行打印一个0和一个1,因为1
/
2整除时为0,余数为1,故1
%
2取余数1。
262
自增和自减
c语言中有两个很有用的运算符,通常在其它计算机语言中是找不到它们的—自增和自减运算符,
+
+和-
-。运算符“
+
+”是 *** 作数加1,而“-
-”是 *** 作数减1,换句话说:x
=
x
+
1
;
同+
+
x
;
x
=
x
-
1
;
同-
-
x
;
自增和自减运算符可用在 *** 作数之前,也可放在其后,例如:
x
=
x
+
1;可写成+
+
x;或x
+
+;但在表达式中这两种用法是有区别的。自增或自减运算符在 *** 作数之前,
c语言在引用 *** 作数之前就先执行加1或减1 *** 作;运算符在 *** 作数之后,
c语言就先引用 *** 作数的值,而后再进行加1或减1 *** 作。请看下例:
x
=
1
0;
y
=
++x;
此时,y
=
11。如果程序改为:
x
=
10
;
y
=
x++
;
则y
=
10。在这两种情况下,
x都被置为11,但区别在于设置的时刻,这种对自增和自减发生时刻的控制是非常有用的。
在大多数c编译程序中,为自增和自减 *** 作生成的程序代码比等价的赋值语句生成的代码要快得多,所以尽可能采用加1或减1运算符是一种好的选择。
下面是算术运算符的优先级:
最高
++、--
-(一元减)
、/、%
最低
+、-
编译程序对同级运算符按从左到右的顺序进行计算。当然,括号可改变计算顺序。c语言处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高
版本 2
局部变量 计次变量, 整数型
局部变量 得数, 长整数型
得数 = 1
变量循环首 (1, 100, 1, 计次变量)
得数 = 得数 × 计次变量
变量循环尾 ()
输出调试文本 (到文本 (得数))
计次变量 = 1
得数 = 1
计次循环首 (100, 计次变量)
得数 = 得数 × 计次变量
计次循环尾 ()
输出调试文本 (到文本 (得数))
计次变量 = 1
得数 = 1
判断循环首 (计次变量 ≤ 100)
得数 = 得数 × 计次变量
计次变量 = 计次变量 + 1
判断循环尾 ()
输出调试文本 (到文本 (得数))
======================================================
由于数据太大,所以发生溢出了,得数是个负数,不过算法就是这样的
#include <stdioh>
void main()
{
int i,f=1;
for(i=1;i<=10;i++)
f=i;
printf("f=%d\n",f);
}
import javautilScanner;
public class Factorial {
//阶乘函数
public static int factorial(int i) {
if (i != 1)
return i factorial(i - 1);
else
return 1;
}
public static void main(String[] args) {
Systemoutprintln("请输入您要计算阶乘的数:");
Scanner sc = new Scanner(Systemin);
int i =scnextInt();
Systemoutprintln(i+"的阶乘为:"+factorial(i));
}
}
==========================================================
运行结果如下:
请输入您要计算阶乘的数:
4
4的阶乘为:24
#include <stdioh>
int fun(int n){
if(n==1||n==0)
return 1;
return nfun(n-1);
}
int main(){
int n;
printf("请输入n的值:\n");
scanf("%d",&n);
printf("%d!=%d\n",n,fun(n) );
return 0;
}
高精度计算阶乘pascal程序。
function mult(x,y:string):string;
var
a,b,c:array[1255] of shortint;
ia,ib,ic:integer;
i,j,k:integer;
m,p,q:integer;
temp:string;
t:string[1];
begin
ia:=length(x);
ib:=length(y);
for i:=1 to ia do a[i]:=ord(x[ia+1-i])-ord('0');
for i:=1 to ib do b[i]:=ord(y[ib+1-i])-ord('0');
for i:=1 to 255 do c[i]:=0;
for i:=1 to ia do begin
p:=0; {进位}
for j:=1 to ib do begin
m:=a[i]b[j]+p+c[i+j-1];
q:=m mod 10;
c[i+j-1]:=q;
p:=m div 10;
end;
c[i+ib]:=p;
end;
k:=0;
for i:=255 downto 1 do if c[i]<>0 then
begin k:=i; break; end;
temp:='';
for i:=k downto 1 do begin str(c[i]:1,t); temp:=temp+t; end;
mult:=temp;
end;
var
n,i:integer;
s,st:string;
begin
n:=10;
st:='1';
for i:=2 to n do begin
str(i:0,s);
st:=mult(st,s);
writeln(i:3,' ',st);
end;
end
以上就是关于在C语言中,怎样用 *** 作符表示一个数的开方全部的内容,包括:在C语言中,怎样用 *** 作符表示一个数的开方、易语言中(1x2x3x4x100=多少这个程序该怎么写)、编一个C语言程序,显示出y=1x2x3x4x5....x10的计算结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)