国家开放大学2024春《C语言程序设计》第五章综合练习[参考答案] 题目类型: 单选题 题目: 一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为datatype类型,则该指针的类型为
国家开放大学2024春《C语言程序设计》第五章 综合练习[参考答案]
题目类型:
单选题
题目:
一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为datatype类型,则该指针的类型为
选项:
datatype*
datatype
datatype&
datatype**
题目类型:
单选题
题目:
null是一个符号常量,通常作为空指针值,它的取值为
选项:
0
1
-1
'n'
题目类型:
单选题
题目:
若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为
选项:
int*)p
(int)*p
(char*)p
(char*)p
题目类型:
单选题
题目:
若要定义整型指针p并初始指向x,则所使用的定义语句为
选项:
int p=&x
int *p=x
int *p=&x
int *p=&x
题目类型:
单选题
题目:
假定p所指对象的值为25,p1所指对象的值为42,则表达式*p的值为
选项:
25
42
26
43
题目类型:
单选题
题目:
假定p是一个指针变量,则该变量的地址表示为
选项:
&p
*p
**p
&&p
题目类型:
单选题
题目:
已知"char*s="hello world!";",要使变量p指向s所指向的同一个字符串,则p应定义为
选项:
char *p=s
char *p=&s
char *p;p=*s
char *p(s)
题目类型:
单选题
题目:
假定a为一个数组名,则下面表达式中错误的是
选项:
*a
(*a)
ai
*ai
题目类型:
单选题
题目:
已知"charb[10]="12345", *p=b;",则*(p2)的值为
选项:
'2'
'3'
'4'
'5'
题目类型:
单选题
题目:
已知"int a[6][5];",则元素a[2][4]的地址比该数组的首地址大
选项:
14个字节
56个字节
28个字节
96个字节
题目类型:
单选题
题目:
要使p指向二维整型数组a[10][20],p应定义为
选项:
int *p=a
int **p=a
int *p[20]=a
int(*p)[20]=a
题目类型:
单选题
题目:
执行"int *p=malloc(sizeof(double)*2);"语句后得到的动态存储空间的字节数为
选项:
16
8
4 4
32
题目类型:
单选题
题目:
利用动态存储分配创建具有10个字节的一维数组空间的正确语句是
选项:
char *p=malloc(10,1)
char *p=malloc(10)
char *p=calloc(5,4)
char *p=calloc(10)
题目类型:
判断题
题目:
在定义指针变量的语句中,对指针变量不允许赋初值.
选项:
对
错
题目类型:
判断题
题目:
在定义指针变量的语句"int *p,pp;"中,p和pp具有相同的数据类型.
选项:
对
错
题目类型:
判断题
题目:
在语句"typedefint* inpointer;"中,把标识符inpointer定义为int*类型.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个一维数组,则ai的值与&a[i]的值相等.
选项:
对
错
题目类型:
判断题
题目:
已知"int a[10], *p=a;",则进行*p运算是不允许的.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则表达式*(a[j]i)所对应的元素为a[i][j].
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则数组名a的值和a[0]的值相等.
选项:
对
错
题目类型:
判断题
题目:
进行动态存储分配的calloc()函数带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
用于释放动态存储空间的函数为free,调研它需要带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个指针数组,则ai所指对象的地址比a地址大4*i个字节.
选项:
对
错
题目类型:
填空题
题目:
执行下面程序的输出结果为 1 .
选项:
题目类型:
填空题
题目:
#include void main() { __ int a[8]; __ int s1=0,s2=0,*p; __ printf("请输入8个整数:"); __ for(p=a; p
选项:
题目类型:
填空题
题目:
#include void main() { __ char a[5][10]={"12345","asde45","wer45t","zxc12","89uy78"}; __ char *p; __ int i,c=0,k=0; __ for(i=0; i<5; i) { __ p=&a[i][0]; __ while(*p!=' ') { __ if(*p>='0' && *p<='9') k; __ c; p; __ } __ } __ printf("%d %dn",k,c); } 答案: 1
选项:
题目类型:
填空题
题目:
#include #include void main() { __ int i,n,*a; __ do scanf("%d",&n); while(n<2); __ a=calloc(n,sizeof(int)); __ for(i=0; i
选项:
题目类型:
填空题
题目:
#include #include void main() { __ int i=0,j,n=10,*a; __ a=calloc(10,sizeof(int)); __ while(i
选项:
题目类型:
单选题
题目:
一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为datatype类型,则该指针的类型为
选项:
datatype*
datatype
datatype&
datatype**
题目类型:
单选题
题目:
null是一个符号常量,通常作为空指针值,它的取值为
选项:
0
1
-1
'n'
题目类型:
单选题
题目:
若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为
选项:
int*)p
(int)*p
(char*)p
(char*)p
题目类型:
单选题
题目:
若要定义整型指针p并初始指向x,则所使用的定义语句为
选项:
int p=&x
int *p=x
int *p=&x
int *p=&x
题目类型:
单选题
题目:
假定p所指对象的值为25,p1所指对象的值为42,则表达式*p的值为
选项:
25
42
26
43
题目类型:
单选题
题目:
假定p是一个指针变量,则该变量的地址表示为
选项:
&p
*p
**p
&&p
题目类型:
单选题
题目:
已知"char*s="hello world!";",要使变量p指向s所指向的同一个字符串,则p应定义为
选项:
char *p=s
char *p=&s
char *p;p=*s
char *p(s)
题目类型:
单选题
题目:
假定a为一个数组名,则下面表达式中错误的是
选项:
*a
(*a)
ai
*ai
题目类型:
单选题
题目:
已知"charb[10]="12345", *p=b;",则*(p2)的值为
选项:
'2'
'3'
'4'
'5'
题目类型:
单选题
题目:
已知"int a[6][5];",则元素a[2][4]的地址比该数组的首地址大
选项:
14个字节
56个字节
28个字节
96个字节
题目类型:
单选题
题目:
要使p指向二维整型数组a[10][20],p应定义为
选项:
int *p=a
int **p=a
int *p[20]=a
int(*p)[20]=a
题目类型:
单选题
题目:
执行"int *p=malloc(sizeof(double)*2);"语句后得到的动态存储空间的字节数为
选项:
16
8
4 4
32
题目类型:
单选题
题目:
利用动态存储分配创建具有10个字节的一维数组空间的正确语句是
选项:
char *p=malloc(10,1)
char *p=malloc(10)
char *p=calloc(5,4)
char *p=calloc(10)
题目类型:
判断题
题目:
在定义指针变量的语句中,对指针变量不允许赋初值.
选项:
对
错
题目类型:
判断题
题目:
在定义指针变量的语句"int *p,pp;"中,p和pp具有相同的数据类型.
选项:
对
错
题目类型:
判断题
题目:
在语句"typedefint* inpointer;"中,把标识符inpointer定义为int*类型.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个一维数组,则ai的值与&a[i]的值相等.
选项:
对
错
题目类型:
判断题
题目:
已知"int a[10], *p=a;",则进行*p运算是不允许的.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则表达式*(a[j]i)所对应的元素为a[i][j].
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则数组名a的值和a[0]的值相等.
选项:
对
错
题目类型:
判断题
题目:
进行动态存储分配的calloc()函数带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
用于释放动态存储空间的函数为free,调研它需要带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个指针数组,则ai所指对象的地址比a地址大4*i个字节.
选项:
对
错
题目类型:
填空题
题目:
执行下面程序的输出结果为 1 .
选项:
题目类型:
填空题
题目:
#include void main() { __ int a[8]; __ int s1=0,s2=0,*p; __ printf("请输入8个整数:"); __ for(p=a; p
选项:
题目类型:
填空题
题目:
#include void main() { __ char a[5][10]={"12345","asde45","wer45t","zxc12","89uy78"}; __ char *p; __ int i,c=0,k=0; __ for(i=0; i<5; i) { __ p=&a[i][0]; __ while(*p!=' ') { __ if(*p>='0' && *p<='9') k; __ c; p; __ } __ } __ printf("%d %dn",k,c); } 答案: 1
选项:
题目类型:
填空题
题目:
#include #include void main() { __ int i,n,*a; __ do scanf("%d",&n); while(n<2); __ a=calloc(n,sizeof(int)); __ for(i=0; i
选项:
题目类型:
填空题
题目:
#include #include void main() { __ int i=0,j,n=10,*a; __ a=calloc(10,sizeof(int)); __ while(i
选项: