04级计科123C++(I)练习题带答案1
2004秋省等级考试C++试卷(附答案)(1)

构造函数、析构函数、拷贝构造函数和 3. 设有说明语句: char s[]="123\t456\00089",*p=s; 执行以下两个语句: cout<<*(p+5)<<'\n'; cout<<(p+5)<<'\n'; 则输出分别为 (4) 和 (5) ●阅读程序题,共 13 分 4. [程序] (3 分) #include <iostream.h> void fun(int *a, int *b) { (*a)++; *b++; *a++; (*b)++; cout<<*a<<'\t'<<*b<<endl; }
。
二、填空题 (请将答案填写在答题纸的相应答题号内,每个答案只占一行) ●基本概念题,共 5 分 1.在 C++中,编译预处理包括三个方面的内容,它们分别是包含文件、 (1) 和 (2) 。 2.在类定义中,如果仅定义了数据成员,而没有定义成员函数时,则由系统自动生成的成员函数有缺省
第6页 VC++
; ){
第 12 页
VC++
p2=p1 = h; while (p2->next && p2->num<p->num) { p1 = p2 ; p2=p2->next; } if ( (30) ) { p2->next = p; p->next =0; } else { p->next = p2; p1->next = p; } } } return (h); }
计算机二级c语言历年(2004-2010)真题及标准答案

2010年3月计算机等级考试二级C笔试试题(文字版)一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间 B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件 B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段 C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计一阶段 C)概念设计阶段 D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择 B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1 B)0 C)2 D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a< p>if(a< p>else k=c;elseif(b else k=c;以下选项中与上述if语句等价的语句是A)k=(a< p>B)k=(ac)?b:c);C)k=(a< p>D)k=(a< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include计算机二级C 语言第 3 页 共 80 页void fun(char *c,int d) {*c=*c+1;d=d+1; printf("%c,%c,",*c,d); main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b ,a); }程序运行后的输出结果是 A)b ,B ,b ,A B)b ,B ,B ,A C)a ,B ,B ,a D)a ,B ,a ,B(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组pt C)定义了一个名为*pt 、具有三个元素的整型数组D)定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 (29)有以下程序 #include(stdio.h) main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf("%d\n", s); }程序运行后的输出结果是 A)6 B)10 C)11 D)15(30)有以下程序 #includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1; for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); }程序运行后的输出结果是 A)1 B)3C)4 D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是 A)5 5 B)10 5 C)10 7D)5 8(32)有以下程序 #include#define N 8void fun(int *x,int i) {*x=*(x+i);} main(){int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=O;i<>{printf("%d",a[i]);} printf("\n"); }程序运行后的输出结果是 A)1313 B)2234 C)3234 D)1234 (33)有以下程序 #includeint f(int t[],int n); main{ int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); }int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0; }程序运行后的输出结果是 A)4 B)1O C)14 D)6(34)有以下程序 #includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);} void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28计算机二级C 语言第 5 页 共 80 页D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。
计算机一级c类考试题及答案解析

计算机一级c类考试题及答案解析一、选择题(每题2分,共20分)1. 在计算机中,CPU指的是什么?A. 中央处理器B. 存储器C. 显示器D. 键盘答案:A2. 下列哪个选项不是计算机硬件?A. 鼠标B. 键盘C. 操作系统D. 打印机答案:C3. 计算机软件分为哪两大类?A. 系统软件和应用软件B. 硬件软件和网络软件C. 应用软件和网络软件D. 系统软件和网络软件答案:A4. 计算机病毒的特点不包括以下哪一项?A. 破坏性B. 传染性C. 隐蔽性D. 可预防性5. 下列哪个选项不是计算机操作系统的功能?A. 管理计算机硬件资源B. 管理计算机软件资源C. 提供用户界面D. 进行数据加密答案:D6. 计算机的存储设备中,RAM表示什么?A. 随机存取存储器B. 只读存储器C. 可编程只读存储器D. 硬盘存储器答案:A7. 在计算机中,二进制数1011转换为十进制数是多少?A. 10B. 11C. 12D. 13答案:B8. 计算机的外存储器包括哪些设备?A. 硬盘、软盘、光盘B. 硬盘、软盘、内存C. 内存、光盘、软盘D. 内存、硬盘、光盘答案:A9. 计算机的内存条通常指的是什么?B. 软盘C. 随机存取存储器D. 只读存储器答案:C10. 下列哪个选项不是计算机的输入设备?A. 鼠标B. 键盘C. 显示器D. 扫描仪答案:C二、填空题(每题2分,共20分)1. 计算机的五大基本组成部分包括:输入设备、输出设备、存储器、_______和_______。
答案:控制器、运算器2. 计算机的存储容量单位从小到大依次是:字节(Byte)、_______、兆字节(MB)、吉字节(GB)。
答案:千字节(KB)3. 计算机病毒是一种_______程序。
答案:恶意4. 计算机操作系统的主要功能是_______和_______。
答案:管理计算机硬件资源、管理计算机软件资源5. 在计算机中,CPU的时钟频率越高,其处理数据的速度越_______。
全国计算机等级考试三级C语言2004年4月真题与解析

全国计算机等级考试三级笔试试卷数据库技术(考试时间120分钟,满分100分)2004年4月一、选择题(每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列哪一个是输出设备?A)鼠标B)键盘C)数/模转换器D)模/数转换器【答案】C【解析】参看《数据库技术》一书中的“1.1.1计算机组成”小节中的第(5)小段。
在所列出的设备中,只有数/模转换器是输出设备。
(2)下列叙述中,错误的是A)系统软件是在应用软件基础上开发的B)系统软件应提供友好的人机界面C)系统软件与硬件密切相关D)系统软件与具体应用领域无关【答案】A【解析】参看《数据库技术》一书中的“1.2.2系统软件”小节与“1.2.3应用软件”中的内容。
在给出的四种答案中,答案A认为“系统软件是在应用软件基础上开发的”,这是错误的,因为实际上应用软件是在系统软件基础上开发的。
(3)下列哪一个协议是Internet使用的协议?A)OSI参考模型中规定的传输层协议B)TCP/IP传输控制/网间协议C)IEEE 802.3系列协议D)帧中继传输协议【答案】B【解析】参看《数据库技术》一书中的“1.3.3Internet基础”小节中的“3. TCP/IP协议、域名与IP地址”一段的内容。
Internet使用的是TCP/IP传输控制/网间协议。
(4)通常可用传输速率描述通信线路的数据传输能力,传输速率指的是A)每秒钟可以传输的中文字符个数B)每秒钟可以传输的字符数C)每秒钟可以传输的比特数D)每秒钟可以传输的文件数【答案】C【解析】参看《数据库技术》一书中的“1.3.3 Internet基础”小节中的“2. Internet的结构与组成”“(1)通信线路”段的内容。
传输速率指的是线路中每秒钟可以传输数据的比特数。
(5)下图所示的情况称为,从信息源结点传输到信息目的结点的信息中途被攻击者A)截获B)窃听C)篡改D)伪造【答案】B【解析】参看《数据库技术》一书中的“1.4.6 网络安全”小节中的“1.构成对网络安全威胁的主要因素及相关技术”以及“图1.12 信息正常传输与被攻击的过程示意图”的内容。
04级计科123C(I)练习题带答案1

04级计科123C(I)练习题带答案104级123班〈〈C++程序设计(I)〉〉练习题(时间100分钟)一、单项选择题。
1.若变量已正确定义并赋值,下面符合C++语言语法的表达式是()A)a:=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b2.设有说明语句:char a=’\72’;则变量a()A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法3.已知x为float型变量,y为double型变量,a为int型变量,b为long int型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果为()类型。
A)char B)int C)float D)double4.若X=5,Y=6,Z=7,则下列表达式的值分别为:()(1)(Z>=Y>=X)?1:0(2)Z>=Y&&Y>=XA)01B)11C)10D)005.在C++语言中,函数的隐含存储类别是()A)auto B)static C)extern D)无存储类别6.巳知字符'B'的ASCII码为66,字符'f'的ASCII码为102,则在下列语句后,变量char c1='\102',c1的值为:()A)‘b’B)‘B’C)‘f’D)‘F’7.设函数3x*x x<0y=3x*x+4x=05x x>0下面程序段中能正确表示上面关系的是()A)y=3*x*x;B)y=3*x*x;if(x!=0)if(x<=0)else if(x>=0)y=5*x;else if(x==0)y=3*x*x+4;else y=3*x*x+4;else y=5*x;C)if(x>=0)D)y=3*x*x+4;if(x>0)y=5*x;if(x<=0)else y=3*x*x+4;else if(x<0)y=3*x*x;else y=3*x*x;else y=5*x;8.如果要限制一个变量只能被本程序文件使用,必须通过()来实现。
计算机一级c类考试题及答案解析

计算机一级c类考试题及答案解析计算机一级C类考试题及答案解析一、选择题1. 在计算机中,二进制数1011转换为十进制数是多少?A. 9B. 10C. 11D. 12答案:C解析:二进制数1011的每一位分别乘以2的幂次(从右到左,幂次为0开始递增),即1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11。
2. 下列哪个选项不是计算机病毒的特征?A. 破坏性B. 传染性C. 潜伏性D. 可预防性答案:D解析:计算机病毒通常具有破坏性、传染性和潜伏性,但它们是不可预防的。
病毒可以通过各种途径传播,但预防措施可以减少感染的风险。
二、填空题1. 计算机的硬件系统主要由________、存储器、输入设备和输出设备组成。
答案:中央处理器(CPU)2. 在Windows操作系统中,按下________键可以快速切换当前活动窗口。
答案:Alt + Tab三、简答题1. 请简述什么是计算机网络,并说明其主要功能。
答案:计算机网络是由多台计算机通过通信线路和设备连接起来,实现资源共享和信息交换的系统。
其主要功能包括资源共享、信息传递、分布式处理和提高系统可靠性。
2. 请解释什么是数据库,并简述其特点。
答案:数据库是一个按照特定方式组织起来的数据集合,可以高效地存储、检索和管理数据。
其特点包括数据结构化、数据共享、数据独立性和数据安全性。
四、操作题1. 请描述如何在Windows操作系统中创建一个新的文件夹,并为其命名。
答案:在Windows操作系统中,打开文件资源管理器,右键点击想要创建文件夹的位置,选择“新建”然后选择“文件夹”,在弹出的对话框中输入文件夹的名称,最后点击“确定”即可。
2. 请说明如何在Word文档中插入一张图片,并调整其大小。
答案:在Word文档中,点击“插入”选项卡,然后选择“图片”,从计算机中选择想要插入的图片。
图片插入后,可以通过图片工具栏中的“大小”选项来调整图片的长和宽,或者直接拖动图片边缘来调整大小。
2004年4月计算机等级考试二级C笔试试卷(含参考答案)

another number 23、有以下程序 main( ) { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf(“%d,%d,%d\n”,x,y,z); } 程序执行后的输出结果是() A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5 24、有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s); } 程序执行后的输出结果是() A)自然数 1~9 的累加和 B)自然数 1~10 的累加和 C)自然数 1~9 中的奇数之和 D)自然数 1~10 中的偶数之和 25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是() A)n=5 B)n=2 C)n=3 D) n=4 26、若程序中定义了以下函数
double myadd(double a,double b) { return (a+b);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 () A)double myadd(double a,b); B)double myadd(double,double); C)double myadd(double b,double a); D)double myadd(double x,double y); 27、有以下程序 char fun(char x , char y) { if(x return y; } main( ) { int a=’9’,b=’8’,c=’7’; printf(“%c\n”,fun(fun(a,b),fun(b,c))); } 程序的执行结果是() A)函数调用出错 B)8 C)9 D)7 28、设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是() A)p=1; B)*q=2; C)q=p; D)*p=5; 29、有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%d\n”,x,y,z); } 执行后输出结果是()
计算机一级c类考试题库及答案

计算机一级c类考试题库及答案一、单项选择题(每题1分,共20分)1. 在计算机中,1KB等于()。
A. 1024字节B. 1000字节C. 512字节D. 128字节答案:A2. 下列哪个选项是计算机病毒的特征?()A. 可执行性B. 破坏性C. 传染性D. 以上都是答案:D3. 在Excel中,下列哪个函数用于计算一组数据的平均值?()A. SUMB. AVERAGEC. MAXD. MIN答案:B4. 计算机硬件系统由哪几个部分组成?()A. 输入设备、输出设备、存储器B. 输入设备、输出设备、中央处理器C. 输入设备、存储器、中央处理器D. 输入设备、输出设备、中央处理器、存储器答案:D5. 下列哪个选项不是计算机操作系统的功能?()A. 进程管理B. 文件管理C. 设备管理D. 数据加密答案:D6. 在Word中,下列哪个快捷键用于保存文档?()A. Ctrl+SB. Ctrl+CC. Ctrl+VD. Ctrl+Z答案:A7. 下列哪个选项是计算机的输入设备?()A. 显示器B. 键盘C. 打印机D. 鼠标答案:B8. 下列哪个选项是计算机的输出设备?()A. 键盘B. 显示器C. 鼠标D. 打印机答案:B9. 在PowerPoint中,下列哪个视图模式用于编辑幻灯片内容?()A. 幻灯片视图B. 大纲视图C. 幻灯片浏览视图D. 幻灯片放映视图答案:A10. 下列哪个选项是计算机网络的功能?()A. 数据加密B. 数据传输C. 数据存储D. 数据处理答案:B11. 在计算机中,下列哪个选项是二进制数?()A. 1010B. 1A2BC. 1202D. 12AB答案:A12. 下列哪个选项是计算机存储单位中的“兆”?()A. MBB. KBC. GBD. TB答案:A13. 在Excel中,下列哪个函数用于计算一组数据的最大值?()A. SUMB. AVERAGEC. MAXD. MIN答案:C14. 下列哪个选项是计算机操作系统的类型?()A. 批处理操作系统B. 分时操作系统C. 实时操作系统D. 以上都是答案:D15. 在Word中,下列哪个快捷键用于复制选中的内容?()A. Ctrl+SB. Ctrl+CC. Ctrl+VD. Ctrl+Z答案:B16. 下列哪个选项是计算机的存储设备?()A. 显示器B. 键盘C. 硬盘D. 鼠标答案:C17. 下列哪个选项是计算机的辅助存储设备?()A. 内存B. 硬盘C. 软盘D. 光盘答案:D18. 在PowerPoint中,下列哪个视图模式用于查看幻灯片的顺序?()A. 幻灯片视图B. 大纲视图C. 幻灯片浏览视图D. 幻灯片放映视图答案:C19. 下列哪个选项是计算机病毒的传播途径?()A. 电子邮件B. 软件下载C. 移动存储设备D. 以上都是答案:D20. 下列哪个选项是计算机操作系统的组成部分?()A. 用户界面B. 系统软件C. 应用软件D. 硬件答案:A二、多项选择题(每题2分,共20分)21. 计算机硬件系统的主要组成部分包括()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
04级123班〈〈C++程序设计(I) 〉〉练习题(时间100分钟)一、单项选择题。
1.若变量已正确定义并赋值,下面符合C++语言语法的表达式是( )A)a:=b+1 B)a=b=c+2C)int 18.5%3 D)a=a+7=c+b2.设有说明语句:char a=’\72’;则变量a ( )A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法3.已知x为float型变量,y为double型变量,a为int型变量,b为long int型变量,c为char型变量,则表达式x+y*a/x+b/y+c的结果为( )类型。
A) char B) int C) float D) double4.若X=5,Y=6,Z=7,则下列表达式的值分别为:( )(1) (Z>=Y>=X)?1 :0(2) Z>=Y&&Y>=XA) 0 1 B) 1 1 C) 1 0 D) 0 05.在C++语言中,函数的隐含存储类别是( )A) auto B) static C) extern D) 无存储类别6.巳知字符'B'的ASCII码为66,字符'f'的ASCII码为102,则在下列语句后,变量char c1='\102',c1的值为:( )A) ‘b’B) ‘B’C) ‘f’D) ‘F’7.设函数3x*x x<0y= 3x*x+4 x=05x x>0下面程序段中能正确表示上面关系的是( )A)y=3*x*x; B)y = 3*x*x;if ( x ! = 0) if ( x <= 0)else if ( x >=0) y=5*x; else if ( x = = 0) y = 3*x*x+4;else y = 3*x*x+4; else y = 5*x;C)if ( x >= 0)D)y = 3*x*x+4;if ( x > 0) y = 5*x ; if ( x <= 0 )else y = 3*x*x+4 ; else if( x < 0 ) y = 3*x*x;else y = 3*x*x; else y = 5*x;8.如果要限制一个变量只能被本程序文件使用,必须通过( )来实现。
A)静态局部变量B)外部变量说明C)静态全局变量D)局部变量说明C++程序设计(I) 试卷A 第1页(共9页)9.关于递归函数的说法不正确的是( )A) 递归函数总比完成相同功能的非递归函数的执行效率要高B) 并不是所有的递归函数都能化成同功能的非递归函数C) 递归函数的主要优点是简化程序设计,使程序易读D) 如果没有递归基本条件,递归函数将无法终止运行10.关于运算符优先级从高到低的描述哪一个是正确的( )A)!(逻辑非)、算术运算、关系运算、&&(逻辑与)、||(逻辑或)、赋值运算B) 赋值运算、关系运算、算术运算、&&(逻辑与)、||(逻辑或)C) 关系运算、算术运算、||(逻辑或)、&&(逻辑与)、赋值运算D) &&(逻辑与)、赋值运算、算术运算、关系运算11.设有int a[ ]={10,11,12}, *p=&a[0];则执行完p++;(*p)+=1;后a[0],a[1],a[2]的值依次是()A)10,11,12 B)11,12,12 C)10,12,12 D)11,11,1212.若有说明:char *p1, p2, * p3, *p4, ch=0; 则能正确赋值的程序语句是()A)p1=3*5; B)p2=new char; cin>>p2);C)p3=*p1; D)p4=&ch; cin>>*p413.下面函数aaa的功能是( )char aaa(char *s, char t ){ while(*s&&*s!= t) s++; return *s; }A)求字符串长度B)比较两个串的大小C)将串S复制到串t中D)在字符串中查找指定字符14.在C++语言中,switch(exp){case常量表达式1:语句1;┇case常量表达式n:语句n;default:语句n+1;}switch语句后一对圆括号中exp的类型为()A)可以是任何类型B)只能为int类型C)可以是整型或字符型D)只能是整型或实型15.若用一维数组名作为调用函数时的实参,则传递给形参的是:A)数组首元素的地址B)数组首元素的值C)数组元素的个数D)数组中全部元素的值16.设有变量定义char *s[]={“Beijing”, ”Shanghai”, ”Guangzhou”};执行语句cout<<*(s+1)+1; 输出是( )A)Beijing B)ShanghaiC++程序设计(I) 试卷A 第2页(共9页)C)Guangzhou D)以上都不是17.一个具有6个整型指针元素的一维数组的正确定义是:A)int **p[6] B)int (p)* [6] C)int *p[6] D)*(*(p)[6])18.以下不能对二维数组a进行正确初始化的是()A)int a[2][3]={0} B)int a[][3]={{0,1},{0}} C)int a[2][3]={{0,1},{2,3},{4,5}}D)int a[][3]={0,1,2,3,4,5}19.一个二维数组a[3][4],下面哪一对表达不等价的?()A)*(a[0]+2), a[0][2] B)a[0]+3, &a[0][3]C)*a[1], a[1][0] D)a[0][2], a[0]+220.有函数原型void fun3(int &),下面选项中,正确的调用是:()A)double x=2.17; fun3(&x) B)int a =15; fun3(a*3.14)C)int b=100; fun3(b)D)fun3(256)二、写出下列程序的执行结果。
1. #include <iostream.h>void main(){ int x=2;switch ( x ){ case 1: x+=2;case 2: x+=2;case 3: x+=2; break;default: x+=1; }cout<<"x="<<x<<endl; } 程序的执行结果为:x=6 2. #include <iostream.h>void main(){ int i,j,k=0;for( i=0; i<=2; i++){ k++;for( j=0; j<=3; j++){if(j%2==1)continue; k++;}cout<<"k="<<k<<endl; } } 程序的执行结果为:k=3k=6k=93.#include <iostream.h> int f(int);void main(){ int x=2,i;for(i=0;i<2;i++)cout<<f(x)<<endl; } int f(int a){ int b=0;static int c=3;b++; c++;return (a+b+c); } 程序的执行结果为:784.#include <iostream.h>void func(int, int, int *) ;void main(){ int x, y, z ;func(1, 3, &x) ;C++程序设计(I) 试卷A 第3页(共9页)func(2, x, &y) ;func(x, y, &z) ;cout<<x<<endl<<y<<endl<<z<<endl ; } void func(int a, int b, int *c) { b-=a ; *c=b-a; }程序的执行结果为:1-3-5C++程序设计(I) 试卷A 第4页(共9页)5.#include <iostream.h>int f1(int a,int b) {return a%b*5;} int f2(int a,int b) {return a*b;}int f3(int (*t) (int, int) , int a, int b){ return (*t) (a, b);} void main(){ int (*p) (int, int) ;p=f1 ;cout<<f3( p , 3, 4)<<endl ;p=f2 ;cout<<f3( p, 5, 6)<<endl ;}程序的执行结果为:15306.#include <iostream.h>void main(){ char *p, a[]= "12345678" ;for(p=a; *p!='\0' ;){ cout<<p<<endl; p++;if(*p != '\0' ) p++ ;else break; }}程序的执行结果为:12345678345678567878C++程序设计(I) 试卷A 第5页(共9页)三、根据以下各题目要求,将程序的【】处补充完整。
(30分):1、下面的程序是找出b数组中的最小值元素,并输出该元素的值。
#include <iostream.h> 【const int n=6; 】int min( int a, int b ) { if (a<b) return a;else return b;} void main(){ int b[n]={32, 8, 19, 25, 3, 12 }, p; p=【b[0]】;for(int k=1; k<n; k++)p=min(【p , b[k]】);cout<<p<<endl;}2、下面的程序运行时屏幕显示Please input i(1~10) : 键盘输入2后,屏幕显示程序运行结果为:Please input i(1~10) : 2bbcdefghij请将下面的程序补充完整。
(6分)#include <iostream.h>int i;void prints(【char *】s ){ cout<<【*(s+i-1) 】<< endl;cout<<【(s+i-1) 】<<endl; }; void main() { cout<<"Please input i(1~10) : ";cin>>i;prints("abcdefghij");}3、求n(n≥6)内的所有偶数表示为两个素数之和(例:n=8,则可以表示为6=3+3,8=3+5),补充完整以下程序。