C++上机考试题库答案

合集下载

C语言上机题参考答案

C语言上机题参考答案
}
20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);

C语言理论上机考试选择题部分附答案

C语言理论上机考试选择题部分附答案
1113321233若double型变量则表达式35若有定义inta12n5则表达式37在c语言中以下叙述不正确的是程序中变量名代表存储器中的一个位置静态变量的生存期与整个程序的生存期相同语言中变量必须先定义后引用38c语言中的变量名只能由字母数字和下划线三种字符组成且第一个字符则表达式
C 语言理论上机考试选择题部分附答案
A) float B) char C) int D) double 40、一个 C 语言的执行是从_____A______. A) 本程序的主函数开始,到本程序的主函 数结束 B) 本程序的第一个函数开始,到本程序的 最后一个函数结束 C) 本程序的主函数开始,到本程序的最后 一个函数结束 D) 本程序的第一个函数开始,到本程序的 主函数结束 41、设 a 为整型变量,不能正确表达数学关 系 10<a<15 的 c 语言表达式是____a____.< p=""> A) 10<a<="" p=""> a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15) 42、下列程序执行后的输出结果是 _____C____. #include <> void main( ) { int a=5,b=60,c; if (a<b)< p=""> {c=a*b;printf("%d*%d=%d\n",b,a,c);}
则表达式:(x+y)%2+(int)a/(int)b 的值是 __D__. A) 0 B) 2 C) D) 1 37、在 C 语言中,以下叙述不正确的是 _____A____. A) 在 C 程序中,无论是整数还是实数,都能被准确无误的表示 B) 在 C 程序中,变量名代表存储器中的一 个位置 C) 静态变量的生存期与整个程序的生存期 相同 D) C 语言中变量必须先定义后引用 38、C 语言中的变量名只能由字母,数字和 下划线三种字符组成,且第一个字符 ____C____. A) 必须为字母 B) 必须为下划线 C) 必须为字母或下划线 D) 可以是字母,数字或下划线中的任意一 种 39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类 型是___D____.

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。

A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

c语言上机考试训练题库及答案

c语言上机考试训练题库及答案
2000≤s<3000 10%折扣
3000≤s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d),请按照上述标准利用switch语句编写程序计算运费,并画出程序NS图。
#include <stdio.h>
int main()
{
if(i%2==0&&i%3==0&&i%7==0)
printf("%d\n",i);
}
}
26.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include<stdio.h>
main()
{
char ch;
int z=0,k=0,s=0,q=0;
while((ch=getchar())!='\n')
#include<stdio.h>
void main()
{int i,sum=0;
for(i=100;i<=996;i+=4)
if(i/10%10!=4)
sum+=i;
printf("和为:%d",sum);
}
15.输入一个字符串,统计该字符串的长度以及字母a出现的次数。
#include <stdio.h>
void main()
{int i,j=0;
char ch[ ]=" ";
printf("please input some characters\n");
gets(ch);
for (i=0;ch[i];i++)

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案在计算机二级C语言上机考试中,考生需要掌握C语言的基本语法、数据结构、算法设计等知识。

以下是一套模拟题库及答案,供考生参考和练习。

1. 题目:以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B解析:在C语言中,标识符可以由字母、数字和下划线组成,且不能以数字开头。

因此,只有选项B中的"variable2"是合法的标识符。

2. 题目:以下哪个选项是C语言中的整型常量?A. 0x1AB. 1.2E3C. 0.5D. 1.2答案:A解析:整型常量可以是十进制、八进制或十六进制的整数。

选项A中的"0x1A"是十六进制的整型常量,而选项B、C和D都是浮点型常量。

3. 题目:以下哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'H' "ello" 'W' "orld"答案:A解析:字符串字面量是由双引号括起来的字符序列。

选项A中的"Hello World"是一个合法的字符串字面量。

选项B是字符字面量,选项C和D的组合方式在C语言中不合法。

4. 题目:以下哪个选项是C语言中的合法数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int b[] = {1, 2, 3, 4, 5};C. int c[5] = {1, 2, 3};D. int d[];答案:A解析:在C语言中,数组的声明需要指定数组的大小,除非数组作为函数的参数。

选项A正确地声明了一个大小为5的整型数组,并初始化了它的元素。

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。

)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。

方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。

例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。

⏹A说:不是我。

⏹B说:是C。

⏹C说:是D。

⏹D说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

C#上机考试题目大全和答案

C#上机考试题目大全和答案
(5)编写一个程序接受用户输入的字符。如果输入的字符是 0-9 数字中的一个,则显示“您 输入了一个数字”,否则显示“这不是一个数字”。 (6)编写一个程序,该程序使用一个数组存储 30 个学生的考试成绩,并给各个数组元素指 定一个 1-100 的随机值,要求利用索引来对数组中的元素进行赋值和显示。然后计算平均成 绩。 (7)编写一个 windows 应用程序,能将窗体背景颜色 1 秒钟变换一次。 (8)通过方法重载,使用同一个方法名 print 分别执行输出整数、双精度数与字符串的功能。 1. using System; using System.Collections.Generic; using System.Text;
mc.Elapsed += ca.TimerHandlerA; handler A -- instance.
Thread.Sleep(100000); } } public class MyTimerClass { public event EventHandler Elapsed; private void OnOneSecond(object obj, EventArgs e) {
Console.WriteLine(DateTime.Now.ToLongTimeString()); } }
class Program {
static void Main() {
ClassA ca = new ClassA(); the class object.
MyTimerClass mc = new MyTimerClass(); Create the timer object.
i = 100; j=50; k=200; } }
} }
8.

VC语言上机试题及答案

VC语言上机试题及答案

C 语言上机考试题20套(试题)C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C 语言上机考试题(第二套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n″, fun(10));}2.回文数是指正读和反读都一样的自然数。

例如,8, 121, 5445这三个数都是回文数。

求:(1) [1,1000]之内既是回文数,又是素数的最大整数。

(2) [1,1000]以内既是回文数,又是素数的整数有多少个。

3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1套题解析题目一:基本操作题【参考答案】(1)delete [] array;(2)cout<< array[i]<< ' ';(3)MyClass obj(10);【考点分析】本题考查MyClass类,其中涉及构造函数、析构函数、输出语句、动态数组、语句初始化。

一般考到类时就会涉及构造函数,要注意构造函数的定义方法。

析构函数就是考查delete语句的用法, 其一般形式为: delete []+要释放的指针。

【解题思路】(1)语法错误,使用delete语句删除一个指针时,直接把指针变量的名称放在delete [] 后面即可。

(2) 考查考生对输入、输出语句的运用。

使用cout进行数据输出操作,一般格式为:cout<<Expr;其中,Expr代表一个表达式,"<<"称为插入运算符,该语句的含义是;将表达式Expr的值输出到屏幕上。

使用cin进行数据输入操作,一般格式为:cin>>vari。

其中,var是代表一个变量,">>"称为提取运算符,该语句的含义是,将用户输入的数据保存到var中。

(3) 考查语句的初始化,我们来看MyClass类的构造函数:MyClass(int len){array = new int[len];arraySize = len;for(int i = 0; i < arraySize; i++)array[i] = i+1;}注意形参len没有定义默认值,因此要想使array动态数组里依次存放1,2,3,4,5,6,7,8,9,10,就是要给len赋值为10。

【解题宝典】delete语句是最常考的知识点,用于释放指针变量,其一般形式为:delete[]+要释放的指针。

题目二:简单应用题【参考答案】(1) a[num] = e;(2) Array(s)(3) a[j] = a[j - 1];(4) a[i] = e;【考点分析】本题考查数组类Array以及Array的派生类SortedArray,其知识点涉及构造函数、析构函数、虚函数、动态数组。

考到函数时,首先要看函数名,通过函数名称能大概知道该函数的功能,比如Array 类中的virtual void add(int e) 函数,看到这个函数我们能得到如下信息:1) 有关键字virtual,说明该函数是虚函数,在Array类的派生类里肯定会有对add函数的定义。

2) 有关键字void,说明此函数没有返回值。

3) add的意思是添加,它的形参是int e,那么我们大概可以猜到该函数的功能是把整型数值e添加到数组a中。

【解题思路】(1) 考查的是虚函数virtual void add(int e)的定义,即添加一个整型数已到a[num] 中。

(2) 主要考查的是Array类的派生类SortedArray类的构造函数的定义,定义之前要对基础类初始化。

(3) 因为SortedArray类是排序类,所以数组a中的元素是要从小到大排序的。

在if (e < a[i])条件下,要把i后的元素逐个往后移一位,因此此处为a[j] = a[j - 1]。

(4) 主要考查虚函数virtual void add(int e)在派生类SortedArray类中的定义,把插入的数据放在数组a的第i+1个位置,即a[i] = e;。

【举一反三】第31套的简单应用题。

题目三:综合应用题【参考答案】(1) MyVector::MyVector(2) i.x - j.x, i.y - j.y(3) v1 + v2【考点分析】本题考查二维向量类MyVector,其中涉及到的知识点有构造函数,重载运算符+、-、<<。

在类外定义构造函数时,语法要和定义其他类函数一样,前面要加上类名和作用域符号。

重载运算符函数要注意其返回值类型和参数类型。

【解题思路】(1) 主要考查的是构造函数, 在类外定义构造函数时要使用类名和作用域, 即MyVector::MyVector。

(2) 主要考查重载运算符"-"的返回语句,返回值应为向量i和j的差,即MyVector(i.x - j.x, i.y - j.y);。

(3) 主要考查重载运算符"+"的使用,由题目可知v3是v1和v2的和,前面我们已经重新定义了运算符"+",所以在这里直接使用语句v3 = v1 + v2即可。

第2套题解析题目一:基本操作题【参考答案】(1)MyClass(int i)(2)int Max(int x, int y, int z)(3)cout<< "The value is "<< obj.GetValue()<< endl;【考点分析】本题考查:MyClass类,构造函数,析构函数,成员函数,函数重载。

函数重载必须要形参类型不同,或者形参个数不同。

【解题思路】(1)考查构造函数,构造函数前不加void或其它任何类型名,直接使用MyClass(int i)即可。

(2)主要考查函数重载,在int Max(int x, int y) { return x>y ? x : y; }中两个形参变量都是int型,而语句int Max(int x, int y, int z= 0)的前两个形参也都是int 型,第三个形参定义默认值,那么这两个Max函数在调用时它们的参数个数和参数类型都一样,因为函数重载要求形参类型或形参个数不同,所以要把int z=0 改为intz,才能构成函数重载。

(3)主要考查成员函数的调用,因为value是私有成员,所以不能被类外函数直接调用,而且value()的用法也是错误的,可以使用成员函数obj.GetValue()得到value的值。

【举一反三】第28套的程序改错题。

题目二:简单应用题【参考答案】(1)item(val)(2)delete [] p(3)temp = top(4)temp->next = top【考点分析】本题考查:堆栈类Stack类,Item类,构造函数,析构函数,成员函数,函数调用。

堆栈类的节点一般使用指针表示,也就会考查到指针的相关知识点,要注意释放指针应使用delete [] 语句。

【解题思路】(1)主要考查构造函数,对私有成员进行初始化,即item(val)。

(2)主要考查delete语句释放指针,一般格式为:delete []+指针。

(3)指向栈顶节点的是top指针,要使temp指向栈顶节点,故使用语句temp = top。

(4)指向栈顶结点的是top指针,要使新节点的next指针指向栈顶数据,故使用语句temp->next = top。

【解题宝典】本题涉及堆栈类,栈是先进后出,后进先出的存储结构。

对于此类问题指针的使用是个难点,要记住栈中指向栈顶节点的是top指针,添加数据时要往栈顶添加。

【举一反三】第46套的简单应用题。

题目三:综合应用题【参考答案】(1)MyPoint p1, MyPoint p2(2)up_left.getX(), down_right.getY()(3)double MyRectangle::【考点分析】本题考查:表示平面坐标系中的点的类MyPoint,表示矩形的类MyRectangle,构造函数,成员函数。

【解题思路】(1)考查构造函数,构造函数中的参数要给私有成员赋值,在下句中up_left(p1),down_right(p2){}指出私有成员赋值要使用形参p1和p2,所以这里参数要定义为MyPoint p1, MyPoint p2。

(2)主要考查成员函数的返回语句,MyPoint My Rectangle: getDownLeft()const函数要求返回一个左下角的点坐标,因此使用语句MyPoint(up_left.getX(), down_right.getY());。

(3)主要考查成员函数的定义,在MyRectangle类中已经声明double area()const,因此此处只要添加double MyRectangle::即可。

【解题宝典】构造函数的参数定义时要注意在赋值语句中使用的参数。

考查构造函数一般都会考查到形参,应注意联系上下文。

类的成员函数在类外定义时要在函数名前面加上:返回值类型+ 类名+ 作用域(::)。

【举一反三】第28套的综合应用题。

第3套题解析题目一:基本操作题【参考答案】(1)MyClass(int val) : value(val) {}(2)void MyClass::SetValue(int val) { value = val; }(3)cout<< "The value is "<< obj.GetValue()<< endl;【考点分析】本题主要考查:MyClass类,构造函数,成员函数以及成员函数调用。

【解题思路】(1)考查构造函数,定义构造函数时不能使用void,直接使用MyClass(int val)即可。

(2)主要考查成员函数定义,类的成员函数定义时要使用前缀MyClass,而inline是内联函数的关键字,在此是错误的,应该删掉inline并在函数名前加上前缀MyClass,即void MyClass::SetValue(int val) { value = val; }。

(3)考查成员函数调用,value是私有成员,在主函数中不能直接调用value,可以使用成员函数GetValue()来得到value的值。

【解题宝典】构造函数前不能添加任何类型,如void,int,double等。

类的成员函数定义时要加上前缀,即类的名字。

私有成员只能被类的成员函数调用。

【举一反三】第32套的程序改错题。

题目二:简单应用题【参考答案】(1)new char[s](2)delete [] p(3)p[top] = c(4)return p[top]【考点分析】本题主要考查的是表示栈的抽象类Stack类以及它的派生类ArrayStack类,纯虚函数,成员函数。

栈的节点一般使用指针表示,定义构造函数时要给指针分配空间,使用new语句来完成。

ArrayStack() 是析构函数,因为前面已经使用了new来分配空间了,因此在这里要用delete 语句来释放指针。

【解题思路】(1)主要考查的是ArrayStack的构造函数,在函数中要为p申请s个char型空间,应使用语句p = new char[s];。

相关文档
最新文档