2025年c++中数组合并(c++求数组并集)

c++中数组合并(c++求数组并集)一起喝杨枝甘露 投稿了 8 篇计算机二级上机试题 以下是小编收集整理后的计算机二级上机试题 欢迎阅读与借鉴 计算机二级考试 C 上机考试试题 一 程序改错题 使用 VC 6 0 打开考生文件夹下的源程序文件 1 cpp 该程序运行时有错误 请改正错误 使程序正常运行 并且要求最后一个 catch 必须抛出执行的任何异常 程序异常 输出信息为 error O ERROR 注意 不要改动 main 函数

大家好,我是讯享网,很高兴认识大家。



“一起喝杨枝甘露”投稿了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<&lt;“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<&lt;“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<&lt;“#”;//输出“#”

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)92)-(9)%2的值是

A)0

B)3

C)4

D)5

答案:B,(double)9/2是4.5,(int)((double)92)是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)113

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

小讯
上一篇 2025-04-21 08:09
下一篇 2025-05-11 20:35

相关推荐

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