指针和数组习题.doc
文本预览下载声明
一、1 数组可以在定义时整体赋初值,但不能在赋值语句中整体赋值。 ( )
2. 取数组a的第5个元素的地址,正确的写法是 ( )
A) *a[4] B) a[4] C) a[4] D) *(a+4)
3. 程序段输出结果是 ( )
int main()
{
double number = 12345
cout setw(10) setprecision(5) number endl;
cout setw(10) setprecision(10) number endl;
return 0;
}
12345 B) 12345 C) 12345 D) 12345
12345.12346 12345.12345 12345.12345 12345.1235
4、若x为整形变量,p是基类型为整形的指针变量,则正确的赋值表达式 ( )
A p=x B p=x C *p=x D *p=*x
5,设p1和p2均为指向同一个int型一维数组的指针变量,k为int型变量,下列不正确的语句是( )
A k=*p1+*p2 B k=*p1*(*p2) C p2=k D p1=p2
6.对于相同类型的指针变量,不能进行( )运算。
A, + B, - C, = D, ==
7.有函数定义如下,则其返回值为( )
int *f(int a)
{
Int*p,n;
n=a;
p=n;
return p;
}
A 一个不可用的存储单元地址值
B一个不可用的存储单元地址值
C n中的值
D 形参a中得值
8,下列关于字符串的描述中,错误的是( )
A,一维字符数组可以存放一个字符串
B,可以用一个字符串给二维字符数组赋值
C,二维字符数组可以存放多个字符串
D;可以用一个字符串给二维字符数组进行初始化
9;下列关于字符数组的描述中,错误的是( )
A.字符数组中得每一个元素都是字符
B,字符数组可以使用初始值表进行初始化
C,字符数组可以存放字符串
D 字符数组就是字符串
10;下列关于数组下标的描述中,错误的是( )
A;C++中,数组元素的下标是从0开始的
B,数组元素下标是一个整型常量表达式
C,数组元素可以用下标来表示
D,数组元素的某维数下标值应小于该维的大小
11,下面能正确地将字符串“C++”进行完整赋值操作语句的是( )
A char s【3】={‘C’,‘+’,‘+’} B char s【】=“C++”
C,char s【3】={“C++”} D,char s【3】; s【0】=‘C’;s 【1】=‘+’;s【2】=‘+’;
12,在C++中,二维数组元素在内存中的存放顺序为( )
A.按行存放 B。按列存放
C,有用户自己定义 D,有编译器决定
二、解释下列语句含义(10分)
int *p(); 语句含义:____________________________________________________
int (*p)(); 语句含义:__________________________________________________
int (*p)[3]; 语句含义:_________________________________________________
int *p[4]; 语句含义:___________________________________________________
int **p; 语句含义:____________________________________________________
三、阅读程序选择正确答案填空程序功能:检查给定字符串s是否满足下列两条件:1、从字符串首字符起,在顺序检查s中的字符的过程中,遇到的右括号“)”的个数在任何时候均不超过所遇到的左括号“(”的个数;2、字符串s中左括号“(”的个数与右括号“)”的个数相同。若字符串s同时满足上述条件1和条件2,函数返回非0值,否则返回0值。
int check( (1) ) ( )
{
int lp, rp;
lp = 0;
rp = 0;
while ( (2) ) ( )
{
if ( *s =
显示全部