设有一段C语言程序while(i++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()A、19B、20C、21D、23

题目

设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()

  • A、19
  • B、20
  • C、21
  • D、23
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

词法分析程序的功能是读入源程序,输出单词符号。()

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


参考答案:√

第2题:

有以下程序 main() { int p[8]={11,12,13,14,15,16,17,18}, i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; prizltf("%d\n", j); } 程序运行后的输出结果是

A.42

B.45

C.56

D.60


正确答案:B
解析:本题考查的是while语句和if语句的综合应用。程序中while的循环条件是1++7,由于程序开始时将i初始化为0,而且循环体中没有改变变量i的语句,只有循环条件中i的自增,所以当i从0自增到6时循环的循环体一共被执行了7次,但是在循环体中,i的值为从1到7。在循环体中只有一条if语句,其条件表达式为p[i]%2,当p[i]为奇数时,p[i]除以2余1,条件表达式的值为“真”,所以整个循环语句所做的事就是:累计p[1]到p[7]之间的奇数到变量j中。所以最后j的值应该为13+15+17=45.选项B符合题意。

第3题:

以下程序运行后的输出结果是【】。main()int p[7]={11,13,14,15,16,17,18};int i=0,j=0;while(i<7&&p[i]%2! =1) j+=p[i++];printf("%d\n",j);}


正确答案:×
因为i=0,i<7,但是p[i]=11,p[11]%2=1,所以不满足循环条件,退出循环。

第4题:

有以下程序 main() { int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2)j j+=p[i]; printf("%d\n",j); } 程序运行后的输出结果是______。

A.42

B.45

C.56

D.60


正确答案:B

第5题:

当执行以下程序后,i的值是5,j的值是4,k的值是【 】。

int a, b, c, d, i, j, k;

a=10; b=c=d=5; i=j=k=0;

for(;a>b; ++b) i++;

while(a>++c) j++;

do {

k++;

}while(a>d++);


正确答案:6
6

第6题:

关于编译程序进行词法分析的说法中,不正确的是______。

A.词法分析主要是扫描源程序并识别记号,指出出错行号

B.词法分析阶段过滤掉了源程序中的注释

C.词法分析阶段单词间的空白被过滤掉了

D.词法分析阶段对制表或回车换行字符不作处理


正确答案:D
解析:在词法分析阶段,其任务是从左到右逐个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。这里所谓的单词,是指逻辑上紧密相连的一组字符,这些字符组合在一起才表示某一含义。比如标识符是由字母开头,后跟字母或数字组成的一种单词。保留字(关键字或基本字)也是一种单词,此外还有算符等。在词法分析阶段,空白(由单词间的空格、制表或回车换行字符引起的空白)和注释都被滤掉了。在识别保留字时,词法分析程序将每个标识符对照一张保留字表进行查询,若查着则为保留字,反之则认为是用户定义的标识符。可见,词法分析阶段是查不出拼错的保留字的。在词法分析阶段,如果不符合词法规则,比如标识符不是以字母开头,就会进行错误处理,指出出错行号。从上述分析可知,D错误。

第7题:

以下选项中循环结构合法的是()。

A.while(inti<7)(i++;system.out.println("iis"+i);}

B.intj=3;while(j){system.out.println("jis"+j);}

C.intj=0;for(intk=0;j+k!=10;j++,k++){system.out.println("jis"+j+"kis"+k);}

D.intj=0;do{system.out.println("jis"+j++);if(j==3){continueloop;}}while(j<10);


正确答案:C

第8题:

● 关于编译程序进行词法分析的说法中,不正确的是()。()A. 词法分析主要是描述源程序并识别基号,并指出出错行号B. 词法分析阶段就过滤掉了源程序中的注释C. 词法分析阶段,单词间的空白被过滤掉了D. 词法分析阶段对制表或回车换行字符不作处理


正确答案:D
    在词法分析阶段,其任务是从左到右逐个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。这里所谓的单词是指逻辑上紧密相连的一组字符,这些字符组合在一起才表示某一含义。比如标示符是由字母开头,后跟字母或数字组成的一种单词。保留字(关键字或基本字)也是一种单词,此外还有算符等。在词法分析阶段,空白(由单词间的空格,制表或回车换行字符引起的空白)和注释都被滤掉了。在识别保留字时,词法分析程序将每个标识符对照一张保留字表进行查询,若查到则为保留字,反之则认为是用户定义的标识符。可见,词法分析阶段是查不出拼错的保留字的。
    在词法分析阶段,如果不符合词法规则,比如标识符不是以字母开头,就会进行错误处理,指出出错行号。

第9题:

有以下程序: main() { intp[8]={11,12,13,14,15,16,17,18},i=0,i=0; while(i++<7)if(p[i]%2)j+=p[i]; printf(”%dn",j); } 程序运行后的输出结果是______。

A.42

B.45

C.56

D.60


正确答案:B
解析: 由循环语句“while(i++7)if(p[i]%2)j+=P[i];”可知,当“p[i]%2”为真,也就是非0时,累加p[i]d到j上。而“p[i]%2”非0,也就是P[i]为奇数,因此循环是累加数组P[i]={11,12,13,14,15.16,17,18}中,除11外的奇数到j上,输出结果应该是:13+15+17=45。

第10题:

发电机能够连续运行的定子最高电压为()kV

  • A、19
  • B、20
  • C、21
  • D、22

正确答案:C