沈阳师范大学C++ pta第三章 指针引用 沈阳师范大学C++ pta第三章 指针引用 判断题 1.字符串常量实质上是一个指向该字符串首字符的指针常量。 — — — T 2.定义一个指针数组并初始化赋值若干个字符串常量,则指针数组并不存放这些字符串,而仅仅指向各个字符串。 — — — T 3.指向整数指针的指针与指向整数数组的指针可以看成是等价的类型。 — — — F 4.定义指针函数变量后,将一个函数名赋值该指针变量,要求函数的参数个数、类型一致。 — — — T 5.对于定义int a[10],*p=a; 语句p=a+1;和a=a+1;都是合法的。— — — F 6.执行语句int *p; 后,指针变量p只能指向int类型的变量。— — — T 7.int (*p)[4]它表示p是一个指针数组,它包含4个指针变量素。— — — F 8.若有定义char* p=“computer”;则表示p的值是字符串” computer “。— — — F 9.如果函数的返回类型是指针,则可以返回函数内部任意变量的地址。— — — F 10.语句 int *p[5]; 定义了一个指针数组p,用于指向一个有5个素的数组。 — — — F 11.指向结构体变量的指针可以作函数参数,实现传址调用。。 — — — T 12.调用printf函数,%s的格式输出字符串时,字符数组名、字符指针和字符串常量都可以作为输出参数。 — — — T 13.语句int *p, q, r; 定义了3个指针变量。— — — F 14.两个任意类型的指针可以使用关系运算符比较大小。— — — F 15.可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。— — — T 16.char *s=“C Language”;表示s是一个指向字符串的指针变量,把字符串的首地址赋予s。— — — T 17.int i; int &ri=i;对于这条语句,ri和i这两个变量代表的是同一个存储空间。— — —T 18.指针数组的每个素都是一个指针变量。— — — T 19.不同类型的指针变量是可以直接相互赋值的。— — — F 20.只要将多个指针作为函数的参数,函数就一定会返回多个值。— — — F 21.调用strcmp函数比较字符串大小时,通常较长的字符串会较大。— — —F 22.字符串常量在内存中的存放位置由系统自动安排。— — — T 单选题 设void f1(int * m,long & n);int a;long b;则以下调用合法的是()。 A.f1(&a,&b); B.f1(a,b); D.f1(a,&b); 下列语句定义 x 为指向 int 类型变量 a 的指针,正确的是()。 A.int a, *x = a; B.int a, x = a; C.int *x = &a, a; 下列程序片段哪一个是正确的。 B.int m=5; const int &r=m; r=16; C.int m=8; const int &r1=m; int &r2=r1 ; D.int m=4; int &r=m*6; 对于int *pa[5];的描述,以下哪个选项是正确的 B.pa是一个指向某个数组中第五个素的指针,该素是int类型的变量 C.pa是一个指向数组的指针,所指向的数组是五个int类型的指针 D.pa[5]表示某个数的第五个素的值 若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, ____是正确的。 A.p2=&p1 B.p2=p1 C.p2=*p1 下列关于引用的说法,错误的是____。 B.数组不能定义引用 C.引用在定义时必须初始化 D.引用在初始化时不能绑定常量值 下列哪一个说法是不正确的? B.T & 类型的引用或T类型的变量,可以用来初始化const T &类型的引用 C.定义引用时,前面加const关键字,即为”常引用” D.不能通过常引用去修改其引用的内容 以下不正确的赋值或赋初值的方式是( )。 A.char str[]=“string”; C.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’, ’0’}; D.char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’}; 下面程序段: int main() { int intone; int &rsomeref = intone; intone = 5; cout<<intone<<” “<<rsomeref; rsomeref = 7; cout<<intone<<” “<<rsomeref; return 0; } 输出结果为( )。 A.55 77 B.5 5 7 7 D.5577 以下哪个定义中的p不是指针,请选择恰当的选项: A.char (*p)[10]; B.char p; D.给出的三项中,p都是指针 下面程序段 int a=1,b=2; int &r=a; r=b; r=7; cout<<a<<endl; 的输出结果是? A.1 B.无法确定 C.2 设变量定义为 int a[2]={1,3}, p=&a[0]+1;,则p的值是( )。 A.&a[0]+1 C.2 D.4 下面程序片段,哪一个是正确的? B.int m=5; const int &r=m; r=6; C.int n=4; int &r=n*3; D.int n=8; const int &p=n; int &q=p ; 若定义pf为指向float类型变量f的指针,下列语句中__是正确的。 B.float f, *pf =0.0; C.float *pf = &f, f; D.float f, *pf = f; 若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于____。 B.p++ C.*(p++) D.&x++ 已知:float b = 34.5; ,则下列表示引用的方法中,正确的是( )。 A.float &z; B.float &y = 34.5; C.int &t = &b; 关于指针和引用,下面哪个说法是错误的()。 A.通过访问符*来访问指针所指存储空间中的值。 B.指针和引用对它们所指的或所引用的变量的操作方式不一样。 D.引用较高级地封装了指针的特性,它不直接操作内存地址,而是通过访问变量别名来间接操作变量的。 对于如下说明,语法和语义都正确的赋值是_____。 int c, *s, a[]={1, 3, 5}; A.c=a; B.c=*s; C.s[0]=a[0]; 已知:int a(5),&ra=a;下列描述中,错误的是( )。 A.ra是变量a的引用,即为变量的别名 B.ra的值为5 C.ra的地址值为&a 根据声明int a[10], *p=a; ,下列表达式错误的是( )。 A.*p++ B.a[9] D.p[5] 在基类型相同的两个指针变量之间,不能进行的运算是( )。 B.< C.– D.= 下列对变量的引用中错误的是____。 A.float a; float &p = a; C.char a; char &p = a; D.int a; int &p = a; 若已定义: int a[9], *p=a;并在以后的语句中未改变 p 的值,不能表示 a[1] 地址的表达式是( )。 B.p+1 C.a+1 D.++p 对于定义 char str[] = “abc000def ”(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是: A.3 ,4 B.3 ,11 C.12 ,13 ( )是给变量取一个别名,引入了变量的同义词。 B.结构 C.指针 D.枚举 根据声明int (*p)[10], p是一个( )。 A.数组 B.数组的素 C.函数 下列哪一个说法是不正确的? B.定义引用时一定要将其初始化成引用某个变量 C.初始化后,它就一直引用该变量不会再别引用别的变量了 D.某个变量的引用等价于这个变量,相当于该变量的一个别名 填空题 write the output of the code below. 10#21 编程题 R7-1 实数排序 本题要求编写程序,输入n个实数,使用指针引用的方式将它们按从大到小的顺序排列。 输入格式: 输入第一行给出一个正整数n(2≤n≤10),输入第二行给出n个实数,其间以空格分隔。 输出格式: 输出从大到小排好序的n个数(保留2位小数),每个数之间空一格,行末没有空格。 输入样例: 在这里给出一组输入。例如: 5 3.2 5.4 6.12 2.51 4.23 输出样例: 在这里给出相应的输出。例如: 6.12 5.40 4.23 3.20 2.51
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/23685.html