336、设有定义:int s[]={1,3,5,7,9},*p=&s[0];则值为7的表达式是________。 A)*p+3 B)*p+4 C)*(p+3) D)*(p+4) 337、下列程序段的输出结果是________。 void fun(int *x,int *y) {
printf(\ *x=3; *y=4; } main() {
int x=1,y=2; fun(&y,&x);
printf(\}
A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 338、若有以下定义,则值为4的表达式是。int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; A)p+=3,*(p++) B)p+=3,*++p C)p+=4,*p++ D)p+=4,++*p 339、设有以下说明语句: struct ex {
int x;float y;char z;
}example;则下面的叙述中不正确的是________。
A) struct是结构体类型的关键字 B) example是结构体类型名 C) x,y,z都是结构体成员名 D) struct ex是结构体类型 340、设有结构体及其数组和指针变量的定义语句struct{int x;}y[2],p=y; 则下列表达式中不能正确表示结构体成员的是________。 A)(*p).x B)*(p+1).x C)*(p) D)*p.x 341、运行程序: struct st { int x; int *y; }*p;
int d[4]={10,20,30,40};
struct st a[4]={20,&d[0],30,&d[1],40,&d[2],50,&d[3]}; main() { p=a;
printf(\}则输出结果是________。
A) 11 B) 21 C) 31 D) 41
342、若定义union ex{int i;float f;char a[10];}x;则sizeof(x)的值是________。 A)4 B)6 C)10 D)16 343、运行程序: main() {
int a[]={4,2,10,5,20,7},*p=a; p++;
printf(\}则输出结果是________。
A) 10 B) 20 C) 5 D) 3
344、设int a[]={1,2,3},i,*p=a;根据定义及语法分析________是不正确的。 A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i))
345、若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是________。
A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;
346、若定义union uex{int i;float f;char c;}ex;则sizeof(ex)的值是________。 A)4 B)5 C)6 D)7 347、以下程序的输出结果是________。 struct HAR {
int x, y; struct HAR *p; }h[2]; main() {
h[0].x=1;h[0].y=2; h[1].x=3;h[1].y=4; h[0].p=&h[1];h[1].p=h;
printf(\}
A) 2 3 B) 1 4 C) 4 1 D) 3 2
348、设有定义enum team{my,your=3,his,her=his+5};则枚举元素my,your,her的值分别是________。 A)032 B)134 C)039 D)035 349、以下程序的输出结果是________。 union myun { struct
{int x, y, z; } u; int k; }a; main() {
a.u.x=4;a.u.y=5;a.u.z=6; a.k=0;
printf(\}
A) 4 B) 5 C) 6 D) 0
350、已知赋值语句Wang.year=2005;判断Wang是________类型的变量。 A)字符或文件 B)整型和枚举 C)联合或结构 D)实型或指针 351、以下程序的输出结果是________。 main() {
int a=6,b=2,c=3,x; x=a>b?(a B) 2 C) 3 D) 不确定 352、fdmax函数功能是返回数组中的最大值。 为达到这个要求,在下划线处应填入的是________。 fdmax(int *a,int n) { int *p,*s; for(p=a,s=a;p-a main() { int y[5]={12,21,13,6,18}; printf(\} A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s 353、若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是________。 A) p=2*(int*)malloc(sizeof(int)); B) p=(int*)malloc(2*sizeof(int)); C) p=(int*)malloc(2*2); D) p=(int*)calloc(2,sizeof(int)); 354、若有下面的说明和定义: struct test { int a; char b; float c; union u {char ul[5];int u2[2];} ua; } myaa; 则sizeof(struct test )的值是________。 A) 12 B) 19 C) 14 D) 4 355、若有定义: int a[10]; 则下面表达式中不能代表数组元素a[1]的地址的是________。 A) &a[0]+1 B) &a[1] C) &a[0]++ 356、若有以下定义和语句: int s[4][5],(*p)[5]; p=s; 则对s数组元素的正确引用形式是________。 A) p+1 B) *(p+3) C) p[0][2] D) *(p+1)+3 357、若有说明:int n=2,*p=&n,*q=p; 则以下非法的赋值语句是________。 A) p=q; B) *p=*q; C) n=*q; D) p=n; 358、下列程序执行后的输出结果是________。 void func(int *a,int b[]) { b[0]=*a+8; } main() { int a,b[5]; a=0;b[0]=4; func(&a,b); printf(\} A) 6 B) 7 C) 8 D) 9 359、以下程序运行后,如果从键盘输入ABCDE<回车>,则输出结果为________。 #include int num=0; while(*(str+nom!='\\0'))nom++; return(num); } main() { char str[10],*p=str; D) a+1 gets(p); printf(\} A)8 B)7 C)6 D)5 360、下列程序的输出结果是________。 int b=5; int func(int *a) { b+=*a; return(b); } main() { int a=1,res=2; res+=func(&a); printf(\} A) 4 B) 6 C) 8 D) 10 361、以下程序运行后,输出结果是________。 #include char *p=s; while(*p) p++; return(p-s); } main() { char *a=\ int i; i=ss(a); printf(\} A)8 B)7 C)6 D)5 362、若有以下调用语句,则不正确的fun函数的首部是________。 main() { ...... int a[20],n; ...... fun(n,&a[10]); ...... } A) void fun(int m, int x[]) B) void fun(int s, int h[30]) C) void fun(int p, int *s) D) void fun(int n, int a) 363、以下程序运行后输出结果是________。 #include static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } main() { int k=4,m=1,p; p=func(k,m);printf(\ p=func(k,m);printf(\} A)8,15 B)8,16 C)8,17 D)8,8 364、有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));则该函数调用语句中,含有的实参个数是________。 A) 3 B) 4 C) 5 D) 有语法错 365、以下程序运行后,输出结果是________。 int d=1; fun(int p) { int d=5; d+=p++; printf(\} main() { int a=3; fun(a); d+=a++; printf(\} A)84 B)99 C)95 D)44 366、有如下程序 int func(int a,int b) {return(a+b);} main() { int x=2,y=5,z=8,r; r=func(func(x+1,y),z); printf(\ }该程序的输出的结果是________。 A) 12 B) 16 C) 14 D) 15 367、以下函数返回a所指数组中最小的值所在的下标。 fun(int *a,int n) { int i,j=0;p; p=j; for(i=0;i A) i=p B) a[p]=a[i] C) p=j D) p=i 368、若已建立以下的链表结构,指针p,q分别指向图中所示结点,则不能将q所指的结点插入到链表末尾的一组语句为________。 A)q->next=NULL;p=p->next;p->next=q; B)p=p->next;q->next=p->next;p->next=q; C)p=p->next;q->next=p;p->next=q; D)p=(*p)·next;(*q)·next=(*p)·next;(*p)·next=q; 369、若有以下的定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是________。 A)p+=2,*(p++) B)p+=2,*++p C)p+=3,*p++ D)p+=2,++*p 370、在C语言中,函数的隐含存储类别是________。