二级C++语言程序设计模拟试题及答案解析(8)
二级C++语言程序设计模拟试题及答案解析(8)
(1/40)单项选择题
第1题
下面叙述中错误的是______。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
下一题
(2/40)单项选择题
第2题
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。
A.cout<<internal<<32345;
B.cout<<left<<12345;
C.cout<<right<<12345;
D.cout<<setw(6)<<12345;
上一题 下一题
(3/40)单项选择题
第3题
有如下程序:
#include<iostream>
using namespace std;
class test{
private:
int a;
public:
test(){cout<<"constructor"<<endl;}
test(int a){cout<<a<<endl;}
test(const test &_test){
a=_test.a;
cout<<"copy constructor"<<endl;
}
~test(){cout<<"destructor"<<endl;}
};
int main(){
test A(3);
return 0;
}
执行这个程序的输出结果是______。
A.3
B.constructor
destructor
C.copy constructor destructor
D.3
destructor
上一题 下一题
(4/40)单项选择题
第4题
索引属于
A.模式
B.内模式
C.外模式
D.概念模式
上一题 下一题
(5/40)单项选择题
第5题
C++模板包括 。
A.类模板和函数模板
B.模板类和模板函数
C.类和函数
D.对象和函数
上一题 下一题
(6/40)单项选择题
第6题
有如下程序:
#include<iostream>
using namespace std;
class Base{
protected:
Base(){cout<<'Base';}
Base(char c){cout<<c;}
};
class Derived:public Base{
public:
Derived(char c){cout<<c;}
};
int main(){
Derived d('Derived');
return 0;
}
执行这个程序屏幕上将显示输出 。
A.Derived
B.DerivedBase
C.BaseDerived
D.DerivedDerived
上一题 下一题 (7/40)单项选择题
第7题
下列函数的运行结果是______。
#include<iostream.h>
int f(int a,int b)
{ int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-1;
return(c);}
void main()
{ int i=2,j=3;
int p=f(i,j);
cout<<p;}
A.-1
B.1
C.2
D.编译出错,无法运行
上一题 下一题
(8/40)单项选择题
第8题
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是______。
A.cout<<intemal<<12345;
B.cout<<left<<12345;
C.cout<<right<<12345;
D.cout<<setw(6)<<12345;
上一题 下一题
(9/40)单项选择题
第9题
对虚函数的调用 。
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
上一题 下一题
(10/40)单项选择题
第10题
若执行下面的程序时,从键盘上输入5和2,则输出结果是______。
# include<iostream.h>
void main()
{ int a,b,k;
cin>>a>>b;
k=a; if(a<b)
k=a%b;
else
k=b%a;
cout<<k<<endl;}
A.5
B.3
C.2
D.0
上一题 下一题
(11/40)单项选择题
第11题
下面对静态数据成员的描述中,正确的是 。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以通过类的对象调用
C.静态数据成员不能受private(私有)控制符的作用
D.静态数据成员可以直接通过类名调用
上一题 下一题
(12/40)单项选择题
第12题
有如下程序:
# include <ioslreclm>
Using namespace std;
class Base{
public:
Base(int x=0):valB(x){cout<<valB;}
~Base(){cout<<valB;}
Private:
int valB;
};
class, Derived: public Base{
public:
Dcrived(int x=0,int y=0):Base(x),valD(y)
{cout<<valD;}
~Derived(){cout<<valD;}
private:
int valD;
};
int main(){
Derived obj12(2,3);
return 0;
}
运行时的输出结果是 ,
A.2332 B.2323
C.3232
D.3223
上一题 下一题
(13/40)单项选择题
第13题
最简单的交换排序方法是
A.快速排序
B.选择排序
C.堆排序
D.冒泡排序
上一题 下一题
(14/40)单项选择题
第14题
有下列程序:
#include <stdio.h>
int b=2;
int fun(int*k)
{ b=*k+b;return(b);}
void main()
{ int a[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++)(b=fun(&a[i])+b;printf
("%d",b);}
printf("\n"};
}
程序运行后的输出结果是______。
A.10 12
B.8 10
C.10 28
D.10 16
上一题 下一题
(15/40)单项选择题
第15题
在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译。这说明______。
A.f()是基类的私有成员
B.f()是基类的保护成员
C.派生类的继承方式为私有
D.派生类的继承方式为保护
上一题 下一题
(16/40)单项选择题
第16题
对于类定义
class A { public:
virtual void funcl(){}
void func2(){}
};
class D:public A{
public:
void funcl(){cout<< "class B rune 1"<<end1;}
virtual void func2(){cout<< "class B func 2"<<end1;}
};
下面正确的叙述是 ______。
A.A::func2()和B::funcl()都是虚函数
B.A::func2()和B::funcl()都不是虚函数
C.B::func1()是虚函数,而A::func2()不是虚函数
D.B::func1()不是虚函数,而A::func2()是虚函数
上一题 下一题
(17/40)单项选择题
第17题
要利用C++流实现输入/输出的各种格式控制中,必须在持续中包含的头文件是______。
A.fstream
B.istream
C.ostream
D.iomanip
上一题 下一题
(18/40)单项选择题
第18题
有如下程序:
#include<iostream>
using namespace std;
class A{
public:
A(int i):rl(i){}
void print(){cout<<'E'<<r1<<'-';}
void print()const{cout<<'C'<<r1*r1<<'-';}
private:
int rl;
};
int main(){
A al(2); const A a2(4);
a1.print(); a2.print();
return 0;
}
运行时的输出结果是______。
A.运行时出错
B.E2-C16-
C语言程序设计模拟试题8(附答案)
《C语言程序设计》模拟试卷八
一、填空题。(每空2分,共10分)
1.实数在语言中又称
2.表达式a = 1,a + 1,a + + 的值是___________________。
3. 设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为_______________。
4.设char string[] =″This_is_a_book!″;则数组的长度应是________________。
5.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。
二、单项选择题。(每题2分,共在 20分)
1. C语言程序编译时,程序中的注释部分【】
A. 参加编译,并会出现在目标程序中
B. 参加编译,但不会出现在目标程序中
C. 不参加编译,但会出现在目标程序中
D. 不参加编译,也不会出现在目标程序中
2.下列表达式的值为0的是【】
A. 3﹪5
B. 3/5.0
C. 3/5
D. 3<5
3. 下列保留字中用于构成循环结构的是【】
A. if
B. while
C. switch
D. default
4. 与语句if(a>b) if(c>d)x = 1;else x = 2;等价的是【】
A. if(a>b){if(c>d) x = 1;else x = 2;}
B. if(a>b){if(c>d) x = 1;} else x = 2;
C. if((a>b) && (c>d)) x = 1;else x = 2;
D. if(a< =b) x = 2;else if (c>d) x = 1;
5.设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是【】 A. x = a,y = 97
B. x = 97,y = a
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)
国家二级C语言机试(程序设计题)模拟试卷2 (题后含答案及解析)
题型有:1.
1. 使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是“BDF12345”。注意:部分源程序在文件PROG1.C中。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}
正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}
c语言程序设计教程(第2版)课后题及模拟题参考答案
c语言程序设计教程(第2版)课后题及模拟题参考答案
习题1
1-1 填空题
1. 函数
2. 主函数main(),主函数main()
3. 主函数main()
4. 函数首部,函数体
5. {, }
6. /*, */
7. 顺序结构,选择结构,循环结构
8. .c, .obj, .exe
1-2 思考题
1. 结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。
2. 算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法
3. 语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。
1-3 编程题
1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。
#include "stdio.h"
main()
{ float a, b, h, s;
a=10; b=20;
h=5; s=(a+b)*h/2;
printf("s=%f\n" , s );
}
2. 编写程序显示如图1.11所示信息。
图1.11 显示信息
#include "stdio.h"
main() { printf("******************************\n");
printf("* hello world *\n");
printf("******************************\n"); }
全国计算机等级考试二级Java语言程序设计试题及答案(八)
一、选择题(每小题1分,共40小题,共40分)
1.线性表L=(al,a2,a3,„ai,„an),下列说法正确的是( )。
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继
D. 【解析】线性表可以为空表;第一个元素没有直接前驱,最后一个元素没有直接后继;线性表的定义中,元素的排列并没有规定大小顺序。
2.下列关于完全二叉树的叙述中,错误的是( )。
A.除了最后一层外,每一层上的结点数均达到最大值
B.可能缺少若干个左右叶子结点
C.完全二叉树一般不是满二叉树
D.具有结点的完全二叉树的深度为[log2n]+1
B。【解析】满二叉树指除最后一层外,每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干叶子结点的二叉树。由定义可知,满二叉树肯定是完全二叉树,而完全二叉树一般不是满二叉树。
3.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。
A.125
B.n/2
C.n
D.n+1
C。【解析】对线性表进行顺序查找时,最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为n。
4.下列选项中不属于结构化程序设计方法的是( )。
A.自顶向下
B.逐步求精
C.模块化
D.可复用
D。【解析】结构化程序设计的主要原则概括为自顶向下,逐步求精,模块化。
C语言程序设计及实验指导练习及习题参考答案(8--10)
C语言程序设计及实验指导练习及习题参考答案(8--10)
8
练习参考答案1、练习
8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;
8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。解答:
#includeintmain(void){
floatop1,op2,um,diff;
voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_diff(op1,op2,&um,&diff);
printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}
voidum_diff(floatop1,floatop2,float某pum,float某pdiff){
某pum=op1+op2;某pdiff=op1–op2;}
8-3.两个相同类型的指针变量能不能相加?为什么?解答:
不能。因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。
解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。当该轮循环结束后检查flag值,如果变为1说明发生了数据交换,还没有排好序,如果为0说明没有发生交换,已经排好序。#include
国家二级C语言机试(选择题)模拟试卷118(题后含答案及解析)
国家二级C语言机试(选择题)模拟试卷118 (题后含答案及解析)
题型有:1.
1. 下列叙述中正确的是( )。
A.二分查找法只适用于顺序存储的有序线性表
B.二分查找法适用于任何存储结构的有序线性表
C.二分查找法适用于有序循环链表
D.二分查找法适用于有序双向链表
正确答案:A
解析:二分查找法(又称对分查找法)只适用于顺序存储的有序表。在此所说的有序表是指线性表的中元素按值非递减排列(即从小到大,但允许相邻元素值相等)。 知识模块:公共基础知识
2. 下列不属于软件设计阶段任务的是( )。
A.软件总体设计
B.算法设计
C.制定软件确认测试计划
D.数据库设计
正确答案:C
解析:从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计,所以A、B、D选项正确,C选项为软件测试阶段的任务。 知识模块:公共基础知识
3. 以下选项中合法的实型常量是
A..914
B.3.13e-2.1
C.0
D.2.0”10
正确答案:A
解析:实型常量又称实数或浮点数,一般用小数形式或指数形式来表示。实型常量分为以下两种形式: ①小数形式:小数形式是山数字和小数点组成的一种实数农示形式。例如0.345、.123、0.0等是合法的实数。这种表示形式必须要有小数点。 ②指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂数。注意:字母“e”或“E”之前必须要有数字,后面的指数必须为整数。 选项B)中e后必须为整数,选项C)没有小数点,向选项D)则出现非法字符*。 知识模块:C语言基础知识
4. 以下叙述中正确的是
A.整型常量和实型常量都是数值型常量
B.常量的类型不能从字面形式上区分,需要根据类型名来决定
C.预定义的标识符是C语言关键字的一种,不能另作它用
D.只能在函数体内定义变量,其他地方不允许定义变量
正确答案:A
解析:整型常量和实型常量都是数值型常量,选项A正确;常量的类型可以从字面上区分,比如整型常量不能有小数点,组成字符为0~9等,选项B错误:预定义标识符,即预先定义并具有特定含义的标识符,可以另作他用,不过更改了原有的含义,选项C错误;变量可以定义住程序中任何的地方,属于不同的变量,选项D错误。 知识模块:C语言基础知识
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷二级(含答案)
分数:100题数:5
一、编程题(共5题,共100分)
第1题.数组指定部分逆序重放
将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重
放得到5,6,8,4,1。
时间限制:1000
内存限制:65536
输入:
有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1
以及指定的k(1<=k<=n)。第二行是n个整数,每两个整数之间用空格分隔。
输出:
只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:
53
86541
样例输出:
56841
参考答案:
#include
usingnamespacestd;
inta[1000],b[1000];
intmain()
{
intn,k;
cin>>n>>k;
for(inti=0;i
{
cin>>a[i];
b[i]=a[i];
}
for(inti=k-1;i>=0;i--)
{
cout<
}
for(inti=k;i
{
cout<
}
}
第2题.谁考了第k名
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000
内存限制:65536
输入:
第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1
≤k≤n)。其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),
中间用一个空格分隔。
输出:
输出第k名学生的学.号和成绩,中间用空格分隔。(注:请用%g输出成绩)。
样例输入:
53
9078800167.8
9078800290.3
9078800361
9078800468.4
9078800573.9
样例输出:
9078800468.4
参考答案:
#include
usingnamespacestd;
intsum(intn)
{
ints=0;
while(n>0)
{
s+=n%10;
n/=10;
}
returns;
}
intmain()
计算机二级c语言试题及详细解答答案资料
一、选择题
在下列各题的A、B、C、D四个选项中;只有一个选项是正确的;请将正确的选项涂写在答题卡相应位置上;答在试卷上不得分..
1下列数据结构中;属于非线性结构的是________..
A循环队列 B带链队列 C二叉树 D带链栈
2下列数据结构中;能够按照"先进后出"原则存取数据的是________..
A循环队列 B栈 C队列 D二叉树
3对于循环队列;下列叙述中正确的是________..
A队头指针是固定不变的
B队头指针一定大于队尾指针
C队头指针一定小于队尾指针
D队头指针可以大于队尾指针;也可以小于队尾指针
4算法的空间复杂度是指________..
A算法在执行过程中所需要的计算机存储空间
B算法所处理的数据量
C算法程序中的语句或指令条数
D算法在执行过程中所需要的临时工作单元数
5软件设计中划分模块的一个准则是________..
A低内聚低耦合 B高内聚低耦合 C低内聚高耦合 D高内聚高耦合
6下列选项中不属于结构化程序设计原则的是________..
A可封装 B自顶向下 C模块化 D逐步求精
7软件详细设计产生的图如下:
该图是 ..
AN-S图 BPAD图 C程序流程图 DE-R图
8数据库管理系统是________..
A操作系统的一部分
B在操作系统支持下的系统软件
C一种编译系统
D一种操作系统
9在E-R图中;用来表示实体联系的图形是________..
A椭圆形 B矩形
C菱形 D三角形
10有三个关系R;S和T如下:
R
A B C
a 1 2
b 2 1
c 3 1
S
A B C
d 3 2
T
A B C
a 1 2
b 2 1
c 3 1
d 3 2
其中关系T由关系R和S通过某种操作得到;该操作为________.. A选择 B投影 C交 D并
C语言程序设计试题及答案解析
C语言程序设计试题及答案解析
第1、2、3章 概述、类型、表达式
一、选择题
1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )
A、 任意
B、 第一个函数必须是主函数,其他函数任意
C、 必须完全按照执行的顺序排列
D、 其他函数可以任意,主函数必须在最后
2、 下列四个叙述中,正确的是:( )
A、 C程序中的所有字母都必须小写
B、 C程序中的关键字必须小写,其他标示符不区分大小写
C、 C程序中的所有字母都不区分大小写
D、 C语言中的所有关键字必须小写
3、 下列四个叙述中,错误的是:( )
A、 一个C源程序必须有且只能有一个主函数
B、 一个C源程序可以有多个函数
C、 在C源程序中注释说明必须位于语句之后
D、 C源程序的基本结构是函数
4、 下面不是C语言合法标识符的是:( )
A、abc B、5n C、_4m D、x3
5、 以下叙述不正确的是:( ) A. 分号是C语句的必要组成部分 B. C程序的注释可以写在语句的后面
C. 函数是C程序的基本单位 D. 主函数的名字不一定非用main来表示
6、 C语言中允许的基本数据类型包括:( )
A. 整型、实型、逻辑型 B. 整型、实型、字符型
C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型
7、 C语言中能用八进制表示的数据类型为:( )
A、字符型、整型 B、整形、实型
C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型
8、 下列属于C语言合法的字符常数是:( )
A、’\97’ B、”A” C、’\t’ D、”\0”
C语言程序设计---考试模拟试卷及解析
...
... 第十三章 考试模拟试卷及解析
13.1 模拟试卷1及解析
一、单项向选择题(每小题1.5分,共30分)
1. 关于C语言的叙述,不正确的是( )。
A) C程序必须包含一个main()函数
B) C程序可由一个或多个函数组成
C) C程序的基本组成单位是函数
D) 注释说明只能位于一条语句的后面
分析:注释可以出现在语句的前面、后面或中间。例如,
#include
void main(void){ /*计算1+2+3+4+…100的值 */
int i;
long s=0;
for( i=1; i<= /* 不要丢掉'='号!*/ 100; i++)
s+=i;
/* 注意以下输出语句中long int 数据的输出控制格式”%ld” */
printf("s=%ld\n",s);
}
答案选D。
2.以下( )是正确的字符常量。
A) "c" B) '\t' C) '12' D) "\\"
分析:A)中的"c"为字符串常量,B)中的'\t'为转义字符,请大家注意常用转义字符的表示方法(参见教材),C)中'12'表示错误,因为单引号里面只能含有1个字符。 D)中表示的是一个字符串(双引号),尽管这个字符串中只含有一个转义字符'\\'。答案选B。
3.设char ch='c';,则表达式ch+1的值为( )。
A) 97 B) 98 C) 99 D) 100
分析:字符变量存储的是所对应字符的ASCII值,26个字母之间的ASCII值按字母顺序是连续的,即字母'a'的ASCII值为十进制的97,字母'b'的ASCII值为十进制的98,依次类推。...
... 大家应记住常用字符的ASCII值,如,'A'为65,'0'为48等。答案选D。
4.下面关于算术运算符的叙述,错误的是( )。
A) 其运算对象不包含函数表达式
