更多“假设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


    正确答案:A

  • 第2题:

    设有数组的定义:int m[]=new int[5],则m.length的值为( )。

    A.4

    B.5

    C.6

    D.10


    正确答案:B
    解析:在Java语言中,数组被当作对象来处理,它包含一个很重要的变量length,用来表示数组的长度。

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


    正确答案:A
    解析:本题考核的知识点是manoc()函数的应用。该函数的调用格式是“malloc(n)”,作用是申请n个字符的存储单元并把该存储区的首地址作为返回值,实际调用的时候可在前面加上“(类型说明符*)”,以转换成需要的类型的地址。选项D多了一个参数,不符合malloc()函数的调用格式;整型变量在有的计算机系统里占4个字节,并不一定在所有的计算机系统里都是两个字节,所以选项C不正确;选项A中是申请一个整型的存储空间并把该存储空间的首地址乘以2,这样的做法是不正确的,其存储空间为没乘以2之前的存储空间的2倍的连续存储空间的地址,选项A不正确。所以,4个选项中B为所选。

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


    正确答案:C

  • 第5题:

    有以下定义和语句,则sizeof(a) 的值是【 】,而sizeof(a,share)的值是【 】

    struct date

    { int day;

    int mouth;

    int year;

    union{int share1;

    float share2;

    }share;

    }a;


    正确答案:10 4
    10 4 解析:结构体变量所占内存长度是各成员占的内存长度之和。每个成员分分别占有其自己的内存单元。int占2个字节,float占4个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a,share)的值是4,sizeof(a)的值是 2+2+2+4=10。

  • 第6题:

    若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof()/sizeof(a[0])的值为()

    A.3

    B.4

    C.5

    D.9


    参考答案:A

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


    正确答案:C

  • 第8题:

    变量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类型为联合。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

  • 第9题:

    假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。

    A0

    B4

    C8

    D6


    A

  • 第10题:

    设有数组定义语句:inta[10];若要将这些元素值保存在磁盘中,以下错误的形式是()

    • A、fwrite(a,sizeof(int),10,fp);
    • B、fwrite(a,2,10,fp);
    • C、fwrite(a,2*10,1,fp);
    • D、fwrite(a,sizeof(int),1,fp);

    正确答案:D

  • 第11题:

    单选题
    假定一个二维数组的定义为"int a[3][4]={{3,4},{2,8,6}}号",则元素a[2][O]值为()。
    A

    0

    B

    2

    C

    4

    D

    6


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

  • 第12题:

    问答题
    有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为多少?

    正确答案: a[0][1]的值为0
    解析: 暂无解析

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


    正确答案:C


  • 第14题:

    数组定义为int a[3][2]={1,2,3,4,5,6},则数组元素a[2][1]的值为6。()

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


    参考答案:正确

  • 第15题:

    设int a[4];int *p=a,则sizeof (p)和sizeof (a)的值分别是______ 。

    A.4和4

    B.16和4

    C.16和16

    D.4和16


    正确答案:D
    解析:a为数组,所以sizeof(a)为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;


    正确答案:4
    4

  • 第18题:

    下列x的值是int x;x= sizeof 2.25*4;


    正确答案:32
    在本题中,首先定义了一个整型变量x,然后将一个运算表达式的结果赋值给变量x,题目要求我们给出变量x的值,即表达式sizeof 2.25*4的值,在该表达式中,由于sizeof运算符的优先级高于算术运算符,所以,sizeof 2.25*4等价于(sizeof 2.25)*4,由于2.25是一个实数,被默认为一个双精度的实数,所占字节数为8,因此,(sizeof 2.25)*4可表示为8×4=32(以IBM-PC机为例)。

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


    A

  • 第21题:

    若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof()/sizeof(a[0])的值为()

    • A、3
    • B、4
    • C、5
    • D、9

    正确答案:A

  • 第22题:

    单选题
    若有定义inta[][3]={1,2,3,4,5,6,7,8,9};则表达式sizeof()/sizeof(a[0])的值为()
    A

    3

    B

    4

    C

    5

    D

    9


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

  • 第23题:

    单选题
    假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
    A

    0

    B

    4

    C

    8

    D

    6


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

  • 第24题:

    单选题
    有以下程序:#include main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen(data.dat,w+b); fwrite(&a[0],sizeof(int),1,fp); for(i = 1;i < 6;i++) {  fseek(fp,0L,0);  fread(&k,sizeof(int),1,fp);  fseek(fp,0L,0);  a[i]+=k;  fwrite(&a[i],sizeof(int),1,fp); } rewind(fp); fread(&k,sizeof(int),1,fp); fclose(fp); printf(%d,k);}程序的运行结果是(  )。
    A

    21

    B

    6

    C

    123456

    D

    11


    正确答案: A
    解析:
    “w+”表示打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则建立该文件;加入b字符后“w+b”用来告诉函数库打开的文件为二进制文件。程序执行过程为:以读/写方式打开一个新的二进制文件data.dat,从地址为a的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for循环,将文件指针移到文件开头,将文件第一个数值读出赋给k,再将指针移动到开头,向文件内输入a[i]+k=3。for循环实现将a数组中元素累加,结果21存放在文件中。调用rewind将文件指针移动到开头,调用fread函数从文件中读出一个整型数据赋给k=21,调用fclose函数关闭文件,打印k值,答案选择A选项。