【导语】“薄刃”通过精心收集,向本站投稿了11篇计算机二级上机试题,以下是小编收集整理后的计算机二级上机试题,仅供参考,希望对大家有所帮助。
- 目录
篇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;”。 (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.2016年计算机二级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,两个数有公因子)。 2017计算机二级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.2014.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.顺序表的建立、插入、删除。 2.带头结点的单链表的建立(用尾插法)、插入、删除。 二、提交到个人10m硬盘空间的内容及截止时间 1.分别建立二个文件夹,取名为顺序表和单链表。 2.在这二个文件夹中,分别存放上述二个实验的相关文件。每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。 3.截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。 三、实验报告要求及上交时间(用a4纸打印) 1.格式: 用户名se××××学号姓名学院 ①实验名称: ②实验目的: ③算法描述(可用文字描述,也可用流程图): ④源代码:(.c的文件) ⑤用户屏幕(即程序运行时出现在机器上的画面): 2.对c文件的要求: 程序应具有以下特点:a可读性:有注释。 b交互性:有输入提示。 c结构化程序设计风格:分层缩进、隔行书写。 3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。请注意:过时不候哟! 四、实验报告内容 0.顺序表的插入。 1.顺序表的删除。 2.带头结点的单链表的'插入。 3.带头结点的单链表的删除。 注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。 例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。 2.实验报告中的源代码应是通过编译链接即可运行的。 3.提交到个人空间中的内容应是上机实验中的全部内容。 ★ 计算机二级简历 ★ 计算机二级答案 ★ 计算机考试试题篇2:计算机二级vb上机题库
篇3:计算机二级VB上机考试解题技巧
篇4:计算机二级VB上机考试答题攻略
篇5:计算机二级C语言试题
篇6:省二级计算机考试试题
篇7:计算机二级c语言试题
篇8:计算机二级c语言试题
篇9:计算机二级c语言试题
篇10:计算机上机实验报告
篇11:计算机上机实验报告
计算机二级上机试题(合集11篇)