假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof(a[0] )的值为______。
第1题:
已知: union { int i; char c; float a; }st;则sizeof(st)的值是______。
A.4
B.5
C.6
D.7
第2题:
设有数组的定义:int m[]=new int[5],则m.length的值为( )。
A.4
B.5
C.6
D.10
第3题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)mall0c(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
第4题:
若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是( )
A.p=2 *(int *)malloc(sizeof(int));
B.p=(int*)calloc(2*sizeof(int));
C.p=(int*)malloc(2* sizeof(int));
D.p=2 *(int*)calloc(sizeof(int));
第5题:
有以下定义和语句,则sizeof(a) 的值是【 】,而sizeof(a,share)的值是【 】
struct date
{ int day;
int mouth;
int year;
union{int share1;
float share2;
}share;
}a;
第6题:
A.3
B.4
C.5
D.9
第7题:
若有如下定义和声明: struct s { int m;char ch;double x; union t {char a[6];int b[3];}tt;}ss; 则sizeof(struets)的值是( )
A.6
B.14
C.17
D.20
第8题:
第9题:
假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
A0
B4
C8
D6
第10题:
设有数组定义语句:inta[10];若要将这些元素值保存在磁盘中,以下错误的形式是()
第11题:
0
2
4
6
第12题:
第13题:
● 已知有变量 data1 定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量 data1 所占的内存存储空间可表示为 (57) 。
(57)
A. sizeof(int)
B. sizeof(char)
C. sizeof(float)
D. sizeof(int)+sizeof(char)+sizeof(float)
第14题:
此题为判断题(对,错)。
第15题:
设int a[4];int *p=a,则sizeof (p)和sizeof (a)的值分别是______ 。
A.4和4
B.16和4
C.16和16
D.4和16
第16题:
有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( )
第17题:
有以下定义和语句,则sizeof(a.share)的值是( )。
struct date
{ unsigned int day;
unsigned int mouth;
unsigned int year;
union{int share1;
float share2;
}share;
}a;
第18题:
下列x的值是int x;x= sizeof 2.25*4;
第19题:
试题二(共15分)
阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。
【说明1】
设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof(x)用于计算为x分配的字节数。
【C代码】
#include <stdio.h>
#include <string.h>
int main()
{ int arr[5]={10,20,30};
char mystr[]="JustAtest\n";
char *ptr= mystr;
printf("%d%d%d\n", sizeof(int),sizeof(unsigned int),sizeof(arr));
printf("%d%d\n",sizeof(char),sizeof(mystr));
printf("%d%d%d\n",sizeof(ptr),sizeof(*ptr),strlen(ptr));
return 0;
}
【问题1】(8分)
请写出以上C代码的运行结果。
【说明2】
const是C语言的一个关键字,可以用来定义“只读”型变量。
【问题2】(4分)
(1)请定义一个“只读”型的整型常量size,并将其值初始化为10;
(2)请定义一个指向整型变量a的指针ptr,使得ptr的值不能修改,而ptr所指向的目标变量的值可以修改(即可以通过ptr间接修改整型变量a的值)。
注:无需给出整型变量a的定义。
【问题3】(3分)
某C程序文件中定义的函数f如下所示,请简要说明其中static的作用,以及形参表“const int arr[]”中const的作用。
static int f(const int arr[])
{
/*函数体内的语句省略*/
}
【问题1】
4 4 20
1 11
4 1 10
【问题2】
(1)const int size=10;或int const size=10,
(2)int*const ptr=&a;
【问题3】
static的作用:说明f是内部函数(或局部函数),只能在本文件中调用它。
const的作用:在函数f中不能修改数组元素的值,若修改,编译时会报错。
第20题:
假定一个二维数组的定义为"int a[3][4]={{3,4},{2,8,6}}号",则元素a[2][O]值为()。
A0
B2
C4
D6
第21题:
若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof()/sizeof(a[0])的值为()
第22题:
3
4
5
9
第23题:
0
4
8
6
第24题:
21
6
123456
11