计算机二级上机试题
“aimin”通过精心收集,向本站投稿了12篇计算机二级上机试题,以下是小编为大家准备的计算机二级上机试题,供大家参考借鉴,希望可以帮助到有需要的朋友。
篇1:计算机二级考试C++上机考试试题
计算机二级考试C++上机考试试题
一、程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。
程序异常,输出信息为
error
O
ERROR
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include intmain { try { throw(“error”); } //********error******** catch(chars) { cout< } try { throw((int)0); } //********error******** catch() { cout< } try { throw(O); throw(“error”); } //********error******** catch() { cout<<“ERROR”< } return0; } 二、简单应用题使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请补充完整程序fun(inti),使其完成以下功能:如果i=5,则输出如下5行#号。 # ## ### #### ##### 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include voidfun(inti) { } intmain() { fun(5); return0; } 三、综合应用题使用VC++6.0打开考生文件夹下的源程序文件3.cpp。程序通过继承关系,实现对姓名的控制。类TC1实现对名字访问的接口,TC2实现对名字的设置和输出。 程序输出为 TC2Name May 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)在类TCl中定义接口函数GetName为纯虚函数。请在注释1后添加适当的.语句。 (2)函数GetName2用于获得名字的缓存,但只获得允许读操作这个缓存,请在注释2后添加适当的语句。 (3)实现TC2的构造函数,请在注释3后添加适当的语句。 (4)完成TC2的构造函数,实现对名字的处理。请在注释4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include classTC1 { public: //********1******** }; classTC2:publicTCl { public: voidGetName() { cout<<“TC2Name”< } //********2******** { returnm_str; } //********3******** { inti: for(i=0;str[i]!=0;i++) m_str[i]=str[i]; //********4******** } private: charm_str[32]; }; voidmain() { TCl*P; TC20bj1(“May”); p=&objl; p->GetName(); cout< return; } 一、程序改错题(1)应改为“catch(char*s)”。 (2)应改为“cateh(inti)”。 (3)应改为“catch(…)”。 【解析】本题中第1个标识前的异常抛出语句为“throw(“error”);”,其中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语句修改为“catch(char*S)”。第2个标识前的异常抛出语句为“throw((int)0);”,其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类型,那么就用删节号“…”表示它可以捕捉任何类型的异常信息,即修改为“catch(…)”。 二、简单应用题for(intj=0;j(i;j++)//行循环 { for(intk=0;k<=j;k++)//列循环 cout<<“#”;//输出“#” cout< } 【解析】本题首先利用for循环进行外层循环,输出对应的i行,然后利用for循环进行内层循环,输出对应i行的i列。 三、综合应用题(1)应添加“virtualvoidGetNamt!()=0;”。 (2)应添加“constchar*GetName2()”。 (3)应添加“TC2(char*str)”。 (4)应添加“m_str[i]=0;”。 【解析】本题第1处要求“在类TC1中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtualvoidGetName()=0;”。第2处要求“函数GetName2实现获得名字的缓存,但只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,所以使用常成员函数,其一般形式为“const函数类型函数名”,即“constchar*GetName2()”。第3处要求“实现TC2的构造函数”。TC2的构造函数与类TC2的名称应该相同,而且第3处的大括弧中是对字符数组str的操作,所以类TC2的构造函数中的参数为str,即这里补全为“TC2(char*str)”。第4处要求“完成TC2的构造函数,实现对名字的处理”,补全类TC2的构造函数,构造函数中的名字变量str对应于类TC中的成员变量m_str,所以这里补全变量赋值操作“m_str[i]=0;”。 20全国计算机等级考试二级vfp全真上机试题解析 第1题: 1. 建立菜单query_menu。该菜单只有“查询”和“退出”两个主菜单项(条形菜单), 其中单击菜单项“退出”时,返回到vfp系统菜单(相应命令写在命令框中,不要 写在过程中)。 2. 将course表的“开课系部”字段名改为“开课单位”,其余不变。 3. 从数据库score_manager中移去表temp2.dbf(不是删除)。 4. 将score1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高 到低排序,排序结果存入表new_order。 本题主要考核点: 菜单的建立、字段改名、数据库表的逻辑删除、表的排序及查询去向等知识点 本题解题思路: 第1题:本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用create menu命令直接调出菜单设计器。在菜单名称中填入“查询”、“退出”,“退出”结果为命令“set sysmenu to default”。 第2题:本题的主要考核点是字段的改名。 打开course表表设计器,将光标移动到“开课系部”字段格中,将其改为“开课单位”。 第3题:本题的主要考核点是数据库表的逻辑删除。 打开考生文件夹下的“ score_manager ”数据库,在“ score_manager ”数据库设计器中,选中“temp2”表,点击主菜单“数据库”下的“移去”,在弹出的对话框中点击“移去”按钮,在随后弹出的对话框中点击“是”按钮,至此便完成了“从数据库”score_manager“中移去表temp2(不是删除)”的操作。 第4题:本题的主要考核点是表的排序知识,查询去向。 select * from score1 order by 学号,成绩 desc into table new_order 第2题: 1. 在score_manager数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表new_table中, 表中只有一个字段,字段名为学生人数。 2. 在score_manager数据库中查询没有学生选修的课程,查询结果含“课程名”和“开课单位”字段,结果按课程名升序保存在一个新表new_table2中(注意:字段名“开课单位”是在基本操作中根据“开课系部”修改后的字段名)。 本题主要考核点:本题的主要考核点是sql查询语句的使用,查询去向等知识点。 本题解题思路:第1题: 本题可以通过新建一个程序来实现统计,相关代码如下所示: select student.姓名; from course inner join score1; inner join student ; on student.学号 = score1.学号 ; on course.课程号 = score1.课程号; where course.课程号 = score1.课程号; group by student.姓名; into cursor temp select count(姓名) as 学生人数 from temp; into table new_table 第2题:本题的主要考核点是sql查询语句的使用。 select course.课程名, course.开课单位; from course left outer join score1; left outer join student ; on student.学号 = score1.学号 ; on course.课程号 = score1.课程号; where course.课程号 !=score1.课程号; order by course.课程名; into table new_table2.dbf 第3题: score_manager数据库中含有三个数据库表student、score1和course。 为了对score_manager数据库数据进行查询,设计一个表单myform3(控件名为form1,表单文件名为myform3)。表单标题为“成绩查询”;表单有“查询”(名称为command1)和“退出”(名称为command2)两个命令按钮。表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课程名”和“最高分”字段,结果按课程名升序保存在表new_table3。 单击“退出”按钮,关闭表单。 本题主要考核点: 表单文件的创建、控件的属性的修改、sql语句运用、表单的退出等知识点 本题解题思路: 第一步:在visual foxpro主窗口中按下组合键ctrl+n,系统弹出“新建”对话框,在文件类型中选择“表单”,点击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入 crea form myform3。 第二步:点击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”工具栏中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件command1,用同样的方法为表单再加入一个“命令按钮”控件command2; 相关控件的属性值如下: 对象 属性 属性值 form1 caption 成绩查询 command1 caption 查询 command2 caption 退出 ****命令按钮command1(查询)的click事件代码如下**** select course.课程名, max(score1.成绩) as 最高分; from course inner join score1; inner join student ; on student.学号 = score1.学号 ; on course.课程号 = score1.课程号; group by course.课程名; into table new_table3 ****命令按钮command2(退出)的click事件代码如下**** thisform.release 第4题: 1. 打开数据库score_manager, 该数据库中含三个有联系的表student、score1 和course, 根据已经建立好的索引, 建立表之间联系。 2. 为course表增加字段:开课学期(n,2,0)。 3. 为score1表“成绩”字段设置字段有效性规则: 成绩>=0,出错提示信息是: “成绩必须大于或等于零”。 4. 将score1表“成绩”字段的默认值设置为空值(null)。 本题主要考核点:为已建立索引的表建立联系、设置字段的默认值、字段的添加、字段有效性的设置等知识点 本题解题思路: 第1题:本题的主要考核点是建立两个表之间永久联系。 在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。 第2题:本题的主要考核点是字段的添加的方法。 打开course表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。 第3题:本题的主要考核点是字段有效性的设置。 在表设计器中,选中“成绩”字段,在“字段有效性”中的“规则”文本框中填入: 成绩>=0,在“信息”文本框中中填入“成绩必须大于或等于零”,单击确定。 第4题:本题的主要考核点是字段默认值的设置。 在表设计器对话框中,选择“成绩”字段,点击null列下的按钮(表示此列允许空值),然后再在“字段有效性”中的默认值中填入.null.,单击确定。 第5题: 1. 在score_manager数据库中查询学生的姓名和年龄(计算年龄的公式是:-year(出生日期),年龄作为字段名),结果保存在一个新表new_table1中。使用报表向导建立报表new_report1,用报表显示new_table1的内容。报表 中数据按年龄升序排列,报表标题是“姓名-年龄”,其余参数使用缺省参数。 2. 在score_manager数据库中查询没有选修任何课程的学生信息,查询结果包括“学号”、“姓名”和“系部”字段,查询结果按学号升序保存在一个新表new_table2中。 本题主要考核点: 本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用等知识点 本题解题思路: 第1题:本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用。 select 姓名, 2003-year(出生日期) as 年龄; from student; into table new_table1.dbf 启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。 第2题:本题的主要考核点是sql查询语句的使用。 select student.学号, student.姓名, student.系部; from course right outer join score1; right outer join student ; on student.学号 = score1.学号 ; on course.课程号 = score1.课程号; where student.学号 != score1.学号 ; order by student.学号; into table new_table2.dbf 第6题: 1. 用sql语句完成下列操作: 将选课在5门课程以上(包括5门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)。 2. 建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项“查询”和“退出”。“查询”项下还有一个子菜单,子菜单有“按姓名”和“按学号”两个选项。在“退出”菜单项下创建过程,该过程负责使程序返回到系统菜单。 本题主要考核点:sql查询语句的使用,查询去向、下拉式菜单的建立等知识点 本题解题思路: 第1题:本题的主要考核点是sql查询语句的使用,查询去向。 select 学生.学号, 学生.姓名, avg(选课.成绩) as平均分,; count(选课.课程号) as 选课门数; from 学生!学生 inner join 学生!选课; inner join 学生!课程; on 课程.课程号 = 选课.课程号; on 学生.学号 = 选课.学号; group by 学生.姓名; having count(选课.课程号)>=5; order by 3 desc; into table stu_temp.dbf 第2题:本题的主要考核点是菜单的建立。 新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用create menu命令直接调出菜单设计器。在菜单名称中填入“查询”、“退出”,“查询”结果为子菜单,单击编辑;在子菜单的菜单名称中输入“按姓名”、“按学号”,“退出”结果为过程,单击编辑,填入“set sysmenu to default”(不要引号)。 第7题: 设计名为mystock的表单(控件名,文件名均为mystock)。表单的标题为:“股票持有情况”。表单中有两个文本框(text1和text2)和两个命令按钮“查询” (名称为command1)和“退出”(名称为command2)。 运行表单时,在文本框text1中输入某一股票的汉语拼音,然后单击“查询”,则text2中会显示出相应股票的持有数量。 单击“退出”按钮关闭表单。 本题主要考核点: 表单的创建、控件的属性的修改、表单的退出、sql查询等知识点 本题解题思路: 第一步:在visual foxpro主窗口中按下组合键ctrl+n,系统弹出“新建”对话框,在文件类型中选择“表单”,点击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入crea form mystock。 第二步:点击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”对话框中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件command1,用类似的方法为表单加入一个“命令按钮”控件command2,二个“文本框”控件text1和text2。 相关控件的属性值如下表所示: 对象 属性 属性值 form1 name mystock caption 股票持有情况 command1 caption 查询 command2 caption 退出 ***命令按钮command1(查询)的click事件代码如下**** select stock_sl.持有数量; from stock!stock_name inner join stock!stock_sl ; on stock_name.股票代码 = stock_sl.股票代码; where stock_name.汉语拼音 = alltrim(thisform.text1.value); into array temp thisform.text2.value=temp ***命令按钮command2(退出)的click事件代码如下*** thisform.release 第8题: 1. 使用报表向导建立一个简单报表。要求选择客户表customer中所有字段;记录不分组;报表样式为随意式;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“会员号”,升序;报表标题为“客户信息一览表”;报表文件名为 myreport。 2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自customer表)、姓名(来自customer表)、客户所购买的商品名(来自article表)、单价(来自orderitem 表)、数量(来自orderitem表)和金额(orderitem.单价 * orderitem.数量),结果按会员号升序排序。 本题主要考核点: 报表向导的使用,用命令建立视图等知识点 本题解题思路: 第1题:本题的主要考核点是使用报表向导制作报表。 启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。 第2题:本题的主要考核点是用命令建立视图。 crea view sb_view select customer.会员号, customer.姓名, article.商品名, orderitem.单价,; orderitem.数量, orderitem.单价 * orderitem.数量 as 金额; from ecommerce!customer inner join ecommerce!orderitem; inner join ecommerce!article on article.商品号 = orderitem.商品号 ; on customer.会员号 = orderitem.会员号 order by customer.会员号 第9题: 1. 打开ecommerce数据库,并将考生文件夹下的自由表orderitem添加到该数据 库。 2. 为orderitem表创建一个主索引,索引名为pk,索引表达式为“会员号+商品号”; 再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是 “会员号”;另一个的索引名和索引表达式均是“商品号”。 3.通过“会员号”字段建立客户表customer和订单表orderitem之间的永久联系( 注意不要建立多余的联系)。 4.为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为 “限制”;插入规则为“限制”。 本题主要考核点: 将一个自由表添加到数据库中、表索引的建立、表之间的永久联系的建立、参照完整性约束的编辑等知识点 本题解题思路: 第1题:打开考生文件夹下的“ecommerce”数据库,打开数据库菜单选择“添加表(a)”,在弹出的“打开”对话框中,选定考生文件夹下的orderitem表,再点击“确定”即可,这样表order_detail就添加到了“ecommerce”数据库中。 第2题:在数据库设计器中选中表orderitem,在主菜单中选择“修改(y)”,弹出表设计器,选择表设计器“索引”标签,在索引名列中填入“pk”,在索引类型列中选择“主索引”,在索引表达式列中填入“会员号+商品号”,用同样的方法再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是“会员号”;另一个的索引名和索引表达式均是“商品号”点击“确定”按钮,保存表结构。 第3题:在数据库设计器中,选中customer表中的索引“会员号”并拖动到表orderitem的“会员号”的索引上并松开,这样两个表之间就建立起了永久联系。 第4题:在第3题建立好永久联系之后,在两处表的“会员号”索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择“数据库”中的“编辑参照完整性(i)”,系统弹出“参照完整性生成器”对话框,在“更新规则”标签中,选择“级联”规则,在“删除”规则中选择“限制”,在“插入规则”中选择“限制”,单击“确定”保存所编辑的参照完整性。 第10题: 1. modi1.prg 程序文件中 sql select语句的功能是查询哪些零件(零件名称)目前用于三个项目, 并将结果按升序存入文本文件 results.txt。 给出的sql select 语句中在第 1、3、5 行各有一处错误,请改正并运行程序(不可以增、删语句或短语,也不可以改变语句行)。 2.根据项目信息(一方)和使用零件(多方)两个表、利用一对多报表向导建立一个报表,报表中包含项目号、项目名、项目负责人、(联系)电话、(使用的)零件号和数量等6个字段,报表按项目号升序排序,报表样式为经营式,在 总结区域(细节及总结)包含零件使用数量的合计,报表标题为“项目使用零件信息”,报表文件名为report。 本题主要考核点:vfp命令,报表向导的使用等知识点 本题解题思路: 第1题:本题是一个程序修改题。第一处错误select 零件名称 from 零件信息 where 零件号 =,应改为select 零件名称 from 零件信息 where 零件号 in;第二处错误为group by 项目号 having count(项目号) = 3),应改为group by 零件号 having count(项目号) = 3);第三处错误为in file results,应改为to file results 第2题:本题的主要考核点是使用报表向导制作报表。 启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。 (34)某人设计了下面的函数fun,功能是返回参数a中数值的位数 Function fun(a As Integer) As Integer Dim n% n = 1 While a \ 10 >= 0 n = n + 1 a = a \ 10 Wend fun = n End Function 在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是 A)把语句n = 1改为n = 0 B)把循环条件a \ 10 >= 0改为a \ 10 >0 C)把语句 a = a \ 10改为a = a Mod 10 D)把语句fun = n改为 fun = a (35)在窗体上有一个名称为Check1的复选框数组 (含4个复选框),还有一个名称为Text1的文本 框,初始内容为空。程序运行时,单击任何复选 框,则把所有选中的复选框后面的方字罗列在文 本框中(见图)。下面能实现此功能的事件过程是 A)Private Sub Check1_Click(Indes As Integer) Text1.Text =“” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 End If Next k End Sub B)Private Sub Check1_Click(Index As Integer) For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 End If Next k End Sub C)Private Sub Check1_Click(Index As Integer) Text1.Text = “” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(Index).Caption & “ ” '双引号中是空格 End If Next k End Sub D)Private Sub Check1_Click(Index As Integer) Text1.Text = “” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 Exit For End If Next k End Sub 二、填空题(每空2分,共30分) 请将每空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。 (1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】 。 (2)在两种基本测试方法中,【2】 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。 (3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】 存储结构。 (4)对下列二叉树进行中序遍历的结果为【4】 。 (5)在E-R图中,矩形表示【5】 。 (6)窗体上有一个组合框,其中已输入了 若干个项目。程序运行时,单击其中一 项,即可把该项与最上面的一项交换。 例如:单击图1中的“重庆”,则与“北 京”交换,得到图2的结果。下面是可 实现此功能的程序,请填空。 Private Sub Combo1_Click Dim temp temp = Combo1.Text [6] = Combo1.List(0) Combo1.List(0) = temp End Sub (7)设窗体上有一个名称为HScroIII的水平滚动条,要求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。下面是可实现此功能的程序,请填写。 Dim [7] As Integer Private Sub Form_Load() pos=HScroIII.value End Sub Private Sub HScroIII_Change() Print [8] -pos pos=HScroIII.value End Sub (8)设窗体上有一个名称为CD1的通用对话框,一个名称为Text1的文本框和一个名称为Command1的命令按钮。程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Text1中。下面是实现此功能的事件过程,请填空。 Private Sub Command1_Click() CD1.Filter =“文本文件1*.txt(Word 文档)*.doc” CD1.Filterinder = 1 CD1.ShowOpen If CD1.FileName“”Then Open [9] For Input As #1 Line Input #1,ch$ Close #1 Text1.Text = [10] End If End Sub (9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。 Private Sub Command1_Click() Dim x As Integer x=InputBox(“请输入一个正整数”) While x>__[11]___ Print x Mod 10; x=x\10 Wend Print__[12]__ End Sub 常用算法 熟练地掌握算法原理、编程思想和代码实现,就能够做到举一反三,轻松备考,顺利过关。 1.累加与连乘 基本思想:设置初值,循环计算。 扩展: (1)计算指定范围内某一个数的倍数之和。 (2)计算某范围内所有数的乘积。 (3)求某一个数列的和。 2.生成N个不同的随机数 基本思想:将生成的数送入一个数组,每生成一个数后与数组中已有的数比较,如相同则丢弃,重新生成可使用语句Exit For。 3.求素数、极值 求素数基本思想:素数的意义;实现方法:双重循环,外循环判断每一个数,内循环判断能否被某数整除。 求极值基本思想:设第一个数为极值数,然后进入循环与其比较,超过则替换。 4.排序 (1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。 (2)冒泡法:两两比较后交换。 (3)合并法:将两个有序的数组合并成一个仃序的数组。两个数组中的数两两比较,小者放入目标数组,直到.个数组为窄。 (4)插入法:每输入或生成一个数马上插入到数组中使其有序。 5.数列的插入、删除和重组 (1)插入:对原数组进行扩充,循环查找插入位置(逐个比较),找到后,从后向前依次移动每一个数字,直到该位置,然后将数据插入。 (2)删除:与插入类似,也是先查找位置,找到后,将该位置以后的每一个元素依次前移。 (3)重组:采用排序或移动元素的思想,具体情况具体分析,如奇偶数的分开等。 6.穷举与递推 (1)穷举:利用循环将所有可能逐个测试,直到条件成立为止,如百钱买百鸡问题、钱币折零问题等。 (2)递推(迭代):将一个复杂的计算过程转化为简单过程的重复,通常也是利用循环实现,这一次计算的结果作为下一次的变量继续进行计算,直到满足指定的条件,如猴子吃桃问题、计算近似数问题、数列计算问题等。 7.顺序查找 基本思想:利用循环逐个比较待查找值,找到后退出,一般要使用Exit语句。 8.递归 基本思想:需要解决的问题必须用递归的方式进行描述,才能转变为递归过程,原则上所有的迭代过程都可以使用递归 过程来实现。递归描述有两个关键要素:一是递归结束的条件;二是迭代公式(此次的结果能够作为下一次的变量)。 递归过程的分析:递推n次直到结束条件满足,回归n次得到运算结果。 典型递归:阶乘的计算1!=1,n!=n*(n-1)! 最大公约数gcd(m,n):m mod n=0,gcd=n;gcd(m,n)=gcd(n,m mod n) 二分法查找search:中点值=关键值,结束;改变low、high后,递归调用search(a0,low,high,key,index)。 9.分类统计 统计各种类型的数据,如字母出现的次数、奇偶数统计等。基本思路是掌握分类条件的表示,设置各种类型的计数器(可以用数组),利用循环来解决。 10.字符串处理、加密与解密 字符串处理:输入(inputbox函数或文本框)、求长度(1en函数,汉字问题)、循环处理。典型考点:分离指定字符、分类统计、字符串的重组、字符的插入与删除等。 加密与解密:理解加密算法(移位法、密钥表)。 整型数据的处理:各位数字的拆分;数的因子;最大公约数gcd(m,n)=a与最小公倍数m*n/a;素数与合数;互质数(两个数的最大约数为1,两个数有公因子)。 1.计算机二级vb上机题库 2.20计算机二级VB上机考试答题攻略 3.年计算机二级VB上机考试答题技巧 4.计算机二级《VB》的常用算法 5.计算机二级VB强化试题及答案 6.计算机二级vb练习题 7.计算机二级VB考试题精选及答案 8.计算机二级VB考试答题技巧 9.计算机二级考试VB程序设计复习试题 10.计算机二级VB考试题 常用算法 熟练地掌握算法原理、编程思想和代码实现,就能够做到举一反三,轻松备考,顺利过关。 1.累加与连乘 基本思想:设置初值,循环计算。 扩展: (1)计算指定范围内某一个数的倍数之和。 (2)计算某范围内所有数的乘积。 (3)求某一个数列的和。 2.生成N个不同的随机数 基本思想:将生成的数送入一个数组,每生成一个数后与数组中已有的数比较,如相同则丢弃,重新生成可使用语句Exit For。 3.求素数、极值 求素数基本思想:素数的意义;实现方法:双重循环,外循环判断每一个数,内循环判断能否被某数整除。 求极值基本思想:设第一个数为极值数,然后进入循环与其比较,超过则替换。 4.排序 (1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。 (2)冒泡法:两两比较后交换。 (3)合并法:将两个有序的数组合并成一个仃序的数组。两个数组中的数两两比较,小者放入目标数组,直到.个数组为窄。 (4)插入法:每输入或生成一个数马上插入到数组中使其有序。 5.数列的插入、删除和重组 (1)插入:对原数组进行扩充,循环查找插入位置(逐个比较),找到后,从后向前依次移动每一个数字,直到该位置,然后将数据插入。 (2)删除:与插入类似,也是先查找位置,找到后,将该位置以后的每一个元素依次前移。 (3)重组:采用排序或移动元素的思想,具体情况具体分析,如奇偶数的分开等。 6.穷举与递推 (1)穷举:利用循环将所有可能逐个测试,直到条件成立为止,如百钱买百鸡问题、钱币折零问题等。 (2)递推(迭代):将一个复杂的计算过程转化为简单过程的重复,通常也是利用循环实现,这一次计算的结果作为下一次的变量继续进行计算,直到满足指定的条件,如猴子吃桃问题、计算近似数问题、数列计算问题等。 7.顺序查找 基本思想:利用循环逐个比较待查找值,找到后退出,一般要使用Exit语句。 8.递归 基本思想:需要解决的问题必须用递归的方式进行描述,才能转变为递归过程,原则上所有的迭代过程都可以使用递归 过程来实现。递归描述有两个关键要素:一是递归结束的条件;二是迭代公式(此次的结果能够作为下一次的变量)。 递归过程的分析:递推n次直到结束条件满足,回归n次得到运算结果。 典型递归:阶乘的计算1!=1,n!=n*(n-1)! 最大公约数gcd(m,n):m mod n=0,gcd=n;gcd(m,n)=gcd(n,m mod n) 二分法查找search:中点值=关键值,结束;改变low、high后,递归调用search(a0,low,high,key,index)。 9.分类统计 统计各种类型的数据,如字母出现的次数、奇偶数统计等。基本思路是掌握分类条件的表示,设置各种类型的计数器(可以用数组),利用循环来解决。 10.字符串处理、加密与解密 字符串处理:输入(inputbox函数或文本框)、求长度(1en函数,汉字问题)、循环处理。典型考点:分离指定字符、分类统计、字符串的重组、字符的插入与删除等。 加密与解密:理解加密算法(移位法、密钥表)。 整型数据的处理:各位数字的拆分;数的因子;最大公约数gcd(m,n)=a与最小公倍数m*n/a;素数与合数;互质数(两个数的最大约数为1,两个数有公因子)。 计算机二级C语言试题有哪些呢?下面一起来看看~ 用win7系统用什么练习编写c语言? 答:windows上就用微软的Visual Studio挺好的。 主页君专攻c语言? 答:不是,基本是工作项目中需要什么就学什么,但业余时间练练算法时还是习惯用c来写。 主页君,我想做网页,能告诉我从哪几个角度入手吗? 答:纯网页的话,最基本的html+css布局,javascript做交互脚本,如果是整个网站,还要做后端,php/python/java都可以,数据库mysql。 主页君,不知你会看见我的留言吗?一直想问你身边女编程人员多吗? 答:大家的留言我都能看见。女编程人员,这个名字好怪,还是叫做软件开发工程师妹子吧,就我呆过的一些环境来看,比例很低,差不多1/5。 我要看数据结构与算法。 答:今后会考虑做这个方向,但确实要花时间,敬请期待。 你要是在优酷上做视频就好了。 答:感谢支持,我不是大牛,纯业余时间跟大家交流,确实拿不出来时间跟精力做视频,不好意思了。 最后还是把昨天的答案放上来,也算有始有终 CABBD (12)以下选项中,能用作用户标识符的是 A)void B)8_8 C)_0_ D)unsigned 答案:C,void和unsigned都是保留字,变量名不能以数字开头,故8_8也不行 (13)阅读以下程序 #include main { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f\n”,case,printF); } 该程序编译时产生错误,其出错原因是 A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值 答案:A,原因答案里已经说了,这题没啥意思,实际工程中用不到,纯概念。 (14)表达式:(int)((double)9/2)-(9)%2的值是 A)0 B)3 C)4 D)5 答案:B,(double)9/2是4.5,(int)((double)9/2)是4,(9)%2是1,两者之差是3。 (15)若有定义语句:int x=10;,则表达式x-=x+x的值为 A)-20 B)-10 C)0 D)10 答案:B,原表达式等于 x= x - (x+x)= 10 - (10 + 10) = -10。 (16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d\n”,a=2*b); } 程序运行后的输出结果是 A)0,0 B)1,0 C)3,2 D)1,2 答案:D,printf打印的是表达式计算后的值。 省二级计算机考试试题 一、word文档编辑与排版 1.在 D 盘根目录下新建以自己班级+姓名命名的文件夹。 2.录入以下文档: 3.设置样式,第一行标题设置为标题 1,一号字体;其他设置为正文四号字体。 4.设置字体:第一行标题为华文新魏;正文为华文楷体,“营业厅地址”五个字为黑体。 5.设置字形:第一行标题加粗,第三行加粗。6.设置对齐方式:第一行标题居中,第二行右对齐。 7.设置段落缩进:段落首行缩进 2 字符,其他按样文缩进。 8.设置段落间距:第二段段前、段后各 1 行。正文行距为固定值 20 磅。 9.按样文设置项目符号与编号。 10.页面设置:设置纸张为 A4,设置页边距上下各 2cm,左右各 3cm。 11.设置页眉页脚:为该通知单添加页眉“缴费通知”,小五号字体,居中。 12.插入如样文所示的图片,并设置图片高 0.3cm,宽 16cm。 13.如样文所示,为文字设置绿色底纹。 14.文中 A、C 两项,请分别使用“邮件合并”从下题目“excel 操作” 中的 Sheet1 中的“姓名”与“编号”字段获取。 15.文中 B 项请根据插入的 A 项的性别分别选择显示“先生”或“女士”。 16.将该文档以“word 操作”保存到自己新建的文件夹中。 17.在文章末尾添加一 3 行 5 列表格,将表格设置为表格自动套用格式“列表 8”。 二、电子表格格式编辑与数据处理 1.新建工作薄“excel 操作”保存到你建立的.文件夹中,输入“Sheet1” 工作表内容如下表所示。其中,“班级”使用数据有效性设置选择输入列表。 2.为工作表中的各科成绩设置数据有效性检查,要求输入的成绩介于 40 到 100 之间,合理设置“输入信息”和“出错信息”。3.将表格总分列的对齐方式设置为中部右对齐,其余单元格的对齐方式设置为中部居中;将单元格中的字体颜色设置为深蓝色。 4.将各科平均分的字体设置为 TimesNewRoman、12 号、加粗。 5.将表格第一列底纹设置为浅橙色,第二列设置为青绿色,第五列设置为浅黄。 6.将表格的外表框设置为 1.5 磅粗的双实线,红色;内边框设置为 1 磅粗实线。 7.把工作表中低于 60 的分数用红色标出,超过 90 的分数用绿色标出。 8.使用 Sheet1 工作表中的数据,统计“总分”并计算“各科平均分”,结果分别放在相应单元格中。其中“各科平均分”保留一位小数。 9.给总分最高的单元格插入批注“总分最高”。 10.根据姓名和总分为数据源创建图表,其标题为“成绩图表”,类型为“三维簇状柱形图”。 11.复制 Sheet1 中除了“各科平均分”以外其他的信息到 Sheet2 中,以“总分”为主要关键字,“数学”为次要关键字,升序排序。 12.在 Sheet2 中,高级筛选出总分>300 分,并且姓“李”的学生,并将结果保存为 Sheet3。 13.复制 Sheet2 中的数据到 sheet4,以“班级”为分类字段,将各科成绩进行“平均值”分类汇总。 14.复制 Sheet2 的信息到 Sheet5 中,布局以“系别”为分页,以“班级”为行字段,以各科考试成绩为平均值项,从 Sheet5 工作表中 A1 单元格起建立数据透视表。 三、利用 PowerPoint制作一份“教学课件(大学语文)” 1.文稿长度不少于 6 张幻灯片。 2.设计一个较好的首页封面。 3.要求课件内容包括:课文背景、作者年代、练习题、课堂讨论等。 4.尽可能地利用文稿演示软件的各种优化演示文稿的设计,如插入声音与影片、幻灯片的切换方式、自定义动画、超级链接、动作按钮等的设计。 单项选择题,40 题,40 分(含公共基础知识部分 10 分); 程序填空题,3 小空,18 分; 程序改错题,2 个错误,18 分; 程序设计题,24 分。 1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B ) 。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。 A、-a1 B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是( C )。 A、%x B、a+b C、a123 D、123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2 11.如果int a=3,b=4;则条件表达式“aA、3 B、4 C、0 D、1 详见教材P97. 表达式1?表达式2:表达式3 先计算表达式1, 若表达式1成立, 则选择计算表达式2,并表达式2的值作为整个大表达式的值; 若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值 此题中的aa为3,b为4。a12.若int x=2,y=3,z=4 则表达式x A、4 B、3 C、2 D、0 E)1 13.C语言中,关系表达式和逻辑表达式的值是( B ) 。 A、0 B、0或1 C、1 D、‘T’或’F’ 14. 下面( D )表达式的值为4. A、11/3 B、11.0/3 C、(float)11/3 D、(int)(11.0/3+0.5) 14~16题为同一类型 详见教材P54~56. (1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。 (2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。 选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3. 选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666 选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同 选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为4 15.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B ) A、b=1.0/a B、b=(float)(1/A、 C、b=1/(float)a D、b=1/(a*1.0) 16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A) A、1 B、4 C、4.333333 D、4.6 “(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1 17. 以下对一维数组a的正确说明是: D A、char a(10); B、int a[]; C、int k=5,a[k]; D、char a[3]={‘a’,’b’,’c’}; 详见教材P143~144,一维数组的定义、初始化 类型符 数组名 [常量表达式] 类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。 选项A,常量表达式只能放在中括号 [ ]中 选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。 选项C,常量表达式不能为变量。 18.以下能对一维数组a进行初始化的语句是:( C ) A、int a[5]=(0,1,2,3,4,) B、inta(5)={} C、int a[3]={0,1,2} D、int a{5}={10*1} 详见教材P145,一维数组的定义、初始化 选项B,D,常量表达式只能放在中括号 [ ]中 选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了. 19.在C语言中对一维整型数组的正确定义为 D 。 A、int a(10); B、int n=10,a[n]; C、int n;a[n]; D、#define N 10 int a[N]; 20、已知:int a[10]; 则对a数组元素的正确引用是( D )。 A、a[10] B、a[3.5] C、a(5) D、a[0] 详见教材P144,数组元素的引用 数组名[下标] 引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数 int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素. 选项A,超过了数组a的逻辑地址下标范围; 选项B,逻辑地址下标只能为整数 选项C,逻辑地址下标只能放在[ ]中 21.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A、10 B、9 C、6 D、5 先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10]. a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9] a[9]对应下面数组中的元素为6. 因此a[9]即为6 22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B ) A、2 B、3 C、4 D、无确定值 5 7 D、3 6 9 二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行 23.对二维数组的正确定义是(C ) 详见教材P149~152,二维数组的定义、初始化 类型符 数组名 [常量表达式][常量表达式] 二维数组可以看做是矩阵 类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。 一维数组初始化时可以省略数组长度 二维数组初始化时可以省略行数,但不能省略列数 选项A,B,都省略了列数 选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中 A、int a[ ][ ]={1,2,3,4,5,6}; B、int a[2] []={1,2,3,4,5,6}; C、int a[ ] [3]={1,2,3,4,5,6}; D、int a[2,3]={1,2,3,4,5,6}; 24.已知int a[3][4];则对数组元素引用正确的是__C___ A、a[2][4] B、a[1,3] C、a[2][0] D、a(2)(1) 详见教材P150,数组元素的引用 数组名[下标] [下标] 引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数 第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。 本题图示详见P149图6.7 因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3; 选项A,列逻辑地址下标超过范围 选项B,D,的引用形式不正确。 25.C语言中函数返回值的类型是由 A 决定的. A、函数定义时指定的类型 B、return语句中的表达式类型 C、调用该函数时的实参的数据类型 D、形参的数据类型 26. 在C语言中,函数的数据类型是指(A ) A、函数返回值的数据类型 B、函数形参的数据类型 C、调用该函数时的实参的数据类型 D、任意指定的数据类型 27.在函数调用时,以下说法正确的是( B ) A、函数调用后必须带回返回值 B、实际参数和形式参数可以同名 C、函数间的数据传递不可以使用全局变量 D、主调函数和被调函数总是在同一个文件里 28. 在C语言中,表示静态存储类别的关键字是: ( C ) A、auto B、register C、static D、extern 29.未指定存储类别的变量,其隐含的存储类别为(A )。 A、auto B、static C、extern D、register 30. 若有以下说明语句: struct student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是: (D ) A、struct是结构体类型的关键字 B、struct student 是用户定义的结构体类型 C、num, score都是结构体成员名 D、stu是用户定义的结构体类型名 31.若有以下说明语句: struct date { int year; int month; int day; }brithday; 则下面的叙述不正确的是__C___. A、struct是声明结构体类型时用的关键字 B、struct date 是用户定义的结构体类型名 C、brithday是用户定义的结构体类型名 D、year,day 都是结构体成员名 32. 以下对结构变量stul中成员age的非法引用是 B struct student { int age; int num; }stu1,*p; p=&stu1; A、stu1.age B、student.age C、p->age D、(*p).age 33.设有如下定义: struck sk { int a; float b; }data; int *p; 若要使P指向data中的a域,正确的赋值语句是 C A、p=&a; B、p=datA、a; C、p=&datA、a; D、*p=datA、a; 34.设有以下说明语句: typedef struct stu { int a; float b; } stutype; 则下面叙述中错误的是( D )。 A、struct是结构类型的关键字 B、struct stu是用户定义的结构类型 C、a和b都是结构成员名 D、stutype是用户定义的结构体变量名 35.语句int *p;说明了 C 。 A、p是指向一维数组的指针 B、p是指向函数的指针,该函数返回一int型数据 C、p是指向int型数据的指针 // 指针的定义教材P223 D、p是函数名,该函数返回一指向int型数据的指针 36.下列不正确的定义是( A )。 A、int *p=&i,i; B、int *p,i; C.int i,*p=&i; D、int i,*p; 选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。然而此时还未定义变量i因此编译器无法获得变量i的地址。(A与C对比,选项C先定义变量i,则在内存中为i分配空间,因此i在内存空间的地址就可以确定了;然后再定义p,此时可以为p赋i的地址,C正确) 37. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( D ) A、p=q B、*p=*q C、n=*q D、p=n p,q同为整型指针变量,二者里面仅能存放整型变量的地址。 选项A,q中为地址,因此可将此地址赋给p 选项B,*p表示p所指向对象n的内容,即一个整数;*q表示q所指向对象的内容,由于在定义q时为其初始化,将p中n的地址给q,因此p中存放n的地址,*q表示q所指向对象n的内容.因此*p=*q 相当于 n=n; 选项C,n=*q 等价于n=n; 选项D,p中只能存放地址,不能将n中的整数值赋给p 38.有语句:int a[10],;则 B 是对指针变量p的正确定义和初始化。 A、int p=*a; B、int *p=a; C、int p=&a; D、int *p=&a; 选项A,a是数组名,不是指针变量名,因此不可用*标注数组名a 选项C,a是数组名,数组名就是地址,无需再用地址符号。而且在定义指针变量p时,应在变量名前加*,标明p是指针变量 选项D,a是数组名,数组名就是地址,无需再用地址符号。 39.若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( C )。 A、a[p] B、p[a] C、*(p+2) D、p+2 首先定义一个整型数组a,a的长度为5,然后定义一个指针变量p,并同时对p进行初始化,将数组a的地址赋给p。因此此时p中存放的数组a的首地址,即数组中第一个元素a[0]的地址。 对于数组元素下标的引用(详见p144), 一般形式 数组名[下标] 其中下标为逻辑地址下标,从0开始计数,方括号中的下标可以是变量,可以是表达式,但结果一定要是整数。 选项A,p中存放的是地址,不是整数,不能做数组元素的下标 选项B,a是数组名,数组名就是地址,不是整数,不能做数组元素的下标 选项C,(重点!!!详见p231~234) p+2表示指向同一数组中的下两个元素的地址,当前p指向a[0],则p+2表示a[2]的地址,因此*(p+2)表示a[2]的内容 40. 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a; 则数值为9的表达式是 B A、*P+9 B、*(P+8) C、*P+=9 D、P+8 (重点!!!详见p231~234) 首先定义一个整型数组a,a的长度为5,然后定义一个指针变量P,并同时对P进行初始化,将数组a的地址赋给P。因此此时P中存放的数组a的首地址,即数组中第一个元素a[0]的地址。 数组中9对应的是a[8], 选项B,P+8表示数组中后8个元素的地址,即a[8]的地址。*(P+8)则表示该地址内所存放的内容,即a[8]的值。 选项A,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值1. *P+9=1+9=10 选项C,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等价于a[0]=a[0]+9. 选项D,P+8表示数组中后8个元素的地址,即a[8]的地址,而非a[8]中的值。 计算机二级c语言试题 多花点时间看看书,然后做做题,计算机二级完全没有问题。下面是计算机二级c语言试题,欢迎练习。 1、以下叙述中正确的是 A.只要适当地修改代码,就可以将do-while与while相互转换 B.对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环 C.对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能转换成while语句 D.如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while语句 参考答案:A 参考解析:B选项中,for语句中需要先求解先求解表达式1;C选项中,for语句使用最为灵活,它完全可以取代while语句;D选项中,对于死循环,也可以使用for语句。因此A选项正确。 2、以下叙述中正确的是 A.两个字符串可以用关系运算符进行大小比较 B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位) C.C语言本身没有提供对字符串进行整体操作的运算符 D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和 参考答案:C 参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。 3. 下列不正确的定义是( )。 A、int *p=&i,i; B、int *p,i; C.int i,*p=&i; D、int i,*p; 参考答案:A 参考解析:选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。然而此时还未定义变量i因此编译器无法获得变量i的地址。(A与C对比,选项C先定义变量i,则在内存中为i分配空间,因此i在内存空间的地址就可以确定了;然后再定义p,此时可以为p赋i的地址,C正确) 4.下列数据中属于“字符串常量”的是( )。 A、“a” B、{ABC} C、‘abc\0’ D、‘a’ 参考答案:A 参考解析:若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串。选项B,C,分别用{}和’’标识字符串。选项D,标识字符。 5.已知char x[]=”hello“, y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是 . A、相同 B、x大于y C、x小于y D、以上答案都不对 参考答案:B 参考解析:can'kaoC语言中,字符串后面需要一个结束标志位'\0',通常系统会自动添加。 对一维数组初始化时可采用字符串的形式(例如本题数组x),也可采用字符集合的形式(例如本题数组y)。在以字符串形式初始化时,数组x不尽要存储字符串中的字符,还要存储字符串后的结束标志位,因此数组x的长度为6;在以字符集合形式初始化时,数组y,仅存储集合中的元素,因此数组y长度为5 6、若有定义语句:char a='82';则变量a( ) A.说明不合法 B.包含1个字符 C.包含2个字符 D.包含3个字符 参考答案:B 参考解析:char a='82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。 7、以下叙述中正确的`是 A.对于逻辑表达式:a++|| b++,设a的值为1,则求解表达式的值后,b的值会发生改变 B.对于逻辑表达式:a++&&b++,设a的值为0,则求解表达式的值后。b的值会发生改变 C.else不是一条独立的语句,它只是if语句的一部分 D.关系运算符的结果有三种:0,1,-1 参考答案:C 参考解析:B选项和A选项中,&&、||都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值。而且&&、||的优先级比++高,所以题中只需判断a的值即可知道符合表达式的真假;D选项中,关系运算符的结果有“真”和“假”两种。因此c选项正确。 8、以下选项中合法的c语言常量是( )。 A.,C—STR’ B..1 C.”l.0 D.2EK 参考答案:B 参考解析:所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项A是字符串,但使用单引号,错误,选项c,D,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。 9. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是( ) A、1 B、4 C、4.333333 D、4.6 参考答案:A 参考解析:“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1 10.以下能对一维数组a进行初始化的语句是:( ) A、int a[5]=(0,1,2,3,4,) B、inta(5)={} C、int a[3]={0,1,2} D、int a{5}={10*1} 参考答案:C 参考解析:详见教材P145,一维数组的定义、初始化 选项B,D,常量表达式只能放在中括号 [ ]中 选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了(). 一、选择题 1.在深度为7的满二叉树中,叶子结点的个数为( ) A.32 B.31 C.64 D.63 参考答案:C 参考解析:在满二叉树中每层的结点数都达到最大值, 而且叶子结点全部出现在最底层。第1层(根结点所在的层)有20个结点,第2层有21个结点,……第n层有2n-1个结点。在深度为7的满二叉树中,第7层有2 7-1=64个结点(全部是叶子结点)、在深度为7的满二叉树中,共有2^(7-1)=64个结点、因此本题的正确答案是C。 2.下列叙述中正确的是( ) A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上三种说法都不对 参考答案:A 参考解析:程序的执行效率与算法和数据结构有密切的关系,瑞士科学家沃士说过“程序=算法+数据结构”。所以程序执行的效率与数据的存储结构密切相关;程序执行的效率与程序的控制结构、所处理的'数据量有关,但不绝对相关。因此本题的正确答案是A。 3.下列工具为需求分析常用工具的是 A.PAD B.PFD C.N-S D.DFD 参考答案:D 4.以下算法设计基本方法中基本思想不属于归纳法的是( ) A.递推法 B.递归法 C.减半递推技术 D.回溯法 参考答案:D 5.对长度n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( ) A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序 参考答案:D 参考解析:排序技术有:①交换类排序法(冒泡排序法、快速排序法);②插入类排序法(简单插入排序、希尔排序);③选择类排序法(简单选择排序法、堆排序法)。在最坏情况下,希尔排序需要的比较次数是O(nl.5)、堆排序需要的比较次数是O(nlog2n)、其它排序方法需要的比较次数都是n(n.1)/2。因此本题的正确答案是D。 6.按软件的功能划分,需求分析工具软件属于 A.应用软件 B.系统软件 C.支撑软件 D.专用软件 参考答案:C 7.对右下图二叉树进行后序遍历的结果为( ) A.ABCDEF B.DBEAFC C.ABDECFD. D.EBFCA 参考答案:D 参考解析:后序遍历的方法是:若二叉树为空,则结束返回。否则先后序遍历左子树,再后序遍历右子树,最后访问根结点。本题后序遍历左子树的结果是DEB,后续遍历右子树的结果是FC,最后根是A,所以后续遍历的结果是DEBFCA。因此本题的正确答案是D。 8.在E-R图中,用来表示实体之间联系的图形是( ) A.矩形 B.椭圆形 C.菱形 D.平行四边形 参考答案:C 参考解析:在E-R图中用矩形表示实体集,用椭圆表示属性,用菱形表示联系,用无向线段表示实体集(联系)与属性、实体集与联系间的联接关系。因此本题的正确答案是C。 9.下面不属于软件工程的三个要素的是 A.工具 B.过程 C.方法 D.环境 参考答案:D 10.原因排除法属于 A.软件调试方法 B.黑盒测试方法 C.白盒测试方法 D.动态测试方法 参考答案:A 二、填空题 1.在两种基本测试方法中,________测试的原因之一是保证所测模块中每一个独立路径至少要执行一次。 参考解析:白盒测试 【分析】软件测试按照功能划分可以分为白盒测试和黑盒测试方法。保证所测模块中每一独立路径至少执行一次是白盒测试的基本原则之一。 2.在数据流图中用○表示________、用→表示________ 、用〓表示________ 、用口表示________。在数据字典中用【...∣...】表示________、用+表示________、用____表示________。在结构图中用口表示________○→表示________、●→表示________。 参考解析:加工 数据流 存储文件(或数据源) 源(或潭) 或 与 注释 模块 数据信息 控制信息 3._________实际上就是描述事物的符号记录。 参考解析:数据 4.重复结构对应两类循环语句,对先判断后执行循环体的称为________型循环结构,对先执行循环体后判断的称为________型循环结构。 参考解析:当;直到 【分析】本题考查两类循环结构,希望考生还能够识记并辨别它们的流程图 5.________是软件按工程化生产时的重要环节,它要求按照预先制定的计划、进度和预算执行,以实现预期的经济效益和社会效益。 参考解析:软件工程管理 6.一棵二叉树第六层(根结点为第-层)的结点数最多为________个。 参考解析:32 【分析】根据二叉树的性质,我们可以得出一棵二又树第n层(根结点为第-层)的结点数最多为2n-1个,因此第6层的结点数最多为25=32个,总结:二叉树第1层只有一个根结点(20),第2层最多只有两个结点(21),第3层最多只有4个结点(22),……,第n层最多为有2n-1个结点(不是2n个)。考生还需要了解一棵深度(高度)为n的二叉树最多拥有的结点总数是2n-1(20+21+22+…+2n-1=2n-l).这种类型的试题不要死记硬背,有时是2n-1,有时是2n-l,所以考生最好采用我们介绍的方法来推导。 7.使用已有的类定义作为基础建立新类的定义技术是________。 参考解析:继承 【分析】继承就是通过共享已有类的属性和方法来派生新的子类,使子类能够继承父类的所有特性。8.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是-种特殊的线性表,循环队列是队列的________存储结构 参考解析:顺序 【分析】在实际应用中,队列的顺序存储结构-般采用循环队列的形式。 一、单项选择题(每小题1分,共20分,答案填于题号前的括号中) ( D)1、计算机软件系统由————组成。 (A)、程序和程序说明文档; (B)、硬件系统和软件系统; (C)、指令和程序; (D)、系统软件和应用软件。 ( D )2、在计算机中用来存放程序和数据的设备是————。 (A)、控制器;(B)、运算器;(C)、鼠标; (D)、硬盘。 ( C )3、在Windows XP中,打开“运行”对话框的快捷键是————。 (A)、徽标+E;(B)、徽标+F;(C)、徽标+R;(D)、徽标+M。 ( A )4、WINDOWS中用于量度文件大小的单位是————。 (A)、字节; (B)、位;(C)、磅;(D)、像素。 ( D )5、桌面图标的排列方式中没有的是————。 (A)、按名称;(B)、按类型;(C)、按大小;(D)、按属性。 ( B )6、Windows中的窗口类型有————种。 (A)、1;(B)、2;(C)、3;(D)、4。 ( C )7、用Windows XP中“画图”程序建立的位图文件扩展名是————。 (A)、TXT; (B)、RTF;(C)、BMP; (D)、EXE。 ( D )8、在Windows窗口中,按下ALT+鼠标左键拖曳,实现的功能是————。 (A)、删除;(B)、移动;(C)、复制;(D)、创建快捷方式。 ( A )9、Windows XP“剪贴板”本质上是————。 (A)、内存中的一块存储区;(B)、硬盘中的一块存储区; (C)、移动盘中的存储区; (D)、Cache中的一块存储区。 ( A )10、文件传输协议的缩写是————。 (A)、FTP; (B)、TCP/IP;(C)、HTTP; (D)、SMTP。 ( B )11、Intel Core 2 Duo E4500 2.20GHz CPU的主频是————。 (A)、4500Hz; (B)、2200MHz; (C)、2200Hz; (D)、2200MB。 ( D )12、在智能ABC(标准)且中文标点符号下,输入省略号(……)的键是————。 (A)、/; (B)、@; (C)、; (D)、^。 ( C )13、操作系统是计算机硬件和————的接口。 (A)、软件; (B)、程序设计语言;(C)、用户; (D)、网络。 ( A )14、与十进制数99等值的'二进制数是————。 (A)、1100011B; (B)、1100011D; (C)、1100011H; (D)、1100001B。 ( A )15、删除桌面上的“网上邻居”图标后,可从————中恢复还原。 (A)、自定义桌面; (B)、回收站(C)、开始菜单; (D)、任务栏。 ( C )16、广域网的英文缩写是————。 (A)、MAN;(B)、LNA;(C)、WAN;(D)、LAN。 ( C )17、互联网常用的拓扑结构是————。 (A)、环形拓扑;(B)、星型拓扑;(C)、网状拓扑;(D)、树型拓扑。 ( D )18、由校园局域网连接到Internet必须的设备是————。 (A)、网卡;(B)、路由器;(C)、网桥;(D)、网关。 ( D )19、以下组织机构域名中,属于教育机构的域名是————。 (A)、COM; (B)、GOV;(C)、NET;(D) EDU、。 ( B )20、下面IP地址中,正确的是————。 (A)、255.38.56.8; (B)、218.83.241.80; (C)、192.45.256.88;(D)、222,120,56,90。 二、多项选择题(每小题1.5分,共15分,答案填于题号前括号中) ( ABCD )1、隐藏桌面系统级图标的正确方法有————。 (A)、右击“删除”; (B)、去掉自定义桌面对话框中桌面图标前的勾;(C)、选定——按CTRL+D;(D)、按下Shift+删除。 ( BC)2、运算器的主要功能是完成————。 (A)、存储程序和数据; (B)、算术运算; (C)、逻辑运算; (D)、程序计数。 ( BD )3、打开Windows多窗口时,可用于切换窗口的快捷键有————。 (A)、Ctrl+Tab;(B)、ALT+TAB;(C)、Shift+Esc;(D)、ALT+ESC。 ( ABCD )4、计算机系统的主要性能指标有————。 (A)、主频(GHz);(B)、字长(位);(C)、MIPS;(D)、内存容量(GB)。 ( DE )5、计算机广域网络常用的拓扑结构有————。 (A)、总线;(B)、星形;(C)、环形;(D)、树形;(E)、网状。 ( ABCD )6、对Windows XP中文件、文件夹操作,包括————。 (A)、移动; (B)、复制;(C)、新建; (D)、删除。 ( ABCD )7、连接互联网方法有————。 (A)、电话拨号联网; (B)、局域网络联网; (C)、ADSL; (D)、无线联网。 ( ABCD )8、下面属于操作系统的是——————。 (A)、DOS; (B)、WINDOWS(C)、UNIX; (D)、Netware;(E)、Microsoft office。 ( ABCD )9、以下Windows文件、文件夹取名,正确的是————。 (A)、12&; (B)、WW%.TXT;(C)、AA BB;(D)、TT#22;(E)、A>B。 ( AC )10、不能用指令或命令方式修改其存储数据的是————。 (A)、ROM;(B)、硬盘;(C)、CD-ROM;(D)、U盘。 计算机基础选择题「附答案」 一、单选题 1、计算机工作过程中,存储的指令序列指挥和控制计算机进行自动、快速信息处理,灵活、方便、易于变更,这使计算机具有______。 A:高速运算能力 B:极大的通用性 C:逻辑判断能力 D:自动控制能力 答案: B 2、较好的解决”硬件不断更新,而软件相对稳定"的方法是______。 A:用高级语言编程 B:序列机的推出 C:开发复杂的软件 D:完善操作系统 答案: B 3、按计算机的规模和处理能力,其最高级别计算机是______。 A:小型机 B:巨型机 C:大型机 D:工作站 答案: B 4、计算机的主要应用领域是科学计算、数据处理、辅助设计和______。 A:天气预报 B:飞机导航 C:图形设计 D:自动控制 答案: D 5、数据是信息的______。 A:翻版 B:延续 C:载体 D:副本 答案: C 6、外设不包括______。 A:输入设备 B:输出设备 C:外存储器 D:内存储器 答案: D 7、在计算机中表示存储容量时,下列描述中正确的是______。 A:1KB=1024MB B:1KB=1000B C:1MB=1024KB D:1MB=1024GB 答案: C 8、应用软件分为______。 A:用户程序和字处理软件 B:应用软件和语言系统 C:用户程序和应用软件包 D:工具软件和应用软件包 答案: C 9、以下不属于冯.诺依曼计算机结构特点的是______。 A:程序和数据都用二进制表示 B:指令由操作码和地址码构成 C:机器以CPU为中心 D:自动控制 答案: D 10、计算机的中央处理器是计算机的核心。但是它不能完成的功能是______。 A:算术运算 B:逻辑运算 C:自主安装运行的程序 D:指挥和控制计算机的运转 答案: C 11、[单选题]PowerPoint中,有关修改图片,下列说法错误的是____D___。 (A)、如果要裁剪图片, 单击选定图片,再单击“图片”工具栏中的“裁剪”按钮。 (B)、裁剪图片是指保存图片的大小不变,而将不希望显示的部分隐藏起来。 (C)、当需要重新显示被隐藏的部分时,还可以通过“裁剪”工具进行恢复。 (D)、按住鼠标右键向图片内部拖动时,可以隐藏图片的部分区域。 12、[单选题]在Word编辑时,文字下面有红色波浪下划线表示____A___。 (A)、可能是拼写错误 (B)、已修改过的文档 (C)、可能是语法错误 (D)、对输入的确认 13、[单选题]组装电脑可分为四个步骤,下面的顺序正确的是___C____。 (A)、硬件组装→格式化硬盘→安装操作系统→分区硬盘 (B)、格式化硬盘→硬件组装→分区硬盘→安装操作系统 (C)、硬件组装→硬盘分区→格式化硬盘→安装操作系统 (D)、硬件组装→格式化硬盘→分区硬盘→安装操作系统 14、[单选题]在Windows中,下列说法不正确的是___D_______。 (A)、应用程序窗口最小化后,其对应的程序仍占用系统资源 (B)、一个应用程序窗口可含多个文档窗口 (C)、应用程序窗口关闭后,其对应的程序结束运行 (D)、一个应用程序窗口与多个应用程序相对应 15、[单选题]局域网的软件部分主要包括___D____。 (A)、服务器操作系统和网络应用软件 (B)、网络数据库管理系统和工作站软件 (C)、网络传输协议和网络应用软件 (D)、网络操作系统和网络应用软件 16、[单选题]关于E-mail说法正确的是__D_____。 (A)、只能在固定的一台计算机上接收电子邮件 (B)、邮件在传输过程中不可能被非法窃取 (C)、根据电子邮件地址是不可以看出邮件服务器域名的 (D)、要在Internet上接收电子邮件,用户必须拥有一个电子邮箱 17、[单选题]如果要播放音频或视频光盘,___A_____不是需要安装的。 (A)、网卡 (B)、播放软件 (C)、声卡 (D)、显卡 18、[单选题]在因特网中,中国的国家和地区地理域名___A____。 (A)、cn (B)、com (C)、China (D)、中国 19、[单选题]微型计算机的性能主要取决于___C____。 (A)、显示器 (B)、内存条 (C)、中央处理器 (D)、硬盘 20、[单选题]微机中1K字节表示的二进制位数有_____D___。 (A)、1024 (B)、8x1000 (C)、1000 (D)、8x1024 【计算机二级上机试题】相关文章: 10.计算机二级答案篇2:全国计算机等级考试二级VFP全真上机试题解析
篇3:计算机二级vb上机题库
篇4:计算机二级VB上机考试解题技巧
篇5:计算机二级VB上机考试答题攻略
篇6:计算机二级C语言试题
篇7:省二级计算机考试试题
篇8:计算机二级c语言试题
篇9:计算机二级c语言试题
篇10:计算机二级c语言试题
篇11:计算机二级公共基础知识试题
篇12:计算机二级公共基础知识试题






文档为doc格式