全国2009年01月高等教育自学考试C++程序设计试题及答案
C语言程序设计试题及答案完整版
C语⾔程序设计试题及答案完整版C语⾔复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()⼊⼝, 然后从最上⾯顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以⼆进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, ⼀个字节= ⼋个位.5)⼀定要记住⼆进制如何划成⼗进制。
概念常考到的:1、编译预处理不是C语⾔的⼀部分,不再运⾏时间。
C语⾔编译的程序称为源程序,它以ASCII数值存放在⽂本⽂件中。
2、每个C语⾔程序中main函数是有且只有⼀个。
3、在函数中不可以再定义函数。
4、算法的是⼀定要有输出的,他可以没有输⼊。
5、break可⽤于循环结构和switch语句。
6、逗号运算符的级别最低。
第⼀章1)合法的⽤户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第⼀个必须为字母或则是下划线。
第⼀个为数字就错了。
关键字不可以作为⽤户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地⽅If是可以做为⽤户标识符。
因为If中的第⼀个字母⼤写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试⼝诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占⼀个字节,"1"是字符串占两个字节(含有⼀个结束符号)。
'0' 的ASCII数值表⽰为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型⼀般是两个字节, 字符型是⼀个字节,双精度⼀般是4个字节:考试时候⼀般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,⼀样做题。
09年C语言试题及答案
09年C语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的源代码不能直接在计算机上运行C. C语言支持结构化编程D. C语言不支持面向对象编程答案:D2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于指针的描述中,正确的是:A. 指针可以存储地址B. 指针可以存储数据C. 指针不能存储地址D. 指针不能存储数据答案:A4. 在C语言中,用于定义一个函数的关键字是:A. intB. voidC. returnD. function答案:A5. 下列关于数组的描述中,错误的是:A. 数组可以存储相同类型的元素B. 数组的索引从0开始C. 数组的大小在定义时确定D. 数组的大小可以在运行时改变答案:D6. 在C语言中,用于控制循环的关键字是:A. ifB. whileC. forD. switch答案:C7. 下列关于文件操作的描述中,错误的是:A. 文件操作需要使用文件指针B. 文件操作需要包含stdio.h头文件C. 文件操作不需要使用文件指针D. 文件操作需要使用fclose函数关闭文件答案:C8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A9. 下列关于函数参数的描述中,错误的是:A. 函数参数可以是常量B. 函数参数可以是变量C. 函数参数可以是数组D. 函数参数不可以是指针答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义变量的关键字是________。
答案:int2. 在C语言中,用于定义一个宏的预处理命令是________。
C语言程序设计期末考试试题及答案
C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。
A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};C. char str[10]; str= "strings";D. char str[]= "strings";10. 有如下程序:#include <stdio.h>void main(){int a=1,b=0,c=0;if (a<b)if (b<0) c=0;else c++;printf (“%d\n”,c);}该程序的运行结果是 D 。
全国2009年1月自学考试Java 语言程序设计(一)试题_答案
全国2009年1月自学考试Java 语言程序设计(一)试题_答案一、单项选择题(本大题共10小题,每小题1分,共10分)1、A2、B3、B4、C5、A6、D7、B8、C9、A 10、D二、填空题(本大题共10小题,每小题2分,共20分)11、class12、y/x>5 && x!=013、final14、115、getSource( )16、ButtonGroup17、Font fnA=new Font(“细明体”,Font.PLAIN.12)18、notify( )或notifyAll( )19、InputStream 和OutputStream20、数据库连接三、简答题(本大题共6小题,每小题3分,共18分)21、表示year年是闰年的Java表达式:(year%4= =0) && (year%100!=0)||(year%400= =0)22、请写出在类的方法的定义之前,加上修饰字public、private的区别。
Public修饰的方法为公用方法,任何类的方法都可以访问他Private修饰的方法,本类内部可以访问23、请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame的Java语句。
TextArea text=new TextArea();JScrollPane jsp=new JScrollPane(text);myFrame.getContentPane().add(jsp);24、Graphics2D g2d=( Graphics2D) g;Line2D line=new Line2D.Double(10,20,30,40);G2d.draw(line)25、字节流用于读写二进制数据,字节流数据是8位的,由InputStream类和OutputStream 类为字节流提供API和部分实现,由FileInputStream类和FileOutputStream类提供支持。
全国年月高等教育自学考试高级语言程序设计新一试题
全国2009年1月高等教育自学考试高级语言程序设计(一)试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是()A. 2B. 5C. 7D. 82. 设int a=7;float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.03. 设char cl; , 则cl中为小写英文字母字符的正确表达式为()A. ’a’<=c1=’z’B. (cl>=’a’)&&(cl<=’z’)C. (cl>=a)&&(c1<=z)D. (’a’<=c1)| |(’z’>=c1)4. 一维数组a的正确说明语句为()A. int a(10);B. int n=10, a[n];C. int n;D. #define SIZE 10scanf(″%d″,&n);int a[SIZE];int a[n];5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 666. 正确的条件语句为()A. if((a=b;)>0)t=a;B. if((a=b)>0)then t=a;C. if(a>b)t=a;D. if(a<b={a++;b++});7. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和18. 设int k,a,b;unsigned long w=5;double x=1.42;则不.符合类型要求的表达式是()A. x%(-3)B. w+=2C. k=(a=2,b=3)D. a+=(b=4)*(a=3)9. 设int a=3,b=4;,则printf(‘‘%d,%d,”(a,b),(b,a));的输出结果是()A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,4的循环语句是()10. 设int i=l, k=2;, 则错误..A. for(i=0,k=-1;i++,k++);B. for(;k-1;i++);C. for(i=1,k=4;k--;i++);D. for(;k--;);11. 设typedef struct{int a;char s[10];} TYPE;TYPE u1;则printf(‘‘%d\n”,sizeof(u1));的输出结果是()A. 2B. 12C. 14D. 1612. 设char sl[ ]=“string1”,s2[8], *s3, *s4=“string2”;,则对系统函数调用是()strcpy的错误..A. strcpy(s1, “string1”);B. strcpy(s4, “string2”);C. strcpy(“strin g2”,s2);D. strcpy(s3, “string1”);13. 正确的数组定义及初始化的是()A. char a[10]={“string”};B. int a[5]={0,1,2,3,4,5};C. char a={“string”};D. int a[ ]={x,y,z};14. 在循环体中用来强制继续循环的语句是()A. breakB. continueC. exitD. return15. 在C语言中,标准的输入设备stdin是指()A. 软盘B. 硬盘C. 显示器D. 键盘二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2009年全国自考C++程序设计模拟试卷(七)
B. 函数模板的类型参数与函数的参数是同一个概念 C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型
答案:C 解析:(P61)函数模板不是一个具体类型的参数,是使用虚拟的类型参数。函数模板的类型参数 与函数参数不是一个概念,函数模板表示方法: template <class T> T max(T m1,T m2) {return(m1,m2) m1:m2;} T为函数模板的类型参数,m1、m2为函数参数。
4. 解决定义二义性问题的方法有() A. 只能使用作用域分辨运算符 B. 使用作用域分辨运算符或成员名限定
更多试卷,请访问9州考苑()
C. 使用作用域分辨运算符或虚基类 D. 使用成员名限定或赋值兼容规则
答案:B 解析:(P139)解决二义性问题主要要两种方法:(1)赋值兼容规则;(2)虚基类。
答案:C 解析:(P80)创建对象时,相同自动调用构造函数;删除对象或结束程序时,自动调用析构函数 ,所以选择C项。
12. 如果类A被说明成类B的友元,则() A. 类A的成员即类B的成员 B. 类B的成员即类A的成员 C. 类A的成员函数不得访问类B的成员 D. 类B不一定是类A的友元
答案:D 解析:(P109)友元不是类中的成员,所以A、B错。A是B的友元,A可以访问B中的任何成员,C错 。友元具有单向性,且友元不具有继承性和传递性。所以D项正确。
16. 下列说法中,正确的说法是() A. 所有的运算符都能被重载 B. 运算符被重载时,它们的优先级与结合性不会改变 C. 当需要时,我们可以自定义一个运算符来进行重载 D. 每个运算符都可以被重载成成员函数和友元函数
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
C语言程序设计试题及答案解析[1]
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、abcB、5nC、_4mD、x35、以下叙述不正确的是:()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”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
全国月高等教育自学考试高级语言程序设计试题
全国2009年1月高等教育自学考试高级语言程序设计(一)试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是()A. 2B. 5C. 7D. 82. 设int a=7;float x=, y=;, 则表达式x+3%(int)(x+y)/4的值是()A. B.C. D.3. 设char cl; , 则cl中为小写英文字母字符的正确表达式为()A. ’a’<=c1=’z’B. (cl>=’a’)&&(cl<=’z’)C. (cl>=a)&&(c1<=z)D. (’a’<=c1)| |(’z’>=c1)4. 一维数组a的正确说明语句为()A. int a(10);B. int n=10, a[n];C. int n;D. #define SIZE 10scanf(″%d″,&n);int a[SIZE];int a[n];5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 666. 正确的条件语句为()A. if((a=b;)>0)t=a;B. if((a=b)>0)then t=a;C. if(a>b)t=a;D. if(a<b={a++;b++});7. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和18. 设int k,a,b;unsigned long w=5;double x=;则不.符合类型要求的表达式是()A. x%(-3)B. w+=2C. k=(a=2,b=3)D. a+=(b=4)*(a=3)9. 设int a=3,b=4;,则printf(‘‘%d,%d,”(a,b),(b,a));的输出结果是()A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,4的循环语句是()10. 设int i=l, k=2;, 则错误..A. for(i=0,k=-1;i++,k++);B. for(;k-1;i++);C. for(i=1,k=4;k--;i++);D. for(;k--;);11. 设typedef struct{int a;char s[10];} TYPE;TYPE u1;则printf(‘‘%d\n”,sizeof(u1));的输出结果是()A. 2B. 12C. 14D. 1612. 设char sl[ ]=“string1”,s2[8], *s3, *s4=“string2”;,则对系统函数strcpy的错误调用是()..A. strcpy(s1, “string1”);B. strcpy(s4, “string2”);C. strcpy(“strin g2”,s2);D. strcpy(s3, “string1”);13. 正确的数组定义及初始化的是()A. char a[10]={“string”};B. int a[5]={0,1,2,3,4,5};C. char a={“string”};D. int a[ ]={x,y,z};14. 在循环体中用来强制继续循环的语句是()A. breakB. continueC. exitD. return15. 在C语言中,标准的输入设备stdin是指()A. 软盘B. 硬盘C. 显示器D. 键盘二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
全国2009年01月高等教育自学考试Java语言程序设计(一)试题
全国2009年1月自学考试Java语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共10分)1.下列字符组合不能作为Java整型常量的是( )A.078B.0x3ACBC.5000D.0x3ABC2.以下程序代码的输出结果是( )int x = 10; while (x > 7) { System.out.print("*"); x--;}A.**B.***C.*D.****3.设类U声明,及对象u和v的定义如下:class U{ int x, int y; U(int a, int b){x= a; y = b;} void copy(U a){ x = a.x; y = a.y;} }U u = new U(1, 2), v = new U(2, 3);在以下供选择的代码中,可能引起系统回收内存的是( )A.u.x=v.y;u.y=v.x;B.u=v;C.u.copy(v);D.v.copy(u);4.设有以下代码:String s l="123";String s2="123";String s3=new String("123");则表达式s1==s2和s1==s3的值分别是( )A.true,true B.false,falseC.true,falseD.false,true5.以下关于AWT与Swing之间关系的叙述,正确的是( )A.Swing是AWT的提高和扩展B.在写GUI程序时,AWT和Swing不能同时使用C.AWT和Swing在不同的平台上都有相同的表示D.AWT中的类是从Swing继承的6.在以下Swing组件中,能为它指定布局管理器的是( )A.JScrollBar对象B.JMenuBar对象C.JComboBox对象D.JDialog对象7.一般的绘图程序要定义一个JPanel子类。
2009年全国自考C++程序设计模拟试卷(七)
更多试卷,请访问9州考苑()
C. 使用作用域分辨运算符或虚基类 D. 使用成员名限定或赋值兼容规则
答案:B 解析:(P139)解决二义性问题主要要两种方法:(1)赋值兼容规则;(2)虚基类。
3. 以下有关继承的叙述正确的是 () A. 构造函数和析构函数都能被继承 B. 派生类是基类的组合 C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员 D. 基类的公有成员一定能被派生类的对象访问
答案:C 解析:(P129)构造函数和析构函数不能被派生类继承,A项错误。派生类是基类的扩展,B项错。 派生类可以访问基类公有和保护类型的成员,不能访问基类私有成员。D项基类是公有的成员 ,若采用私有继承,派生类对象不能直接访问。选择C项。
答案:A 解析:(P170)派生类重新定义虚函数时,参数类型,个数和返回类型一定要和基类虚函数保持相 同,但形参名,可以有不同的名称。
虚函数是非静态的。虚函数声明只能出现在类定义的函数原型声明中,而不能在成员函数的 函数体实现的时候声明。一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性。若类 中一个成员函数被说明为虚函数,则该成员函数在派生类中可能有不同的实现。当使用该成员函 数操作指针或引用所标识的对象时,对该成员函数调用可采用动态联编。
A. A::func2()和B::func1()都是虚函数 B. A::func2()和B::func1()都不是虚函数 C. B::func1()是虚函数,而A::func2()不是虚函数 D. B::func1()不是虚函数,而A::func2()是虚函数
答案:C 解析:(P170)基类的虚函数,在派生类只要有同样的函数(返回值相同,函数名相同,形参个数 相同,类型相同)即使没有virtual修饰,该函数也是虚函数。基类func1是虚函数与派生类 func1相同,所以派生类func1也是虚函数。func2在基类中是普通函数,在派生类是虚函数。
全国2009年1月高等教育自学考试管理系统中计算机应用真题及答案
全国2009年1月高等教育自学考试管理系统中计算机应用试题课程代码:00051一、单项选择题(本大题共30小题,每小题1分,共30分)在每小题列出的四个备选项中只有—个是最符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.MRPII中,完成建立、组织和维护企业的基本数据(如:产品结构、制造工艺、设备等)功能的子系统是()A.工厂维护子系统B.技术和生产数据管理子系统C.采购及进货子系统D.订货服务子系统2.在信息时代,企业将一些不具备竞争优势或效率相对低下的业务内容外包并虚拟化的改革创新行为称为()A.业务流程重组B.供应链管理C.虚拟企业D.电子商务3.信息商品如计算机软件、电子读物等可直接通过网络传送。
这一电子商务的功能称为()A.网上广告宣传B.网上产品订购C.意见征询D.服务传递4.下列不属于...企业信息化应用领域的是()A.CAMB.CAIC.CADD.Intranet5.微型计算机又称为()A.个人机B.工作站C.小型机D.大型机6.微型计算机系统中,各种数据和命令传输的公共通道称为()A.存储器B.运算器C.操作系统D.总线7.下列选项中,属于系统软件的是()A.WordB.ExcelC.DBMSD.Photoshop8.下列通信介质中,价格最低廉,安装维护方便的是()A.同轴电缆B.双绞线C.光缆D.无线通信9.关系student题9表A.姓名B.学号C.性别D.年龄10.下列关于系统开发的描述不正确...的是()A.系统开发的历史长,有丰富的经验可借鉴B.系统开发的成果不容许有任何错误C.系统开发一般都需要耗费大量的人力、物力和时间资源D.系统开发的产品是无形的11.下列不属于...系统开发指导原则要点的是()A.目的性B.整体性C.扩展性D.环境适应性12.结构化系统开发的主导原则是()A.由内向外B.由简向繁C.由底向上D.自顶向下13.下列系统开发方式中,开发周期最短的是()A.自行开发B.购买应用软件产品C.委托开发D.合作开发14.信息系统规划的主要目的不包括...()A.符合企业总的战略目标B.明确系统开发的优先顺序C.保证部门内的信息格式正确D.为领导对系统开发决策提供依据15.企业信息系统的规划分为战略性规划和()A.战术性规划B.作业性规划C.指标性规划D.执行性规划的是()16.现有一部分U/C矩阵如题16表所示,则下列描述不正确题16表A.成品库存信息是在库存控制功能中产生的B.材料供应信息是在库存控制功能中产生的C.材料供应信息是在材料需求功能中产生的D.库存控制功能要应用材料供应信息17.绘制数据流程图时,系统中的全系统共享的数据存储常画在()A.任意层次数据流程图B.扩展数据流程图C.低层次数据流程图D.顶层数据流程图18.下列选项不属于...系统分析报告内容的是()A.系统使用说明文档B.原系统的状况和问题C.新系统的目标D.新系统的逻辑设计19.在E-R图中,实体之间存在的联系有()A.1种B.2种C.3种D.4种20.如题20图的控制结构图表示的是()A.顺序结构B.选择结构C.循环结构D.调用结构21.一个菜单项的任务是连接文件名为“表单1”的表单。
C++2009试题含答案
本文由yja_IT贡献 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)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
2009年全国自考C++程序设计模拟试卷(四)
6. 在面向对象的程序设计中,首先在问题域中识别出若干个 () A. 函数 B. 类 C. 文件 D. 过程
答案:B 解析:(P31)面向过程的和面向对象都具有、函数、文件和过程这些概念,而面向对象程序才有 类和对象的特征。所以选择B。
7. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明() A. f1和f2都是静态函数 B. f1不是静态函数,f2是静态函数 C. f1是静态函数,f2不是静态函数 D. f1和f2都不是静态函数
答案:C 解析:(P107)普通成员函数可以调用静态函数,相反静态函数不能调用普通成员函数,这与普通 函数与常成员函数相同。因此选择C项。
8. 下列有关模板和继承的叙述正确的是 () A. 模板和继承都可以派生出一个类系 B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定 C. 从动态性能看, 继承类系比模板类系具有更多的动态特性 D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系
答案:A 解析:(P170)在基类声明为virtual的函数为虚函数,在派生类中只要有相同的函数(函数名相 同、返回值相同、形参类型和个数相同)即使不用virtual说明,也都是虚函数。
2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为() A. const char *p=“ABCD”; B. char *const p=“ABCD”; C. char const *p=“ABCD”; D. const char * const p=“ABCD”;
更多试卷,请访问9州考苑()
2009年全国自考C++程序设计模拟试卷(四)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。 1. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中() A. 都是虚函数 B. 只有被重新说明时才是虚函数 C. 只有被重新说明为virtual时才是虚函数 D. 都不是虚函数
历届自考C++__程序设计试题及答案
历届自考C++__程序设计试题及答案全国2008年10月自学考试C++程序设计试题课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 1(对C++语言和C语言的兼容性,描述正确的是( A )A(C++兼容C B(C++部分兼容C D(C兼容C++2(在C++中使用流进行输入输出,其中用于屏幕输出的对象是( C ) A(cerrB(cin C(coutD(cfile(cerr:标准错误输出(非缓冲方式);cin:标准输入;clog 标准错误输出(缓冲方式))3(对使用关键字new所开辟的动态存储空间,释放时必须使用( C ) A(freeB(create C(delete D(realse(如没有使用private关键字定义类的数据成员,则默认为( A ) 4A(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); 说明:不能以形参名来区分函数;不能以函数返回值来区分函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2009年1月自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.C++源程序文件扩展名为( A)A..cppB..hC..1ibD..obj2.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是( B)A.cerrB.cinC.coutD.cfile3.包含自定义头文件file.h的预处理指令是( D)A.#define<file.h>B.#include file.hC.#define file.hD.#include"file.h"4.用于标识十六进制前缀或后缀是( D)A.元B.后缀L或eC.前缀零D.前缀0x5.设存在整型变量int x,则下列句与其它三项含义不同的是( A)A.int* p=&x;B.int&p=x;C.int&p=x;D.int&p=x;6.在定义类成员时,为产生封装性,则需使用哪个关键字( D)A.publicB.publishC.protectedD.private7.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为( C)A.10,10B.10,15C.15,10D.15,158.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( C)A.前部B.中部C.后部D.两端9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B)A.int m=min(min(15,26),min(15,47));B.int m=min(15,26,47);C.int m=min(15,min(47,26));D.int m =min(min(47,26),16);10.下列函数不能和函数void print(char)构成重载的是(C)A.int print(int);B.void print(char,char);C.int print(char);D.void print(int,int);11.在下列成对的表达式中,运算结果类型相同的一对是( D)A.7/2和7.0/2.0B.7/2.0和7/2C.7.0/2和7/2D.7.0/2.0和7.0/2l2.内联函数的特点是( D )A.减少代码量,加快访问速度B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度D.增加代码量,加快访问速度13.类的私有成员可在何处被访问( A)A.本类的成员函数中B.本类及子类的成员函数中C.通过对象名在任何位置D.不可访问14.类的构造函数在以下什么情况下会被自动调用( B)A.定义成员函数时B.定义对象时C.定义数据成员时D.定义友元函数时15.下列关于析构函数描述正确的是(D)A.可以重载B.函数体中必须有delete语句C.返回类型必须是void类型D.不能指定返回类型16.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是( D )A.Sum(1,2);B.Sum(3.0,2.2);C.Sum(…A‟,…C‟);D.Sum("A","C");17.下列哪个编译指令属于条件编译指令( C )A.#includeB.#defineC.#elseD.#pragma18.关于类的静态成员函数描述错误的是( A )A.在创建对象前不存在B.不能说明为虚函数C.不能直接访问非静态函数D.不是对象的成员l9.如果类A被声明成类B的友元,则( D)A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元20.派生类的对象可以访问以下那种情况继承的基类成员(D)A.私有继承的私有成员B.公有继承的私有成员C.私有继承的保护成员D.公有继承的公有成员二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C++语句是cout<<a。
22.C++将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获取数据的操作称为提取操作。
23.执行下列代码int b=100;cout<<"Hex:"<<hex<<b;程序的输出结果是Hex:64。
24.静态联编所支持的多态性称为编译时或编译的多态性。
25.C++程序必须有且只有一个主函数,其函数名为main。
26.写出声明一个复数对象的语句,并使该对象被初始化为2.2+1.3i,此声明语句是complex<float> num(2.2,1.3)或complex<double> num(2.2,1.3)。
27.若有函数定义为:int add(int ml=0,int m2=2,int m3=4){return ml+m2+m3;}在主函数中有int s=add(1)+add(0,1)+add(0,1,2);则执行此语句后s的值为15 28。
28.C++中使用inline关键字说明函数为内联函数。
29.在源程序中有宏定义:#define PI 3.14,则若不想使该宏定义影响到程序的其它地方,可以使用#undef PI删除该宏定义。
30.类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还可以有对数据进行操作的函数或成员函数。
31.有下列代码int a=0;double b=0;cin>>a>>b;当用键盘输入1.25时,b=0.25。
32.对于类Point而言,其析构函数的定义原型为Point::~Point( )或~Point( )。
33.对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序,与它们在成员初始化列表中给出的顺序无关。
34.类的简单成员函数是指声明中不含const、volatile、static关键字的函数。
35.与操作对象的数据类型相互独立的算法称为泛型算法。
36.从一个或多个以前定义的类产生新类的过程称为派生。
37.在vector类中向向量尾部插入一个对象的方法是push_back(const T&)。
38.C++中用于动态创建对象,并返回该对象的指针的关键字是new。
39.C++的流类库预定义的与标准输出设备相联接的流是cout。
40.执行下列代码cout<<noshowpoint<<123.0;程序输出结果是123。
三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。
41.#include<iostream.h>class f{private:float x,y;public:f(float a,float b){x=a;y=b;}float max(){return(x<y)?x:y;}//求最大值} ;main(){f a(1.5,3.8);cout<<a.max()<<endl;}return(x<y)?x:y; 该语句求的是最小值,应改为return(x>y)?x:y;或return(x<y)?y:x;42.#include<iostream.h>class test{private:int x;public:test(int a){x=a;}void set(int a){x=a;}void get(){cout<<x<<endl;}}main(){const test a(3);a.set(5);a.get();}a.set(5); a是常对象,不能被更新或const test a(3);去掉const使a不再为常对象43.#include<iostream.h>class point{private:float x,y;public:f1(float a,float b){x=a;y=b;}point(){x=0;y=0;}void getx(){cout<<x<<endl;}void gety(){cout<<y<<endl;}};void print(point a){cout<<a.x<<endl;}main(){point a;a.f1(3.0,5.0);print(a);}print(point a){cout<<a.x<<endl;} print( )不是成员函数不允许直接调用a.x或将private:float x,y;改为public:float x,y;或cour<<a.x<<endl;改为a.getx( );44.#include<iostream.h>class f{private:int x,y;public:fl(int a,int b){x=a;y=b;}void print(){cout<<x<<y<<endl;}} ;main(){fa;a.f1(1.5,1.8);a.print();}a.f1(1.5,1.8); f1( )调用时实参与形参类型不一致45.#include<iostream.h>main(){int x=6;const int*p=x;cout<<*p<<endl;}const int *p=x; 变量给指针p赋值必须加上&四、完成程序题(本大题共5小题,每小题4分,共20分)46.完成下面程序,使其输出l0,并在退出运行时正确释放分配给指针的存储空间。
#include <iostream>using namespace std;void main(){int *a,*p;a=new int(10);p=_a_;cout<<*p<<endl;delete p;或delete a;}47.#include <iostream>using namespace std;class base{private:int x;public:base(int a){x=a;}int get(){return x;}void showbase() {cout<<"x="<<x<<endl;} };class Derived:public base{private:int y;public:Derived(int a,int b):base(a){y=b;} void showderived(){cout<<"x="<<get()<<",y="<<y<<endl;} };void main(){base b(3);Derived d(6,7);b.showbase();d.showderived();b=d;b.showbase();base b1=b;或base &b1=b;或base b1(6);b1.showbase();base* pb=&bl;pb—>showbase();d.showderived();b.showbase();}输出结果如下:x=3x=6,y=7x=6x=6x=6x=6,y=7x=648.下面程序的运行结果如下:B::display()C::display()在下划线处填上缺少的部分。