1、C语言用sizeof计算变量在内存中的字节数,其中sizeof是()
A.函数
B.运算符
C.标识符
D.语句
第1题:
设有定义:char p[]={′1′,′2′,′3′},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
第2题:
已知有变量datal定义如下: union data { int i; char ch; float f; }datal; 则变量datal所占的内存存储空间可表示为(57)。
A.sizeof(int)
B.sizeof(char)
C.sizeof(float)
D.SiZCOf(mt)+sizeof(char)+sizeof(float)
第3题:
若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是
A.sizeof,&=,<<,^
B.sizeof,<<,^,&=
C.^,<<,sizeof,&=
D.<<,^,&=,sizeof
第4题:
有以下程序(提示:程序中fseek(fp-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件末尾向前移2*sizeof(ing)字节) #include <stdio.h> main() { FILE *fp; int i, a[4]={1,2,3,4},b; fp=fopen("data.dat","wb"); for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp); fp=fopen("data.dat","rb"); fseek(fp,-2L*sizeof(int),SEEK_END) ; fread (&b, sizeof (int),1,fp); /*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp); printf("%d\n",B) ; } 执行后输出结果是
A.2
B.1
C.4
D.3
第5题:
有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2 * sizeof(int)字节): #include <stdio.h> main() { FILE *fp; int i, a[4]={1,2,3,4},b; fp=fopen("data.dar","wb"); for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp); fp=fopen("data.dar","rb"); fseek(fp,-2L*sizeof(int),SEEK_END); fread(&b,sizeof(int),1,fp); /*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp); printf("%d\n",b); } 执行后的输出结果( )。
A.2
B.1
C.4
D.3
第6题:
设有定义:charp[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
第7题:
有以下程序(提示,程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节): #include <stdio.h> main() { FILE *fp; int i, a[4]={l,2,3,4},b; fp=fopen("data.dat","wb"); for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp); fp=fopen("data.dar","rb"); fseek(fp,-2L*sizeof(int),SEEK END); fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中 */ fclose(fp); printf("%d\n",b); } 执行后输出结果是( )。
A.2
B.1
C.4
D.3
第8题:
在ANSIC中,sizeof(int) 是在______时确定其占用内存空间大小的。
A.编辑
B.编译
C.链接
D.运行
第9题:
第10题:
在C++中不能被重载的一组运算符是()
第11题:
设有定义“doublearray[10];”,则表达式sizeof(array)/sizeof(array[0])的结果为array数组的()。
第12题:
p=(NODE*)malloc(sizeof(p));
p=(*NODE)malloc(sizeof(NODE));
p=(NODE)malloc(sizeof(p));
p=(NODE*)malloc(sizeof(NODE));
第13题:
● 在ANSI C 中,sizeof(int)是在 (41) 时确定其占用内存空间大小的。
(41)
A. 编辑
B. 编译
C. 链接
D. 运行
第14题:
● 已知有变量 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)
第15题:
在C语言中,sizeof(a)是求变量a所占字节数,它是一个函数。
此题为判断题(对,错)。
第16题:
在C++中,下列程序段的输出结果是【 】。
int x, a[10];
cout<<sizeof(x)<<“”<<sizeof(a)<<“”<<sizeof(float)<<end1
第17题:
下列可用于C语言标识符的一组是_______。
A.void WORD define
B.a 6$sys For
C.2a sizeof abc
D.Int define sizeof
第18题:
WIN32 平台下,sizeof(short) = ____,sizeof(int) = ____,sizeof(long) = ____。
第19题:
以下为 Windows NT 下的 32位 C++程序,请计算 sizeof的值
char str[] = “Hello” ; char *p = str ;int n = 10;请计算 sizeof (str )
= sizeof ( p ) = sizeof ( n ) = void Func (
char str[100]){请计算 sizeof( str ) = }
void *p = malloc( 100 );请计算 sizeof ( p ) =
第20题:
试题二(共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中不能修改数组元素的值,若修改,编译时会报错。
第21题:
设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。
Ap=(NODE*)malloc(sizeof(p));
Bp=(*NODE)malloc(sizeof(NODE));
Cp=(NODE)malloc(sizeof(p));
Dp=(NODE*)malloc(sizeof(NODE));
第22题:
用来计算一个变量或者一个常量、一种数据类型所占的内存字节数可使用()
第23题:
sizeof()是C语言提供的标准库函数,用于测试数据类型在系统中所占的字节数。
第24题:
首地址
元素个数
每个元素所占的字节数
总字节数