大学MOOC 程序设计基础(张聿博通信191)(沈阳工程学院)1450902167 最新慕课完整章节测试答案
第3周基本语句与顺序结构
本周测试
1、单选题:
系统的标准输出文件stdout是指( )
选项:
A: 键盘
B: 显示器
C: 软盘
D: 硬盘
答案: 【 显示器】
2、单选题:
c语言中标准输入文件stdin是指( )
选项:
A: 键盘
B: 显示器
C: 鼠标
D: 硬盘
答案: 【 键盘】
3、单选题:
下列描述中,正确的是( )
选项:
A: 所有的输入/输出都是通过调用库函数处理的
B: 所有的输入/输出都是通过输入/输出语句实现的
C: getchar和putchar可以省略#include
D: 在输入/输出格式中的*表示跳过数据的含义
答案: 【 所有的输入/输出都是通过调用库函数处理的】
4、单选题:
(2001.09全国二级C题)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
选项:
A: INPUT x、y、z;
B: scanf(“%d%d%d”,&x,&y,&z);
C: scanf(“%d%d%d”,x,y,z);
D: read(“%d%d%d”,&x,&y,&z);
答案: 【 scanf(“%d%d%d”,&x,&y,&z);】
5、单选题:
(2005.09全国二级C题)以下叙述中正确的是()。
选项:
A: 调用printf函数时,必须要有输出项
B: 使用putchar函数时,必须在之前包含头文件stdio.h
C: 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D: 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
答案: 【 使用putchar函数时,必须在之前包含头文件stdio.h】
6、单选题:
有以下程序void main(){int a=6,b=7;printf("a=%%d,b=%%d",a,b);}输出结果是( )。
选项:
A: a=b,y=3
B: a=%6,b=%d
C: a=%6,b=%7
D: a=%%6,b=%%d
答案: 【 a=%6,b=%7】
7、单选题:
(2010.03全国二级C题)有以下程序: void main() { char a,b,c,d; scanf(“%c%c”,&a,&b); c=getchar(); d=getchar(); printf(“%c%c%c%cn”,a,b,c,d); } 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12 34 则输出结果是()。
选项:
A: 1234
B: 12
C: 12 3
D: 1234
答案: 【 12 3】
8、单选题:
(2012.09全国二级C题)若有定义和语句:int a,b;scanf(“%d,%d”,&a,&b);以下选项中,不能将值3赋给变量a,值5赋给变量b的是()。
选项:
A: 3,5,
B: 3,5,4
C: 3 5
D: 3,5
答案: 【 3 5】
9、单选题:
阅读程序,指出输出结果是( )。 void main(){char c1,c2,c3;c1='a';c2='z';c3=c2-c1;printf("%c,%c,%d ",c1,c2,c3);}
选项:
A: a ,z ,25
B: A,Z,25
C: a,z,
D: 97,122,25
答案: 【 a ,z ,25】
10、单选题:
若运行以下程序时,从键盘输入25,15,10<回车>,则输出结果为( )。 void main() { int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%dn",a1+a2+a3) ;}
选项:
A: a1+a2+a3=50
B: a+a2+a3=25
C: a1+a2+a3=10
D: 不确定值
答案: 【 不确定值】
11、单选题:
以下程序段 :int a=1234;printf("%2dn",a);输出结果是( )
选项:
A: 12
B: 23
C: 1234
D: 提示出错,无结果
答案: 【 1234】
12、单选题:
(2011.09全国二级C题)以下不能输出字符A的语句是()。(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
选项:
A: printf("%cn",'a'-32);
B: printf("%dn",'A');
C: printf("%cn",65);
D: printf("%cn",'B'-1);
答案: 【 printf("%dn",'A');】
13、单选题:
下面语句中,正确的是( )。
选项:
A: printf("%cn","student");
B: printf("%cn","c");
C: printf("%sn",&a);
D: printf("%sn","hello");
答案: 【 printf("%sn","hello");】
14、单选题:
有如下语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确格式是( )。
选项:
A: 132
B: 1,3,2
C: a=1,b=3,c=2
D: a=1 b=3 c=2
答案: 【 a=1,b=3,c=2 】
第5周迭代计算与循环结构
本周测试
1、单选题:
对于循环语句while(1); 正确的是( )。
选项:
A: 死循环
B: 循环一次
C: 不执行循环体
D: 编译有错
答案: 【 死循环 】
2、单选题:
下面程序的运行结果是( )void main(){ int c1=2, c2=0; while(!c2--) printf("%d, %d", c1--, c2);}
选项:
A: 陷入死循环
B: 不输出任何内容
C: 输出2, -1
D: 输出2, 0
答案: 【 输出2, -1 】
3、单选题:
若有语句while((ch=getchar())=='e') printf("*");当输入字符串abcde<回车>时,while循环体执行()次。
选项:
A: 1次
B: 死循环
C: 0次
D: 5次
答案: 【 0次】
4、单选题:
已知int t=0; while(t=1) {...} 则以下叙述正确的是()
选项:
A: 循环控制表达式的值为0
B: 循环控制表达式的值为1
C: 循环控制表达式不合法
D: 以上说法都不对
答案: 【 循环控制表达式的值为1】
5、单选题:
以下程序段执行后的输出结果( )。int i; for(i=1; ; i++) printf(“%d”,i++);
选项:
A: 1
B: 2
C: 3
D: 死循环
答案: 【 死循环】
6、单选题:
设已声明int型变量i和k,则下面for循环语句()。 for(i=0;k= -1,k=1; i++,k++) printf(“****n”);
选项:
A: 判断循环结束的条件不合法
B: 是无限循环
C: 循环依次也不执行
D: 循环只执行一次
答案: 【 是无限循环】
7、单选题:
以下程序中,for循环体执行的次数是()。#define N 2#define M 1+ N#define K M+1*M/2void main(){ int i; for( i= 1;i < K; i++) { …….. } …….}
选项:
A: 4
B: 5
C: 3
D: 6
答案: 【 4】
8、单选题:
与语句while(!x)等价的语句是( )。
选项:
A: while(x==0)
B: while(x!=0)
C: while(x!=1)
D: while(~x)
答案: 【 while(x==0) 】
9、单选题:
以下关于循环的描述中,错误的是( )。
选项:
A: 可以用for语句实现的循环一定可以用while语句实现
B: 可以用while语句实现的循环一定可以用for语句实现
C: 可以用do…while语句实现的循环一定可以用while语句实现
D: do…while语句与while语句的区别仅仅是关键字while的位置不同
答案: 【 do…while语句与while语句的区别仅仅是关键字while的位置不同】
10、单选题:
在下列选项中,没有构成死循环的程序段是____
选项:
A: int i=100;while (1){ i=i%100+1; if (i>100) break;}
B: for( ; ; );
C: int s=26; while (s) --s;
D: int k=1000;do {++k;} while (k>=1000);
答案: 【 int s=26; while (s) --s; 】
11、单选题:
下面程序执行后的输出结果是()。void main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf("n=%dn",n); }
选项:
A: n=5
B: n=2
C: n=3
D: n=4
答案: 【 n=4】
12、单选题:
以下正确的描述是()
选项:
A: continue语句的作用是结束整个循环的执行
B: 只能在循环体内和switch语句体内使用break语句
C: 在循环体内使用break语句或continue语句的作用相同
D: 从多层循环嵌套中退出时, 只能使用goto语句
答案: 【 只能在循环体内和switch语句体内使用break语句】
13、单选题:
(201203二级C)下面程序运行后的输出结果是()。 #include <stdio.h> void main() { int s = 0, n; for(n = 0; n < 3; n++) { switch(s) { case 0: case 1:s += 1; case 2:s += 2; break; case 3:s += 3; default: s += 4; } printf("%d", s); } }
选项:
A: 1,2,4
B: 1,3,6
C: 3,10,14
D: 3,6,10
答案: 【 3,10,14】
14、单选题:
void 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:%fn",n,ave); }}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。
选项:
A: sum=0.0;
B: sum+=score;
C: ave=sum/4.0;
D: printf("NO%d:%fn",n,ave);
答案: 【 sum=0.0;】
15、单选题:
分析程序执行过程,x的值为( )。 void main() { int x,y; for(x=1,y=1;x<=50;x++) { if(y>=15) break; if(y%5==1) { y+=5; continue; } y-=2; } printf("%dn",x); }
选项:
A: 3
B: 6
C: 4
D: 5
答案: 【 4】
第6周集合数据及其处理
本周测试
1、单选题:
以下不正确的语句是________。
选项:
A: double x[5]={2.0,4,0,6,0,8.0,10.0};
B: char c1[]={'1','2','3','4','5'};
C: char c2[]={'x10','xa','x8'};
D: int y[5]={0,1,3,5,7,9};
答案: 【
