『壹』 跪求VFP高手进来解答
1.“SCAN ... ENDSCAN”命令是当前表中顺序移动记录指针,并对满足指定条件的每条记录执行“SCAN”与“ENDSCAN”之间的命令块。不打开表,自然就谈不上在 表中移动记录指针,并对记录执行命令了。 答案选择B是对的,但题目本身不严谨,因为:在VF,数据库与表是两个概念,表可以是属于某个数据库的“数据库表”,也可以是不属于任何数据库的“自由表”;执行“SCAN ... ENDSCAN”必须打开的是“表”,而不是“数据库”,例如,根本就不建立数据库,仅对一个当前打开的自由表也可以执行“SCAN ... ENDSCAN”。这个题目混淆了VF的“数据库”与“表”,应当改为“必须打开某一个表”。“书上的例子没有打开”可能是省略了USE 命令,但在解释命令时一定有“当前表”之类的限定。总之,只能对当前工作区打开的表执行“SCAN ... ENDSCAN”
2.“&”是执行宏替换的命令,它把内存变量和数组元素的内容作原字符串使用,它后面紧接的变量确实只能是字符型,但该变量在执行宏替换时,可以根据给该变量赋值时的书写格式,作为VF支持的各种数据类型使用。例如:执行已知X="134"后,&X 就是 134,&X+478 就是 134+478,两者结果完全一样(此时,虽然 X 本身是字符型变量,它的值是"134",但在执行 &X+478 时,用数值 134 取代 &X,即实际执行的是 134+478,结果是 612;如果写成 X="'134'" 或 X='"134"',则在执行 &X +478 时,用字符串 "134" 取代 &X,即实际执行的是 "134"+478,将发生“操作数类型不匹配”错误,得不到结果;要得到"134478"的结果,两条语句应该是先执行 X="'134'" ,再执行 &X +"478")
X 赋值格式 &X 的数据类型 &X 的等效表达
X="134" 数值型 134
X="'134'" 字符型 '134'
X="{^1999-11-25}" 日期型 {^1999-11-25}
X=".T." 逻辑型 .T.
……
『贰』 程序设计中常用的三种基本结构是什么
1 分别是顺序结构、循环结构和选择结构
2 分析
(1)顺序结构是最简单的一种
代码是从上往下一行版一行解析的
(2)循环结权构包含for,while,do while三种
其中for用于已知循环次数的情况
while和do while用于不知道循环次数的情况
(3)选择结构包含 if 和 switch 两种
if用于判断条件为范围的情况
switch用于判断条件为离散值的情况
3 代码示例
(1)顺序结构
puts("报数~");
printf("一 ");
printf("二 ");
printf("三 ");
(2)循环结构
for(;;){
}
while(condition){
}
do{
}while(condition);
(3)选择结构(由于其变体过多,这里只列举两个做示例)
if(condition){
}
else{
}
switch(n){
casevalue1:
break;
casevalue2:
break;
}
『叁』 vfp中怎么写分段给成绩等级的程序 用三种循环结构分别
For循环的代码:
set talk off
use 成绩
for i=1 to recc()
cj=平时成绩*0.2+考试成绩*0.8
do case
case cj>=90
dj="优"
case cj>=75
dj="良"
case cj>=60
dj="及格"
otherwise
dj="不及格"
endcase
repl 等级 with dj
skip
endfor
use
set talk on