更多“下列选项中,能正确定义数组的语句是( )。A.int num[0..2008];B.int lllllll[];C.int N:2008:D.define N 2008int num[N1;int num[N];”相关问题
  • 第1题:

    str是一个由数字和字母字符组成的字符串,由变量hum传入字符串长度。请补充函数fun( ),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。

    例如:str=“Bcdl23e456hui890”,结果为:123456890。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<stdio.h>

    define N 80

    int bb[N];

    int fun(char s[ ],int bb[ ],int num)

    {

    int i,n=0;

    for(i=0;i<num;i++)

    {

    if(【 】)

    {

    bb[n]=【 】;

    n++;

    }

    }

    return【 】;

    }

    main()

    {

    char str[N];

    int num=0,n,i;

    printf("Enter a string:\n");

    gets(str);

    while(str[num])

    num++;

    n=fun(str,bb,num);

    printf("\nbb=");

    for(i=0;i<n;i++)

    printf("%d",bb[i]);

    }


    正确答案:s[i]>=‘0’&&s[i]=‘9’ s[i]-‘0’ n
    s[i]>=‘0’&&s[i]=‘9’ s[i]-‘0’ n 解析:第一空:如果当前字符的ASCII码大于字符‘0’的ASCII码,而小于字符‘9’的ASCII码,则说明当前字符是数字字符。第二空:将数字字符转换为数字的方法是,用当前数字字符的ASCII码减去字符‘0’的ASCII码。第三空:题目要求函数返回数组bb的长度,而变量n记录了数字字符的个数,也就是数组bb的长度,所以函数应该返回n。

  • 第2题:

    以下能正确定义一维数组的选项是( )。

    A.int num[];

    B.#define N 100 int num[N];

    C.int num[0…100];

    D.int N=100; int num[N];


    正确答案:B
    解析:C不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值,选项A)错误;字符常量可以作为定义数组大小的常量表达式,选项B)正确;不能用区间表示数组大小,选项C)错误;D)中的N为变量,所以错误。

  • 第3题:

    下列定义数组的语句中正确的是______。

    A.#define size 10 char str1[size],str2[size+2];

    B.char str[];

    C.int num['10'];

    D.int n=5; int a[n][n+2];


    正确答案:A

  • 第4题:

    下列定义数组的语句中,正确的是( )。

    A.int N=10; int x[N];

    B.#define N 10 int x[N];

    C.int x[0..10];

    D.int x[];


    正确答案:B

  • 第5题:

    以下定义数组的语句中错误的是( )。

    A.int num[][3]={{1,2},3,4,5,6};

    B.int nUITI[2][4]={{1,2},{3,4},{5,6}};

    C.int num[]={1,2,3,4,5,6};

    D.int num[][4]={1,2,3,4,5,6’};


    正确答案:B
    选项B中,intIrlllm[2][4]={{1,2},{3,4},{5,6}};定义数组是2行4列,但是初始化的结构是3行2列,因此初始化错误。故答案为B选项。

  • 第6题:

    下列选项中,能正确定义数组的语句是

    A.intnum[0..2008];

    B.intnum[];

    C.intN=2008; intnum[N];

    D.#DeFineN2008 intnum[N];


    正确答案:D
    解析:选项A不符合C语言的语法要求;选项B中没有指定数组的大小;选项C中数组大小不能用变量来指定。

  • 第7题:

    下列选项中,能正确定义数组的语句是( )。

    A.int num[0..2008];

    B.int num [];

    C.int N=2008; int num[N];

    D.#define N 2008; int num[N];


    正确答案:D
    通过define进行宏定义,将N赋值为2008,然后定义一个数组,整型长度为2008,所以本题答案为D。

  • 第8题:

    下列定义数组的语句中,正确的是( )。

    A.int N=10;int x[N]:

    B.#define N l0 ; int x[N];

    C.int x[0..10];

    D.int x[];


    正确答案:D
    选项A、B中n为变量,C语言中不允许动态定义数组维数,即维数不能是变量。选项C无此语法。

  • 第9题:

    已知:int n=1;在下面定义引用的语句中,正确的是( )。

    A.int x=&n;

    B.int &x =n;

    C.int &x;

    D.int &x=&n;


    正确答案:B
    解析:引用实际上就是别名,它与被引用变量拥有同一个地址空间。选项A) 中&m表示m的地址,而x是一个整型变量,在C++中不能从地址值隐式转换为整型值,故选项A) 是错的。选项B) 中其操作实际上就是为m赋于一个别名x,因此选项B)是对的。选项C) 中引用必须要用被引用的对象,即引用必须要初始化:选项D) 中x是一个整型引用,而其被引用的对象却是m的地址,存在着与选项A) 类似的错误,因此选项D) 也是错的。

  • 第10题:

    已知:int n=10;那么下列语句中错误的是

    A.int*p=new long[n];

    B.int p[n];

    C.int*p=new long(n);

    D.int p[10];


    正确答案:B
    解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针>=new类型>(初值),例如C选项所示,若带有元素个数,则其语法格式为:指针>=new类型>[元素个数>],例如A选项所示。数组定义中数组大小必须为常量,而B)选项中的n为一变量所以是错误的。

  • 第11题:

    试题26

    以下定义数组的语句中错误的是()

    A.int num[]={1,2,3,4,5,6}

    B.int num[][3]={{1,2},3,4,5,6};

    C.int num[2][4]={{1,2},{3,4},{5,6}}

    D.int num[][4]={1,2,3,4,5,6};


    正确答案:C
    试题26分析
    num[2][4]说明数组num有2行4列,而C项num[2][4]={{1,2},{3,4},{5,6}}说明它由3行,与定义不符。
    试题26答案
    C

  • 第12题:

    单选题
    下列选项中,能正确定义数组的语句是(  )。
    A

    int N=2008;int num[N];

    B

    int num[];int num[N];

    C



    #define N 2008
    int num[N];

    D

    int num[0..2008];


    正确答案: B
    解析:
    一维数组定义格式是:类型名 数组名[整型常量表达式]。A项错误,数组长度不能由变量指明;B项错误,没有指明数组的长度;C项正确,它使用预处理宏定义,N可以看做是常量;D项错误,数组长度应该整型常量表达式。答案选择C选项。

  • 第13题:

    已知:int n=10; 在下列定义引用的语句中,正确的是( )。

    A.int &x=n;

    B.int x=&n;

    C.int &x;

    D.int &x=&n;


    正确答案:A
    解析:引用是个别名,建立引用后,引用即作为目标的别名而使用,对引用的改动实际上就是对目标的改动。要求引用的声明语句要同时包括变量的数据类型、引用操作符“&”、引用名、赋值符号和目标名。引用在声明时必须进行初始化,一旦初始化,便不能作为其他变量的引用而使用。

  • 第14题:

    以下能正确定义数组并正确赋初值的语句是______。

    A.int N=5, b[N=[N];

    B.int a[1][2]={{1}, {3}};

    C.int c[2][]={{1, 2}, {3, 4}};

    D.int d[3][2]={{1, 2}, {34}};


    正确答案:D
    解析:本题考查二维数组的定义。不能对数组进行动态定义,选项A错误;选项C省略第二维的长度;选项B中初值的行数超过数组第一维的长度。

  • 第15题:

    在下面语句中,其含义为“p为指向含n个元素的一维数组的指针变量”的定义语句是 ( )

    A.int p [n]

    B.int * p( );

    C.int * p(n);

    D.int( * p)[n]


    正确答案:D

  • 第16题:

    av9功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是( )。

    A.int avg(int*a,int n);

    B.int avg(int a[lO],int n);

    C.int avg(int a,int n);

    D.int avg(int a[],int n);


    正确答案:C
    对于数组参数传递时C语言中内部都使用指针进行传递,而C选项中形参为两个int型的值,所以答案选择C。

  • 第17题:

    下面能正确定义数组,并正确赋值的语句是_______。

    A.int N=5,b[N][N]

    B.int a[1][2]={{1},{3}}

    C.int c[2][]={{1,2},{3,4}}

    D.int d[3][2]={{1,2},{34}}


    正确答案:D
    解析:可以用下面的方法对二维数组初始化:
      1、分行给二维数组赋初值。如int a [3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};。
      2、将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。如int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};。
      3、对部分元素赋初值。如int a[3][4]={{1},{5},{9}};,它的作用是只对各行第一列的元素赋初值,其余元素值自动为0。
      4、如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一锥的长度可以不指定,但第二锥的长度不能省。如int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};与下面的定义等价:int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};。

  • 第18题:

    以下能正确定义一维数组的选项是

    A.int num[];

    B.#define N 100 int num[N];

    C.intnum[0..100];;

    D.int N=100;int num[N]


    正确答案:B
    解析:选项A定义数组时省略了长度,而C语言中规定,只有在定义并同时进行初始化时,数组的长度才可以省略,数组的长度为初始化时候的成员个数,故选项A错误:在C语言中规定,数组的长度必须是一个整数或整型常量表达式,故选项C不正确;定义时数组的长度不能使用变量表示,故选项D不正确,所以,4个选项中选项B符合题意。

  • 第19题:

    已知:intn=10;那么下列语句中错误的是

    A.int*p=new long[n];

    B.int p[n];

    C.int*p=new long(n);

    D.int p[10];


    正确答案:B
    解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:指针>=new类型>(初值);如C选项所示,若带有元素个数,则其语法格式为:《指针》=new类型>[元素个数>],如A选项所示。数组定义中数组大小必须为常量,而B选项中的n为一变量所以是错误的。

  • 第20题:

    若有定义:则()语句是正确的。

    A.n[0]=2;

    B.NUM=2;

    C.NUM=n;

    D.n=2;


    正确答案:A

  • 第21题:

    以下能正确定义数组并正确赋初值的语句是

    A.int N=5,b[N][N];

    B.int a[1][2]={{1},{3}};

    C.int c[2][1]={{1,2},3,4}};

    D.int d[3][2]={{1,2},{34}};


    正确答案:D
    解析:选项A中,数组的长度使用了变量N,而在C中是不能用变量来定义数组的的长度的。在C语言中,给二维数组赋初值时,行数不能超过定义的行数,每行的初值个数不能超过定义时的列数。选项C数组的第二维下标缺省,而在C语言中,数组的第二维下标不能缺省。

  • 第22题:

    ( 25 )下列选项中,能正确定义数组的语句是

    A ) int num[0..2008] ;

    B ) int num[] ;

    C ) int N=2008 ;

    int num[N] ;

    D ) #define N 2008

    int num[N] ;


    正确答案:D

  • 第23题:

    下列定义数组的语句中正确的是().

    • A、#define size 10  char  str1[size],str2[size+2];
    • B、char str[];
    • C、int num[’10’];
    • D、int n=5; int a[n][n+2];

    正确答案:A