“一起喝杨枝甘露”投稿了8篇计算机二级上机试题,以下是小编收集整理后的计算机二级上机试题,欢迎阅读与借鉴。
计算机二级考试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(charstr)”。第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=x10
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与最小公倍数mn/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 ”,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 ”,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、Iam one_half start\(it 3pai</p><p>C、str_1 Cpp pow while</p><p>D、Pxq My->book line# His.age</p><p>选项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.的小数部分全部舍掉,仅保留整数,因此11/3=3.
选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.
选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同
选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.;再计算3.+0.5=4.,最后将4.强制类型转换为整型,即将其小数部分全部舍掉,结果为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.
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]中的值。
★ 计算机二级上机试题
★ 计算机二级vb试题
★ 计算机二级考试试题
★ 计算机二级考试试题
★ 计算机二级VB上机考试答题攻略
★ 计算机二级考试试题及答案
★ 国家计算机二级考试试题
★ 计算机二级c语言试题
★ 计算机二级c语言试题及答案
★ 计算机二级答案
计算机二级JAVA考试巩固试题及答案2022-12-05
计算机等级考试三级(C语言)上机考试试题总结2022-05-04
计算机试题2022-10-20
计算机二级Java备考练习试题附答案2023-12-27
计算机二级考试流程2022-11-10
计算机二级考试题型2023-11-23
计算机二级access练习题2023-11-25
计算机二级考试技巧2023-12-13
计算机二级考试答案2024-04-03
计算机二级考试答案2024-09-20

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/156889.html