来源:奥鹏在离线平时作业辅导 日期: 作者:admin
国开25春《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,p+1所指对象的值为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)++
a+i
*a+i
题目类型:
单选题
题目:
已知"char b[10]="12345", *p=b;",则*(p+2)的值为
选项:
'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
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是一个一维数组,则a+i的值与&a[i]的值相等.
选项:
对
错
题目类型:
判断题
题目:
已知"int a[10], *p=a;",则进行*p++运算是不允许的.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则表达式*(a[j]+i)所对应的元素为a[i][j].
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则数组名a的值和a[0]的值相等.
选项:
对
错
题目类型:
判断题
题目:
进行动态存储分配的calloc()函数带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
用于释放动态存储空间的函数为free,调研它需要带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i个字节.
选项:
对
错
题目类型:
填空题
题目:
#includevoid 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选项:
题目类型:
单选题
题目:
一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为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,p+1所指对象的值为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)++
a+i
*a+i
题目类型:
单选题
题目:
已知"char b[10]="12345", *p=b;",则*(p+2)的值为
选项:
'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
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是一个一维数组,则a+i的值与&a[i]的值相等.
选项:
对
错
题目类型:
判断题
题目:
已知"int a[10], *p=a;",则进行*p++运算是不允许的.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则表达式*(a[j]+i)所对应的元素为a[i][j].
选项:
对
错
题目类型:
判断题
题目:
假定a是一个二维数组,则数组名a的值和a[0]的值相等.
选项:
对
错
题目类型:
判断题
题目:
进行动态存储分配的calloc()函数带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
用于释放动态存储空间的函数为free,调研它需要带有一个参数.
选项:
对
错
题目类型:
判断题
题目:
假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i个字节.
选项:
对
错
题目类型:
填空题
题目:
#include
题目类型:
填空题
题目:
#include
选项:
题目类型:
填空题
题目:
#include