下列各个错误中,哪一个不属于编译错误()A、改变x原值3为5,写作“x==5”B、花括号不配对C、复合语句中的最后一条语句后未加分号D、变量有引用、无定义

题目

下列各个错误中,哪一个不属于编译错误()

  • A、改变x原值3为5,写作“x==5”
  • B、花括号不配对
  • C、复合语句中的最后一条语句后未加分号
  • D、变量有引用、无定义

相似考题
更多“下列各个错误中,哪一个不属于编译错误()A、改变x原值3为5,写作“x==5”B、花括号不配对C、复合语句中的最后一条语句后未加分号D、变量有引用、无定义”相关问题
  • 第1题:

    设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是A.if(x++);B.if(x>y&

    设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是

    A.if(x++);

    B.if(x>y&&y!=0);

    C.if(x>0)x- else y++;

    D.if(y<0){;} else x++;


    正确答案:C
    解析:C语言规定,在“if(表达式)语句 1;else语句2;”这种形式的if语句中,在每一个else前面有一个分号,整个语句结束处有一分号。在本题的 C)选项中,else前面少了一个分号,这样程序在编译时,会出现语法错误。

  • 第2题:

    设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是( )。

    A.if(x++);

    B.if(x>y&&y!=0);

    C.if(x>0)x-- elsey++;

    D.if(y<0){;} else x++;


    正确答案:C
    解析:选项A)和选项B)在条件判断语句的后面是空语句,什么都不做;在选项D)if后面是一个复合空语句;而在选项C)中,在X--后面少了一个分号,所以程序段在编译时,会出现语法错误。

  • 第3题:

    在C源程序中将语句“if(x==5)y++;”误写作“if(x=5)y++;”,将导致编译错误。()

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


    参考答案:错误

  • 第4题:

    已知下列语句中的x和y都是int型变量,其中错误的语句是______ .

    A.x=y++;

    B.x=++y;

    C.(x+ y)++;

    D.++x=y;


    正确答案:C
    解析:(x+y)++操作应该是,(x+y)=x+y,然后(x+y)++,这是不正确的操作,所以此题应该选择C。

  • 第5题:

    若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是______。

    A.*p

    B.x[5]

    C.*(p+1)

    D.*x


    正确答案:B
    解析:本题定义了一个有5个数组元素的—维数组x和指针变量p,且将x的首地址(即x[0])的地址)赋给了指针变量p,即p指向了x数组的第0号元素,所以*p的值为x[0]的值,选项A的引用正确;由于p+1就是x[1]的地址,所以*(p+1)所指向的数组元素为x[1],故选项C的引用正确;由于x就是数组x的首地址,所以*x即对x[0]的引用,所以选项D引用正确;由于数组最大下标是元素个数减一,所以选项B的引用越界。

  • 第6题:

    设变量X和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是( )。A.if(x++);SXB

    设变量X和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是( )。

    A.if(x++);

    B. if(x>y&&y!=0);

    C.if(x>y)x--else y++;

    D.if(y<0) {;} else x++;


    正确答案:C
    本题考查的是if语句。if是c语言关键字,表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。选项A)和B)是在表达式后跟了一条空语句,选项D)是在表达式后跟了一组空语句,选项C)中x一一是表达式而不是语句,所以在编译时会出现错误信息,在X一一后面加上”;”号就对了。

  • 第7题:

    下列各个错误中,哪一个不属于编译错误()

    A.改变x原值3为5,写作“x==5”

    B.花括号不配对

    C.复合语句中的最后一条语句后未加分号

    D.变量有引用、无定义


    参考答案:A

  • 第8题:

    设变量x和Y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。

    A)if(x );

    B)if(x>yy!=0);

    C)if(x>y)x--else y ;

    D)if(y<O){;}else x ;


    正确答案:C

  • 第9题:

    语句x=3==3,5执行结束后,变量x的值为()。


    正确答案:(True, 5)

  • 第10题:

    假设有说明int a=0;double x=5.16;,则在以下语句中,()属于编译错误。

    • A、x=a/x;
    • B、x=x/a;
    • C、a=a%x;
    • D、x=x?a;

    正确答案:C

  • 第11题:

    数组定义为“inta[4][5];”,下列哪一个引用是错误的()。

    • A、*a
    • B、*(*(a+2)+3)
    • C、&a[2][3]
    • D、++a

    正确答案:D

  • 第12题:

    单选题
    若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x数组元素的是(  )。
    A

    * p

    B

    x[5]

    C

    *(p+1)

    D

    *x


    正确答案: A
    解析:
    引用一维数组元素有多种方式。直接引用的表达式为:数组名[下标],数组大小为n时,下标的取值范围为0~(n-1),所以本题中x的下标为0~4,x[5]溢出,B项错误。此外还可以通过指针引用一维数组元素。指针p指向该数组,所以*p表示x[0],A项正确;指针p+1指向数组x的第二个元素的地址,*(p+1)表示引用x的第二个元素,C项正确;x为x数组元素的首地址,*x表示对x[0]的引用,D项正确。答案选择B选项。

  • 第13题:

    在下列叙述中,错误的一条是 ( )

    A.形式参数是局部变量

    B.不同函数中,可以使用相同名字的变量

    C.主函数main中定义的变量在整个文件或程序中有效

    D.在―个函数内部,可在复合语句中定义变量,这些变量只在本复合语句中有效


    正确答案:C

  • 第14题:

    下列语句中,错误的是(x,y,a,b假设已经定义好)

    A.while(x=y)5;

    B.do x++ while(x==10);

    C.while(0);

    D.do 2;while(a==b);


    正确答案:B

  • 第15题:

    要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是( )。A.intx[3]={0,0,0}; SXB

    要定义整型数组x,使之包括初值为0的3个元素,下列语句中错误的是( )。

    A.intx[3]={0,0,0};

    B.intx[]={0};

    C.staticintx[3]={0);

    D.intx[]={0,0,0};


    正确答案:D
    D。【解析】选项D中整型数组x的第一个元素是NULL,不是0,故选D。

  • 第16题:

    设变量x和y均已正确定义并赋值。下列if语句中,在编译时将产生错误信息的是

    A.ifx++);

    B.it(x>y&&y!=0);

    C.if(x>0)x--

    D.if(y<0){;} else y++; else x++;


    正确答案:C
    解析:选项A)和选项B)在条件判断语句的后面是空语句,什么都不做;在选项D)中,if后面是一个复合空语句;而在选项C)中,在X--后面少了一个分号,所以程序段在编译时,会出现语法错误。

  • 第17题:

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。 A.*pSX

    若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。

    A.*p

    B.x[5]

    C.*(p+1)

    D.*x


    正确答案:B
    B。【解析】选项B中x[5]数组下标越界,数组的下标是从0开始的。

  • 第18题:

    下列语句中,错误的是(x,y,a,b假设已经定义好)

    A.while(x=y)5;

    B.do x++while(x==10);

    C.while(0);

    D.d0 2;while(a==b);


    正确答案:B
    解析:do和while之间只能是一条可以执行的语句。分号是语句的一部分。d…while执行多条语句时,应用“{}”括起来,组成复合语句。

  • 第19题:

    下列关于复合语句和空语句的说法错误的是

    A.复合语句是由"{"开头,由"}"结尾的

    B.复合语句在语法上视为一条语句

    C.复合语句内,可以有执行语句,不可以有定义语句部分

    D.C程序中的所有语句都必须由一个分号作为结束


    正确答案:C
    空语句只有一个分号,什么也不做;复合语句可以有一些语句

  • 第20题:

    下列为变量赋值的语句中,错误的是()。

    ASET @X = 10

    BSELECT @X = 10

    CSET @X = 10 + 10

    DSET @X = 10 + ’A’


    D

  • 第21题:

    如果在一个函数中的复合语句中定义了一个变量,则该变量()。

    • A、只在该复合语句中有定义
    • B、在该函数中有定义
    • C、在本程序范围内有定义
    • D、为非法变量

    正确答案:A

  • 第22题:

    C语言允许在同一条语句中定义多个相同类型的变量,其间用分号进行分隔。


    正确答案:错误

  • 第23题:

    填空题
    语句x=3==3,5执行结束后,变量x的值为()。

    正确答案: (True, 5)
    解析: 暂无解析