计算机二级

有以下程序:includemain(){int c; while((c=getchar())!='\n') {switch(c-'2'){case 0有以下程序: #include<stdio.h> main() { int c; while((c=getchar())!='\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+

题目
有以下程序:includemain(){int c; while((c=getchar())!='\n') {switch(c-'2'){case 0

有以下程序: #include<stdio.h> main() { int c; while((c=getchar())!='\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break;}} printf("\n")} 从第一列开始输入以下数据<CR>代表一个回车符。 2743<CR> 程序的输出结果是

A.66877

B.668966

C.6677877

D.6688766

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序运行时从键盘上输入:420↙,写出程序的运行结果。 #include <stdio.h> int main() { char c; while ((c=getchar())!='n') switch(c-'0') { case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; } return 0; }


C 试题分析:该程序按条件分支执行。有无输入4,每组x>3,所以,按 -1计算,得到15,结束,故选C。 点评:简单题,该程序按条件分支执行。

第2题:

3、一直下列程序,若输入1234,运行结果是__________ main() { int c; while((c=getchar())!=‘n’) switch(c-’2’) { case 0: putchar(c+4); case 1: putchar(c+4);break; case 3: putchar(c+3); default: putchar(c+2);break; } printf(“n”); }


D

第3题:

有以下程序:includemain(){int c;while((c=getchar())!='\n')switch(c-'2'){case 1:pu

有以下程序: #include<stdio.h> main() { int c; while((c=getchar())!='\n') switch(c-'2') {case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+4); case 4:putchar(c+4);break; } printf("\n"); } 输入以下数据,<CR>代表一个回车符, 2743<CR> 程序的输出结果是( )。

A.877

B.966

C.778

D.766


正确答案:A
解析:本题通过一个while循环向键盘缓冲区读取字符,直到读到的字符是回车键结束循环。当读到的c为'2'时,c-'2'为0, switch语句中没有case 0:所以没有输出,继续读下一个;当c为'7'时,c-'2'=5,也没有输出;当c为'4'时,c-'2'=2,执行case 2:后面的语句输出一个字符c+4='4'+4='8';当c为'3'时,c-'2'=1,执行case 1:后面的语句,连续输出两次c+4='3'+4='7'。故程序输出结果是877,应该选择A。

第4题:

有以下程序: include main ( ) {int k=5,n =0; while ( k>0){switch (k) {default: b

有以下程序: #include <stdio, h>main ( ) { int k=5,n =0; while ( k>0) { switch (k) { default: break; case 1 : n+ =k; case 2 : case3 : n+ =k; } k--; printf( "% d \n" ,n);}程序运行后的输出结果是( )。

A.0

B.4

C.6

D.7


正确答案:D
解析:在程序中,当L的值为5和4时,case都没有与其匹配的值,所以执行default语句;当k=3时,执行n+=k;得n=3;当L=2时,执行case2:然后顺序执行case3:n+=k;得n=5;当k=1时,执行case1:n+=k;得n=6,然后顺序执行case2:和case3:n+=k;使得n=7。

第5题:

有以下程序:includemain(){int c;while((c=getchar())!='\n'){switch(c-'3'){case 0:c

有以下程序: #include<stdio.h> main() {int c; while((c=getchar())!='\n') {switch(c-'3') {case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; }} printf("\n");} 从第一列开始输入数据(<CR>代表…个回车符):3845<CR>,则狴序输出结果为( )。

A.77889

B.77868

C.776810

D.7.78866e+007


正确答案:A

第6题:

有以下程序includemain(){int c;while((c=getchar())!='\n'){switch(c-'2'){case 0:ca

有以下程序 #include<stdio.h> main() { int c; while((c=getchar())!='\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break;}} printf("\n")} 从第一列开始输入以

A.66877

B.668966

C.6677877

D.6688766


正确答案:A
解析: 本题主要考查了字符输入输出函数getchar和putchar的使用。getchar函数用来从标准输入设备上读入一个字符,putchar(c)函数是将字符变量c中的字符输出到标准输出设备上,并且字符可以看作整数参与运算。

第7题:

有以下程序:includemain(){int c; while((c=getchar() )!='\n') {switch(c-'2'){ case

有以下程序: #include <stdio.h> main() { int c; while((c=getchar() )! ='\n') { switch(c-'2') { case 0: case 1: putchar(c+4); case 2:putehar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; } } } 运行程序,从第一列开始输入以下数据: 2473<回车>则程序的输出结果是( )。

A.668977

B.668966

C.66778777

D.6688766


正确答案:A
解析:本题考查switch语句。while中的表达式判断用getchar函数从键盘接收的字符是否是回车符,若不是,则执行switch多分支选择语句,根据表达式c-'2'的值进行分支选择;函数putchar是在屏幕上输出一个字符,最后的结果应当为668977。

第8题:

有如下程序includemain(){int v1=0,v2=0; char ch; while((ch=getchar())!='') switc

有如下程序 #include<stdio.h> main() { int v1=0,v2=0; char ch; while((ch=getchar())!='#') switch(ch) { case 'a'; casff 'h'; default:v1++; case '0';v2++; } printf("%d,%d\n",v1,v2); } 如果从键盘上输入china#<回车>,则程序运行结果为 ( )

A.2,0

B.5,0

C.5,5

D.2,5


正确答案:C

第9题:

有以下程序includemain(){int k=5,n=0;while(k>0){switch(k){defhult:break;case 1:n+

有以下程序 #include<stdio.h> main() {int k=5,n=0; while(k>0) {switch(k) {defhult:break; case 1:n+=k: case 2: case 3:n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )

A.0

B.4

C.6

D.7


正确答案:D
解析:因为没有break语句,当k=2的时候,会顺序执行两条语句,k=1的时候,会顺序执行3条语句。