2017年计算机基础知识和应用能力等级考试上机试卷11二级 C++ 语言
计算机二级C++上机考试试题及答案

计算机二级C++上机考试试题及答案2017计算机二级C++上机考试试题及答案引导语:对基础知识的灵活运用是通过计算机二级考试的关键,以下是店铺分享给大家的2017计算机二级C++上机考试试题及答案,欢迎练习!一、选择题(每小题1分,共40小题,共40分)1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.下列叙述中正确的是( )。
A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于结构化程序设计原则和方法的描述错误的是( )。
A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用GOT0语句D.语言中若没有控制结构,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。
A.可重用性差B.安全性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.对如下二叉树进行后序遍历的结果为( )。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA8.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。
A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程9.两个或两个以上模块之间关联的紧密程度称为( )。
2017年4月全国计算机等级考试二级c语言笔试试题(含参考答案)

全国计算机等级考试二级笔试试题基础知识与C语言程序设计(考试时间120分钟,满分100分)2017年4月一、选择题(1-30每小题1分,31-45每小题2分,共60分)下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1)二进制数101110转换为等值的八进制数是【1】。
【1】 A) 45 B) 56 C) 67 D) 78(2)CPU是由【2】组成的。
【】【2】A) 内存储器和控制器B) 控制器和运算器C) 内存储器和运算器D) 内存储器、控制器和运算器(3)DOS是为IBM PC系列微型计算机及其兼容机所配置的【3】磁盘操作系统。
【3】A) 多用户多任务B) 单用户单任务 C) 分时D) 分布式(4)启动MS-DOS操作系统后,【4】已驻留内存。
【4】A) B) C) D) CCCC.EXE(5)设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是【5】。
【5】A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\(6)下面四组DOS命令中,意义完全相同的一组是【6】。
【6】A) COPY和DISKCOPY B) COMP和DISKCOMPC) DEL和RD D) RENAME和REN(7)防止软盘感染病毒的有效方法是【7】。
【7】A) 不要把软盘和有毒软盘放在一起 B) 在写保护缺口上贴上胶条C) 保持机房清洁 D) 定期对软盘格式化(8)双面高密度5英寸软磁盘的容量是【8】。
【8】A) 360KB B) 720KB C) 1.2MB D) 1.44MB(9)在FOXBASE中,可以使用的两类变量是【9】。
【9】A) 内存变量和字段变量B) 全局变量和局部变量C) 字段变量和简单变量D) 内存变量和自动变量(10)建立一个新子目录的DOS命令是【10】。
全国计算机二级《C语言》操作试题及答案

全国计算机二级《C语言》操作试题及答案2017全国计算机二级《C语言》操作试题及答案一、程序填空题给定程序中,函数fun的功能是:把形参S所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。
若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。
例如,形参s所指的字符串为:abcdefgh,n的.值为5,程序执行后t所指字符数组中的字符串应为:defgh。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
二、程序修改题下列给定程序中,函数fun的功能是:找出一个大于给定整数m 且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!三、程序设计题参考答案一、程序填空题【参考答案】二、程序修改题【参考答案】(1)if(i%k==0)(2)if(k==i)【解题思路】(1)判断当前数是否为素数,若存在一个数(除1和其自身)能整除当前数,则跳出本次循环,所以if条件应为i%k==0。
(2)如果i是素数,则循环结束时k==i,将该值返回。
三、程序设计题【参考答案】【解题思路】本题考查:偶数的判定方法;整除的实现。
本题题干信息是:能整除X且不是偶数的所有整数。
循环语句中变量i从1开始且每次增2,所以i始终是奇数。
整除的方法,已经讲过多次,这里就不再赘述了。
对于本题目要求的不是偶数的判定方法,即该数对2求余不为0。
除本题描述的方法外,还可以通过for循环语句直接把偶数筛出去,确保参与操作的数均为奇数。
更多计算机二级考试相关试题推荐:1.2.3.4.5.6.7.8.9.10.。
计算机二级C语言上机测试题附答案

计算机二级C语言上机测试题附答案2017计算机二级C语言上机测试题附答案引导语:计算机上机考试要灵活应变,以下是店铺分享给大家的2017计算机二级C语言上机测试题附答案,欢迎测试!1.程序填空给定程序的功能是判断字符ch是否与串str中的某个字符相同:若相同,什么也不做,若不同,则插在串的最后。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果注意:不得增行或删行,也不得更改程序的结构!试题程序:#include#includevoid fun(char*str, char ch ){ while ( *str && *str != ch ) str++;if( *str 1 ch ){ str[0] =ch;2 = 0;}}main( ){ char s[81], c;printf( "\nPlease enter a string:\n" ); gets ( s );printf ("\n Please enter the character to search : " );c = getcharO;fun( 3 ) ;printf( "\nThe result is %s\n", s);2.程序修改【答案】(1)错误:第5行fun(int**a,int m)正确:fun(int a[][M],Int m)(2)错误:第9行 a[j][k]=k*j;正确:a[j][k]=(k+1)*(j+1);【评析】第5行:第二个形参m是用户输入的维数,没有别的名堂,第一个形参是为了指明在函数fun()中要产生的多维数组,"**a"是不能正确表示一个多维数组的,我们应当使用"int a[M][M]"。
第9行:循环体的.内容是给m维的多维数组赋值,这个多维数组在列方向是由1开始的自然数,在行方向上是行首第一数的n倍数,显然,"a[j][k]=k*j;"不符合题意,我们应当使用"a[j][k]=(k+1)*(j+1);"。
计算机二级考试C语言编程题练习题及答案(2)

计算机⼆级考试C语⾔编程题练习题及答案(2)2017年计算机⼆级考试C语⾔编程题练习题及答案 11.3程序设计题 学⽣的记录由学号和成绩组成,N名学⽣的数据已放⼊主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最⾼的学⽣数据放在b所指的数组中。
注意:分数最⾼的学⽣可能不⽌⼀个,函数返回分数最⾼的学⽣的⼈数。
【参考答案】 int fun( STREC *a, STREC *b ) {int i,j=0,max=a[0].s; for(i=0;i if(max for(i=0;i if(max==a[i].s) b[j++]=a[i]; return j; } 12.3程序设计题 规定输⼊的字符串中只包含字母和*号。
请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。
在编写函数时,不得使⽤C语⾔提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。
【参考答案】 void fun( char *a ) { int i=0; char *p=a; while(*p&&*p=='*') {a[i]=*p; i++; p++;} while(*p) {if(*p!='*') {a[i]=*p;i++;} p++;} a[i]='\0'; } 13.3程序设计题 编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个⼩写字母各⾃出现的次数,并依次放在pp所指的数组中。
例如,当输⼊字符串abcdefgabcdeabc后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 【参考答案】 void fun(char *tt, int pp[]) {int i; for(i=0;i<26;i++) pp[i]=0; for(;*tt!='\0';tt++) if(*tt>='a'&&*tt<='z') pp[*tt-'a']++; } 14.3程序设计题 规定输⼊的字符串中只包含字母和*号。
2017年9月全国计算机等级考试二级C++语言程序设计真题+

2017年9月全国计算机等级考试二级C++语言程序设计真题(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是(分数:1.00)A.图元关系B.数据流C.控制流(正确答案)D.调用关系解析:详细设计阶段的主要描述工具分为图形、语言和表格描述工具。
程序流程图是常用的图形描述工具之一,流程图中包含的主要元素有方框:表示一个处理步骤;菱形框:表示一个逻辑条件;箭头:表示控制流向。
2.结构化程序设计的基本原则不包括(分数:1.00)A.多态性(正确答案)B.自顶向下C.模块化D.逐步求精解析:结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化。
程序设计时,应先从最上层总目标开始设计,逐步使问题具体化。
对复杂问题,应设计一些子目标作为过渡,逐步细化。
模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
3.软件设计中模块划分应遵循的准则是(分数:1.00)A.低内聚低耦合B.高内聚低耦合(正确答案)C.低内聚高耦合D.高内聚高耦合解析:内聚性是对一个模块内部各个元素之间结合的紧密程度进行度量,它用于对模块功能强度进行衡量,内聚性越高,则模块的独立性越高;耦合性是各个模块之间的相互联系紧密程度的衡量,它用于对模块的块间联系进行度量,耦合性越低,则模块的独立性越高。
模块内聚性高而耦合性低是模块划分的重要原则之一。
4.在软件开发中,需求分析阶段产生的主要文档是(分数:1.00)A.可行性分析报告B.软件需求规格说明书(正确答案)C.概要设计说明书D.集成测试计划解析:软件开发中的主要文档有,市场调研(可行性分析“做还是不做” );需求分析(软件需求规格说明书“做什么,不做什么”。
);概要设计(概要设计说明书);详细设计(详细设计说明书);测试 (集成测试计划)。
5.算法的有穷性是指(分数:1.00)A.算法程序的运行时间是有限的(正确答案)B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。
计算机二级考试C语言考试试题及答案
计算机二级考试C语言考试试题及答案2017年计算机二级考试C语言考试试题及答案C语言是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
以下是关于计算机二级考试C语言考试试题及答案,欢迎大家参考!单选题1). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参正确答案:D2). 下列是用户自定义标识符的是A._w1B.3_xyC.intD.LINE-3正确答案:A3). 以下叙述中不正确的是A.在不同的函数中可以使用相同的名字的变量B.函数中的.形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案:D4). 以下描述错误的是A.C程序中,函数可以直接或间接的调用自己B.函数调用时,函数名必须与所调用的函数名字完全一致C.函数说明语句中的类型必须与函数返回值的类型一致D.实参数可以与形参个数不一致正确答案:D5). 下列说法中正确的是( )。
A.C程序书写时,不区分大小写字母B.C程序书写时,一行只能写一个语句C. C程序书写时,一个语句可分成几行书写D. C程序书写时每行必须有行号正确答案:C答案解析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
6). 已知:char a[20]= "abc",b[20]= "defghi";则执行下列语句后的输出结果为printf("%d",strlen(strcpy(a,b)));A.11B.6C.5D.以上答案都不正确正确答案:B二操作题1: 第1题请编写函数fun,其功能是:将两个两位数的正整数a b 合并形成一个整数放在c中。
2017年计算机二级c试题及答案
2017年计算机二级c试题及答案一、选择题1. 下面哪个选项中,声明一个指向字符型的指针?A. charB. intC. floatD. double答案:A2. 下面哪个选项中,用于循环控制的关键字是?A. forB. ifC. whileD. switch答案:A3. 下面哪个选项中,用于输出到标准输出设备的函数是?A. printfB. scanfC. fgetsD. strcmp答案:A4. 在C语言中,如何定义一个常量?A. 使用const关键字B. 使用static关键字C. 使用volatile关键字D. 使用extern关键字答案:A5. 下面哪个选项中是C语言中的一个逻辑运算符?A. &&B. ||C. !D. |答案:A二、填空题1. 在C语言中,用于获取用户输入的函数是______。
答案:scanf2. 子程序在C语言中也被称为______。
答案:函数3. 用于在程序中引入外部文件的关键字是______。
答案:#include4. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free三、简答题1. 请解释静态变量和全局变量的区别,并给出一个使用场景。
答:静态变量和全局变量都具有静态存储期,但有以下区别:- 静态变量在函数内部声明,只在声明的函数内部可见,作用域为函数内部。
全局变量在函数外部声明,整个程序内部都可见,作用域为整个程序。
- 静态变量的生命周期与程序运行时间一致,而全局变量的生命周期也与程序运行时间一致,但全局变量可以通过使用extern关键字在其他文件中进行声明并使用。
使用场景:静态变量常用于需要在函数调用之间保持值的场景,例如在递归函数中保存某个计数器的值。
全局变量常用于需要在多个函数中共享数据的场景,例如在一个程序中的多个函数中都需要访问某个配置信息。
2. 请简要介绍C语言中的位运算符,并给出一个例子。
答:C语言中的位运算符用于对二进制数进行操作。
2017年全国计算机等级考试二级C语言真题及答案
全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ int a=1,b=2;while(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(“%d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结果是A)1 B)2 C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf(“%d”,&p);B) int *p; scanf(“%d”,p);C) int k, *p=&k; scanf(“%d”,p);D) int k,*p; *p=&k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 10 int x[N]; int x[N]; C) int x[0..10]; D) int x[ ];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]={0}; B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a[5]={1,2,3,4,5},*r=a;f(r );printf(“%d\n”,*r); }void f(int *p){ p=p+3;printf(“%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={1,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-s2==0) ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++,s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++]; );(33)有以下程序(strcat 函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=”ABCD\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint fun(){ static int x=1;x+=1;return x;}main(){ int i, s=1;for(i=1;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)21 C)6 D)120(37)有以下程序`#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编绎运行,程序运行后输出结果是A)2,4 B)1,4 C)4,8 D)10,6(39)若有以下语句typedef struct S{int g ; char h;} T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
全国计算机二级《C语言》考试题及答案
全国计算机二级《C语言》考试题及答案2017全国计算机二级《C语言》考试题及答案在备考复习阶段,需通过大量试题练习,加深对考点的理解和掌握。
以下是店铺搜索整理2017全国计算机二级《C语言》考试题及答案,供参考练习,希望对大家有所帮助!一、选择题1).我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是()A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的正确答案:B答案解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。
这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
2).数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
A.外模式B.概念模式C.内模式D.存储模式正确答案:B答案解析:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户应用公共数据视图。
它不涉及具体的硬件环境与平台,与具体的软件环境也无关。
3).以下叙述中正确的是()A.程序的算法只能使用流程图来描述B.N-S流程图只能描述简单的顺序结构的程序C.计算机可以直接处理C语言程序,不必进行任何转换D.结构化程序的三种基本结构是循环结构、选择结构、顺序结构正确答案:D答案解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。
N-S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C 程序,只能处理二进制代码。
4).下列叙述中正确的是()A.两个连续的单引号(′′)是合法的字符常量B.可以对字符串进行关系运算C.两个连续的双引号(″″)是合法的字符串常量D.空字符串不占用内存,其内存空间大小是0正确答案:C答案解析:两个连续的双引号:″″,是一个字符串常量,称为″空串″。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机基础知识和应用能力等级考试上机试卷二级C++ 语言
一.改错题(20分)
题目:以下程序的功能是:查找10~1000之间的回文素数。
所谓的回文素数是左右对称的程序的正确运行结果是:
The results:
11 101 131 151 181 191 313 353
373 383 727 757 787 797 919 929
Count=16
含有错误的源程序如下:
#include<iostream.h>
#include<math.h>
int prime(int m) //判断m是否为素数
{
if(m==2) return 1;
for (int i=2; i<(int)sqrt(m); i++)
if (m%i==0) return 0;
return 1;
}
void main ()
{
int i,j,k,cout;
cout<<”the result:\n’;
for(int s=11;s<1000;s+=2)
{ if (prime(s)) {
i=s/100;
j=s%10/10;
k=s%10;
if(i==0&&j==k||i!0&&i==j){
cout<<s<<’\t’;
count++;
if(count%8==0) cout<<endl;
}
}
}
cout<<”count=”<<count<<endl;
}
[要求]
1.将上述程序录入到文件myfa.cpp中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。
程序中的注解可以不输入。
2.改错时,可以修改语句中的一部分内容,增加少量的变量说明、函数原型说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句。
3.改正后的源程序文件myfa.cpp必须放在T:盘的根目录下,供阅卷用。
二编程题
题目是定义一个类Torch,计算奥运火炬传递总时间。
具体要求如下:
(1)私有成员
int d,h,m,s;分别表示奥运火炬传递的天数,小时数,分钟数及秒数。
(2)公有成员
Torch (char*p):构造函数,有指针p指向的全部由数字构成的8位字符串初始化火炬传递的时间,其中,天,时。
分,秒分别用两位字符表示(假设火炬的传递时间按不超过99天)例如,当char *p=”06150650”时,则d=6,h=15,m=6,s=50.
void add(Torch &t) :将参数t所表示的火炬传递时间加入当前对象
void normal():将当前对象所表示的时间转化成标准形式,即当秒数超过59时进位分钟。
当分钟数超过59时进位小时,当小时数超过23时进位天数。
void print():按指定的格式输出传递的天数,小时数,分数,秒数。
主函数中首先定义一个Torch的对象t(各数据成员的初始值都是0),表示火炬传递的总时间,接着依次输入若干个不同城市火炬的传递的天数,小时数,分数,秒数(需要为各城市定义一个Torch对象,并判断输入数据是否正确),并将火炬传递时间加入到对象t中。
调用相关成员函数完成对该对象的测试。
输入、输出示例(括号为键盘输入):
输入城市一的火炬传递时间(ddhhmmss),输出end结束:(01084523)
输入城市二的火炬传递时间(ddhhmmss),输出end结束:(01091224)
输入城市三火炬传递时间(ddhhmmss),输出end结束:(011020304)
输入的格式不正确,重新输入!
输入城市三的火炬传递时间(ddhhmmss),输入endl结束:(01102030)
输入城市四的火炬传递时间(ddhhssmm),输入endl结束:(endl)
火炬的传递时间为:4天4小时18分17秒
要求
源程序文件名必须为myfb.cpp,并放在T:盘的根目录下,共阅卷使用。