c语言乘法运算
1. c语言,求任意两数相乘的积!
#include <stdio.h>
void main()
{
int a,b,c;
printf("请输入a和b的值:");
scanf("%d %d", &a, &b);
c = a * b;
printf("a*b = %d ",c);
}
(1)c语言乘法运算扩展阅读:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
2. C语言2个数相乘
两数相乘的C语言编程:
#include <stdio.h>
void main()
{
int a,b,c;
scanf("%a%b",&a,&b);//输入两个整数
c=a*b; //两个数的相乘运算
printf("两数相乘的结果: %d\n",c);
}
3. c语言大整数乘法
#include<stdio.h>
#include<string.h>
void chengfa(char *a,char*b)
{
char c[10000];
int fuhao1,fuhao2;
if(a[0] == '-' || a[0] == '+') {
if(a[0] == '-')
fuhao1 = -1;
else fuhao1 = 1;
strcpy(c,a+1);
strcpy(a,c);
}
if(b[0] == '-' || b[0] == '+') {
if(b[0] == '-')
fuhao2 = -1;
else fuhao2 = 1;
strcpy(c,b+1);
strcpy(b,c);
}
int i , j;
for(i = 0; i< 10000;i++){
c[i] = '郑衫0';
}
int lena = strlen(a);
int lenb = strlen(b);
for(i = lena-1;i >=0;i--){
int k = 0;
for(j = lenb-1;j >=0;j--) {
char l = c[i+j+1];
c[i+j+1] = (c[i+j+1]-'0'+(b[j]-'0')*(a[i]-'0')+k)%10+'0';
k = (l-'0'+(b[j]-'0') * (a[i] -'0')+k)/10;
}
if(k!= 0) c[i] += k;
}
i = 0;
j = 0;
while(c[i] == '0') i++;
while(i <= lena+lenb-1) {
a[j] = c[i];
j ++;
i ++;
}
a[j] = '销逗\0';
if(a[0] == '\0') a[0] = '0',a[1] = '\0';
if(fuhao1*fuhao2 == -1 && a[0] !='0') {
strcpy(c,a);
a[0] = '-';
a[1] = '\0';
strcat(a,c);
}
}
int main()
{
char a[10000],b[10000];
while(scanf("%s %s",a,b) == 2) {
chengfa(a,b);
printf("%s\喊斗腔n",a);
}
}
/*
//测试数据
3 4
12
1782362317836127863178 5
8911811589180639315890
2364782367834627864826 23478962483263478
*/
4. 乘法在c语言中怎么表示比如加法是add
估计你的意思是说C语言编译成汇编语言之后乘法怎么表示吧,因为在汇编中加法确实是用ADD表示的,下面给你运算符表:
ADD
加法.
ADC
带进位加法.
INC
加
1.
AAA
加法的ASCII码调整.
DAA
加法的十进制调整.
SUB
减法.
SBB
带借位减法.
DEC
减
1.
NEC
求反(以
0
减之).
CMP
比较.(两操作数作减法,仅修改标志位,不回送结果).
AAS
减法的ASCII码调整.
DAS
减法的十进制调整.
MUL
无符号乘法.
IMUL
整数乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM
乘法的ASCII码调整.
DIV
无符号除法.
IDIV
整数除法.
以上两条,结果回送:
商回送AL,余数回送AH,
(字节运算);
或
商回送AX,余数回送DX,
(字运算).
AAD
除法的ASCII码调整.
CBW
字节转换为字.
(把AL中字节的符号扩展到AH中去)
CWD
字转换为双字.
(把AX中的字的符号扩展到DX中去)
CWDE
字转换为双字.
(把AX中的字符号扩展到EAX中去)
CDQ
双字扩展.
(把EAX中的字的符号扩展到EDX中去)
5. 用c语言实现两个矩阵相乘怎么做
1、程序运行输入数据时,第一行为A矩阵的行列数和B矩阵的行列数,接着分别输入A、B两个矩阵的值。
6. C语言乘号用法
C语言中*是二元运算符:乘号,用于将两个表达式的值相乘;
也是一元运算符:取值,用在指针表达式的左边,取指针指向的存储位置的值。
使用示例:
#include <stdio.h>
int main()
{
int a = 12;
int b = 100;
float c = 8.5;
int m = a + b;
float n = b * c;
double p = a / c;
int q = b % a;
printf("m=%d, n=%f, p=%lf, q=%d ", m, n, p, q);
return 0;
}
(6)c语言乘法运算扩展阅读
C语言后缀表达式2级
postfix-expression [ expression ],数组下标运算。
postfix-expression ( argument-expression-list),函数调用,括号内的参数可选。
postfix-expression . identifier,成员访问,
postfix-expression -> identifier,成员访问,->号之前应为指针。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 复合初始化,C99后新增。