若有定义:int a;,以下选项中对a数组元素正确引用的是()
A.[2][!1]
B.[2][3]
C.[0][3]
D.[1>2][!1]
D、[1>2][!1]
解析:解析:C语言中数组下标是从0开始的,所以二维数组a[2][3]的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a[0][0]。
A.[2][!1]
B.[2][3]
C.[0][3]
D.[1>2][!1]
D、[1>2][!1]
解析:解析:C语言中数组下标是从0开始的,所以二维数组a[2][3]的第一维下标取值为0、1;第二维的下标取值为0、1、2,因而选项A)、B)、C)都是错误的,选项D)表示数组元素a[0][0]。
若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。 (0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)
B.*(a+i)+j
C.*(*(a+i)+j)
D.*(a[i]+j)
若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++) 中的条件表达式 (x-y) 等价的是
A)(x-y>0)
B)(x-y<0)
C)(x-y<0||x-y>0)
D)(x-y==0)
A.*(a+1)
B.a[p-a]
C.p+i
D.*(&a[i])
若有一些定义和语句: #include <stdio.h> int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是()。
A.*q=0;
B.w=p;
C.*p=a;
D.*p=*w;
若有以下定义,则对a数组元素的正确引用是()。
int a[5],*p=a;
A)*&a[5]
B)*a 1
C)*(p 5)
D)*(a 2)
若有以下语句: typedef struct S {int g;char h;}T; 以下叙述中正确的是()。
A.可用S定义结构体变量
B.可用T定义结构体变量
C.S是struct类型的变量
D.T是struct S类型的变量
A.&a,&*point,point
B.a,point,*&a
C.&*a,&a,*point
D.*&point,*point,&a
A.定义了一个基类型为int的指针变量p,该变量具有3个指针
B.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针
C.定义了一个名为*p的整型数组,该数组含有3个int类型元素
D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素
若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是()。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
若有以下定义的语句: struct student { int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() { struct student *p; p=stu; …} 则以下不正确的引用是()。
A.(p++)->num
B.p++
C.(*p).num
D.P=&stu.age.