您当前的位置:首页 > 生活 > 内容

C语言中如何定义全局变量?c语言计数器

带进位循环右移1位/CL指定的位数串操作MOVS[B/W],循环右移1位/CL指定的位数RCLreg/mem,1/CL,循环左移1位/CL指定的位数RORreg/mem,1/CL,C语言中如何定义全局变量1、首先,带进位循环左移1位/CL指定的位数RCRreg/mem,1/CL,逻辑右移1位/CL指定的位数ROLreg/mem,1/CL,逻辑左移1位/CL指定的位数SHRreg/mem,1/CL,算术右移1位/CL指定的位数SHLreg/mem,1/CL。

C语言中如何定义全局变量

1、首先,我们可以在函数外面定义变量,就是全局变量。

2、局部变量可以与全局变量同样命名。

3、但是优先级是局部变量优先。

4、但是局部变量的生命周期是整个结构内。

5、全局变量是整个程序结束,才释放。

6、我们也可以为变量加上修饰符。

c语言计数器

#include 《stdlib.h》#include 《math.h》#include 《graphics.h》#include 《stdio.h》#include 《process.h》#define EXCAPE 27#define ENTER 13main(){ int press,i,x,y,x1,y1,ch_z=0; int dian=0; char ch=’0’; /*input + - * / */ char emp,sum,*e,*s; double yuan=0.000000000000; void init(void); void clear_z(char *u); double strtoflt(char *p); int getkey(); int gd=DETECT, gm; initgraph(&gd, &gm, ““); e=emp; s=sum; init(); x = (getmaxx() / 2) - 120; y = (getmaxy() / 2) - 150; x1 = (getmaxx() / 2) + 120; y1 = (getmaxy() / 2) + 150; while(1){ press = getkey(); switch(press){ case EXCAPE: exit(0); case 47: bar (x + 10, y + 80 + 10, x + 60 - 10, y + 80 + 60 - 10); delay(8000); init(); if (ch!=’0’){ switch(ch){ case ’/’: if (strtoflt(emp)==0.0){ ch=’0’; ch_z=0; dian=0; emp=’\0’; sum=’\0’; e=emp; s=sum; outtextxy(x+30,y+40,“error!!!!!“); break; } yuan = strtoflt(sum) / strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); break; case ’*’: yuan = strtoflt(sum) * strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); break; case ’+’: yuan = strtoflt(sum) + strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); break; case ’-’: if (strtoflt(sum)》=strtoflt(emp)){ yuan = strtoflt(sum) - strtoflt(emp); sprintf(sum,“%0.10f“,yuan); } else{ yuan=strtoflt(emp)-strtoflt(sum); sprintf(sum,“-%0.10f“,yuan); } clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; } } else{ if (ch_z==0){ outtextxy(x+30,y+40,emp); stpcpy(sum,emp); } else{ outtextxy(x+30,y+40,sum); } } ch=’/’; ch_z=0; emp=’\0’; e=emp; dian=0; break; case 42: bar (x + 60 + 10, y + 80 + 10, x + 60 * 2 - 10, y + 80 + 60 - 10); delay(8000); init(); if (ch!=’0’){ switch(ch){ case ’/’: yuan = strtoflt(sum) / strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’*’: yuan = strtoflt(sum) * strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’+’: yuan = strtoflt(sum) + strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’-’: if (strtoflt(sum)》=strtoflt(emp)){ yuan = strtoflt(sum) - strtoflt(emp); sprintf(sum,“%0.10f“,yuan); } else{ yuan=strtoflt(emp)-strtoflt(sum); sprintf(sum,“-%0.10f“,yuan); } clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; } } else{ if (ch_z==0){ outtextxy(x+30,y+40,emp); stpcpy(sum,emp); e=emp; } else outtextxy(x+30,y+40,sum); } ch=’*’; ch_z=0; dian=0; break; case 45: bar (x + 60 * 2 + 10, y + 80 + 10, x + 60 * 3 - 10, y + 80 + 60 - 10); delay(8000); init(); if (ch!=’0’){ switch(ch){ case ’/’: yuan = strtoflt(sum) / strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’*’: yuan = strtoflt(sum) * strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’+’: yuan = strtoflt(sum) + strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’-’: if (strtoflt(sum)》=strtoflt(emp)){ yuan = strtoflt(sum) - strtoflt(emp); sprintf(sum,“%0.10f“,yuan); } else{ yuan=strtoflt(emp)-strtoflt(sum); sprintf(sum,“-%0.10f“,yuan); } clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; } } else{ if (ch_z==0){ outtextxy(x+30,y+40,emp); stpcpy(sum,emp); e=emp; } else outtextxy(x+30,y+40,sum); } ch=’-’; ch_z=0; dian=0; break; case 43: bar (x + 60 * 3 + 10, y + 80 + 10, x + 60 * 4 - 10, y + 80 + 60 - 10); delay(8000); init(); if (ch!=’0’){ switch(ch){ case ’/’: yuan = strtoflt(sum) / strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’*’: yuan = strtoflt(sum) * strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’+’: yuan = strtoflt(sum) + strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’-’: if (strtoflt(sum)》=strtoflt(emp)){ yuan = strtoflt(sum) - strtoflt(emp); sprintf(sum,“%0.10f“,yuan); } else{ yuan=strtoflt(emp)-strtoflt(sum); sprintf(sum,“-%0.10f“,yuan); } clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; } } else{ if (ch_z==0){ outtextxy(x+30,y+40,emp); stpcpy(sum,emp); e=emp; } else outtextxy(x+30,y+40,sum); } ch=’+’; ch_z=0; dian=0; break; case 49: bar (x + 10, y + 80 + 53 + 10, x + 60 - 10, y + 80 + 53 * 2 - 4); delay(8000); init(); for (i=0;i《=79;i++){ if (emp[i]==’\0’) break; } if (ch_z==0){ *e=’1’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 50: bar (x + 60 + 10, y + 80 + 53 + 10, x + 60 * 2 - 10, y + 80 + 53 * 2 - 4); delay(8000); init(); for (i=0;i《=79;i++){ if (emp[i]==’\0’) break; } if (ch_z==0){ *e=’2’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 51: bar (x + 60 * 2 + 10, y + 80 + 53 + 10, x + 60 * 3 - 10, y + 80 + 53 * 2 - 4); delay(8000); init(); for (i=0;i《=79;i++){ if (emp[i]==’\0’) break; } if (ch_z==0){ *e=’3’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case ENTER: bar (x + 60 * 3 + 10, y + 80 + 53 + 10, x + 60 * 4 - 10, y + 80 + 53 * 2 - 4); delay(8000); init(); if (ch!=’0’){ switch(ch){ case ’/’: yuan = strtoflt(sum) / strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’*’: yuan = strtoflt(sum) * strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’+’: yuan = strtoflt(sum) + strtoflt(emp); sprintf(sum,“%0.10f“,yuan); clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; case ’-’: if (strtoflt(sum)》=strtoflt(emp)){ yuan = strtoflt(sum) - strtoflt(emp); sprintf(sum,“%0.10f“,yuan); } else{ yuan=strtoflt(emp)-strtoflt(sum); sprintf(sum,“-%0.10f“,yuan); } clear_z(sum); outtextxy(x+30,y+40,sum); emp=’\0’; e=emp; break; } } else{ if (ch_z==0){ outtextxy(x+30,y+40,emp); stpcpy(sum,emp); e=emp; } else{ outtextxy(x+30,y+40,sum); } } ch=’0’; ch_z=1; dian=0; break; case 52: bar (x + 10, y + 80 + 53 * 2 + 10, x + 60 - 10, y + 80 + 53 * 3 - 4); delay(8000); init(); if (ch_z==0){ *e=’4’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 53: bar (x + 60 + 10, y + 80 + 53 * 2 + 10, x + 60 * 2 - 10, y + 80 + 53 * 3 - 4); delay(8000); init(); if (ch_z==0){ *e=’5’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 54: bar (x + 60 * 2 +10, y + 80 + 53 * 2 + 10, x + 60 * 3 - 10, y + 80 + 53 * 3 - 4); delay(8000); init(); if (ch_z==0){ *e=’6’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 46: bar (x + 60 * 3 + 10, y + 80 + 53 * 2 + 10, x + 60 * 4 - 10, y + 80 + 53 * 3 - 4); delay(8000); init(); if (dian==0){ if (ch_z==0){ *e=’.’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } } else{ if (ch_z==0) outtextxy(x+30,y+40,emp); else outtextxy(x+30,y+40,sum); } dian=1; break; case 55: bar (x + 10, y + 80 + 53 * 3 + 10, x + 60 - 10, y + 80 + 53 * 4 - 4); delay(8000); init(); if (ch_z==0){ *e=’7’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 56: bar (x + 60 + 10, y + 80 + 53 * 3 + 10, x + 60 * 2 -10, y + 80 + 53 * 4 - 4); delay(8000); init(); if (ch_z==0){ *e=’8’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 57: bar (x + 60 * 2 + 10, y + 80 + 53 * 3 + 10, x + 60 * 3 - 10, y + 80 + 53 * 4 - 4); delay(8000); init(); if (ch_z==0){ *e=’9’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 48: bar (x + 60 * 3 + 10, y + 80 + 53 * 3 + 10, x + 60 * 4 - 10, y + 80 + 53 * 4 - 4); delay(8000); init(); if (ch_z==0){ *e=’0’;e++;*e=’\0’; outtextxy(x+30,y+40,emp); } else{ outtextxy(x+30,y+40,sum); } break; case 32: emp=’\0’; sum=’\0’; e=emp; s=sum; ch=’0’; ch_z=0; dian=0; init(); break; case 8: delay(8000); for(i=0;i《=79;i++){ if (emp[i]==’\0’) break; } if (i==0) break; if (i!=79&&i!=0){ i--; emp[i]=’\0’; e=&emp[i]; } init(); outtextxy(x+30,y+40,emp); break; } }}/*---------------------------------------------------------------------*/void init(void){ int x, y, x1, y1, i, j; char emp; x = (getmaxx() / 2) - 120; y = (getmaxy() / 2) - 150; x1 = (getmaxx() / 2) + 120; y1 = (getmaxy() / 2) + 150; cleardevice(); setbkcolor(3); setfillstyle(1, 15); setcolor(15); settextstyle(1,0,1); rectangle (x, y, x1, y1); rectangle (x - 7, y - 7, x1 + 7, y1 + 7); rectangle (x + 10, y + 10, x1 - 10, y + 80 - 10); line (x, y + 80, x1, y + 80); y = y + 80; for (j = 1; j 《= 4; j++){ x = (getmaxx() / 2) - 120; for (i = 1; i 《= 4; i++){ /* bar (x + 10, y + 10, x + 60 - 10, y + 60 - 10);*/ rectangle(x + 10, y + 10, x + 60 - 10, y + 60 - 10); if (j == 1){ if (i == 1) outtextxy(x + 20, y + 20, “/“); if (i == 2) outtextxy(x + 25, y + 20, “*“); if (i == 3) outtextxy(x + 27, y + 20, “-“); if (i == 4) outtextxy(x + 25, y + 20, “+“); } if (j == 2){ if (i == 1) outtextxy(x + 25, y + 20, “1“); if (i == 2) outtextxy(x + 25, y + 20, “2“); if (i == 3) outtextxy(x + 25, y + 20, “3“); if (i == 4) outtextxy(x + 25, y + 20, “=“); } if (j == 3){ if (i == 1) outtextxy(x + 25, y + 20, “4“); if (i == 2) outtextxy(x + 25, y + 20, “5“); if (i == 3) outtextxy(x + 25, y + 20, “6“); if (i == 4) outtextxy(x + 25, y + 20, “.“); } if (j == 4){ if (i == 1) outtextxy(x + 25, y + 20, “7“); if (i == 2) outtextxy(x + 25, y + 20, “8“); if (i == 3) outtextxy(x + 25, y + 20, “9“); if (i == 4) outtextxy(x + 25, y + 20, “0“); } x = x + 60; } y = y + 53; }}/*---------------------------------------------------------------------*/int getkey(){ char lowbyte; int press; while(bioskey(1)==0); press = bioskey(0); press = press&0xff? press&0xff: press》》8; return(press);}double strtoflt(char *p){ double rtl=0.000000000000; double pnt=0.000000000000; double t = 10; int ispoint = 0; while (*p!=’\0’||*p!=’.’){ if(*p《’0’||*p》’9’) break; rtl*=10; rtl+=*p-’0’; p++; } if (*p==’.’){ ispoint=1; p++; } while(ispoint&&*p!=’\0’){ pnt+=(double)(*p-’0’)/t; t*=10; p++; } rtl+=pnt; return (rtl);}/*-----------------------------------------------------------------------*/void clear_z(char u){ int i; for(i=strlen(u)-1;i》=0;i--){ if (u[i]!=’0’) break; } if (u[i]==’.’){ u[i]=’\0’; } else{ i++; u[i]=’\0’; }}

计算机C语言是什么

  1.C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。  2.尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。  3.二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

汇编语言程序指令知多少

附表5.2指令汇编格式指令类型指令汇编格式指令功能简介传送指令MOVreg/mem,imm;dest←srcMOVreg/mem/seg,regMOVreg/seg,memMOVreg/mem,seg交换指令XCHGreg,reg←→reg/memXCHGreg/mem,reg转换指令XLATlabel;AL←[BX+AL]XLAT堆栈指令PUSHr16/m16/seg;入栈POPr16/m16/seg;出栈CS除外标志传送CLC;CF←0STC;CF←1CMC;CF←CLD;DF←0STD;DF←1CLI;IF←0STI;IF←1LAHF;AH←标志寄存器低字节SAHF;标志寄存器低字节←AHPUSHF;标志寄存器入栈POPF;出栈到标志寄存器地址传送LEAr16,mem;r16←16位有效地址LDSr16,mem;DS:r16←32位远指针LESr16,mem;ES:r16←32位远指针输入INAL/AX,i8/DX;AL/AX←I/O端口i8/DX输出OUTi8/DX,AL/AX;I/O端口i8/DX←AL/AX加法运算ADDreg,imm/reg/mem;dest←dest+srcADDmem,imm/regADCreg,imm/reg/mem;dest←dest+src+CFADCmem,imm/regINCreg/mem;reg/mem←reg/mem+1减法运算SUBreg,imm/reg/mem;dest←dest-srcSUBmem,imm/regSBBreg,imm/reg/mem;dest←dest-src-CFSBBmem,imm/regDECreg/mem;reg/mem←reg/mem-1NEGreg/mem;reg/mem←+1CMPreg,imm/reg/mem;dest-srcCMPmem,imm/reg;乘法运算MULreg/mem;无符号数乘法IMULreg/mem;有符号数乘法除法运算DIVreg/mem;无符号数除法IDIVreg/mem;有符号数除法符号扩展CBW;将AL符号扩展为AXCWD;将AX符号扩展为DX.AX十进制调整DAA;将AL中的加和调整为压缩BCD码DAS;将AL中的减差调整为压缩BCD码AAA;将AL中的加和调整为非压缩BCD码AAS;将AL中的减差调整为非压缩BCD码AAM;将AX中的乘积调整为非压缩BCD码AAD;将AX中的非压缩BCD码转成二进制逻辑运算ANDreg,imm/reg/mem;dest←destANDsrcANDmem,imm/regORreg,imm/reg/mem;dest←destORsrcORmem,imm/regXORreg,imm/reg/mem;dest←destXORsrcXORmem,imm/regTESTreg,imm/reg/mem;destANDsrcTESTmem,imm/regNOTreg/mem;reg/mem←移位SALreg/mem,1/CL;算术左移1位/CL指定的位数SARreg/mem,1/CL;算术右移1位/CL指定的位数SHLreg/mem,1/CL;逻辑左移1位/CL指定的位数SHRreg/mem,1/CL;逻辑右移1位/CL指定的位数ROLreg/mem,1/CL;循环左移1位/CL指定的位数RORreg/mem,1/CL;循环右移1位/CL指定的位数RCLreg/mem,1/CL;带进位循环左移1位/CL指定的位数RCRreg/mem,1/CL;带进位循环右移1位/CL指定的位数串操作MOVS[B/W];串传送LODS[B/W];串读取STOS[B/W];串存储CMPS[B/W];串比较SCAS[B/W];串扫描REP;重复前缀REPZ/REPE相等重复前缀REPNZ/REPNE不等重复前缀控制转移JMPlabel无条件直接转移JMPr16/m16无条件间接转移Jcclabel条件转移cc可为C/NC/Z/NZ/S/NS/O/NO/B/NB/BE/NBE/L/NL/LE/NLE循环LOOPlabelCX←CX-1;若CX≠0,则循环LOOPZ/LOOPElabelCX←CX-1;若CX≠0且ZF=1,则循环LOOPNZ/LOOPNElabelCX←CX-1;若CX≠0且ZF=0,则循环JCXZlabel若CX=0,则循环子程序CALLlabel直接调用CALLr16/m16间接调用RET无参数返回RETi16有参数返回指令类型指令汇编格式指令功能简介备注中断INTi8中断调用INTO溢出中断调用IRET中断返回处理器控制NOP空操作指令seg:段跨越前缀除CSHLT停机指令LOCK封锁前缀WAIT等待指令ESCmem换码指令


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 虚拟机vmware(vmware虚拟机有什么用)

下一篇: 台式机显卡分那几种类型?台式电脑可以直接换显卡吗



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号