C++基础习题.docx
- 文档编号:11513709
- 上传时间:2023-03-02
- 格式:DOCX
- 页数:17
- 大小:26.58KB
C++基础习题.docx
《C++基础习题.docx》由会员分享,可在线阅读,更多相关《C++基础习题.docx(17页珍藏版)》请在冰豆网上搜索。
C++基础习题
东南大学考试卷(A卷)
课程名称
程序设计与算法语言Ⅰ
考试学期
12-13-2
得分
适用专业
自动化
考试形式
闭卷
考试时间长度
120分钟
自觉遵守考场纪律如考试作弊此答卷无效
一、选择:
共30分,每题2分
1、下列标识符哪个是不合法的?
___________
A.sinB.5arryC._nameD.Example2_1
2、以下数据类型中,表达单字节整数的是:
A.charB.longlongC.shortD.float
3、下列有关枚举类型的说明哪个是错误的?
_________________
A.枚举常量(或称枚举成员)是以标识符形式表示的整型量;
B.默认状态下,这个整数就是所列举元素的序号,序号从0开始;
C.类型定义时可以为部分或全部枚举常量指定整数值,其余的枚举常量仍按默认方式取值。
D.各枚举常量的值可以重复,但各枚举常量标识符必须不同。
4、C++中表示字符A,作为字面常量,的正确表示方法是___________。
A.'\65'B."A"C.65D.'A'
5、下面有关函数调用的说法哪一个是错误的_________________
A.实参与形参的数目要求必须是相同的;
B.实参与形参的对应关系取决于位置而不是名字;
C.实参与对应的形参应类型匹配,即实参的类型可以转化为形参类型;
D.C++参数传递两种方式:
传值与引用。
6、判断下列哪些正确的常量_______________(多选),
7、判断下列哪些是变量申明_______________(多选)
A."China"
B.constintn=10;
C.intm=5;
D.'a'
E.charch='a'
F.intarray[5]={1,2,3,4,5};
G.chars[]="Hello";
8、无论循环条件是否成了,循环至少执行一次的是。
A.for语句B.while语句C.do...while语句D.以上都不是
9、要判断char型变量m是否是数字字符,可以使用下列表达式。
A.0<=m&&m<=9B.'0'<=m&&m<='9'
C."0"<=m&&m<="9"D.'0'<=m<='Z'
10、从语法上,下列语句正确的是______。
A.intA='A';int&B=A;
B.intA=65;int*p=A;
C.intA=088;int*p=A;
D.intA=0x65;int*p=*A;
11、floatm=3/2+0.5;运行后m的值为:
____________
A.3B.2C.1.5D.1
12、以下两个函数原型,不可同时存在的是:
_____________
A.floatAdd(floata,floatb);
floatAdd(floata,intb);
B.doubleAdd(floata,floatb);
floatAdd(floata,floatb);
C.floatAdd(floata,floatb=0);
floatAdd(floata,intb,intc);
D.doubleAdd(doublea,doubleb);
floatAdd(floata,floatb);
13、以下对字符串的初始化中,无法得到一个符合C++规范的字符串的是:
_____________
A.charstr[1024]={'A','B','C'};
B.charstr[3]={'A','B','C'};
C.charstr[1024]="ABC";
D.charstr[10]="ABC";
14、从语法上,下列语句正确的是______。
A.intA[1024];int&B=A;
B.intA[1024];int*p=A;
C.intA[1024];int**p=A;
D.intA[1024];intp[1024]=A;
二、填空题(每空1分,共5分)
1.程序构造的基本方法是和。
2.计算机的存储器有内存和外存之分。
程序员编写的程序以文件形式保存在磁盘上,目的是。
执行程序时,程序代码必须放在内存中,原因是。
3.CPU中的Cache主要解决计算机CPU和主存之间问题。
第二部分C++程序设计
三、单选题(每题1分,共20分)
1.C++中的实数可以写成不同表示形式,下列表示形式中不正确的是。
A.54.32B.5.432E1C.1e5.432D..5432e2
2.下面选项中能用作用户自定义的标识符是。
A.what?
B.-varC.3XyzD.Float
4.设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:
(m=a>b)&&(n=c>d)后,m,n的值为。
A.0,0B.0,2C.1,0D.2,2
5.设有说明:
intx=10,f;floaty=2.5;执行表达式f=x/(int)y后,则f、y的值分别为。
A.4,2B.5,2C.4,2.5D.5,2.5
6.设有变量说明inti=3,j=5,m;执行语句m=(i++)-(--j);后,m的值是。
A.-1B.0C.-2D.不确定,与编译器有关
7.为了使输出结果为4,执行以下程序时给a和b输入的值应满足的条件是。
#include
voidmain()
{ints,t,a,b;
cin>>a>>b;
s=1,t=1;
if(a>0)s++;
if(a>b)t++;
elseif(a==b)t+=s;
elset=2*s;
cout< } A.a>bB.aa>b 8.若a,b均为int型变量,且a=100,则以下关于for循环语句的正确判断是。 for(b=99;a! =b;++a,b--)cout<<“----\n”; A.循环体只执行一次B.死循环 C.循环体不执行D.输出---- 9.在下面的函数原型说明中,存在着语法错误的是。 A. void BC(int a,int); B.intBD(int,int); C. doubleBE(int,int=5); D.int BF(int x;int y); 10.下列函数定义中,会出现编译错误的是。 A.voidmax(intx,inty,int&z)B.intmax(intx,y) {z=x>y? x: y;}{intz; z=x>y? x: y; returnz; } B.intmax(intx,inty)D.intmax(intx,inty) {intz;{return(x>y? x: y);} z=x>y? x: y;returnz; } 11.设有函数定义: voidf(intn,doublex);若以下选项中的变量都已正确定义并赋值,则调用f函数的正确形式为。 A.f(inti,doublez);B.j=f(1,100);C.f(x,n);D.voidf(n,x); 12.有以下程序 intfun1(doublea){return2*a;} intfun2(doublex,doubley) {doublea=fun1(x); doubleb=fun1(y);returna+b; } voidmain() {intw=fun2(1.4,2.2);return1;} 程序执行后变量w中的值是。 A.7B.6C.6.0D.1 13.设有函数定义intadd(intx,inty){returnx+y;},则其不正确的重载函数的定义是。 A.voidadd(intx,inty){return;} B.add(intx,inty,intz){returnx+y+z;} C.intadd(doblex,doubley){returnx+y;} D.doubleadd(intx,doubley){returnx+y;} 14.下列程序在编译时有错,该错误所在行是。 #include #defineN3//A voidmain(void) {intdata[N][N];//B for(inti=0;i for(intj=0;j cin>>data[i][j];//C for(inti=0;i for(j=0;j cout< cout< } A.A和BB.AC.CD.D 15.对于下列程序片段,叙述正确的是。 #include #defineM(a,b)a*b; voidmain() {intx=M(3+4,5+6),y; y=M(3,4); cout< } A.输出2912B.输出7712 C.输出4112D.编译有错 16.设有说明staticintn1=10;constintn2=10;intn4=10; #definen310 则关于下列语句叙述正确的是。 ①intdata1[n1];②intdata2[n2];③intdata3[n3];④intdata4[n4]; A.全部正确B.①②③均正确C.②③均正确D.均不正确 17.假如有: inta=68; charc1=a; cout< 则输出结果为: A.aB.68C.DD.语法错 18.设有定义: intx[10]={0};inty[]={1,2,3};则下列叙述正确的是。 A.数组x的首元素为零,其他元素为随机数。 组y的大小不确定; B.数组x的所有元素均为零。 数组y的大小为3; C.数组x的所有元素均为零,数组y的大小不确定; D.数组x的首元素为零,其他元素为随机数。 数组y的大小为3。 19.设有定义inta[]={1,2,3,4,5,6,7,8,9,10};则下列表达式中,数值为4的表达式的个数为。 ①a[4]②a[10]-6③a[3]+1④a[a[9]-a[6]] A.1B.2C.3D.4 20.以下能正确定义二维数组的是。 A.inta[][4];B.inta[][4]={2*4}; C.inta[][4]={};D.inta[2][4]={{1},{2},{3,4},{5}}; 四、阅读程序题(共41分)(注: 答案请写在该题右边空白处。 ) 1.以下程序片段的输出结果为(4分) #include voidmain() {inta=97; charc=0x61;//十六进制数61H cout< cout< cout< cout< } 2.以下程序运行后的输出结果是(4分) #include voidmain() {intx=1,y=2,z=3,t=0; if(y if(x cout< } 3.以下程序运行后的输出结果是(4分) #include intf(intn){returnn%2;} voidmain() {intdata[8]={1,3,5,2,4,6},s=0; for(inti=0;f(data[i]);i++) s+=data[i]; cout< } 4.以下程序运行后的输出结果是(6分) #include voidf(intx,int&y) {intt; t=x;x=y;y=t; cout< } voidmain() {inta=10,b=20; cout< f(a,b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 基础 习题