




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.已知三角形的三个边长a,b,c,计算面积S。#include<math.h>main() float a,b,c,s; scanf(“%f %f %f”,&a,&b&c); s=area(a,b,c); printf(“s=%f”,s);float area(x,y,z) /*自定义函数*/ float x,y,z; float p,s; p=(x+y+z)/2; s=sqrt(p*(p-x)*(p-y)*(p-z); return(s); <<,>>+,-*,/,%!,+,(类型),*p,&,sizeof(),->,
2、·优先级:从高低一个班30人的考试分数,计算平均分并统计80分以上有多少人。main() int k=0,k1=0,n=30; float x,s=0,aver; do sacnf(“%f”,&x); s=s+x; k=k+1; if(x>80)k1=k1+1; while(k<30);aver=s/30; printf(“aver=%f,”,aver); printf(“k1=%dn”,k1);第二章 C语言概述,=,+=,-=,*=,/=,%=,>>=,<<=,&=,=,|=&&|?,:=,!=<,<
3、=,>,>=ASCII:0048、9057、A65、Z90、a97、z122;aA:x='a'x=x-32;两个float相遇,都转换为double。逻辑表达式由:算术表达式、关系表达式、逻辑运算符组成。编写简单的收款程序,要求输入一种商品的单价x和数量n,输出收款次数k、收款数y和累计收款数s。main() float x,y,s=0; int n,k=0;start: printf(“Please input x,n=?”); scanf(“%f %d”,&x,&n); k+;y=x*n;s=s+y; printf(“Press any key
4、to continue or Pressc EXIT !”);getch();goto start;超过一个以上的语句称为:复合语句。第三章 C语言的顺序结构通过键盘输入一个英文字母,输出该字母的下一个字母;#include<stdio.h>main() char c; c=getchar(); putchar(c+1);一动点k从坐标原点O向A移动,动点只能在x或y方向移动一个步长,要求尽可能沿OA直线移动。main() int k=0,n; float f,xa,ya,d,x=0,y=0; printf(“please input xa,ya,d=”); n=(xa+ya)/d
5、; while(k<=n) f=xa*y-ya*x; printf(“k=%3d,x=%62.f,y=%62.f,f=%6.2fn”,k,x,y,f); if(f>=0)x=x+d;else if(f<=0) y=y+d; k+; printf(“The end! k=%3d,n=%3d”,k,n); getch(); 从键盘输入一个字母,如果是小写则改成大写。#include<stdio.h>main() char c; c=getche(); if(c>=a&&c<=z) c=c-32; putchar(c);矩形法计算定积分#in
6、clude<math.h>main() int i,n;float a,b,h,s=0,f0,x;printf(“please input a,b,n=?n”);scanf(“%f%f%d”,&a,&b,&n);h=(b-a)/n;x=a;f0=exp(x);for(i=1;i<=n;i+) s=s+f0*h; x=x+h; f0=exp(x); printf(“s=%8.6fn”,s);getch();s=02exdxs=1+122+132+1n2, 直到1n2<0.0045计算级数main() int i=1;float s=0,t; do
7、t=1.0/(i*i); s=s+t; i +;while(t>=0.0045); printf(“i=%d,s=%fn”,i,s); getch();检查和修改原始数据:逐个输入三个整数,然后重新编号显示这三个数据,提示用户是否修改(y/n?),用户回答字符y或Y,则请用户按编号回答要修改哪一个数据,然后修改。#include<stdio.h>main() int a,b,c,k; char ch; printf(“please input a,b,c=?n”); scanf(“%d %d %d”,&a,&b,&c); printf(”1.a=%d
8、2.b=%d 3.c=%dn”,a,b,c); printf(“Do you want to modify (y/n)?n”); ch=getche(); if(ch=y&&ch=Y); printf(“nplease select 1,2,3 !”);start: scanf(“%d”,&k); switch(k) case 1: printf(“please input a=”);scanf(“%d”,&a);break; case 2: printf(“please input b=”);scanf(“%d”,&a);break; case 3:
9、printf(“please input c=”);scanf(“%d”,&a);break;if(k>0&&k<4) printf(“Press any key to continue”); getch(); goto start;printf(“1.a=%d 2.b=%d 3.c=%dn”,a,b,c); getch();用二分法求解方程2x3-4x2+3x-6=0,在有根区间-10,10内有根。(普通)#include<math.h>main() float a=-10,b=10,c,e=0.001,fa,fc; int k=0; do c
10、=(a+b)/2;k+; fa=2*a*a*a-4*a*a+3+a-6; fc=2*c*c*c-4*c*c+3*c-6; if(fa*fc<0) b=c; else a=c; printf(“k=%3d,a=%8.4f,b=%8.4fn”,k,a,b); while(fabs(b-a)>e); printf(“root is %8.4fn”,c);用二分法求解方程x3-3x-1=0,在区间1,2内有根。(函数)#include<math.h>float f();float root();main() float a=1,b=2,rt; rt=root(a,b); pri
11、ntf(“rt=%fn”,rt);float f(x) float x; float fx; fx=x*x*x-3*x-1; return(fx);float root(a,b) float a,b; float c; doc=(a+b)/2.0; if(f(a)*f(c)>0)a=c; else b=c; while(fabs(b-a)>0.0001); return(c);用牛顿迭代计算代数方程f(x)=x3-3x-1=0的根。#include<math.h>main() float x0=1.5,x1,e=0.001,f,f1; int k=0,n=50; whi
12、le(fabs(x1-x0)>e&&k<n)/*e为控制精度*/ x0=x1; f=x0*x0*x0-3*x0-1; f1=3*x0*x0-3; /*导数*/ x1=x0-f/f1; k+; printf(“f=%3d,x1=%8.4f,x0=%8.4fn”,k,x1,x0); if(k<n) printf(“root is:%8.4fn”,x1); else printf(“k>n error !n”);用二分法求解方程x3-3x-1=0,在区间1,1.5内有根。(指针)float rt(a,b,fun) float a,b,(*fun)(); flo
13、at c;while(fabs(b-a)>0.0001); c=(a+b)/2.0; if(*fun)(a)* (*fun)(c)>0)a=c; else b=c; return b=c;float f1(x) float x; float f; f=x*x*x-x-1;return(f);main() float a=1,b=1.5,root; root=rt(a,b,f1); printf(“root=%fn”,root);计算S=1-2+3-4+-10。main() int I,t=1,s=0,m; for(I=1;I<=10;I+) m=I*t ; s=s+m ; t
14、=-t ; printf(“%dn”,s);计算s=1-13+15-17+直到最后一项<0.001。#include<math.h>main() int a; float n,t,s; t=1;s=0;n=1.0;a=1; while(fabs(t)>0.001) s=s+t; n=n+2; a=-a; t=a/n; printf("s=%fn",s); 用数组处理Firbonacci数列main() int i; int f20=1,1; for(i=2;i<20;i+) fi=fi-2+fi-1; for(i=0;i<20;i+) i
15、f(i%5=0) printf(“n”);printf(“%12d”,fi);用100元钱买100支笔,其中钢笔3元/支,圆珠笔2元/支,铅笔0.5元/支,问钢笔、圆珠笔和铅笔可以各买多少支?main() int i,j,k,m,n; for(i=1;i<=33;i+) /*i为钢笔*/ for(j=1;j<=50-i;j+) /*j为圆珠笔*/for(k=1;k<=100-i-j;k+);/*k为铅笔*/ m=i+j+k; n=i*3+j*2+k*0.5; if(m=100&n=100) printf(“i=%d,j=%d,k=%dn”,i,j,k); 求n个数据中
16、的最大值最小值main() int a100,amax,amin,i,n; printf(“please input n=?(n<=100)”); scanf(“%d”,&n); for(i=0; i<n; i+)scanf(“%d”,ai); amax=0; amin=a0; for(i=1; i<n; i+) if(amax<ai) amax=ai; if(amin>ai) amin=ai; printf(“amax=%f,amin=%fn”,amax,amin);计算自由落体距离地面的高度:h=h0-(v0t+gt2/2),其中h0为初始高度,v0为
17、初速度,t为时间,g为重力加速度,计算t=0,1,2,3,4,5时落体距离地面的高度h=?又计算落体落到地面时的时间t0=?#include<math.h>main() float h0,t0,v0,t,a,b,c,h,d,p,q,x1,x2,g=9.8; printf("Please input h0,v0="); scanf("%f,%f",&h0,&v0); for(t=0;t<=5;t+) h=h0-(v0*t+1.0/2.0*g*t*t); printf("t=%fs,h=%fmn",t,h
18、); a=0.5*g; b=v0; c=-h0; d=b*b-4*a*c; p=-b/(2*a); q=sqrt(d)/(2*a); x1=p+q;x2=p-q; if(x1>0) t0=x1;else t0=x2; printf("t0=%fn",t0); 在一维数组a中查找aa,顺序查找,如果查到了输出相关信息,没有就打印not found,并提示是否继续。main() char c; int a=1,3,5,7,9,11,13,15,17,19; int i,ok,aa,n=10;doprintf(“nplease input aa=”);scanf(“%d”,
19、&aa); ok=0; for(i=0; i<n; i+) if(aa!=ai) continue;printf(“ok i=%d,aa=%dn”,i,ai); ok=1; break; if(ok=0) printf(“not found! i=%dn”,i); printf(“Do you want to continue(y/n)?”); c=getch(); while(c=Y|c=y); printf(“good bye!n”); getch();冒泡排序(小大)main() int a=9,1,8,2,7,3,6,4,5,i,j,aa,n=9,k=1; while(k
20、) k=0; for(i=0; i<n-1; i+) if(ai>ai+1) aa=ai;ai=ai+1;ai+1=aa;k=1 for(i=0; i<n; i+) printf(“%d”,ai); printf(“n”); getch();输入n个评为的评分,计算并输出参赛选手的最后得分,计算方法为去除一个最高分,去除一个最低分,其余的平均分为参赛选手的最后得分,从(小大)输出参赛选手的最后得分。main()int a11; int i,j,t,n; float sum=0.0,av; printf("nPlease input n="); scanf(
21、"%d",&n); printf("Please input n numbers:"); for(i=1;i<n+1;i+) scanf("%d",&ai); for(j=1;j<=n-1;j+) for(i=1;i<=n-j;i+) if(ai>ai+1)t=ai;ai=ai+1;ai+1=t; printf("the sorted numbers:"); for(i=2;i<n;i+) printf("%d",ai);sum=sum+i; av=
22、sum/(n-2); printf("nsum=%f",sum); printf("nav=%fn",av);1.put(字符数组名);在屏幕上输出字符串。2.gets(字符数组名);等待用户从键盘输入字符串。3.strcat(字符数组1,字符数组2);把字符数组2连接在字符数组1后面。4.strcpy(字符数组,字符串);将字符串复制到字符数组中去。5.strcmp(字符串1,字符串2);1=2,函数值为0。1>2,函数值为正整数。1<2,函数值为负整数。6.strlen(字符数组)测试字符串长度。7.strlwr(字符串)将字符串的大写字
23、母改成小写字母。8.strupr(字符串)将字符串的小写字母改成大写字母。计算23int power(x,n)int x,n int i,p=1;for(i=1;i<=n;i+) p=p*x; return(p);main() printf(“%d”,power(2,3);n!非递归调用long fact(n)int n; int f=1,i; for(i=1;i<=n;i+) f=f*i; return(f);C语言提供了一系列的通用函数放在函数库中,称为库函数。有关这些库函数的定义和说明时放在相应的h文件中,称为头文件。1. 输入输出类:stdio.h2. 数学类:math.h
24、3. 字符类:ctype.h4. 字符串:string.h5. 动态存储分配类:stdlib.h6. 时间类:time.h7. 字符屏幕:stdio.h8. 图形功能:graphics.h9. 接口库函数:dos.h描述一个函数所执行算法的过程称为:函数定义。使用一个函数的过程称为:函数调用。3!主函数main() int n=3,m; /*3!*/ m=fact(n); printf(“%d!=%d”,n,m); n!递归调用long fact(n)int n; int f; if(n<=1) f=1;else f=n*fact(n-1); return(f);1.变量的指针:变量存储
25、单元的地址。2.指针变量:指存放存储单元地址的变量,保存的是另一个变量的地址,而不是值。3.指向变量的指针:如果一个指针变量存放了另一个变量的地址,那么这个指针就称为是指向该变量的指针。编写计算n的阶乘的C函数,并在主函数中调用该函数来计算。1/n!<0.0001s=1+1/2!+1/3!+1/n!float fact(int n) int i=0;float s=0,t; n=1; do i+; n=n*i; t=1.0/n; s=s+t; while(t>=0.0001); return(s); main() float s; int n; s=fact(n); printf(
26、"s=%fn",s); getch();计算三个数x,y,z之和及平均值float av; /*定义全局变量*/float sum(); /*说明函数*/main()float a,b,c,d; scanf(“%f%f%f”,&a,&b,&c); d=sum(a,b,c); printf(“av=%f,sum=%f”,av,d);float sum(x,y,z)float x,y,z; float s; s=x+y+z; av=s/3.0; return(s);"r"-从文本文件读数据;"w"向文件写数据,如果
27、不存在,则新建;"a"向文本文件末尾追加数据;"rb"从二进制文件读数据;"wb"向二进制文件写数据;"ab"向二进制文件末尾追加数据;C的文件,C的文件分为两种类型:1.ASCII码文件,即文本文件;2.二进制文件,存储容量比AS CII少,缺点是不能在屏幕上直接原样显示该字符。C语言规定,通过文件指针FILE打开数据文件,在使用文件时必须有包含文件stdio.h。文件指针变量定义格式如下:FILE *文件指针变量名;如:FILE *fp;打开文件的格式如下:文件指针名=fopen(文件名字符串,使用方式字符串)
28、;交换变量x,y数值int swap(x,y) /*函数的返回值为整型*/ int *x,*y; int z; /*z在函数体内是局部变量*/ z=*x; *x=*y; *y=z; printf(“x=%d,y=%d”,*x,*y);main() int a=1, b=2, *p1, *p2; p1=&a; p2=&b; swap(p1,p2); /*函数调用,以语句形式*/ printf(“a=%d,b=%d”,a,b);动态分配函数malloc()调用格式:(类型*)malloc(字节数);sizeof()函数的函数值就是该变量类型所需要的字节数,例如sizeof(int)
29、其函数值为2。用malloc()通常提供出错保护。int *p;size=sizeof(int);p=(int*)malloc(size);if(p=NULL) printf(“Out memory !n”)exit(0);文件不存在,出错保护FILE *fp;fp=fopen("a.dat","r"); printf("Can not open this file !n"); exit(0);计算数组元素中的最大最小值,函数的形参有数组名x,数组长度n,指针变量max和min;zdzx(z,n,max,min) int n,x,*m
30、ax,*min; int *p; for(p=x ;p<x+n; p+) if(*p>*max) *max=*p; if(*p<*min) *min=*p; main() int a10,*p,amax,amin,*p1,*p2; for(p=a; p<a+10; p+)scanf(“%d”,p); zdzx(a, 10, p1, p2); /*长度为10*/printf(“amax=%d,amin=%d”,amax,amin);从ASCII文件a.dat读数据#include<stdio.h>main() FILE *fp; char ch; fp=fop
31、en("a.dat","r"); printf("Can not open this file !n"); exit(0); while(!feof(fp) /*读完时feof()函数值为1,停止循环*/ ch=fgetc(fp); /*从文件中读字符*/ printf(“the end !”); /*文件数据读完的信息*/ fclose(fp); /*读完后关闭文件*/第十章 FoxPro数据库的基本操作1. 数据管理技术的发展:人工管理、文件管理、数据库管理。2. 数据库管理的特点:数据库是结构化的、数据相对程序是独立的、数据是可
32、以共享的。3. 数据库:数据库是可以共享、相互有关、以一定的结构组织起来的数据集合。“共享”、“相互有关”、“一定的结构”是关系到数据库本质的三个因素;“实现数据库共享”是数据库最本质的特点。4. 数据结构化模型先后有:层次模型、网状模型和关系模型等几种。5. 关系模型的特点:采用二维表格形式反映数据之间的关系,被认为是最有前途的一种数据模型。6. 二维表格一般由两个部分组成:一部分是表头(表格中的第一行),在关系数据库中称为“数据库结构”;另一部分是表格中填写的内容,在关系数据库中称为数据。二维表格称为二维关系,处理这种关系的数据库称为“关系数据库”。(数据库系统由:操作系统、数据库管理系统
33、、应用程序,在硬件支持下形成的。)7. FoxPro使用的主要文件类型数据库文件:扩展名为 .DBF,是数据库系统最基本的文件。数据库明细文件:扩展名为 .FPT,用来存储数据库文件中的备注型字段和通用字段中的数据。索引文件:扩展名为.CDX或.IDX,是数据库的索引文件,其中IDX是与FoxBASE兼容的索引文件。命令文件:扩展名为.PRG或.FXP,前者是数据库程序文件;后者是编译后程序文件。内存变量文件:扩展名为.MEM,用来存放用户定义的内存变量。文本文件:扩展名为.TXT,用来保存数据库文件中的数据。8. 数据库文件由:数据库结构、数据两个部分组成。数据库结构的一个字段,需要由字段名
34、、字段类型、字段宽度和小数位数四个参数来定义。一个汉字占两个字符。9. 表达式一般由参加运算的数、字段名变量、内存变量、函数、数组元素和运算符组成。一个表达式中的字段、函数、内存变量和数组元素必须是同一类型。10. 字符串是指:由单引号或双引号括起来的单个或多个字符。例如:'FoxPro '或"FoxPro "。+:" abcd "+ " de",其值为"abcd de ",保留左边字符串尾部的空格。-:"abcd "- "de ",其值为" abc
35、dde "。:用来判断左边的字符串是否包含在右端的字符串中。例如:" AB"" ABCD",其值为.t.。关系运算符:>、>=、<、<=、=、< >(不等于)。真:.t.或.T.;假:.f.或.F.。逻辑运算符:.AND. (与&&)、.OR. (或|)、.NOT. (非!)。11. 函数:ABS(X)计算X的绝对值的函数。 LEN(字符串)计算字符串长度的函数。&(字符变量)宏代换函数。 DTOC(日期型)日期型转换为字符型函数。FoxPro有关命令1. APPEND BLANK 增
36、加一条空记录。2. USE 原数据库文件名 Alias 别名 为数据库文件提供一个别名。3. STORE 表达式(0) TO内存变量表(x, y, z) 赋值语句,或者 内存变量(x)=表达式(0)4. DIMENSION 数组名 (数组元素的长度) , 数组名 (数组元素的长度)5. LIST STRUCTURE TO PRINT或DISPLAY STRUCTURE TO PRINT显示数据库结构所有信息打印6. LIST 范围 FIELDS<字段名> FOR<条件> WHILE<条件> OFF TO PRINTLIST 范围 ALL 显示全部记录; NE
37、XT n 只显示从当前记录开始的n个记录;Record n 只显示第n个记录; REST 只显示从当前记录开始到最后一个记录;OFF 指定OFF则显示记录时不显示记录号。7. DISPLAY 范围 FIELDS<字段名> FOR<条件> WHILE<条件> OFF TO PRINT DISPLAY 显示当前记录; DISPLAY ALL 显示全部记录;DISPLAY显示满屏后暂停8. GOTO TOP 将记录指针定位在数据库文件的第一个记录。GOTO BOTTOM 将记录指针定位在数据库文件的最后一个记录。GOTO n 将记录指针定位在数据库的第n个记录。
38、GOTO可以简写为GOSKIP +|-n +将指针向下移动n个记录;-将指针向上移动n个记录。RECNO(n) 测定第n工作区中数据库文件的当前记录指针的位置。例如:? RECNO() 测定当前工作区9. 删除记录:DELETE <范围> FOR<条件> 添加删除标记"*";PACK 真正删除加*的记录;RECALL <范围> FOR<条件> 清除删除标记"*";ZAP 无条件删除数据库文件中全部记录。10. 全屏幕修改命令:EDIT <范围> FIELDS<字段名> FOR<
39、条件> WHILE<条件>CHANGE <范围> FIELDS<字段名> FOR<条件> 或 BROWSE FIELDS<字段名> 范围 FOR<条件> 11. 替换修改:REPLACE <范围> <字段名> WITH<表达式> FOR<条件> 如缺省范围则只对当前记录进行替换。12. 修改数据库结构:MODIFY STRUCTURE13. 复制:COPY TO 复制后新文件名 <范围> FIELDS<字段名表> FOR<条件> 如没
40、有范围则完全备份。14. 复制数据结构:COPY STRUCTURE TO 新文件名 <范围> FIELDS<字段名表>15. 排序:SORT TO <排序文件名> ON <字段名1> /A/C/D ,<字段名2> /A:升序 /D:降序范围 FIELDS<字段名表>FOR<条件> /C:按照大写字母的ASCII码大小决定顺序最基本命令:SORT TO <排序文件名1> ON <关键字段名>16. 简单索引:INDEX ON <关键表达式> TO <索引文件名>
41、COMPACT UNIQUE ADDITIVECOMPACT:以压缩格式建立索引文件,有此选项不再于FoxBASE兼容。UNIQUE:若加上,则当有多条相同<关键表达式>时,只显示第一条记录。ADDITIVE:打开新建立的索引文件时,不关闭先前打开的索引,新的为主索引。不加,关闭先前索引。17. 复合结构型索引文件:INDEX ON <关键表达式> TAG <索引标记名> DESCENDING(降序) UNIQUE18. ··非结构·· :INDEX ON<关键表达式> TAG <索引标记名>
42、OF <索引文件名> DESCENDING UNIQUE19. 打开索引文件:1.建立索引文件时,刚建立的索引文件,系统自动打开。2.USE <数据库文件名> INDEX <索引文件表>;SET ORDER TO <数字表达式(17)>:多个索引文件之间切换。3.先打开数据库文件:USE ,再打开索引文件: SET INDEX TO <索引文件表>20. 顺序查询:LOCATE 范围 FOR<条件> CONTINUE21. 快速查找:FIND <字符串> |<数字>;使用之前必须建立相应的索引文件,
43、查询的值不能是表达式。SEEK <表达式>;建立相应的索引,可以用表达式查询,如果表达式是字符串,则字符串必须用引号括起来。22. 统计个数:COUNT 范围TO<内存变量> FOR <条件>23. 求和:SUM <数值字段表达式>范围TO<内存变量>FOR<条件>;若缺省<数值>则对所有数值型字段求和。24. 平均值:AVERAGE <数值字段表达式> 范围 TO<内存变量> FOR<条件>25. 分类求和:TOTAL ON <关键字段名> TO 分类文件名 范
44、围 FILED<字段名表> FOR<条件>;要求事先对数据库按命令所指定的关键字段名,生成索引,并打开。26. 选择当前工作区:SELECT <各自区号/别名> 不同工作区互访:<非工作区别名>-><字段名>27. 关联操作:SET RELATION TO <关键字段>|<数值表达式> INTO <别名> ;要对关键字段建立索引。28. 数据库连接:JOIN WITH <别名> TO <文件名> FOR <条件> FIELDS<字段名表>;<
45、;别名>为被链接数据库文件所在的工作区的区号,<文件名>为连接以后新生成的数据库文件。29. 数据库文件之间追加数据:APPEND FROM <文件名> FIELDS<字段名表> FOR<条件>如将A1中的记录全部向L1数据库文件中追加:USE L1APPEND FROM A1LIST 30. 数据库更新:UPDATE ON <关键字段名> FROM <别名> REPLACE <字段名>WITH <表达式> RANDOM<关键字段名>为两个数据库文件必须有相同字段名。<别名&
46、gt;是源数据库文件所在工作区的别名。<字段名>为被更新的字段名,被更新的数据库文件所在的工作区作为当前工作区。<表达式>为更新的内容RANDOM两个数据库文件应该按<关键字段名>进行索引,并在不同的工作区打开。如果选择了RANDOM,则源数据库文件可以不必进行索引第13页,共13页第十一章 FoxPro程序设计1. 程序文件编辑器:MODIFY COMMAND 文件名|?或*2. 运行程序文件:DO 文件名3. 内存变量交互输入命令ACCEPT "提示字符串" TO 内存变量;等待用户键入一个字符串(不必加引号),并赋给内存变量。INP
47、UT "提示字符串" TO 内存变量;输入'一个字符串'(要加上双引号)或'一个数',并赋给内存变量。WAIT 提示信息字符串 TO 内存变量;常用于程序暂停后,提示“按任意键继续”。4. 内存变量的输出:输出或显示变量的值可用?或?来输出,例如:? 'K=', K5. 文本输出:如果用户希望在屏幕上显示一段文本,TEXT <文本信息> ENDTEXT 6. SET <参数> ON|off (on|OFF);大写表示默认状态SET TALK ON|off ;打开系统对话功能。SET PRINT on|O
48、FF;关闭打印机。SET CONSOLE ON|off ;打开|关闭屏幕。SET SAFETY ON|off ;覆盖文件时有提示。SET COLOR ON|off ;选择彩色|单色显示。SET ALTERNATE on|OFF;不记录输入输出信息7. SET <参数> TO <参数> SET COLOR TO 标准,增强,边缘;前景/背景,+:高亮;*:闪烁SET ALTERNATE TO 文件名;建立一个保存输入输出操作信息的文本。8. 宏代换:&字符串变量名;1.代替一个字符串:COM= "LIST ",如再使用该命令只需写成&C
49、OM即可。2.代替一个文件名:如打开L.DBF,ACCEPT " 请输入文件名" TO WJUSE &WJ此时只需输入L即可。9. FILE (文件名) ;查找括号中的文件是否在磁盘上,在:值为.t. ;不在:值为.f.10. EOF () ;测试记录指针是否指向了文件的最后,是:值为.t. ;不是:值为.f.11. DTOC (日期型变量,1);将括号中的日期型变量转变为字符串变量。如果选择1,把mm/dd/yy改为yyyymmdd12. SUBSTR (字符串, m, n);从字符串第m个开始,共取n个字符,作为子字符串。如不选n,则取到最后一个。13. 字符串
50、长度测试:LEN (字符串);返回字符串的长度。括号中的字符串要用双引号括起来。14. STR (数值型数, m, n);将数值型数据转换为字符串,字符串长度为m,保留n位小数。15. 键盘响应函数:INKEY (数值表达式) ;等待用户按键,表达式值为等待时间s,如为0则一直等待。16. UPPER (Yn)= " " ;把内存变量Yn中的小写字母转换为大写字母。程 序 选 择 结 构格式1:IF <条件> <命令组>END IF格式2:IF <条件> <命令组1>ELSE <命令组1>ENDIF格式3IF &l
51、t;条件> IF <条件> <命令组1> ENDIFENDIFCASE语句:DO CASE CASE <条件1> <命令组1> CASE <条件2> <命令组2>OTHERWISE <命令组>ENDCASEDO WHILE <条件> <命令组1>LOOP <命令组2>EXIT <命令组3>ENDDO执行到LOOP时循环执行<命令组1>执行到EXIT时,退出循环,并执行ENDDO后面的语句17. FOR循环for(i=1;i<n;i+) i=
52、1 i<n 循环增量(i+)格式:FOR <内存变量>=<表达式1> TO <表达式2> STEP <表达式3><命令组> &&循环体LOOP和EXIT的意义与在DO WHILE循环中的意义相同。EXITLOOPENDFOR内存变量是循环的控制变量,它的初值为<表达式1>的值,终值为<表达式2>的值,<表达式3>的值为循环一次循环变量增减的步长。当步长为1时,STEP <表达式3>可以省略。18. SCAN 范围 FOR 条件 命令组 LOOP EXITENDSCA
53、N在指定范围内,满足条件的记录依次重复执行循环体中的命令。19. 建立子程序文件:MODIFY COMMAND 子程序文件名在子程序最后加上:RETURN TO MASTER(返回主控程序) 或 RETRY (再试、复算)前者的功能是:过程运行完成以后,返回调用程序中调用语句的下一句。如果有TO MASTER选择项,则在嵌套调用时,直接返回最前面一个调用程序的下一句。RETRY的功能是:过程调用完成后,它返回调用程序中调用语句本身;这种形式一般用在扑获出错信息的ON ERROR语句联用。20. 子程序调用:DO 子程序名21. 过程文件 procedure:程序、过程、名称建立 格式:PROC
54、EDURE 过程名1RETURNPROCEDURE 过程名2RETURN每次只能打开一个过程文件,需要打开另一个过程文件时,系统会自动关闭已经打开的文件。过程文件打开SET PROCEDURE TO 过程文件名关闭CLOSE PROCEDURE或:CLOSE ALL u口令程序K=0DO WHILE .T. CLEAR ? "请回答口令" SET CINSOLE OFF ACCEPT TO PASSWORD SET CINSOLE ON IF PASSWORD="LEI" WAIT "口令正确,按任意键继续" EXIT ELSE IF
55、 K<3 K=K+1 ? "口令错误,请重新输入" ELSE ? "口令不对,你不能使用本程序" WAIT "按任意键退出" RETURNENDIFENDIFENDDOu新建数据库出错保护DO WHILE .T. ACCEPT "请输入新建的数据库文件名" TO WJ IF LEN (WJ)<>0 EXIT ENDIFENDDOu打开数据库出错保护DO WHILE .T. ACCEPT "请输入需打开的数据库文件名" TO WJ IF FILE (&WJ=".DBF") EXIT ELSE WAIT"文件不存在,请重新输入"u用FOR循环计算1+2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房转让合同范例 详细
- 会展项目合作合同范例
- 原圆木采购合同范例
- 农场承包协议合同范本
- 医院清退合同范例
- oem 保密合同范例
- 办酒席场地出租合同范例
- 叉车设备采购合同范例
- 劳动法合同范例
- 关于分配土地合同范例
- 《餐巾折花图示》课件
- 南京市、盐城市2025届高三年级第一次模拟考试(一模)英语试卷(含答案)+听力音频
- DB12T 676.3-2016 高速公路联网收费技术要求 第3部分:非现金收费
- 国家标准装修合同(2025年)
- 医院感染管理制度培训
- 电影《白日梦想家》课件
- 2024年中职高考数学计算训练 专题10 解三角形的相关计算
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 电石(碳化钙)安全技术说明书
- 四川省会计师事务所服务收费标准
- 中国品牌授权行业发展环境、市场运行态势及投资前景分析预测报告
评论
0/150
提交评论