《C语言程序设计》练习二
c语言中struct二、多项选择题
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。
1.若有定义int a[5];,则对a数组元素或地址的引用错误的有( )
A.&a[5] B.a[2]
C.a++ D.*a
E.a[0]
2. 若定义 char c[11]; 可将字符串″I am a boy″ 赋给数组c,下面正确的选项有
( )
A. c=″I am a boy″; B. getchar(c);
C. gets(c); D. scanf(″%s″,c);
E. for(i=0;i<10;i++) scanf(″%c″,&c[i]);c[10])=’\0’;
3. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( )
int a[10], *p;
p=a;
A. a[0] B. a
C. p+1 D. p
E. *p
4.下面各选项中,能正确进行字符串操作的有( )
A. char s[ ]={′a′, ′b′, ′c′, ′d′, ′e′, ′\0′};
B. char s[10];s=″abcde″;
C.char s[10];strcpy(s, ″abcde″)
D.char s[10];getchar(s);
E.char s[10];gets(s);
5.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有( )
double a[5],*p1
p1=a;
A.a B.p1+1
C.*p1 D.&a[1]
E.p1
6.设有定义:int a[2][3];下面关于数组元素引用正确的有( )
A.a[0][3] B.a[0][0]
C.a[2][1] D.a[1][2]
E.a[2][3]
7.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有( )
A.a[2] B.*a
C.*a+2 D.a[0]+2
E.&a[0][2]
8.设有定义及赋值:( )
int a[10]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
则引用a中值为5的元素的正确形式是
A.a[5] B.a[4] C.*(a+5) D.p[5] E.*(p+5)
9.若有定义及赋值:int *p,a[4],i;p=a,则可以表示数组元素值的形式是( )
A.*(a+i) B.a+i
C.&a[i] D.a[i]
E.*(p+i)
10.若有定义:int y[4][4],( p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是( )
A. printf (″%d\n″,&y[2][0]); B. printf (″%d\n″, y[2][0]);
C. printf (″%d\n″,p[2][0]); D. printf (″%d\n″, y[2]);
E. printf (″%d\n″, ( (y+2));
11.设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有( )
A.Vo5==&inV B.Vo5==* inV
C.inV==* Vo5 D.inV==&Vo5
E.Vo5==inV
12.以下关于函数和变量的说法中正确的有( )
A.不同函数中可以使用相同名字的变量
B.形式参数是局部变量
C.一个函数内部定义的变量只能在本函数范围内有效
D.在一个函数内部的复合语句中定义的变量可在本函数范围内有效
E.如果全局变量与函数内定义的局部变量同名,则在函数内局部变量无效
13.设有关于结构体类型的定义:( )
struct food
{
char name[20];
int kind;
}myfood,*p;
下面各个选项中语句都正确的是
A.p=&myfood; B.p=&myfood;
p->kind=5; strcpy(p->name,〃rice〃);
C.p=&myfood; D.strcpy(myfood. name, 〃pie〃);
p.kind=7; p=&myfood;
E.p=&myfood,p->kind=6;
strcpy(myfood.name, 〃apple pie〃);
14.设有关于结构体类型的定义:( )
struct car
{
char*name;
float price;
struct car *next;
}*p,*head=NULL;
下面各选项中正确的有
A.p=(struct car*)MALLOC(sizeof (struct car);
B.p=(struct car*)malloc (sizeof (struct car);
C.p.next=head;
D.p->next=head;
E.p=(struct car *)malloc (sizeof(car);
15.设有关于结构体类型的定义:( )
struct data
{
int num;
struct data *next;
} *p,* head=NULL;
下列语句中正确的有
A.p=(struct data *)malloc(sizeof(struct data));
B.p=(struct data )malloc(sizeof(struct data));
C.p=(struct data *)malloc(sizeof(data));
D.p->next=head;
E.p.next=head;
16.设有关于结构体类型的定义:
struct worker
{
int id;
char name;
float salary;
} wl={102035,″Lihua″,2560.50}, p;
下列选项中语句语法正确的有( )
A. p=wl; B. p=&wl;
C. p->id=wl->id D. p->id=wl.id;
E. p.salary=wl.salary;
17. 在C语言中,关于符号FILE下面说法正确的有( )
A. FILE是C的关键字
B. FILE表示一种关于文件参数的结构体类型
C. FILE表示一种关于文件参数的结构体变量
D. FILE*可以用来说明文件指针
E. 文件指针指向的变量的数据类型是FILE
18.在C语言中,下面关于文件说法正确的有( )
A.按数据的组织形式,可分为文本文件和二进制文件
B.文件只能是ASCII码文件
C.文件能用fopen( )函数打开
D.文件只能是二进制文件
E.对打开的文件可以进行读或写操作
1 | 2 | 3 | 4 | 5 |
AC | CE | BD | ACE | AE |
6 | 7 | 8 | 9 | 10 |
BD | CDE | ACDE | ADE | BCE |
11 | 12 | 13 | 14 | 15 |
BD | ABC | ABDE | BD | AD |
16 | 17 | 18 | ||
BD | BDE | ACE | ||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论