C语言制作一个算盘只能进行加减乘除简单加减乘除的简易计算机,要求可进行多次运算,要用循环结构,求大佬们指教

简易计算器课程设计
您的位置: →
简易计算器课程设计
摘要随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的速度快就不足惊奇了, 单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。本设计采用80S51 芯片,实现了利用单片机进行了一个简单计算器设计。允许对输入数据进行加减乘除运算及LCD 显示。实例所设计的计算器是用LCD1LM016L显示的,当然也可以用其他的器件显示,如LED 显示屏,这样就可以显示出更多的字符。科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,但在市场还是需要简易计算器,因为其价格低廉,设计简单,使用方便被广泛的运用于我们的日常生活之中。目录一、设计的大体思路 ..................................................................................................................................... 1二、所用元件的详细功能 ............................................................................................................................. 11、运算模块AT89C51 .......................................................................................................................... 12、键盘输入 ........................................................................................................................................... 43、液晶模块简介 ................................................................................................................................... 6三、计算器程序流程图 ................................................................................................................................. 7四、总的设计图 ............................................................................................................................................. 8五、计算器C语言编程 ................................................................................................................................ 9六、功能实现截图 ....................................................................................................................................... 171、图①注释 ......................................................................................................................................... 172、图②注释: ..................................................................................................................................... 183、图③注释: ..................................................................................................................................... 194、图④注释: ..................................................................................................................................... 205、图⑤注释: ..................................................................................................................................... 21七、实训与 ................................................................................................................................... 22一、设计的大体思路我选到的本次课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于寄存器所存的数据较少,很难实现多位数的四则运算,C语言确有着汇编语言的优点,所以选用C语言完成该程序的制作,首先运用单片机AT89c51扫描4*4矩阵键盘,从而实现按键的输入功能,键盘的输入是按照每行的电平扫描,并判断按下数字键之后是否有符号键,如果没有则在原数之后添加数字,如果按下符号接收符号后数据,并判断是否有等号键按下,如果按下,则调用运算函数和输出结果。二、所用元件的详细功能1、运算模块AT89C51MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能,如图所示:第 1 页单片机(AT89S51)的引脚功能51系列单片机及89c51/89s51均采用40Pin封装的双列直接DIP结构。上图是它们的引脚配置:40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用,如图所示:完整引脚图引脚介绍电源引脚:Vcc 40脚 正电源脚,工作电压为5V,另有AT89LV51工作电压则是2.7-6V, 引脚功能一样。GND 20脚 接地端。型号同样为AT89C51的芯片,在其后面还有频率编号,有12,16,20,24MHz可选。大家在购买和选用时要注意了。如AT89C51 24PC就是最高振荡频率为24MHz,40P6封装的普通商用芯片。复位:在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的0000H处开始运行程序。第 2 页复位操作不会对内部RAM有所影响。当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。什么叫复位?复位是单片机重新执行程序代码的意思。8051的复位方式可以是自动复位,也可以是手动复位,如图3-6所示。此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源, 以保证单片机内部RAM的数据不丢失。输入输出(I/O)引脚:P39-P32为P0.0-P0.7输入输出脚,称为P0口,是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。P1-P8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。P1口能驱动4个LSTTL负载。 通常在使用时外不需要外接上拉电阻,就可以直接驱动发光二极管。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。P21-P28为P2.0-P2.7输入输出脚,称为P2口,是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。P10-P17为P3.0-P3.7输入输出脚,称为P3口,是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。P1-P3端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。除此之外P3端口还用于一些专门功能,如第 3 页控制或复用引脚: (1) ALE/PROG 30 访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。在访问外部数据存储器时,出现一个ALE脉冲。对Flash存储器编程时,这个引脚用于输入编程脉冲PROG(2) PSEN 29 该引是外部程序存储器的选通信号输出端。当AT89C51由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲即两次有效。但访问外部数据存储器时,将不会有脉冲输出。(3) EA/Vpp 31 外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。要使AT89S51只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。对Flash存储器编程时,用于施加Vpp编程电压。2、键盘输入当无按键闭合时,P10~P13 与P14~P17 之间开路;当有键闭合时,与闭合键相连的两条I/O 口线之间短路。判断有无按键按下的方法是:第一步,置列线P14~P17 为输入状态,从行线P10~P13 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P14~P17 读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式。为此,我们引入了矩阵键盘的应用,采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率,如图所示:第 4 页的行线和列线分别通过两并行接口和CPU通信。键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。第 5 页3、液晶模块简介位并行传输两DR)忙RAM(CGRAM),BF为1160中和5*10采用以下解决:1、数据手册中可能介绍1602内部D0~D7已有上拉,可以使用P0口直接驱动。在Proteus里LM016L内部可能没有,应该人为加上拉电阻。建议不要使用排阻,使用普通电阻一个一个拉应该可以解决问题;2、可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去.引脚说明1602字符型LCD通常有14条引脚线电路接口设计,AT889C51 的P0口作为数据的输出端,P2.0和P2.1, P2.2 作为控制信号的输出端第 6 页三、计算器程序流程图① 系统程序流程图②LCD显示流程图第 7 页四、总的设计图简易计算器主要包括:键盘电路、显示电路。以下是设计的整个系统的图第 8 页五、计算器C语言编程#include&reg51.h&
//头文件#define uint unsigned int // 将unit定义为无符号整数#define uchar unsigned char // 将uchar定义为无符号变量sbit lcden=P2^3; //定义引脚sbit rs=P2^4; //定义引脚sbit rw=P2^0; //定义引脚sbit busy=P0^7; //定义引脚char i,j,temp,num,num_1;long a,b,c;//a为第一个数 b为第二个数 c,得数float a_c,b_c;uchar flag,//flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0};定义无符号数组uchar code table1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30}; //十六进制码 2f(除法)2a(乘法)2d(减)01(清零)3d(等号)2b(加号)void delay(uchar z) // 延迟函数{ uchar//定义为无符号变量for(z;z&0;z--)for(y=0;y&110;y++);}void check() // 判断忙或空闲{do{P0=0xFF;rs=0; //指令rw=1; //读lcden=0; //禁止读写delay(1); //等待,液晶显示器处理数据lcden=1; //允许读写}while(busy==1); //判断是否为空闲,1为忙,0为空闲第 9 页}voidwrite_com(uchar com) // 写指令函数{P0= //com指令付给P0口rs=0;rw=0;lcden=0;check();lcden=1;}void write_date(uchar date) // 写数据函数{P0=rs=1;rw=0;lcden=0;check();lcden=1;}void init() //初始化{num=-1;lcden=1; //使能信号为高电平write_com(0x38); //8位,2行write_com(0x0c); //显示开,光标关,不闪烁*/write_com(0x06); //增量方式不移位 显竟獗暌贫 柚?
write_com(0x80); //检测忙信号write_com(0x01); //显示开,光标关,不闪烁
num_1=0;i=0;j=0;a=0; //第一个参与运算的数b=0; //第二个参与运算的数c=0;flag=0; //flag表示是否有符号键按下,fuhao=0; // fuhao表征按下的是哪个符号}void keyscan() // 键盘扫描程序{P3=0if(P3!=0xfe){delay(20); //延迟20ms第 10 页if(P3!=0xfe){temp=P3&0xf0;switch(temp){case 0xe0:num=0;case 0xd0:num=1;case 0xb0:num=2;case 0x70:num=3;}}while(P3!=0xfe);/////////////////////////////////////////////////////键盘第一行7 8 9 / if(num==0||num==1||num==2)//如果按下的是'7','8'或'9{if(j!=0){write_com(0x01);j=0;}if(flag==0)//没有按过符号键{a=a*10+table[num];}else//如果按过符号键{b=b*10+table[num];}}else//如果按下的是'/'{flag=1;fuhao=4;//4表示除号已按}i=table1[num];write_date(0x30+i);}P3=0if(P3!=0xfd){第 11 页delay(5);if(P3!=0xfd){temp=P3&0xf0;switch(temp){case 0xe0:num=4;case 0xd0:num=5;case 0xb0:num=6;case 0x70:num=7;}}while(P3!=0xfd);/////////////////////////////////////////////////////////////////键盘第二行4 5 6 * if(num==4||num==5||num==6&&num!=7)//如果按下的是'4','5'或'6'{if(j!=0){write_com(0x01);j=0;}if(flag==0)//没有按过符号键{a=a*10+table[num];}else//如果按过符号键{b=b*10+table[num];}}else//如果按下的是'/'{flag=1;fuhao=3;//3表示乘号已按}i=table1[num];write_date(0x30+i);}P3=0if(P3!=0xfb)第 12 页{delay(5);if(P3!=0xfb){temp=P3&0xf0;switch(temp){case 0xe0:num=8;case 0xd0:num=9;case 0xb0:num=10;case 0x70:num=11;}}while(P3!=0xfb);////////////////////////////////////////////////////键盘第三行1 2 3 -
if(num==8||num==9||num==10)//如果按下的是'1','2'或'3'
{if(j!=0){write_com(0x01);j=0;}if(flag==0)//没有按过符号键{a=a*10+table[num];}else//如果按过符号键{b=b*10+table[num];}}else if(num==11)//如果按下的是'-'{flag=1;fuhao=2;//2表示减号已按}i=table1[num];write_date(0x30+i);}P3=0xf7;第 13 页if(P3!=0xf7){delay(5);if(P3!=0xf7){temp=P3&0xf0;switch(temp){case 0xe0:num=12;case 0xd0:num=13;case 0xb0:num=14;case 0x70:num=15;}}///////////////////////////////////////////////////////键盘第四行while(P3!=0xf7);switch(num){case 12:{write_com(0x01);a=0;b=0;flag=0;fuhao=0;}//按下的是&清零&case 13:{ //按下的是&0&if(flag==0) //没有按过符号键{a=a*10;write_date(0x30);P1=0;}else if(flag==1)//如果按过符号键{b=b*10;write_date(0x30);}}///////////////////////////////////////////////////////////加法case 14:{j=1;if(fuhao==1){write_com(0x80+0x4f);//按下等于键,光标前进至第二行最后一个显示处write_com(0x04); //设置从后住前写数据,每写完一个数据,光标后退一格第 14 页c=a+b;while(c!=0){write_date(0x30+c%10);c=c/10;}write_date(0x3d);
//再写&=&a=0;b=0;flag=0;fuhao=0;}////////////////////////////////////////////////////////////////////////减法else if(fuhao==2){write_com(0x80+0x4f);
//光标前进至第二行最后一个显示处write_com(0x04); //设置从后住前写数据,每写完一个数据,光标后退一格if(a-b&0)c=a-b;elsec=b-a;while(c!=0){write_date(0x30+c%10);c=c/10;}if(a-b&0)write_date(0x2d);write_date(0x3d); //再写&=&a=0;b=0;flag=0;fuhao=0;}//////////////////////////////////////////////////////乘法else if(fuhao==3){write_com(0x80+0x4f);write_com(0x04);c=a*b;while(c!=0){write_date(0x30+c%10);c=c/10;}write_date(0x3d);a=0;b=0;flag=0;fuhao=0;}//////////////////////////////////////////////除法第 15 页else if(fuhao==4){write_com(0x80+0x4f);write_com(0x04);i=0;c=(long)(((float)a/b)*1000);while(c!=0){write_date(0x30+c%10);c=c/10;i++;if(i==3)write_date(0x2e);}//////////////////////////////////////////////////如果除数为零输出=/if(a/b=0)write_date(0x30);write_date(0x3d);a=0;b=0;flag=0;fuhao=0;}}case 15:{write_date(0x30+table1[num]);flag=1;fuhao=1;}}}}main(){init();while(1){keyscan();}}第 16 页六、功能实现截图图①1、图①注释:可实现小数点后3位的显示,来自源程序c=(long)(((float)a/b)*1000);Float:单精度实型变量取值范围在-10^38到10^38,有4字节,有效位数7~8位第 17 页图②2、图②注释:减法的实现可以实现负数,源程序if(fuhao==2){
write_com(0x80+0x4f);
//光标前进至第二行最后一个显示处
write_com(0x04); //设置从后住前写数据,每写完一个数据,光标后退一格
while(c!=0)
write_date(0x30+c%10);
write_date(0x2d);
write_date(0x3d); //再写&=&
a=0;b=0;flag=0;fuhao=0;
}第 18 页图③3、图③注释:源程序if(fuhao==1) {write_com(0x80+0x4f);//按下等于键,光标前进至第二行最后一个显示处write_com(0x04); //设置从后住前写数据,每写完一个数据,光标后退一格
while(c!=0)
{write_date(0x30+c%10);
}write_date(0x3d);
a=0;b=0;flag=0;fuhao=0;第 19 页图④4、图④注释:源程序if(fuhao==3){
write_com(0x80+0x4f);
write_com(0x04);
while(c!=0)
write_date(0x30+c%10);
}write_date(0x3d);a=0;b=0;flag=0;fuhao=0;} //最大可实现被乘数位数加乘数位数等于9的乘法第 20 页图⑤5、图⑤注释:源程序if(fuhao==4){}第 21 页write_com(0x80+0x4f); write_com(0x04); i=0;c=(long)(((float)a/b)*1000); while(c!=0)
write_date(0x30+c%10);
write_date(0x2e);
}七、实训心得与体会经过近两个周的努力,我终于顺利完成了简易计算器的制作。刚开始,我们头绪不是很清楚,不知道从哪里入手,但通过老师前两天的4*4键盘和液晶显示屏使用的讲解,渐渐的有了一些头绪,上网查资料、确定基本设计方案、对AT89C51芯片功能进行查找、调试、仿真等,经历了一次次的困难,却积累了很多宝贵的经验。在整个设计的过程中遇到的问题主要有以下三点,第一:基础知识掌握的不牢固,主要表现在一些常用的电路的形式和功能不清楚,对书本上的内容理解不够透彻。第二:对一些常用的应用软件缺少应用,体现在画电路图和系统的仿真的时候,对这些软件的操作不熟练,浪费了很多时间。第三:相关知识掌握的不够全面,缺少系统设计的经验,不论的程序图片还是程序都出错了很多次,走了许多弯路。本次的课程设计进一步端端正了我的学习态度,学会了实事求是,对自己要严格要求,不能够一知半解,要力求明明白白,对理论知识要勤思考,才能够熟练的运用。急于求成是不好的,我有所感受。如果省略了那些必要的步骤,急于求成,不仅会浪费时间,还会适得其反。我觉得动手之前,头脑里必须清楚该怎么做,这一点是很重要的。就目前来说,我的动手能力虽然差一点,但我想,通过我的不懈努力,在这方面,我总会得到提高。这一点,我坚信。因为别人能做到的,我也一定能做到。这次课程设计中我最大的体会就是进一步认识到了理论联系实践的重要性。一份耕耘,一份收获。通过短短两周时间的设计,让我明白科学的思维方法和学习方法是多么重要,只有这样才能够有很高的效率,才能够让自己的工作更完美。这次的实训让我学到了很多,也学会到了要怎么样去面对困难,不要对知识一知半截,要有的求实的能力,在现在信息爆炸的时代,只要你愿意去探索,去寻找有什么是理解不了的呢,用心才是最主要的,通过这次我要更加的明确自己。更要注重自己在各方面的锻炼能力,把握机会。这次的课程设计非常感谢对我严厉的辅导老师,是她让我成长,也感谢帮助我走出困惑的同学,在日后的学习中,我会勤思考,打好扎实的理论知识。第 22 页
简易计算器课程设计相关文章
《》由www.zaidian.com(在点网)整理提供,版权归原作者、原出处所有。
Copyright &
All Rights Reserved.C 语言简单加减乘除运算
转载 & & 投稿:lqh
本篇文章主要介绍了C语言的基本运算方法,这里对加法,减法,乘法,除法,求余数,做了详细讲解,有需要的朋友可以参考下
C语言也可以进行加减乘除运算,但是运算符号与数学中的略有不同,见下表。
&加号、减号与数学中的一样,乘号、除号不同,另外C语言还多了一个求余数的运算符。
我们先来看一段代码:
#include &stdio.h&
#include &stdlib.h&
int main()
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\n", m, n, p, q);
system("pause");
&输出结果:
m=112, n=850.000000, p=1.411765, q=4
&你也可以让数字直接参与运算:
#include &stdio.h&
#include &stdlib.h&
int main()
int b=100;
float c=8.9;
int m=a-b; // 变量参与运算
int n=a+239; // 有变量也有数字
double p=12.7*34.3; // 数字直接参与运算
printf("m=%d, n=%d, p=%lf\n", m, n, p);
printf("m*2=%d, 6/3=%d, m*n=%ld\n", m*2, 6/3, m*n);
system("pause");
&输出结果:
m=-88, n=251, p=435.610000
m*2=-176, 6/3=2, m*n=-22088
&对于除法,需要注意的是除数不能为 0,所以诸如int a=3/0;这样的语句是错误的。
加减乘除的简写
&先来看一个例子:
#include &stdio.h&
#include &stdlib.h&
int main()
printf("a=%d\n", a);
printf("a=%d\n", a);
printf("a=%d\n", a);
system("pause");
&输出结果:
&第一次输出 a 原来的值;a=a+8;相当于用a+8的值替换原来 a 的值,所以第二次输出 20;第三次用a*b的值替换第二次的值,
所以是 200。
&在C语言中,表达式a=a#b可以简写为a#=b,#表示 +、-、*、/、% 中的任何一种运算符。
上例中a=a+8;可以简写为a+=8;,a=a*b;可以简写为a*=b;。
下面的简写形式也是正确的:
int a = 10, b = 20;
a += 10; //相当于 a = a + 10;
a *= (b-10); //相当于 a = a * (b-10);
a -= (a+20); //相当于 a = a - (a+20);
&注意:a#=b 仅是一种简写,不会影响效率。
&以上就是C语言加、减、乘、除、求余的基本运算,有需要的朋友可以参考下。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具403 - 禁止访问: 访问被拒绝。
403 - 禁止访问: 访问被拒绝。
您无权使用所提供的凭据查看此目录或页面。19:21 提问
c语言 简易加减计算器
设计一个能计算加减法的简单计算器 从键盘输入数字和运算符 输入等于号时结束计算并输出结果
输出例如下
下面是我自己编的
#include&stdio.h&
#include&stdlib.h&
#include&string.h&
int main(void)
char num1[80],num2[80];
int j,k,s=0;
gets(num1);
j=atoi(num1);
k=atoi(num2);
while(j!=EOF){
scanf("%c",&a);
if(a== '+'){
gets(num2);
if(a== '-'){
gets(num2);
if(a== '='){
printf("%d",s);
这次是关于结构体的题目 要求用到gets() atoi()等
求大神看看应该怎么改
现在可以编译执行了 但是输出值不对
按赞数排序
if(scanf("%c",&a)== +)
scanf("%c",&a);
if (a == '+')
1.scanf 函数是有返回值的,它的返回值可以分成三种情况
1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b);
如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);
如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。
3) EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。
ps:例如减号要用单引号引起来'-'
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 excel加减乘除怎么用 的文章

 

随机推荐