c语言int*b= amp 5,C语言综合训练5(指针).docx

C语言综合训练5(指针)

C语言综合练习五一、选择题1.以下叙述中错误的是()A.当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULLB.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.可以给指针变量赋一个整数作为地址值2.以下关于指针的叙述正确是()A.所有类型的指针变量所占内存的大小是一样的B.指针变量所占内存的大小与其类型有关,char型指针变量只占1个字节,double型指针变量占8个字节C. 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误D. 指针变量既可以直接指向结构体,也可以直接指向结构体中某个成员,而不会出现编译或运行错误3关于地址和指针,以下说法正确的是()A.通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量B.可以取一个常数的地址赋值给同类型的指针变量C.可以取一个表达式的地址赋值给同类型的指针变量D.可以取一个指针变量的地址赋值给基类型相同的指针变量4.以下关于指针的叙述,错误的是()。A.两个基类型相同的指针变量不能指向同一个对象B.可以通过对指针变量自增、自减来移动指针C.只有两个类型相同的指针才能进行减运算D.一个指针变量可以通过不同的方式获得一个确定的地址值5.以下叙述中错误的是( )A.基类型不同的指针可以直接相互赋值B.函数可以通过指针行参向所指单元传回数据C.字符型指针可以指向一个字符串D.一般情况下,指针的运用可使程序代码效率更高6.有以下程序:#includemain( ){char* p1=0;int* p2=0;floal* p3=0;printf(“%d,%d,%d\n”,sizeof(p1),sizeof(p2),sizeof(p3));}程序运行后的输出结果是( )。A.1,4,8B.4,4,4C.1,2,4D.1,1,47.若有定义语句:double a,*p=&a;以下叙述中错误的是()定义语句中的p只能存放double类型变量的地址定义语句中的*是一个说明符定义语句中的*是一个间址运算符定义语句中的*p=&a把变量a的地址作为初值赋给指针变量p8.设有定义:int a,b[10],*c=NULL,*p;,则以下语句错误的是( )A.p=a;B.p=b;C.p=c;D.p=&[0];9.已定义以下函数int fun (int*p){return *p;}fun函数的返回值是( )一个整数 B.不确定的值形参p中存放的值D.形参p的地址值10.设有定义:int x=0,*p;紧接着的赋值语句正确的是( )*p=x;B.*p=NULL;C.p=x;D.p=NULL;11、设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是()float*p=&x;B. int*p=(float) x;C. float p=&x;D. float*p=1024;12、设变量P是指针变量,语句p=NULL; 是给指针变量赋NULL值,它等价于()。A、P=“”;B、P=‘0’;C、P=0;D、P=“;13、以下程序中关于指针输入格式正确的是()A、int*p; scanf(“%d”,&p);B、int*p; scanf(“%d”,p);C、int k,*p=&k; scanf(“%d”,p);D、int k,*p; *p=&k; scanf(“%d”,&p)14、若有定义语句:double x, y, *px, *py;执行Px=&x; py=&y;正确的输入语句是()A、scanf(“%if %if”,px,py); B、scanf(“%f%f”&x,&y);C、scanf(“%f%f”,x,y); D、scanf(“%if %if”,x,y);15、有以下程序#includemain(){ int n,*p=NULL; *p=&n;print(“lnpul n;”); scanf(“%d”,&p); printf(“outpul n;”); printf(“%d\n”,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()int n, *p=NULL;B、*P=&n;scanf(“%d”,&p) D、printf(“%d\n”,p);16.有以下程序:#include main( ){int *p,x=100;p=&x;x=*p+10;printf(“%d\n”,x);}程序运行后的输出结果是()。A.110 B.120 C.100 D.9017.有以下程序#includemain

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值