第八章指针(一)测试答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(三)、程序填空
1.请按题意在空格处填入合适内容,使得程序可以正确运行。
程序功能:输入a和b两个整数,按先大后小的顺序输出a和b。
#include <stdio.h>
void main()
{
int *p1,*p2,*p,a,b;
scanf("%d,%d",(1),(2));//输入a和b俩个整数
p1=(3);//指针变量赋值
A.值B.地址C.名D.一个标志
3.如有以下定义int a=5;下面对(1),(2)两个语句的正确解释是:
(1)int * p=&a;(2)* p=a;
A.语句(1)和(2)中的含义相同,都表示给指针变量p赋值
B.(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p
C.(1)在对p进行说明的同时进行初始化,使p指向a
p2=&b;
p=NULL;
if (a<b)
{
p=p1;
(4);/Байду номын сангаас交换
p2=p;
}
printf("a=%d, b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,(5));//此行用指针输出
}
#include <stdio.h>
void main()
{
int *p1,*p2,*p,a,b;
(2)将变量a的值赋给指针变量p
D. 1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋于*p
(二)、填空题
1.在C程序中,只能给指针变量赋①值和②值。
①变量的地址②NULL
2.在C程序中,可以通过三种运算来移动指针,它们是:①、②、③。
①对指针变量加一个整形常量②对指针变量减去一个整形常量③指针赋值
(一)选择题
1.已有定义int k=2;int * ptr1,* ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是:()
A.k=* ptr1+* ptr2;B. ptr2=k;C. ptr1=ptr2 D. k=* ptr1*(* ptr2);
2.变量的指针,其含义是指该变量的:()
scanf("%d,%d",&a,&b); //输入a和b俩个整数
p1=&a;//指针变量赋值
p2=&b;
p=NULL;
if (a<b)
{
p=p1;
p1=p2; //交换
p2=p;
}
printf("a=%d, b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);//此行用指针输出
printf("%d,%d,%d\n",*a,*b,*c);
num=*a;
if(*a>*b)num=*b;
if(num>*c)num=*c;
printf("输出最小整数:%d\n",num); //输出最小数
}
}
2.以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。
请填空。
#include "stdio.h"
main()
{int *a,*b,*c,num,x,y,z;
a=&x;b=&y;c=&z;
printf("输入3个整数:");
scanf("%d%d%d",a,b,c);
printf("%d,%d,%d\n",*a,*b,*c);
num=*a;
if(*a>*b);
if(num>*c);
printf("输出最小整数:%d\n",); //输出最小数
}
#include "stdio.h"
main()
{
int *a,*b,*c,num,x,y,z;
a=&x;b=&y;c=&z;
printf("输入3个整数:");
scanf("%d%d%d",a,b,c);
1.请按题意在空格处填入合适内容,使得程序可以正确运行。
程序功能:输入a和b两个整数,按先大后小的顺序输出a和b。
#include <stdio.h>
void main()
{
int *p1,*p2,*p,a,b;
scanf("%d,%d",(1),(2));//输入a和b俩个整数
p1=(3);//指针变量赋值
A.值B.地址C.名D.一个标志
3.如有以下定义int a=5;下面对(1),(2)两个语句的正确解释是:
(1)int * p=&a;(2)* p=a;
A.语句(1)和(2)中的含义相同,都表示给指针变量p赋值
B.(1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p
C.(1)在对p进行说明的同时进行初始化,使p指向a
p2=&b;
p=NULL;
if (a<b)
{
p=p1;
(4);/Байду номын сангаас交换
p2=p;
}
printf("a=%d, b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,(5));//此行用指针输出
}
#include <stdio.h>
void main()
{
int *p1,*p2,*p,a,b;
(2)将变量a的值赋给指针变量p
D. 1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋于*p
(二)、填空题
1.在C程序中,只能给指针变量赋①值和②值。
①变量的地址②NULL
2.在C程序中,可以通过三种运算来移动指针,它们是:①、②、③。
①对指针变量加一个整形常量②对指针变量减去一个整形常量③指针赋值
(一)选择题
1.已有定义int k=2;int * ptr1,* ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是:()
A.k=* ptr1+* ptr2;B. ptr2=k;C. ptr1=ptr2 D. k=* ptr1*(* ptr2);
2.变量的指针,其含义是指该变量的:()
scanf("%d,%d",&a,&b); //输入a和b俩个整数
p1=&a;//指针变量赋值
p2=&b;
p=NULL;
if (a<b)
{
p=p1;
p1=p2; //交换
p2=p;
}
printf("a=%d, b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);//此行用指针输出
printf("%d,%d,%d\n",*a,*b,*c);
num=*a;
if(*a>*b)num=*b;
if(num>*c)num=*c;
printf("输出最小整数:%d\n",num); //输出最小数
}
}
2.以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。
请填空。
#include "stdio.h"
main()
{int *a,*b,*c,num,x,y,z;
a=&x;b=&y;c=&z;
printf("输入3个整数:");
scanf("%d%d%d",a,b,c);
printf("%d,%d,%d\n",*a,*b,*c);
num=*a;
if(*a>*b);
if(num>*c);
printf("输出最小整数:%d\n",); //输出最小数
}
#include "stdio.h"
main()
{
int *a,*b,*c,num,x,y,z;
a=&x;b=&y;c=&z;
printf("输入3个整数:");
scanf("%d%d%d",a,b,c);