有以下程序
int a=4;
int f(int n)
{ int t=0; static int a=5;
if(n%2) {int a=6; t+=a++;}
else {int a=7 ;t +=a++ ; }
return t+a++ ;
}
main( )
{ int s=a , i=0 ;
for( ; i 〈 2 ; i++) s+=f(i);
printf ("%d\n",s);
}
程序运行后的输出结果是
A)24
B)28
C)32
D)36
有以下程序
main()
{ int i,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2) s+=*(t+i);
printf(" % d\n",s);
}
程序执行后的输出结果是
A)45
B)20
C)25
D)36
2 0 .进行键盘输入的大小写转换的控制键是( ) 。
A .C a p s l o c k
B .S h i f t
C .N u m l o c k
D .A I t
有以下程序
main()
{int i,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}
程序执行后的输出结果是
A.45
B.20
C.25
D.36
有以下程序:
include<stdio.h>
main( )
{char s[]="012xy\O8s34f4w2‘;
int i;n=0; ,
for(i=0;s[i]!=0;i++)
if(s[i]>=0s[i]<=9)n++;
printf("%d\n",n);
}
程序运行后的输出结果是( )。
A.0
B.3
C.7
D.8
考查简单的C程序数组和循环。for循环是指i=0,如果s/[3]!=0,则i自动加1。if循环指的是s[i]中的元素大于等于0且小于等于9,则n加l,所以答案为B。
计算机等级考试二级VF上机题答案第一套一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)注意:基本操作题为4道S Q L题,请将每道题的S Q L命令粘贴到S Q L l.t x t文件,每条命令占一行,第1道题的命令是第1行,第2道题的命令是第2行,以此类推;如果某道题没有做相应行为空。在考生文件夹下完成下列操作:1 .利用S Q L S E L E C T命令将表st ock_sl.db f复制到st ock b k.db f;2 .利用S Q L I N S E R T命令插入记录(60 0 0 2 8”,4.36,4.60,550 0)到st ock_ b k.db f 表。3.利用S Q L UP D A T E命令将st ock_b k.db f表中 股票代码”为60 0 0 0 7的股票 现价 改为&8 8 o4.利用S Q L D E L E T E命令删除st ock.b k.db f表中 股票代码”为60 0 0 0 0的股票。本题的主要考核点:S Q L语句的使用。1、S E L E *F R O M st ock_sl I N T O D B F st ock_b k2、I N S E I N T O st ock_b k(股票代码,买入价,现价,持有数量)VA L U(60 0 0 2 8”,4.36,4.60,550 0)3、UP D A st ock b k S E T 现价=8.8 8 WH E R 股票代码=60 0 0 0 7”4、D E L E F R O M st ock b k WH E R 股票代码=60 0 0 0 0 三、综合应用(1小题,计30分)在考生文件夹下有学生成绩数据库X UE S H E N G 3,包括如卜.所示三个表文件以 及相关的索引文件:1、X S.D B F(学生文件:学 号C 8,姓 名C 8,性 别C 2,班 级C 5;另有索引文 件X S.I D X,索引键:学号)2、C J.D B F(成绩文件:学 号C 8,课 程 名C 2 0,成 绩N 5.1;另有索引文件 C J.I D X,索引键:学号)3、C J B.D B F(成绩表文件:学 号C 8,姓 名C 8,班 级C 5,课 程 名C 1 2,成绩 N 5.1)设计一个名为X S 3的菜单,菜单中有两个菜单项 计算 和退出程序运行 时,单击计算菜单项应完成下列操作:将所有选修了计算机基础”的学生的”计算机基础”成绩,按成绩由高到低的顺序填列到成绩表文件C J B.D B F中(事前须 将文件中原有数据清空)。单击 退出”菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下)本题的主要考核点:结构化查询语言(S Q L)中的联接查询、查询的排序、查询的去向等知识 解题思路:在本题中要想得到所有选修了”计算机基础”的学生的”计算机基础”成绩及学生 的姓名等信息,就需要用到联接查询。因为学生的姓名、班级在表X S.D B F中,而 学生的成绩在表C J.D B F中。而这两个表要联接起来可以通过学号 字段。有以下两种联接查询的形式:S E L E C T X S.学号,姓名,班级,课程名,成 绩F R O MX S.C J WH E R E X S.学号=C J.学 号A N D课程名=计算机基础”或 者S E L E C T X S.学 号,姓名,班级,课 程 名,成 绩F R O M X S L E F T J I O N C J O N X S.学号=C J.学 号WH E R E 课程名=计算机基础通过以上的联接瓷询便得到了所仃选修计算机基础 的学生的计算机基础”的 成 绩 及 学 生 的 姓 名 等 信 息。而 题 中 所 要 求 按 成 绩 的 降 序 排 序,所以应该在以 上S Q L语句的基础上加入:O R D E R B Y成 绩D E S C将查询所得到的结果放于一个数组变量AF i el d s V al ueW,要 用 到INT O AR R AY AF i el d s V al ue.至此 个完整的S Q L联 接 查 询 语 句 便 形 成 了:S E L E CT X S.学号,姓 名,班级,课程名,成 绩F R OM X S,CJ W H E R E X S.学号=CJ.学 号AND课程名=计算 机 基 础 OR D E R BY 成绩 D E S C INT O AR R AY AF i el d s V al ue清空CJ B.D BF将t ab l eNam e中的资料添加到已被清空的CJ B.D BF中INS E R T INT O CJ B F R OM AR R AY AF i el d s V al ue二、简 单 应 用(2小 题,每 题20分,计4 0分)1、在 考 生 文件夹下建立数据库s c2,将 考 生 文 件 夹 下 的 自 由 表s co r e2添加进 s c2中。根据s co r e2表 建 立 一个视图s co r e_ vi ew,视 图 中 包 含 的 字 段 与s co r e2表 相 同,但 视 图 中 只 能 查 询 到 积 分 小 于 等 于15 0 0的信息。然后利用新建立的视图 查 询 视 图 中 的 全 部 信 息,并将结果按积分升序存入表v2。2、建 立 一 个菜单f i l em en u,包括两个菜单项 文件 和 帮助,文件 将激 活 子 菜 单,该 子 菜 单 包 括 打 开 、存为 和 关闭三个 菜 单 项;关 闭”子菜单 项用S E T S Y S ME NU T O D E F AU L T命 令 返 回 到 系 统 菜 单,其 他 菜 单 项 的 功 能 不 做 要 求。第1题,本 题 的 主 要 考 核 点 是 视 图 的 建 立。在项目管理器”中选择一个数据库,选择 本地视图”,然 后 选 择 新 建 按 钮,打 开 视 图 设 计 器 选 择 所 有 字 段,在“筛 选”栏 内 输 入 条 件 积 分 =15 0 0”,关闭并 保 存。在 数 据 库 设 计 器 中 打 开 视 图,用s o r t o n积 分t o v 2命 令 存 入 新 表。第2题,本 题 的 主 要 考 核 点 是 菜 单 的 建 立。新建菜单可按卜一列步骤:选 择“文件 菜 单 中 的 新 建 命 令,在 新 建”对 话 框 中 选 择 菜 单 ,单 击 新 建 文 件 按 钮。在 新建菜单”对 话 框 中 选 择“菜 单 按 钮,调出”菜 单 设 计 器”。也可用CR E AT E ME NU 命 令 直 接 调 出 菜 单 设 计 器。在 菜 单 名 称 中 填 入“文 件 、帮助,文件 结果为子 菜 单,单 击 编 辑;在 子 菜 单的菜单名称中输入“打 开 、”存为、关闭,关闭”结果为命令 S E T S Y S ME NU T O D E F AU L T”。第二套一、基 本 操 作 题(共4小 题,第1和2题是7分、第3和4题是8分)在 考 生 文 件 夹 下 完 成 下 列 操 作(在成绩管理”数 据库中完成):1.为“学生表在 学号”字段上建立升序主索引,索 引 名 为 学 号;2.为学生 表 的 性别 字段定义有效性规则,规 则 表 达 式 为 性 别$男女 出错 提 示 信 息 是:性别必须是男或女3 .在“学生 表的 性别 和 年龄 字段之间插入一个“出生日期”字 段,数据类型 为“日 期 型 (修改表结构);4 .用SQ L的U P D A T E命令将学生王三风”的 出 生 日 期 修 改 为1 983年5月1日,并将该 语句粘贴在SQ L 2.T X T文 件 中(第 一 行、只 占 一 行)本 题 的 主 要 考 核 点:主 索 引 的 建 立、字 段 有 效 规 则 的 建 立,表 结 构 的 更 改,SQ L语 言 的 使 用。解题思路:1.在表设计器中的索引页面建立索引。2、建立有效性规则在表设计器中的字段选项卡。在规则栏中输入“性别$男女 ”,提示信息栏输入性别必须是男或女”(不要双引号)。4.SQ L语句的用法U P D A学 生SE T出生日期=,1 983/0 5/0 1 W HE R姓名=王三风三、综合应用(1小题,计3 0分)在考生文件夹下有仓库数据库C K 3,包括如下所示两个表文件:C K(仓库号C(4),城市C(8),面积N(4)Z G(仓库号C(4),职工号C(4),工资N(4)设计一个名为Z G3的菜单,菜单中有两个菜单项 统计 和 退出。程序运行时、单击 统计”菜单项应完成卜.列操作:检索出所有职工的工资都大于1 2 2 0元的职 工所管理的仓库信息,将结果保存在w h l数据表(W H1为自由表)文件中,该文件的 结构和C K数据表文件的结构一致,并按面积升序排序。单击”退出菜单项,程序 终止运行。(注:相关数据表文件存在于考生文件夹下)本题主要考核点:菜单的建立、结构化杳询语言(SQ L)中的嵌套查询、查询结果的去向等知识。解题思路:利用菜单设计器定义两个菜单项,在菜单名称为“统计”的菜单项的结果列中选择“过程,并通过单击 编辑 按钮打开一个窗中来添加“统计”菜单项要执行的命 令。在菜单名称为 退出”的菜单项的结果列中选择 命令,并在后面的“选项 列中输入以下退出菜单的命令:SE T SY SM E N U T O D E F A U L T 统计 菜单项要执行的程序:首先中打开数据库文件O P E N D A T A B A SE C K 3.D B C卜 面我们分析所要用到的查询语句的实现,题面要求 检索出所有职工的工资都 大于1 2 2 0的职工所管理的仓库信息“,所以得到满足以上条件的仓库号成为解答 本题的关键。“所有职工的工资都大于1 2 2 0的职工所管理的仓库”这个条件可以将 其分解为同时满足以下两个条件的结果“仓库号不存在于职工的工资小于等于 1 2 2 0的职工所管理的仓库号中并且”仓库号存在于表ZG中,而以上两个条件我 们可以利用SQL轻松写出来。所以最后形成的查询语句以下:SE LE C T*F ROM C K WHE RE 仓库号 NOT IN(SE LE C T 仓库号 F ROM ZG WHE RE 工资=1 2 2 0)A ND 仓库 号 IN(SE LE C T 仓库号 F ROM ZG)INTO TA B LE w h l.d bf.后面的INTO TA B LE w h l.d bf决定了查询的结果是生成一个w h l.d bf文件。本题还考对查询的排序和查询的去向进行了考核.可以用ORD E R B Y o r d e r _It e m A SC l D E SC 来让查询的结果按某一列或某几列的、升序(A SC)或 降 序(D E SC)进 行排列。而查询的去向可以通过INTO TA B LE s t r Tabl e Nam e而直接生成一个文件 名为s t r Tabl e Nam e的.D B F表。二、简单应用(2小题,每题2 0分,计4 0分)1 根据考生文件夹下的t xl表和j s h表建立一个查询q u e r y2,查询出单位是 南京大学”的所有教师的姓名、职称、电话,要求查询去向是表,表名是 q u e r y2.d bf,并执行该查询。2、建立表单e n t e r f,表单中有两个命令按钮,按钮的名称分别为c m d i n和 c m d o u t,标题分别为进入和退出。第1题,本题的主要考核点是建立查询。建立查询可以使用“文件”菜单完成,选择文件一新建一查询一新建文件,将t xl和j s h添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的 查询去向,选择表,输入表名q u e r y2.D B F。最后运行该查询。第2题,本题的主要考核点是表单的建立。可以用三种方法调用表单设计器:在项目管理器环境下调用;单击“文件”菜单中 的“新建”,
以下程序段:
Functionjishu1(x!,eps#)AsDouble
Dimn%,s#,t#
n=1:s=0:t=1
DoWhile(Abs(t)>=eps)
s=s+t
t=t*x/n
n=n+1
Loop
jishu1=s
EndFunction
Subjishu2(s#,x!,eps#)
Dimn%,t#
n=1:s=0:t=1
DoWhile(Abs(t)>=eps)
s=s+t
t=t*x/n
n=n+1
Loop
EndSub
PrivateSubCommand1_Click()
Dimf1#,f2#
f1=jishu1(2#, 0.000001)
Calljishu2(f2,2#,0.000001)
Print"f1=";f1,"f2=";f2
EndSub
对程序说法正确的是( )
A.计算jishu1是调用子过程,而计算jishu2是调用函数
B.当程序运行单击命令按钮后,窗体中显示的f1和f2的结果不相同
C.当程序运行单击命令按钮后,窗体中显示的f1和f2的结果相同
D.以上说法都不正确
有以下程序: #include<string.h> int a=4; int f(int n) {int t=0;static int a=5; if(n%2) {int a=6;t++=a++;} else{int a=7;t+=a++;} return t+a++; } main() {int s=a,i=0; for(;i<2;i++)s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。
A.24
B.28
C.32
D.36
函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t时返回正值,当s<t时返回负值,请填空。mycmp( char *s,char *t){ while (*s==*t) { if (*s==’\0’)return 0; ++s;++t; } return();}
有以下程序
#include<stdio.h>
main()
{char s[]=“012xy\08s34f4w2”;
int i,n=0:
for(i=0;s[i]!=0;i++)
if(s[i]>=‘0’&&s[i]<=‘9’)n++:
printf(“%d\n”,n):
}
程序运行后的输出结果是
A.0
B.3
C.7
D.8
以下不能将s所指字符串正确复制到t所指存储空间的是( )。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);