C++多选题(附答案)

更新时间:2024-07-07 18:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

多选题题库

C概述

1、[多选题.2005-4]不是C语言程序的基本单位是________。 (A)、 程序行 (B)、 函数 (C)、 语句

(D)、 字符

2、[多选题.2005-4]以下说法中不正确的是________。

(A)、 C语言程序中的main()函数必须放在程序的开始部分 (B)、 C语言程序总是从第一个函数开始执行

(C)、 在C语言程序中,要调用的函数必须在main()函数中定义 (D)、 C语言程序总是从main()函数开始执行 3、[多选题.2005-12]以下说法中不正确的是________。 (A)、 C++语言程序总是从第一个函数开始执行

(B)、 C++语言程序总是从main()函数开始执行

(C)、 C++语言程序中的main()函数必须放在程序的开始部分 (D)、 在C++语言程序中,要调用的函数必须在main()函数中定义

数据类型

1、[多选题.2004年.2005-4.2005-12]在C语言提供的不合法关键字是( ) (A)、 Case (B)、 swicth (C)、 cher (D)、 default

2、[多选题.2004年]请选出不可用作C语言用户标识符的选项( ) (A)、 a3_b3 _123 IF (B)、 For -abc Case (C)、 void define WORD

(D)、 2a DO sizeof

3、[多选题.2004年]语言提供的非法的数据类型关键字是( ) (A)、 short (B)、 Char (C)、 Double (D)、 integer

4、[多选题.2005-4]以下为不合法的十六进制数是__________。 (A)、 0x2A (B)、 0x11Au (C)、 0X0

(D)、 3A

5、[多选题.2005-4]在C语言中,不合法的长整型常数是________。 (A)、 2.1869e10 (B)、 0L

1

(C)、 4962710

(D)、 0.054838743

6、[多选题.2005-12]在C++语言中,不合法的字符常量是________。 (A)、 '\\x43' (B)、 'ab' (C)、 '\\084'

(D)、

\

7、[多选题.2004年.2005-12]下列正确的转义字符是( ) (A)、 ' \\ ' (B)、 '\\0' (C)、 '\\\\' (D)、 '074'

8、[多选题.2005-12]下列运算符中,优先级相同的是_________。 (A)、 ~ (B)、 %

(C)、

/

(D)、 >

9、[多选题.2004年]若变量已正确定义并赋值,下面不符合C语言语法的表达式是( ) (A)、 a:=b+1 (B)、 a=b=c+2 (C)、 int 18.5%3

(D)、 a=a+7=c+b

10、[多选题.2007-1-6]下面的表达式中值为0的是________。 (A)、 3/5 (B)、 5>>3 (C)、 ! 3 (D)、 5%3

11、[多选题.2007-1-6]已知x,y,z是整型变量,则下列选项中正确的是________。 (A)、 if (x&&y) cout<<\ (B)、 if (x=y) cout<<\ (C)、 if (x#y) cout<<\

(D)、 if(x<>y) cout<<\

顺序程序设计

1、[多选题.2004年]在下列选项中,正确的赋值语句是( ) (A)、 k=i==j; (B)、 a=b+c=1; (C)、 n1=(n2=(n3=0));

(D)、 ++t;

2、[多选题.2004年]下列语句中不符合C语言语法的赋值语句是( ) (A)、 a=7+b+c=a+7; (B)、 a=7+b++=a+7; (C)、 a=7+b,c=a+7;

2

(D)、 a=7+b,b++,a+7

3、[多选题.2004年.2005-4]请选出不合法的C语言赋值语句( ) (A)、 i++; (B)、 a=58,b=58 (C)、 k=int(a+b); (D)、 a=b=58

4、[多选题.2005-12]请选出不合法的C++语言赋值语句________。 (A)、 i++; (B)、 a=a mod b (C)、 a=/b; (D)、 k=int(a+b);

5、 [多选题2007-1-6]以下程序段执行后,a的值为1的是____________。 (A)、 int a=0,b=1,c; b=c;b=a;c=a; (B)、 int a=0,b=1; a=a+b;b=a-b;a=a-b; (C)、 int a=0,b=1,c; c=a;a=b;b=c; (D)、 int a=0,b=1,c; c=a;b=a;b=c;

循环控制

1、[多选题]C++语言中,下面的描述不正确的是________。

(A)、 do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 (B)、 (C)、 (D)、

数组

1、[多选题.2005-4.2005-12]以下不能对数组a进行正确初始化的语句是___________。 (A)、 int a[]={}; (B)、 int a[3]={1, 2}; (C)、 int a[3]={0,1,2,3};

(D)、 int a[]={1};

2、[多选题.2004年.2005-12]不合法的数组定义是( ) (A)、 char a[]={0,1,2,3,4,5}; (B)、 int a[]=\ (C)、 int a[5]={0,1,2,3,4,5}; (D)、 vhst s=\

3、[多选题.2005-4.2005-12]下列关于数组初始化的说法正确的是___________。 (A)、 若对数组a定义:\,则数组元素值均为0 (B)、 \表示x[9]元素值为9 (C)、 对于\它的元素初值是不确定的

(D)、 \是不合法的,因为数组长度为10,而初始值仅有5个 4、[多选题.2005-4]能把字符串:\赋给数组b的语句是________。 (A)、 char b[10];strcpy(b,\

3

do-while语句构成的循环必须用break语句才能退出

不能使用do-while语句构成的循环

do-while语句构成的循环,当while语句中的表达式值为零时结束循环

(B)、 char b[10]={'H','e','l','l','o','!'};

(C)、 char b[10]=\ (D)、 char b[10];b=\

5、[多选题.2004年.2005-4]下述对C语言字符数组的描术正确的是( ) (A)、 不可以用关系运算符对字符数组中的字符串进行比较 (B)、 字符数组可以存放字符串 (C)、 字符数组中的字符串可以整体输入、输出

(D)、 可以在赋值语句中通过赋值运算符\对字符数组整体赋值

6、[多选题.2007-1-6]若有以下的定义:\x[2][3];\,能正确表示x数组元素地址的表达式是_________。 (A)、 (B)、 (C)、 (D)、

&x[2][3] x[0] x[2]

x[1]

7、[多选题.2007-1-6]以下定义中,不正确的是____________。 (A)、 int x[3,4]; (B)、 int x[1+2][3]; (C)、 int x(3,4) (D)、 int x[ ][4];

8、[多选题.2007-1-6]若有说明\,则对y数组元素的非法引用是________。 (A)、 y[0][x] (B)、 y[x][2] (C)、 y[2][1+1] (D)、 y[1][3-x]

函数

1、[多选题.2004年.2005-12]以下叙述中正确的是( ) (A)、 在一个函数内定义的变量只在本函数范围内有效 (B)、 在一个函数内的复合语句中定义的变量在本函数范围内有效 (C)、 在不同的函数中可以使用相同名字的变量 (D)、 函数中的形式参数是局部变量 2、[多选题.2005-12]以下叙述中不正确的是____________。

(A)、 函数中的形式参数是局部变量 (B)、 (C)、 (D)、

指针

1、[多选题.2005-4]若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达 式是________。 (A)、 *pb=&x; (B)、 pb=&x

4

在一个函数内的复合语句中定义的变量在本函数范围内有效

在一个函数内定义的变量只在本函数范围内有效 函数的形式参数不可以说明为register变量

(C)、 pb=x;

(D)、 *pb=*x

2、[多选题.2004年.2005-4]下面各语句行中,不能正确进行赋字符串操作的语句行是( ) (A)、 char *s; scanf(\ (B)、 char st[4][5]={\ (C)、 char s[5]={'A','B','C','D','E'};

(D)、 char *s; s=\

3、[多选题.2005-12]下列_________函数能实现字符串的复制。 (A)、 void f(char *s,char *t) { do{ *s++=*t++; } while(*t!='\\0'); } (B)、 void f(char *s,char *t) { while(*t) { *s++=*t++; } *s='\\0'; } (C)、 void f(char *s,char *t) { do { *s=*t; s++; }while(*t++); }

(D)、 void f(char *s,char *t) { unsigned i; for (i=0;i< strlen(t);i++) s[i]=t[i]; } 4、[多选题.2004年.2005-12]若有以下说明和语句,请选出哪个是对c数组元素的不正确引 用( ) int c[4][5], (*cp)[5]; cp=c; (A)、 *(cp+1)+3 (B)、 cp+1 (C)、 *(cp+3)

(D)、 *(*cp+2)

5、[多选题.2005-4.2005-12]设有以下定义:

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[4]=a,*p=a[0];

则下列表达式中,能正确表示数组元素a[2][1]的表达式有________。 (A)、 *(p+9) (B)、 *(*(a+2)+1) (C)、 (*ptr+2)+1

(D)、 *((*ptr+2)[1])

6、[多选题.2005-12]若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是________。 (A)、 pw[0][0] (B)、 *(pw[1]+2) (C)、 *(w[0]+2) (D)、 *(pw+1)[2] 7、 [多选题.2005-12]有以下语句:

char str[4][12]={\

int i; for(i=0;i< 4;i++)strp[i]=str[i]; ________是对字符串的正确引用,其中0≤k< 4。 (A)、 strp[k] (B)、 *strp (C)、 str[k] (D)、 strp

8、[多选题.2004年]设有如下定义: int (*ptr)();

则以下叙述中不正确的是( )

5

(A)、 ptr是指向一维组数的指针变量

(B)、 ptr是指向int型数据的指针变量 (C)、 ptr是指向函数的指针,该函数返回一个int型数据

(D)、 ptr是一个函数名,该函数的返回值是指向int型数据的指针 9、[多选题.2005-12]若有定义: char *str[]={\ 则可以表示出字符't'的表达是_________。 (A)、 *str+2 (B)、 *str[2] (C)、 *(p+1) (D)、 **++p

10、[多选题.2004年]C语言规定,有关main函数参数的描述不正确的是( )。 (A)、 只能有0个 (B)、 只能有0个或一个 (C)、 只能有0个或2个

(D)、 可有任意个

11、 [多选题.2007-1-6]若有定义\,则能够正确输出x数组元素的值的是________。 (A)、 *px++ (B)、 &px (C)、 *px (D)、 px[10] (E)、 px+1

链表

1、[多选题.2005-12]若有如下的定义: class sam

{ public:

int num;

void print(){cout< < num;}

}x,*p=&x; 则下列表达式中,__________是正确的(无语法错误)。 (A)、 (*p).print( ) (B)、 p->num=10 (C)、 p.num

(D)、 x.num=5

2、[多选题.2005-12]有关sizeof(double)不正确的描述是________。 (A)、 一种函数调用 (B)、 一个双精度型表达式 (C)、 一个整型表达式

(D)、 一个不合法的表达式

3、[多选题.2004年.2005-12]在一个单链表结构中,指针p指向链表的倒数第二个结点,指针s指向新结点,则能将s所指的结点插入到链表末尾的语句组是( ) (A)、 p=p->next; s->next=p; p->next=s (B)、 p=(*p).next; (*s).next=(*p).next; (*p).next=s

6

(C)、 s->next=NULL; p=p->next; p->next=s (D)、 p=p->next; s->next=p->next; p->next=s

文件

1、[多选题.2005-12]如果打开文件时,选用的文件操作方式为“wb+”,则下列说法中正确的是________。

(A)、要打开的文件是二进制文件 (B)、要打开的文件必须存在 (C)、要打开的文件可以不存在 (D)、打开文件后可以读取数据

2、[多选题.2005-4.2005-12]下面有关Rewind()函数作用的描述中,不正确的是________。 (A)、 使文件位置指针重新回到文件的末尾 (B)、 重新打开文件 (C)、 使文件位置指针重新回到文件的开始 (D)、 返回文件长度值

C++基础知识

1、 [多选题.2005-12]下列________是C++的函数声明。 (A)、 float result( ); (B)、 float result(float, float);

(C)、 float result(float x, float y) { ? } (D)、 float result(x, y);

2、 [多选题.2005-12]如果类A继承了类B,则类A称为________。 (A)、 派生类 (B)、 继承类 (C)、 子类

(D)、 父类

3、 [多选题.2005-12]当用public继承从基类派生一个类时,基类的__________成员可被派

生类中的成员函数访问。 (A)、 protected (B)、 public (C)、 private (D)、 friend

4、 [多选题.2005-12]下列函数中,可以作为虚函数的是__________。 (A)、 析构函数 (B)、 成员函数 (C)、 普通函数 (D)、 构造函数

5、 [多选题.2007-1]关于派生类的说法不正确的是________。 (A)、 派生类可显现基类的任何函数成员 (B)、 派生类可重载已有的函数成员 (C)、 派生类可以拥有自己的新成员 (D)、 派生类无法给基类的数据成员初始化

7

多选题答案 C概述 1 2 ACD A B CACD 数据类型 1 2 3 A B CBC D11 4 5 6 7 8 9 10 B C DB C DA C DB C DB C DB C 4 BC 4 5 BC 5 6 7 ACD 7 8 AB 8 A C DABC 9 10 ABC ABD 顺序程序设 计 1 2 3 B D 3 A C DA BD 循环控制 1 A B C 数组 1 A C 函数 2 B C DA C 3 B C 3 A B CA B C B D 4 5 6 1 2 A C DB D 指针 1 2 A C DB C 11 AC 链表 1 2 A B CA B 5 A B CA B CA B D B D A B DA B DB C D 文件 1 2 A C DA B D C++基础知识 1 2 A B C 3 4 AB D A B CA BD

8

本文来源:https://www.bwwdw.com/article/gji.html

Top