C语言 字符型数据可以进行加减运算的。
成都创新互联公司是一家专注于网站制作、成都网站制作与策划设计,定西网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:定西等地区。定西做网站价格咨询:028-86922220
例如:
char c='A';
c+=2;
c='E'+'6'-'0';
#include stdio.h
#include stdlib.h//注意包含这个头文件
void main()
{
char *a = "123456";
char *b = "123451";
int c;
c=atoi(a)-atoi(b);//将字符串转成整数
printf("%d\n",c);
}
实现方法如下:
读入的时候用%x读入,然后在程序里面直接用+,-,*,/运算就行了,输出的时候再用%x。
示例一:
int a,b;
scanf("%x%x",a,b);
printf("%x\n%x\n",a+b,a-b);
输入:9 7
输出:
10
2
示例二:
int a = 0, b = 0;
char char1 = 0;
int val = 0;
printf("输入:");
scanf("%d%c%d", a, char1, b);
switch (char1) {
case '+': val = a + b;
break;
case '-': val = a - b;
break;
case '*': val = a * b;
break;
case '/': val = a / b;
break;
}
printf("%d", val);
按照你的程序运行后。。。在输入c值的时候
程序直接结束了。。。还有就是每个case语句后记着加上break跳出不过也有不过根据具体需要也可以不加break;但是你的这个程序需要加上break;
原因是:回车符也是字符,所以你按回后,程序以为是输入了c的值了,而在输入b值成功是因为
回车符不是数字形式的。
以下是我改过的程序,编译运行都很好的
#include
#include
void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",a);
printf("\n input b:");
scanf("%f",b);
//这种情况经常遇到。。。。输入完后回车被下一个scanf("%c",c)捕获了。
//因为回车符也是字符,所以你按回车后,程序以为是输入了c的值了
//所以加上下面一行,把回车符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '*': printf("a*b=%f",a*b);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//为了好看
printf("\n");
}
# includestdio.h
double jia(double x, double d)
{
double s;
s = x+d;
return s;
}
double jian(double x, double d)
{
double s;
s = x-d;
return s;
}
double cheng(double x, double d)
{
double s;
s = x*d;
return s;
}
double chu(double x, double d)
{
double s;
s = x/d;
return s;
}
int main(void)
{
double i, j, k;
char t;
k = 0;
printf("请输入要计算什么运算“+”“-”“*”“/”\n");
scanf("%c", t);
if(t == '+')
{
printf("请输入要相加的两个数\n");
scanf("%lf %lf", i, j);
k = jia(i, j);
printf("这两个数相加为%6.2lf\n", k);
}
else if(t == '-')
{
printf("请输入要相减的两个数\n");
scanf("%lf %lf", i, j);
k = jian(i, j);
printf("这两个数相减为%6.2lf\n", k);
}
else if(t == '*')
{
printf("请输入要相*的两个数\n");
scanf("%lf %lf", i, j);
k = cheng(i, j);
printf("这两个数相*为%6.2lf\n", k);
}
else if(t == '/')
{
printf("请输入要相/的两个数\n");
scanf("%lf %lf", i, j);
k = chu(i, j);
printf("这两个数相/为%6.2lf\n", k);
}
else
{
printf("对不起目前只支持“+”“-”“*”“/”\n");
}
return 0;
}
1、打开C-Free5.0新建一个空白页面,然后将C语言的基础格式写完,注意格式缩进。如下图所示。
2、然后输入“ int a=10; float b=5,c; ”注意: float 是浮点型,int 是整型。这个是用来定义C语言中的数值的类型,还有如果一个语句结束那就要打上“;”,这个很重要,不要忘记了。上面的语句是定义了一个a 的整型数,值为10。
3、c定义的一个空白的浮点数,用来当作后面的加减后取得值。注意这里有几个注意点,可以看到一个整型的数和一个浮点数的加减乘除得到的数值都是浮点数,所以这里用%f输出c的值。
4、继续将剩下的语言补充完整如下:#include stdio.hmain(){ int a=10; float b=5,c,d,e,f; c=a-b; d=a+b; e=a*b; f=a/b; printf("a-b=%f\n",c); printf("a+b=%f\n",d); printf("a*b=%f\n",e); printf("a/b=%f\n",f);}。
5、这样一个简单的C语言的加减乘除算是写好了,运行看看。