有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\0127";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A.程序中只有a='\';语句不正确B.b='\xbc';语句不正确C.d="\0127";语句不正确D.a='\';和 c='\0xab';语句都不正确

题目

有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\0127";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是

A.程序中只有a='\';语句不正确

B.b='\xbc';语句不正确

C.d="\0127";语句不正确

D.a='\';和 c='\0xab';语句都不正确


相似考题
更多“有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\0127";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A.程序中只有a='\';语句不正确B.b='\xbc';语句不正确C.d="\0127";语句不正确D.a='\';和 c='\0xab';语句都不正确”相关问题
  • 第1题:

    有以下程序

    main( )

    { char a,b,c,*d;

    a='\';b='\xbc';

    c='\0xab';d="\0127";

    cout<<a<<b<<c<<*d<<endl;

    }

    编译时出现错误,以下叙述中正确的是

    A.程序中只有a='\';语句不正确

    B.b='\xbc';语句不正确

    C.d="\0127";语句不正确

    D.a='\';和c='\0xab';语句都不正确


    正确答案:D
    解析:本题考察C++中各种类型在输出时的转化关系。斜杠为转义控制字符,其后必须紧跟一个字符,故首先可以确定的是a的赋值语句是错误的,根据选项我们直接看c的赋值语句是否正确。斜杠后跟0表示其后为八进制,其值从0到7,因此C的赋值语句也是错误的。据此可以判断本题的正确答案应该为D。

  • 第2题:

    下列叙述中,不正确的叙述是( )。

    A、注释语句是非执行语句,仅对程序的有关内容起注释作用,客观存在不被解释和编译

    B、注释语句能放在整个代码程序的最后

    C、注释语句可以放在代码中的任何位置

    D、代码中加入注释语句的目的是提高程序的可读性


    参考答案:C

  • 第3题:

    以下叙述不正确的是()。

    A.在C程序中,注释说明只能位于一条语句的后面

    B.一个C源程序必须包含一个main函数

    C.一个C源程序可有一个或多个函数组成

    D.C程序的基本组成单位是语句


    正确答案:A

  • 第4题:

    有以下程序 main() { char a,b,C,*d; a='\'; b=\\xbc'; c='\0xab'; d="\0127"; princf("%c%c%c%c\n",a,b,c,*D) ; } 编译时出现错误,以下叙述中正确的是

    A.程序中只有a='\';语句不正确

    B.b='\xbc';语句不正确

    C.d="\0127":语句不正确

    D.a='\';和c='\0xab';语句都不正确


    正确答案:D
    解析:给字符变量赋值只能赋一个字符,包括转义字符,语句“a='\'”是错误的,因为“\”是转义字符,应该用“\\”来表示,语句“B='\xbc';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量,故选项B不为所选;语句“c=\0xab;”是正确的,反斜线后的十六进制只可由小写x开头,不能用Ox。语句“d="\0127";”是正确的,可以给字符型指针变量赋一个字符串,其作用是让该指针变量指向该字符串,故选项C不正确。所以,D选项为所选。

  • 第5题:

    有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。

    A.(*f1)(a);

    B.*f1(*s);

    C.fun(&a);

    D.ch=*f1(s);


    正确答案:A
    解析:(*f1)()=fun可以理解为将fun函数的函数名称用(*f1)()来代替了,因此高调用fun时就可以用(*f1)()来代替,因此只有A是正确的。

  • 第6题:

    以下说法中,正确的是______。

    A.#define和printf都是C语句

    B.#define是C语句,而printf不是

    C.printf是C语句,但#define不是

    D.#define和printf都不是C语句


    正确答案:C

  • 第7题:

    下列叙述不正确的是

    A.注释语句是非执行语句,仅对程序的有关内容起注释作用,它不被解释和编译

    B.注释语句可以放在代码中的任何位置

    C.注释语句不能放在续行符的后面

    D.代码中加入注释语句的目的是提高程序的可读性


    正确答案:B
    解析:本题主要是对注释语句的考查,选项A、C、D的叙述都正确。选项B,注释语句可以放在代码中的任何位置的说法是不正确的。

  • 第8题:

    现有如下程序段,此程序段编译有错误,则程序段的错误出在includemain(){int a=30,b=40,

    现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include<stdio.h> main() { int a=30,b=40,c=50,d; d=a>30? b:c; swish(d) { case a: Printf("%d,",a); case b: printf("%d,",b); case c: printf("%d,",c); default printf("#");}}

    A.default:printf("#");这个语句

    B.d=a>30? b:c;这个语句

    C.case a:printf("%d,",a);case b:printf("%d,",b);case c:printf("%d,",c);这三个语句

    D.switch(d)这个语句


    正确答案:C
    解析:case也是关键字,与其后面的常量表达式合称case语句标号,常量表达式的类型必须与switch后的表达式类型相同。这个程序段主要考查的是case后是常量表达式。

  • 第9题:

    有以下程序段

    #include

    main()

    { …

    while( getchar()!='\n');

    }

    以下叙述中正确的是

    A.此while语句将无限循环

    B.getchar()不可以出现在while语句的条件表达式中

    C.当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C

  • 第10题:

    以下对于try…catch语句描述正确的是()

    A.try…catch语句处理程序中的错误

    B.try...catch语句处理程序中的bug

    C.try...catch语句处理程序中的异常

    D.以上说法都不正确


    答案:C
    解析:try...catch语句处理程序中的异常

  • 第11题:

    编译过程中,词法分析不能( )。 ①去除源程序中的注释 ②识别记号(单词、符号) ③识别结构不正确的语句 ④识别含义不正确的语句

    A.①②
    B.①③
    C.③④
    D.②④

    答案:C
    解析:
    ③④属于语义分析。

  • 第12题:

    单选题
    有以下程序: #include main() {  …  while(getchar()!='');  … } 以下叙述中正确的是(  )。
    A

    此while语句将无限循环

    B

    getchar()不可以出现在while语句的条件表达式中

    C

    当执行此while语句时,只有按回车键程序才能继续执行

    D

    当执行此while语句时,按任意键程序就能继续执行


    正确答案: A
    解析:
    本题中while循环条件为getchar()!='',表示只要不输入回车键,getchar()!=''语句一直为真,则while循环会出现空循环,当按下回车键才跳出while循环执行下一条语句。答案选择C选项。

  • 第13题:

    改正下列程序中不正确的语句。 main( ) { int a; scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }


    正确答案:
    printf("%d,",&a); if (a==1)

  • 第14题:

    有以下程序段 #include<stdio.h> main( ) { . . .

    while(getchar( )!=\n); . . . } 以下叙述中正确的是( )。

    A.此while语句将无限循环

    B.getchar( )不可以出现在while语句的条件表达式中

    C.当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C
    主要是考查while和getchar函数,getchar函数是输入字符函数,while是循环语句,所以当输入的字符为换行符时将执行。

  • 第15题:

    以下叙述正确的是( )。

    A.在C语言程序中,main函数必须位于程序的最前面

    B.C语言程序的每行中只能写一条语句

    C.C语言本身没有输入输出语句

    D.在对一个C语言程序进行编译的过程,可发现注释中的拼写错误


    正确答案:C
    解析:选项A)中,main函数可以放在程序的任何位置,不一定要放在程序的最前面,不论main函数放在什么位置,程序的执行却总是从main函数开始的;选项B)中,因为C语言的语法限制不严格,所以可以多条语句放在同一行上;选项C)是正确的,C语言中没有专门的输入输出语句,输入输出是通过使用输入输出库函数来实现的;选项D)是错误的,因为C语言中的注释是不会被编译的。注意:掌握算法的相关特性。

  • 第16题:

    程序中若有如下说明和定义语句

    Char fun(char *);

    main()

    {

    char *s="one", a[5]={0}.(*f1)()=fun, ch;

    }

    以下选项中对函数fun的正确调用语句是

    A.(*f1)(A) ;

    B.*fl(*s);

    C.fun(&A) ;

    D.ch=*fl(s);


    正确答案:A
    解析:在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址.其定义形式为:函数类型(*函数指针名)(函数参数列表);其中,函数参数列表可以省略。通过函数指针调用函数的形式为:(*函数指针)(函数参数列表)调用时函数的参数列表是不能省略的。所以本题的正确答案为选项A。

  • 第17题:

    有如下程序:

    #include<iostream>

    using namespace std;

    class Music{

    public:

    void setTitle(char*str){strcpy(title,str);}

    protected:

    char type[10];

    private:

    char title[20];

    };

    class Jazz:public Music{

    public:

    void set(char*str){

    strcpy(type,”Jazz”); //①

    strcpy(title,str); //②

    }

    };

    下列叙述中正确的是

    A.程序编译正确

    B.程序编译时语句①出错

    C.程序编译时语句②出错

    D.程序编译时语句①和②都出错


    正确答案:C
    解析:数据成员title在基类中声明为私有成员,派生类不能访问基类中的私有成员,故语句②在编译时出错。本题选C。

  • 第18题:

    以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf(“%f”,&score);sum+=score;} ave=sum/4.0; printf(“NO%d:%f\n”,n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是

    A.sum=0.0;

    B.sum+=score;

    C.ave=sum/4.0;

    D.printf(“NO%d:%f\n”,n,ave);


    正确答案:A
    解析:本程序中用了两层for循环,外层循环是控制人数,循环一次是求一个人的成绩和,然后除以4得到平均成绩。每个人的成绩总和一开始时都必须清0,否则就会出现后面人的总成绩越来越大。“sum=0.0”;应在外层循环中。

  • 第19题:

    有以下程序段

    #include<stdio.h>

    main()

    {

    while(getchar()!=‘\n’);

    }

    以下叙述中正确的是

    A.此while语句将无限循环

    B.getchar()不可以出现在while语句的条件表达式中

    C. 当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C

  • 第20题:

    阅读以下程序: #include<stdio.h> main( ) {int case;float printF; printf("请输人2个数:"); scanf("%d%fl"&case,&printF); printf("%d ofof\n",case,printF); } 该程序在编译时产生错误,其出错原因是( )。

    A.定义语句出错,case是关键字,不能用做用户自定义标识符

    B.定义语句出错,printF不能用做用户自定义标识符

    C.定义语句无错,scanf不能作为输入函数使用

    D.定义语句无错,printf不能输出case的值


    正确答案:A
    本题中定义了整形变量case,但case是关键字,关键字不能用做标识符。单精度printF不是关键字,因为标识符区分大小写。所以A不正确。

  • 第21题:

    有以下程序: main() { char a,b,c,*d; a='\';b='\xbc'; c='\0xab';d="\017"; printf("%c%c%c\n",a,b,c,*d); } 编译时出现错误,以下叙述中正确的是( )。

    A.程序中只有“a='\';”语句不正确

    B.“b='\xbc';”语句不正确

    C.“d="\0127";”语句不正确

    D.“a='\';”和“c='\0xab';”语句都不正确


    正确答案:D
    解析:语句a='\'是错误的,因为\是转义字符,应该用\\来表示,语句“B='\xbc';”是正确的,它是将一个用十六进制表示的转义字符赋给一个字符型变量;语句“c=\0xab;”是错误的,反斜线后的十六进制只可由小写x开头,不能用0x。语句“d="\0127";”是正确的,可以给字符型指针变量赋一个字符串常量,其作用是让该指针变量指向该字符串常量。所以,D选项为所选。

  • 第22题:

    (26)有以下程序段

    #include <stdio.h>

    main()

    { …

    while( getchar()!='\n');

    }

    以下叙述中正确的是

    A)此while语句将无限循环

    B) getchar()不可以出现在while语句的条件表达式中

    C)当执行此while语句时,只有按回车键程序才能继续执行

    D)当执行此while语句时,按任意键程序就能继续执行


    正确答案:C

  • 第23题:

    以下关于跳转语句的叙述中不正确的是()。

    • A、continue语句的作用是:使程序的执行流跳出包含它的所有循环
    • B、break语句只能用在循环体内和switch语句体内
    • C、在循环体内使用break语句和continue语句的作用相同
    • D、break语句只能用在switch语句体内

    正确答案:A,C,D