1. | 设有以下程序段 struct MP3 { char name[20]; char color; float price; } std, *ptr; ptr = &std; 若要引用结构体变量 std 中的 color 成员,写法错误的是 【 正确答案: D】 |
---|---|
2. | 若有函数 void fun(double a[], int *n) {……} 以下叙述中正确的是 【 正确答案: B】 |
3. | 若有以下语句:int a[3],*p=a;则&a[1]-p的值是( 【 正确答案: A】) |
4. | 有以下程序 #include <stdio.h> int main() { int m=3,n=2,*p=&m,*q=&n,*r; r=p; p=q; q=r; printf("%d,%d,%d,%d",m,n,*p,*q); } 执行后输出的结果是 【 正确答案: A】 A.3,2,2,3 D.3,1,3,1 |
5. | 在下面的定义语句中,错误的是( 【 正确答案: A】) A.int n=20, a[n]; B.char *a[3]; C.char s[20]="test"; D.int a[]={1,2}; |
6. | 有以下程序,输出结果是( 【 正确答案: C】 ) #include<stdio.h> int main() { int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c; *p=*p1*(*p2); printf("%d\n", c); return 0; } A、1 B、2 C、3 D、4 |
7. | 有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b; b=p[5]; 则b的值是( 【 正确答案: D】 ) A. 5 B. 6 C. 8 D. 9 |
8. | 设有以下语句: struct stu { int a; float b; } stutype; 则下面的叙述不正确的是:( 【 正确答案: C】) A. struct 是定义结构体类型的关键字 B. struct stu是用户定义的结构体类型。 C. stutype是用户定义的结构体类型名 D. a 和b都是结构体成员名 |
9. | 已知: int a[6], *p = a ; 则下列不能表示a[1]地址的表达式是( 【 正确答案: D】) A. p+1 B. ++p C. a+1 D. a++ |
10. | 在整型指针变量p1、p2的定义中,错误的是 【 正确答案: A】。 A. int x, *p1, p2; B. int *p1, x, *p2; C. int x, *p1=&x, *p2; D. int *p1, x, *p2=&x; 得分:5.00 |
11. | 在基本数据类型相同的两个指针变量之间,不能进行的运算是 【 正确答案: C】。 A. < B. = C. + D. – |
12. | 以下选项中,不能正确赋值的是 【 正确答案: B】 A. char s[ ] = “china” ; B. char s[10 ] ; s1[ ]= “china” ; C. char *s = “china” ; D. char *s[4] = “china\n” ; |
13. | 在说明语句“int *f;” 中,标识符 f代表是 【 正确答案: A】。 A. 一个用于指向整型数据的指针变量 B. 一个用于指向一维数组的行指针 C. 一个用于指向函数的指针变量 D. 一个返回值为指针型的函数名 |
14. | 若有如下定义 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=a; 则*p的值是 【 正确答案: B】 A. 0 B. 1 C. 2 D. 定义错误 |
15. | 对于"int *pa[5];"的描述中, 【 正确答案: D】是正确的。 A. pa是一个指向数组的指针,所指向的数组是5个int型元素 B. pa是一个指向某数组中第5个元素的指针,该元素是int型变量 C. pa [5]表示某个元素的第5个元素的值 D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针 |
16. | 若有定义“int c[5], *p=c;”,则以下对数组c元素地址的正确引用是 【 正确答案: D】。 A. p+5 B. c++ C. &c+1 D. &c[0] |
17. | 若有定义:int x,*p; 则以下正确的赋值表达式是 【 正确答案: C】 A. *p=&x; B. p=x; C. p=&x; D. *p=*x; |
18. | 变量的指针,其含义是指该变量的 【 正确答案: B】 A. 值 B. 地址 C. 名 D. 一个标志 |
19. | 若有语句int *p,m=5,n;以下正确的程序段的是 【 正确答案: D】 A. p=&n;scanf(“%d”,&p); B. p=&n;scanf(“%d”,*p); C. scanf(“%d”,*n);*p=n; D. p=&n;*p=m; |
指针基础(选择题)
于 2024-04-06 17:24:42 首次发布