自考C 试题及答案 套合集
自考C++试题(9套合集)1-2套
2009年全国自考C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B. 公有成员C. 保护成员D. 保护成员或私有成员6. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性C. 派生类是基类定义的延续D. 派生类是基类的特殊化7. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
8. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数10. 下面函数模板定义中不正确的是()A. AB. BC. CD. D11. 假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()A. X,Y;Y,XB. X,Y;X,YC. Y,X;X,YD. Y,X;Y,X12. 适宜采用inline定义函数情况是()A. 函数体含有循环语句B. 函数体含有递归语句C. 函数代码少、频繁调用D. 函数代码多、不常调用13. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和514. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register15. 下列不能作为类的成员的是()A. 自身类对象的指针B. 自身类对象C. 自身类对象的引用D. 另一个类的对象16. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象17. 下列程序的输出结果是()#include <iostream.h>void main(){int n[][3]={10,20,30,40,50,60};int (*p)[3];p=n;cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;}A. 10,30,50B. 10,20,30C. 20,40,60D. 10,30,6018. 在C++中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerrC. coutD. clog19. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()A. x.aB. x.a()C. x->aD. (*x).a()20. 关于对象概念的描述中,说法错误的是()A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是类的一个变量D. 对象之间的信息传递是通过消息进行的二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
山西专升本c语言试题及答案
山西专升本c语言试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是()。
A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持指针的使用答案:B2. 在C语言中,下列哪个关键字用于定义一个函数?()A. voidB. intC. returnD. struct答案:B3. 下列关于数组的描述,正确的是()。
A. 数组必须在声明时初始化B. 数组的大小在编译时确定C. 数组的索引从1开始D. 数组可以在运行时改变大小答案:B4. 下列关于指针的描述,错误的是()。
A. 指针可以存储地址B. 指针可以指向函数C. 指针可以作为函数的参数D. 指针不能作为函数的返回值答案:D5. 在C语言中,下列哪个运算符用于执行算术运算?()A. %B. &&C. =D. <答案:A6. 下列关于C语言中循环的描述,正确的是()。
A. for循环不能嵌套使用B. while循环可以与do-while循环嵌套使用C. do-while循环至少执行一次D. break语句可以用于退出switch语句答案:C7. 下列关于C语言中文件操作的描述,错误的是()。
A. 文件操作需要包含头文件<stdio.h>B. 文件指针的类型是FILE*C. 文件的打开操作使用fopen函数D. 文件的关闭操作使用fclose函数答案:A8. 在C语言中,下列哪个函数用于将字符串转换为浮点数?()A. atoiB. atofC. itoaD. sprintf答案:B9. 下列关于C语言中结构体的描述,错误的是()。
A. 结构体可以包含其他结构体B. 结构体可以包含数组C. 结构体不能包含函数D. 结构体不能包含指针答案:D10. 在C语言中,下列哪个关键字用于定义一个全局变量?()A. staticB. externC. registerD. auto答案:B二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个静态局部变量。
C自考练习题及解答
程序员冲刺练习题及解答:第一章 (2)1.1 单项选择题 (2)1.2 填充题 (4)第二章 (6)2.1 单项选择题 (6)2.2 填充题 (16)第三章 (20)3.1 单项选择题 (20)3.2 填充题 (30)3.3 程序分析题 (32)3.4 程序设计题 (34)第四章 (43)4.1 单项选择题 (43)4.2 填充题 (46)4.3 程序分析题 (50)4.4 程序设计题 (53)第五章 (63)5.1 单项选择题 (63)5.2 填充题 (71)5.3 程序分析题 (72)5.4 程序设计题 (73)第六章 (77)6.1 单项选择题 (77)6.2 填充题 (79)6.3 程序分析题 (81)6.4 程序设计题 (82)第七章 (83)7.1 单项选择题 (83)7.2 填充题 (85)7.3 程序分析题 (85)7.4 程序设计题 (86)第八章 (89)8.1 单项选择题 (89)8.2 填充题 (89)8.3 程序分析题 (90)8.4 程序设计题 (91)第九章 (94)9.1 单项选择题 (94)9.2 填充题 (95)9.3 程序分析题 (96)9.4 程序设计题 (97)第一章1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言【解】人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。
面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。
面向过程语言是一种能方便描述算法过程的计算机程序设计语言。
有汇编语言,但没有面向汇编语言。
汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。
所以解答是①。
2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C语言④PASCAL 语言【解】C语言和PASCAL等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。
武汉纺织大学专升本c语言试题及答案
武汉纺织大学专升本c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. IntB. IntegerC. intD. in2. C语言中,用于定义一个字符常量的是?A. "A"B. 'A'C. AD. a3. 下列哪个选项是C语言中的逻辑运算符?A. <=B. ==C. &&D. ++4. C语言中,用于定义一个整型变量的关键字是?A. varB. intC. integerD. type5. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/6. C语言中,以下哪个选项是正确的数组定义方式?A. int a[5];B. int a[];C. int a[5] = {0};D. All of the above7. C语言中,以下哪个选项是正确的函数定义?A. int function(int x) { return x; }B. int function(int x) { return x; }C. int function(int x) { return x; }D. All of the above8. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello";D. char str[] = {"Hello"};9. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student { int id; char name[20]; };B. struct Student { int id; char name[]; };C. struct Student { int id; char name; };D. All of the above二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________2. C语言中,用于表示逻辑“与”的运算符是:________3. 一个C语言程序的执行从______函数开始。
自考C++试题及答案(11套合集)
全国2008年10月自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)1.对C++语言和C语言的兼容性,描述正确的是( A )A.C++兼容C B.C++部分兼容C D.C兼容C++2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是( C )A.cerr B.cin C.coutD.cfile(cerr:标准错误输出(非缓冲方式);cin:标准输入;clog 标准错误输出(缓冲方式))3.对使用关键字new所开辟的动态存储空间,释放时必须使用( C )A.free B.create C.delete D.realse4.如没有使用private关键字定义类的数据成员,则默认为( A )A.private B.public C.protected D.friend5.使用值传递方式将实参传给形参,下列说法正确的是( A )A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,则有( A )A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值7.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )A.int m = max(22,max(59,70)); B.int m = max(max(22,59),70);C.int m = max(22,59,70);D.int m = max(59,max(22,70));8.下列哪个类型函数不适合声明为内联函数( A )A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长9.int Func(int,int);不可与下列哪个函数构成重载( B )A.int Func(int,int,int); B.double Func(int,int);C.double Func(double,double); D.double Func(int,double);说明:不能以形参名来区分函数;不能以函数返回值来区分函数。
自考c语言试题及答案
自考c语言试题及答案C语言是一门非常重要的编程语言,也是计算机科学专业学生必学的一门课程。
为了帮助自考学生更好地备考和复习,本文将提供一些C语言试题及答案。
1. 下面哪个选项可以正确定义一个整数变量?a) int x;b) integer x;c) x int;d) int x = 5;答案:a) int x;2. C语言中的逻辑运算符是什么?a) &&b) ||c) !d) &答案:a) && 和 b) ||3. 下面哪个选项可以正确输出 Hello World!?a) printf("Hello World!);b) print("Hello World!");c) printf("Hello World!");d) print("Hello World!);答案:c) printf("Hello World!");4. 在C语言中,如何向屏幕输出一个整数变量的值?a) print(x);b) printf("%d", x);c) cout << x;d) console.log(x);答案:b) printf("%d", x);5. 下面哪个选项是正确的if语句的语法?a) if x == 5 { printf("x is 5"); }b) if (x == 5) { printf("x is 5"); }c) if x = 5 { printf("x is 5"); }d) if (x = 5) { printf("x is 5"); }答案:b) if (x == 5) { printf("x is 5"); }6. 下面哪个选项可以正确定义一个包含5个整数元素的数组?a) int arr[5] = {1, 2, 3, 4, 5};b) int arr[] = {1, 2, 3, 4, 5};c) int arr[5] = {1, 2, 3};d) int arr[5];答案:a) int arr[5] = {1, 2, 3, 4, 5};7. 在C语言中,如何定义一个函数?a) function sum(int x, int y) { return x + y; }b) void sum(int x, int y) { return x + y; }c) int sum(x, y) { return x + y; }d) int sum(int x, int y) { return x + y; }答案:d) int sum(int x, int y) { return x + y; }8. 下面哪个选项可以正确地输入用户的整数输入值?a) cin >> x;b) scanf("%d", x);c) printf("%d", x);d) gets(x);答案:b) scanf("%d", x);9. 如何使用循环语句输出1到10之间的所有偶数?答案:使用for循环或while循环都可以实现此要求。
自考c语言国考试题及答案
自考c语言国考试题及答案一、选择题1. 下列关于C语言中整型变量的描述,不正确的是()。
A. 整型变量包括基本整型int和扩展整型long、shortB. 整型变量可以存储小数C. 整型变量用于存储整数D. 整型变量可以存储正数、负数和零答案:B2. C语言中,字符串常量在内存中以什么形式存储?()A. 字符串数组B. 字符串链表C. 字符串对象D. 字符串的字符序列,以'\0'结尾答案:D3. 在C语言中,以下哪个关键字用于定义指针类型?()A. intB. charC. floatD. void答案:A二、填空题4. C语言标准输入输出库文件为______.h。
答案:stdio5. 一个完整的C语言程序至少应包含一个______函数。
答案:main6. 在C语言中,字符常量可以用单引号括起来,例如'A',它的数据类型是______。
答案:char三、简答题7. 请简述C语言中的变量声明和变量定义的区别。
答案:变量声明是指声明一个变量的类型和名称,但不分配内存空间,通常用于函数的参数定义和外部变量的声明。
变量定义则包括声明和分配内存空间,用于创建变量并分配内存。
8. 描述C语言中结构体(struct)的基本用法。
答案:结构体是一种复合数据类型,允许将不同的数据项组合成一个单一的数据类型。
它由一系列不同类型的数据项组成,这些数据项称为结构体的成员。
结构体的基本用法包括定义结构体类型、创建结构体变量、访问结构体成员。
四、编程题9. 编写一个C语言程序,实现对两个整数进行交换的功能。
```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a, b;printf("Enter two numbers: ");scanf("%d %d", &a, &b);printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```10. 请编写一个函数,用于计算一个字符串的长度,不使用库函数。
自考C试题及答案套合集
2010年全国自考C++程序设计模拟试卷(三)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;3. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时4. 已知类A是类B的友元,类B是类C的友元,则()A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和16. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
7. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象8. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承9. 语句ofstream f(“TEMP.DAT”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件TEMP.DAT 并与之连接,并且()A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件10. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和513. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register15. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数16. 在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护17. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象18. C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性19. 对于int *pa[5];的描述,正确的是()A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C. pa[5]表示某个数组的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针20. 以下基类中的成员函数表示纯虚函数的是()A. virtual void tt()=0B. void tt(int)=0C. virtual void tt(int)D. virtual void tt(int){}二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
自考c试题及答案
自考c试题及答案一、单项选择题(每题1分,共10分)1. C语言中,用于定义一个结构体类型的关键字是:A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于计算两个整数的和?A. %B. +C. &&D. ||答案:B3. 下列关于C语言函数的描述中,正确的是:A. 函数可以没有参数B. 函数必须有返回值C. 函数的返回值类型必须与声明的类型一致D. 所有选项都是正确的答案:D4. C语言中,用于定义一个字符常量的是:A. 'a'B. "a"C. aD. 123答案:A5. 在C语言中,以下哪个选项不是合法的数组声明?A. int arr[10];B. int arr[] = {1, 2, 3};C. int arr[10] = {1, 2, 3};D. int arr;答案:D6. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储字符串的地址C. 指针可以存储函数的地址D. 指针不能存储数组的地址答案:D7. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. constD. static答案:A8. C语言中,用于打开文件的函数是:A. fopenB. openC. readD. write答案:A9. 在C语言中,以下哪个选项不是合法的循环语句?A. forB. whileC. do-whileD. repeat-until答案:D10. 下列关于C语言中变量作用域的描述中,正确的是:A. 局部变量只能在函数内部使用B. 全局变量可以在任何函数内部使用C. 静态局部变量的值在函数调用之间保持不变D. 所有选项都是正确的答案:D二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个枚举类型。
c++自考题库及答案
c++自考题库及答案C++自考题库及答案1. 问题:C++中的构造函数和析构函数有什么区别?答案:构造函数用于在创建对象时初始化对象,它与类名相同,没有返回类型,且不能被显式调用。
析构函数用于在对象生命周期结束时进行清理工作,它与构造函数名称相同但前面加上波浪号(~),同样没有返回类型,也不能被显式调用。
2. 问题:C++中的类和结构体有什么区别?答案:在C++中,类和结构体在语法上几乎相同,但默认的访问权限不同。
类成员默认是私有的,而结构体成员默认是公开的。
此外,类可以有继承、多态等面向对象的特性,而结构体则没有。
3. 问题:什么是C++中的友元函数?答案:友元函数是一个可以访问类的私有和保护成员的非成员函数。
它通过在类定义中使用`friend`关键字声明。
4. 问题:C++中的运算符重载是什么?答案:运算符重载允许程序员定义或修改已有运算符对用户定义类型(如类或结构体)的操作。
这可以通过运算符函数实现,运算符函数是一个特殊的成员函数或友元函数,它重定义了运算符的行为。
5. 问题:C++中的继承有哪些类型?答案:C++中的继承主要有三种类型:公有继承(public inheritance)、保护继承(protected inheritance)和私有继承(private inheritance)。
公有继承是最常见的形式,基类的公有和保护成员在派生类中仍然是公有和保护的。
保护继承使得基类的公有和保护成员在派生类中变为保护的。
私有继承则将基类的公有和保护成员变为派生类的私有成员。
6. 问题:C++中的多态性是如何实现的?答案:多态性在C++中主要通过虚函数实现。
虚函数允许基类中的函数在派生类中被重写,这样同一个函数调用可以有不同的行为,取决于对象的实际类型。
7. 问题:C++中的模板是什么?答案:模板是C++中一种参数化类型或值的机制,允许程序员编写通用的代码,可以用于不同的数据类型。
模板可以是函数模板或类模板。
c试题及答案自考
c试题及答案自考一、单项选择题(每题1分,共10分)1. 自考制度最早起源于哪个国家?A. 美国B. 英国C. 中国D. 澳大利亚答案:B2. 自考的全称是什么?A. 自主考试B. 自助考试C. 自主招生考试D. 自学考试答案:D3. 自考的主要特点是什么?A. 必须参加培训班B. 必须全日制学习C. 学习时间和方式灵活D. 必须在指定学校学习答案:C4. 自考的学历层次通常包括哪些?A. 专科B. 本科C. 研究生D. 所有以上答案:D5. 自考的考试形式通常是怎样的?A. 全部为闭卷考试B. 全部为开卷考试C. 闭卷和开卷相结合D. 没有考试,只有论文答案:C6. 自考的报名条件通常包括哪些?A. 必须有高中毕业证B. 必须通过入学考试C. 没有特定条件限制D. 必须有大学录取通知书答案:C7. 自考的毕业证书由哪个机构颁发?A. 教育部B. 培训机构C. 自考办D. 报考的学校答案:D8. 自考的考试科目通常由哪些部分组成?A. 公共课和专业课B. 只有公共课C. 只有专业课D. 没有科目限制答案:A9. 自考的通过率通常受哪些因素影响?A. 学习时间B. 学习态度C. 考试难度D. 所有以上答案:D10. 自考的学习资料通常包括哪些?A. 教材B. 习题集C. 网络资源D. 所有以上答案:D二、多项选择题(每题2分,共10分)11. 自考的学习方式可以包括哪些?A. 自主学习B. 参加辅导班C. 在线学习D. 与他人合作学习答案:ABCD12. 自考的考试时间通常由哪些因素决定?A. 报名时间B. 考试科目C. 考试地点D. 国家教育部门的安排答案:BD13. 自考的学历在哪些方面被认可?A. 考研B. 出国留学C. 就业D. 所有以上答案:D14. 自考的考试合格标准通常是怎样的?A. 60分及格B. 70分及格C. 根据科目难度调整及格线D. 必须所有科目都及格答案:ACD15. 自考的优势包括哪些?A. 学习时间灵活B. 费用较低C. 学历认可度高D. 考试难度低答案:ABC三、判断题(每题1分,共5分)16. 自考的学历证书与普通全日制高校的学历证书具有同等法律效力。
2023年自考专业(计算机应用)《C++程序设计》考试历年真题摘选附带答案
2023年自考专业(计算机应用)《C++程序设计》考试历年真题摘选附带答案第1卷一.全考点综合测验(共20题)1.【单选题】设x=8,执行语句Y=x++,则y等于()A.6B.7C.9D.82.【单选题】C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念3.【单选题】关于友元函数的描述中,错误的是()A.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend4.【单选题】在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A.受限制B.保持不变C.受保护D.不受保护5.【单选题】C++的继承性允许派生类继承基类的()A.部分特性,并允许增加新的特性或重定义基类的特性B.部分特性,但不允许增加新的特性或重定义基类的特性C.所有特性,并允许增加新的特性或重定义基类的特性D.所有特性,但不允许增加新的特性或重定义基类的特性6.【单选题】假定a为一个整型数组名,则元素a[4]的字节地址为()A.a+4B.a+8C.a+16D.a+327.【单选题】在类中说明的成员可以使用关键字的是()A.publicB.externC.cpuD.register8.【单选题】构造函数不具备的特征是()A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明9.【单选题】关于类模板的说法正确的是()A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值10.【单选题】语句ofstreamf(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且()A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件11.【单选题】假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为()A.3和15B.5和4C.4和20D.20和512.【单选题】当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数()A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual 时才是虚函数13.【单选题】要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()A.内联函数B.重载函数C.内部函数D.函数模板14.【单选题】友元关系不能()A.提高程序的运行效率B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.继承15.【单选题】在C++语言中用于注释的标识符是()A.&B.//C.*D./16.【单选题】关于this指针使用说法正确的是()A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。
最新最全的C++自考考试题及详细答案
面向对象程序设计综合练习题一.单项选择题1.C++源程序文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2.由C++源程序文件编译而成的目标文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik3.由C++目标文件连接而成的可执行文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik4.编写C++程序一般需经过的几个步骤依次是( )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接5.以下标识符中不全是保留字的是()。
A. case for intB. default then whileC. bool class longD. goto return char6.能作为C++程序的基本单位是( )。
A. 字符B. 语句C. 函数D. 源程序文件7.程序中主函数的名字为()。
A. mainB. MAINC. MainD. 任意标识符8.C++程序的基本模块为()。
A. 表达式B. 标识符C. 语句D. 函数9.可用作C++语言用户标识符的一组标识符是( )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof10.存储以下数据,占用存储字节最多的是()。
A. 0B. ‘0’C. “0”D. 0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12.设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。
A. 12B. 144C. 156D. 28813.假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( )。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c14.设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( )。
c试题及答案自考
c试题及答案自考一、选择题(每题2分,共10分)1. 以下哪个选项是计算机科学的基础学科?A. 物理学B. 数学C. 化学D. 生物学答案:B2. 在计算机系统中,CPU代表什么?A. 中央处理单元B. 中央存储单元C. 计算机外围设备D. 计算机输入设备答案:A3. 以下哪个选项是数据库管理系统的常见功能?A. 数据加密B. 数据备份C. 数据压缩D. 所有选项答案:D4. 计算机网络中,TCP/IP协议指的是什么?A. 传输控制协议/互联网协议B. 传输控制协议/互联网协议地址C. 传输控制协议/互联网协议端口D. 传输控制协议/互联网协议套接字答案:A5. 以下哪个选项是计算机操作系统的主要功能?A. 文件管理B. 设备管理C. 程序管理D. 所有选项答案:D二、填空题(每题2分,共10分)1. 在计算机科学中,______是指计算机执行指令的速度。
答案:CPU时钟频率2. 计算机的______存储器用于临时存储数据。
答案:随机访问3. 数据库中的______是指用于存储和管理数据的软件。
答案:数据库管理系统4. 计算机网络中的______协议负责在网络中传输数据。
答案:TCP/IP5. 操作系统的______功能负责管理计算机的硬件资源。
答案:设备管理三、简答题(每题10分,共20分)1. 请简述计算机操作系统的主要功能。
答案:计算机操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户界面管理等。
它负责协调计算机硬件和软件资源,为用户提供一个易于操作的环境。
2. 什么是云计算,它有哪些主要特点?答案:云计算是一种通过互联网提供计算资源(如服务器、存储、数据库、网络、软件等)的服务模式。
它的主要特点包括按需自助服务、广泛的网络访问、资源池化、快速弹性、服务的可度量性和多租户。
四、计算题(每题15分,共30分)1. 假设一个计算机系统有4个CPU核心,每个核心的时钟频率为2.5GHz。
自考C 试题及答案(6套合集)要点
2009年全国自考C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年全国自考C++程序设计模拟试卷(三)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;3. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时4. 已知类A是类B的友元,类B是类C的友元,则()A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和16. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
7. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象8. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承9. 语句ofstream f(“TEMP.DAT”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件TEMP.DAT 并与之连接,并且()A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件10. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后,x.a和x.b的值分别为()A. 3和15B. 5和4C. 4和20D. 20和513. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register15. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数16. 在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护17. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象18. C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性19. 对于int *pa[5];的描述,正确的是()A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C. pa[5]表示某个数组的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针20. 以下基类中的成员函数表示纯虚函数的是()A. virtual void tt()=0B. void tt(int)=0C. virtual void tt(int)D. virtual void tt(int){}二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1. 单目运算符作为类成员函数重载时,形参个数为__0_个。
2. 抽象类中至少要有一个_纯虚__函数。
3. 设类A有成员函数void f(void);若要定义一个指向类成员函数的指针变量pf来指向f,该指针变量的声明语句是:_void (A::*pf)(void);__。
4. 执行下列程序double a=3.1415926,b=3.14;cout<<setprecision(5)<<a<<", "<<setprecision(5)<<b<<endl;程序的输出结果是3.1416,3.14___。
5. vector类中用于删除向量中的所有对象的方法是___。
6. 重载的运算符保持其原有的_操作数__、优先级和结合性不变。
7. 编译时的多态性通过_重载__函数实现。
8. 基类的公有成员在派生类中的访问权限由_继承方式__决定。
9. 假设类X的对象x是类Y的成员对象,则“Y Obj”语句执行时,先调用类_X__的构造函数。
10. 下列程序段的输出结果是___。
11. 下列程序段的输出结果是___。
12. C++中ostream的直接基类_ios__。
13. int n=0;while(n=1)n++;while循环执行次数是_无限次__。
14. C++中有两种继承:单继承和_多重继承__。
15. 在C++中,利用向量类模板定义一个具有10个int的向量A,其元素均被置为1,实现此操作的语句是___。
16. vector类中向向量尾部插入一个对象的方法是___。
17. C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取引用___方式。
18. 若函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_声明__语句。
19. 在C++中有两种参数传递方式:传值和_引用__。
20. 将指向对象的引用作为函数的形参,形参是对象的引用,实参是_对象名__。
三、改错题(本大题共5小题,每小题4分,共20分)1. class ABC{int a;public:ABC(int aa)a(aa){} ABC(int aa):a(aa){};};2. #include <iostream.h>class Aton{int X,Y;protected:int zx,zy;public:void init(int i,int j){zx=i;zy=j;}Aton(int i,int j,int n=0,int m=0){X=i,Y=j,zx=m,zy=n;}添加inline int X(){return X};};void main(){Aton A(25,20,3,5);A.init(5,9);cout<<A.X()<<endl;3. #include <iostream.h>class Bas{public:~Bas(){cout<<"Bas construct"<<endl;}virtual void f()=0;};class Dev:public Bas{public:~Dev(){cout<<"Bas construct"<<endl;}virtual void f(){cout<<"Dev::f"<<endl;}};void main(){Bas *a=new Bas(); Bas *a;Dev p;a=&p;a->f();}4. 以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见。
#include <iostream.h>void swap(int &a,int &b){a=a+b;b=a-b;a=a-b;}void main(){int a=19,b=15;cout<<"a="<<a<<",b="<<b<<endl;swap(&a,&b); swap(a,b);cout<<"a="<<a<<",b="<<b<<endl;}5. #include <iostream.h>void main(){int i(3),j(8);int * const p=&i; int *p=&i;cout<<*p<<endl;p=&j;cout<<*p<<endl;}四、完成程序题(本大题共5小题,每小题4分,共20分)1. 在下面程序横线处填上适当内容,使程序执行结果为:"hello, andylin"。
#include <iostream>#include <string.h>using namespace std;class mystring{public:char * pdata;mystring(int len){pdata=new char[len+1];}~mystring(){delete pdata;}void show(){cout<<pdata<<endl;}};void fun(mystring** array,int len){mystring*old=*array;_*array=new mystring(len)______;memcpy(*array, old, len);}void main(){mystring str(20);mystring*pstr=&str;mystring**ppstr=&pstr;strcpy(str.pdata,"hello,andylin");fun(ppstr, 20);str.show();_______}2. 在下面程序横线处填上适当字句,完成类的定义。