C语言复习题指针结构体
c语言复习题_指针&结构体
一、 选择
1、若有以下定义:chars[20]=\则不能代表字符'o'的表达式是a。a)ps+2b)s[2]c)ps[2]d)ps+=2,*ps
2.如果有以下定义和陈述:inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;不能表示a的数组元素的表达式是B。
a)*pb)a[10]c)*ad)a[p-a]
3.已知int*P,a;p=&a;这里的运算符表示D.a)位和操作b)逻辑和操作C)获取指针内容
4、定义结构体如下:structstudent{intnum;
charname[4];摄入;};
则printf(“%d”,sizeof(structstudent))的结果为:12。5、若有定义如下:inti=3,*p=&i;显示i的值的正确语句是b。a)printf(“%d”,p);b)printf(“%d”,*p);c)printf(“%p”,*p);
sizeof结构体大小 d) printf(“%p”,p);
6、在定义结构体时,下列叙述正确的是a。a)系统不会分配空间
b) 系统根据成员大小分配空间c)系统根据最大成员大小分配空间
d)以上说法均不正确7、指针是一种d。
a) 标识符b)变量C)运算符D)内存地址
8、定义structs{intx;chary[6];}s1;,请问正确的赋值是c。a)s1.y=”abc”;b)s1->y=”abc”;
c) strcpy(s1.y,“abc”);d) s1。strcpy(y,“abc”);
9、已知定义“intx=1,*p”,则合法的赋值表达式是a。a)p=&xb)p=xc)*p=&xd)*p=*x
d) 以变量地址10为例。在C语句中,&后跟指针变量名表示指针变量的C。a) 值b)别
名C)地址d)类型
二、程序填空
1.以下程序的功能是实现数组元素#include值的倒序
voidinvert(int*s,intnum);
intmain(){inti,n=5,a[5]={1,2,3,4,5};1;// 对(I=0;I<5;I++)2//以相反顺序调用函数,并以相反顺序返回0;}
voidinvert(int*s,intnum){int*t,k;t=s+num;while(3){k=*s;*s=*t;*t=k;4;5;}}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论