更多“1、C语言用sizeof计算变量在内存中的字节数,其中sizeof是()”相关问题
  • 第1题:

    设有定义:char p[]={′1′,′2′,′3′},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是

    A.sizeof(p)

    B.sizeof(char)

    C.sizeof(*q)

    D.sizeof(p[0])


    正确答案:A
    解析:在本题中,p和q同为指向字符类型数据的指针。*q 和p[0]同为字符型数据。选项B)、C)和D)都符合题目的要求;选项A)计算得出的是指针类型数据所占的内存字节数。

  • 第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)


    正确答案:C
    解析:本题考查C语言编程的基本知识。本题变量datal定义为联合结构。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

  • 第3题:

    若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是

    A.sizeof,&=,<<,^

    B.sizeof,<<,^,&=

    C.^,<<,sizeof,&=

    D.<<,^,&=,sizeof


    正确答案:B

  • 第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


    正确答案:D
    解析:函数fopen(constchar*filename,constchar*mode)的功能是以mode指定的模式打开filename指定的磁盘文件:fclose(FILE*fp)的功能是关闭文件指针fp指向的文件;函数fscanf(FILE*fp,constchat'*format1,address,--])的功能是根据format中的格式从中指向的文件中读取数据,并存入到相应的address指向的变量中.函数fprintf(FILE*fp,constchar*format[,argument--])的功能是把argument列表中的表达式值写到fp所指向的文件中;函数fwfite(void*ptr,intsize,intn,FILE*fp)的功能是把ptr指向的缓冲区中的size×n个字节写到文件指针fp指向的文件中。本题中首先定义了一个文件指针fp,然后通过函数fopen以可"wb"的方式打开文件"data.daft",直接通过一个for循环,每循环一次调用函数fwrite将数组中的元素a[i]的值写进fp所指的文件中,该循环共循环4次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件.接着通过函数fopen以"rb”的方式打开文件"data.dat",通过fseek函数让指针中从文件末尾向前移动2个int型大小字节的,然后通过函数fread从中所指的文件中读取一个int型大小的数据到变量b中,故此时b的值为3,因此最后输出的,b的值为3,所以,4个选项中选项D符合题意。

  • 第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


    正确答案:D
    解析:Leek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节,调用此函数后指针指向a[2],fread(&b,sizeof(int),1,fp)是从文件中读取sizeof(int)字节的数据到变量b中,也就是从文件中读取数据3到变量b中。

  • 第6题:

    设有定义:charp[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是

    A.sizeof(p)

    B.sizeof(char)

    C.sizeof(*q)

    D.sizeof(p[0])


    正确答案:A
    解析: 在本题中,p和q同为指向字符类型数据的指针。*q和p[0]同为字符型数据。选项B)、C)和D)都符合题目的要求;选项A)计算得出的是指针类型数据所占的内存字节数。

  • 第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


    正确答案:D
    解析:函数fopen(const char *filename,const char *mode)的功能足以mode指定的模式打开filename指定的磁盘文件;fclose(FILE *fp)的功能是关闭文件指针fp指向的文件;函数fscanf(FILE*fp,const char*format[,address,--])的功能是根据format中的格式从fp指向的文件中读取数据,并存入到相应的address指向的变量中。函数fprintf(FILE*fp,const char*format[,argument,--])的功能是把 argument列表中的表达式值写到fp所指向的文件中;函数fwrite(void *ptr,int size,int n,FILE *fp)的功能足把ptr指向的缓冲区中的 size×n个字节写到文件指针fp指向的文件中。本题中首先定义了一个文件指针fp,然后通过函数fopen以可wb的方式打开文件 data.dat,直接通过一个for循环,每循环一次调用函数fwrite将数组中的元素a[i]的值写进fp所指的文件中,该循环共循环4次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件。接着通过函数fopen以rb的方式打开文件data.dat,通过fseek函数让指针fp从文件末尾向前移动两个血型大小字节,再通过函数fread从fp所指的文件畔,读取一个int型大小的数据到变量b中,故此时b的值为3,因此最后输出b的值为3,所以,4个选项中选项D符合题意。

  • 第8题:

    在ANSIC中,sizeof(int) 是在______时确定其占用内存空间大小的。

    A.编辑

    B.编译

    C.链接

    D.运行


    正确答案:B
    解析:本题考查编译原理方面的基础知识。编译器在对高级语言进行编译时,根据目标环境决定int占用的内存空间大小,在16位系统中,sizeof(int) 占用2字节空间;在32位系统中,sizeof(int) 占用4字节空间。

  • 第9题:

    变量W_data定义如下:union data_node{float ff'int n;char ch;}W_data;则变量W_data所占的内存存储空间可表示为______。

    A.sizeof(int)
    B.sizeof(char)
    C.sizeof(float)
    D.sizeof(int)+sizeof(char)+sizeof(float)

    答案:C
    解析:
    本题考查C语言编程的基本知识。本题中变量W_data类型为联合。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

  • 第10题:

    在C++中不能被重载的一组运算符是()

    • A、::?:.sizeof
    • B、?:.sizeof++->
    • C、::?:newdelete
    • D、++--?:sizeof

    正确答案:A

  • 第11题:

    设有定义“doublearray[10];”,则表达式sizeof(array)/sizeof(array[0])的结果为array数组的()。

    • A、首地址
    • B、元素个数
    • C、每个元素所占的字节数
    • D、总字节数

    正确答案:B

  • 第12题:

    单选题
    设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。
    A

    p=(NODE*)malloc(sizeof(p));

    B

    p=(*NODE)malloc(sizeof(NODE));

    C

    p=(NODE)malloc(sizeof(p));

    D

    p=(NODE*)malloc(sizeof(NODE));


    正确答案: D
    解析: 暂无解析

  • 第13题:

    ● 在ANSI C 中,sizeof(int)是在 (41) 时确定其占用内存空间大小的。

    (41)

    A. 编辑

    B. 编译

    C. 链接

    D. 运行


    正确答案:B

    试题(41)分析
    本题考查编译原理方面的基础知识。编译器在对高级语言进行编译时,根据目标环境决定int占用的内存空间大小,在16位系统中,sizeof(int)占用2字节空间;在32位系统中,sizeof(int)占用4字节空间。
    参考答案
          (41)B

  • 第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)


    正确答案:C


  • 第15题:

    在C语言中,sizeof(a)是求变量a所占字节数,它是一个函数。

    此题为判断题(对,错)。


    正确答案:×

  • 第16题:

    在C++中,下列程序段的输出结果是【 】。

    int x, a[10];

    cout<<sizeof(x)<<“”<<sizeof(a)<<“”<<sizeof(float)<<end1


    正确答案:4 40 4
    4 40 4

  • 第17题:

    下列可用于C语言标识符的一组是_______。

    A.void WORD define

    B.a 6$sys For

    C.2a sizeof abc

    D.Int define sizeof


    正确答案:D
    解析:C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。注意,大写字母和小写字母被认为是两个不同的字符。C语言中的关键字不能用作标识符。

  • 第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));


    D

  • 第22题:

    用来计算一个变量或者一个常量、一种数据类型所占的内存字节数可使用()

    • A、typeof()
    • B、sizeof()
    • C、length()
    • D、longof()

    正确答案:B

  • 第23题:

    sizeof()是C语言提供的标准库函数,用于测试数据类型在系统中所占的字节数。


    正确答案:错误

  • 第24题:

    单选题
    设有定义“doublearray[10];”,则表达式sizeof(array)/sizeof(array[0])的结果为array数组的()。
    A

    首地址

    B

    元素个数

    C

    每个元素所占的字节数

    D

    总字节数


    正确答案: B
    解析: 暂无解析