更多“以下n变量赋值必须进行强制类型转换的是()。A.int n;n=100+10;B.int n;n=100F+10;C.int n;short m ”相关问题
  • 第1题:

    下列程序是死循环的是

    A.for(;;);

    B.int s=36; while(S)--S;

    C.int m=10; do { m- - }while(m>0);

    D.int n=5; while(n>1) { n- -; if(n<0)break; }


    正确答案:A
    解析:在for语句中省略中间的判断表达,并且后面只有一个分号,所以是循环。

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

    B.int s=36; while(s)=s;

    C.int m=10; do{m- -;}while(m>0);

    D.int n=5; while(n>1) { n- -; if(n<0)break; }


    正确答案:A

  • 第4题:

    下列函数原型声明中,错误的是

    A.int function(int m,int n);

    B.int function(int,int);

    C.int function(int m=3,int n);

    D.int function(int&m,int&n);


    正确答案:C
    解析:在函数原型中指定默认参数值时,如果函数中有多个参数,则默认参数应从右至左定义,否则就是无效的,故本题选C。

  • 第5题:

    在Visual FoxPro中,有如下几个内存变量赋值语句: X={^2001-07—28 10:15:20 PM} Y=.T. M=$123.45 N=123.45 Z="123.45" 执行上述赋值语句之后,内存变量X、Y、M、N、Z的数据类型分别是______。

    A.D、L、Y、N、C

    B.D、L、M、N、C

    C.T、L、M、N、C

    D.T、L、Y、N、C


    正确答案:D
    解析:数据类型的字符表示CharacterCNumeric(alsofloat,double,andinteger)NCurrencyYDateDDateTimeTLogicalLMemoMObjectOGeneralGScreen(createdwithSAVESCREEN)SUndefinedtypeofexpressionU

  • 第6题:

    以下对一维实型数组a的正确定义的是______。

    A.float a(10);

    B.int n=10;float a[n];

    C.int n;float a [n]; scanf("%d",&n);

    D.#define SIZE 10 float a[SIZE];


    正确答案:D
    解析:C语言不可动态定义数组,必须是整型常量,选项D中的SIZE是符号常量,也是常量,值为10,所以可以用符号常量来定义数组的长度。

  • 第7题:

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

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

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

    C.int x[0..10];

    D.int x[];


    正确答案:B

  • 第8题:

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

    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};。

  • 第9题:

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

    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。

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

    执行以下赋值语句之后,内存变量X、Y、M、N和Z的类型分别是( )X={“2014-07- 2810、15、20pm”}Y=.T.M=$123.45N=3.14Z=”蜀道难”

    A.T,L,Y,N,C

    B.D,L,Y,N,C

    C.D,L,M,N,C

    D.T,L,M,N,C


    正确答案:C

  • 第12题:

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

    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语言中,数组的第二维下标不能缺省。

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

    下列正确的变量声明是( )

    A.int m;n;k;

    B.unsigned int m,n,k;

    C.double int m,n,k;

    D.int m,n,k


    正确答案:B

  • 第16题:

    若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。

    A.int fun(double x, int *n);

    B.int fun(double, int);

    C.int fun(double *x, int n);

    D.int fun(double*, int*);


    正确答案:D
    解析:本题中的fun函数有两个参数,一个类型是double型一维数组,另—个是int型指针。而在C语言中,一维数组用作函数参数和该数组元素的指针类型是等价的。所以本题的正确答案是选项D。

  • 第17题:

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

    A.int p [n]

    B.int * p( );

    C.int * p(n);

    D.int( * p)[n]


    正确答案:D

  • 第18题:

    在VisLIal FoxPr0中,有下列内存变量赋值语句: X={∧2001—07.28 10:15:20 PM} Y=.F. M=$123.45 N=1 23.45 Z=”123.24” 执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是( )。

    A.D、L、Y、N、C

    B.T、L、Y、N、C

    C.T、L、M、N、C

    D.T、L、Y、N、S


    正确答案:B
    B。【解析】在VF中,变量的类型可以改变。另外,VF中常量的类型可以根据其定界符进行判断。

  • 第19题:

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

    A.int num[0..2008];

    B.int lllllll[];

    C.int N:2008:

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


    正确答案:D
    C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

  • 第20题:

    能保证对所有的参数能够结束的递归函数是

    A.int f(int n){if(n<1)return 1;else return n*f(n+1);}

    B.int f(int n){if(n>1)return 1;else return n*f(n-1);}

    C.int f(int n){if(abs(n)<1)return 1;else return n*f(n/2);}

    D.int f(int n){if(n>1)return 1;else return n*f(n*2);)


    正确答案:C
    解析:递归函数的两个重要条件是要有结束和递归表达式。选项A、B、D无法结束。根据这两个条件可以进行判断出答案为C。

  • 第21题:

    已知: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为一变量所以是错误的。

  • 第22题:

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

    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无此语法。

  • 第23题:

    下面 ______ 是正确的递归函数,它保证对所有的参数能够结束。

    A.int f(int n){ if(n<1) return 1; else return n*f(n+1); }

    B.int f(int n){ if(n>1) return 1; else return n*f(n-1); }

    C.int f(int n){ if(abs(n)<1) return 1; else return n*f(n/2); }

    D.int f(int n){ if(n>1) return 1; else return n*f(n*2); }


    正确答案:C