MOOC 程序设计基础(那俊)(东北大学)1464810166 最新慕课完整章节测试答案
第1周 程序设计入门
文章目录
本周测试
1、单选题:
面向过程的高级语言包括( )
选项:
A: C,JAVA
B: C,BASIC
C: C++.NET,ASP
D: C,VB
答案: 【 C,BASIC】
2、单选题:
程序设计语言包括( )
选项:
A: 高级语言
B: 机器语言、汇编语言、高级语言
C: 机器语言
D: 汇编语言
答案: 【 机器语言、汇编语言、高级语言】
3、单选题:
用C语言编写的代码程序( )
选项:
A: 可立即执行
B: 是一个源程序
C: 经过编译即可执行
D: 经过解释才能执行
答案: 【 是一个源程序】
4、单选题:
以下叙述中正确的是( )
选项:
A: 用C程序实现的算法必须要有输入和输出操作
B: 用C程序实现的算法可以没有输出但必须要有输入
C: 用C程序实现的算法可以没有输入但必须要有输出
D: 用C程序实现的算法可以既没有输入也没有输出
答案: 【 用C程序实现的算法可以没有输入但必须要有输出】
5、单选题:
程序设计的基本步骤主要包括( )。
选项:
A: 确定数据结构,算法描述、编写程序以及程序测试
B: 确定程序设计方法,描述数据方式、编写程序以及程序调试
C: 确定程序实现算法、编写程序以及程序测试
D: 数据描述,算法描述、编写程序
答案: 【 确定数据结构,算法描述、编写程序以及程序测试】
6、单选题:
一个C语言程序总是从( )。
选项:
A: 主过程开始执行
B: 主函数开始执行
C: 子程序开始执行
D: 主程序开始执行
答案: 【 主函数开始执行】
7、单选题:
C语言规定:在一个源程序中,main函数的位置( )
选项:
A: 必须在最开始
B: 必须在系统调用的库函数的后面
C: 必须在最后
D: 可以任意位置
答案: 【 可以任意位置】
8、单选题:
(2012.03全国二级C题)以下叙述中错误的是( )
选项:
A: 一个C程序中可以包含多个不同名的函数
B: 一个C程序只能有一个主函数
C: C程序在书写时,有严格的缩进要求,否则不能编译通过
D: C程序的主函数必须用main作为函数名
答案: 【 C程序在书写时,有严格的缩进要求,否则不能编译通过】
9、单选题:
(2007.04全国二级C题)下列叙述中错误的是( )
选项:
A: 计算机不能直接执行用C语言编写的源程序
B: C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C: 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D: 后缀为.obj和.exe的二进制文件都可以直接运行
答案: 【 后缀为.obj和.exe的二进制文件都可以直接运行】
10、单选题:
C语言中如何实现注释
选项:
A: 通过 /* */ 界定的内容为注释内容。例如 /* 测试 */
B: 一行中\开始的剩余部分为注释内容。例如 int a=10;\测试
C: 一行中#开始的剩余部分为注释内容。例如 int a=10;#测试
D: 一行中@开始的剩余部分为注释内容。例如 int a=10;@测试
答案: 【 通过 /* */ 界定的内容为注释内容。例如 /* 测试 */】
11、单选题:
C语言中主函数的名称是
选项:
A: main
B: MAIN
C: Main
D: WinMain
答案: 【 main】
12、单选题:
如下属于C基本语句的是?
选项:
A: #include <stdio.h>
B: x=sin(100)
C: x=1+2
D: 1+2;
答案: 【 1+2;】
13、单选题:
C语言中界定函数开始与结束的符号是
选项:
A: { }
B: [ ]
C: ( )
D: < >
答案: 【 { }】
14、单选题:
关于C语言基本语句说法正确的是?
选项:
A: 基本语句必须在一行中
B: 基本语句必须以分号;作为结束标志
C: 基本语句以回车符作为结束标志
D: #include <stdio.h>属于基本语句
答案: 【 基本语句必须以分号;作为结束标志】
15、单选题:
实现向显示器输出信息的函数是
选项:
A: scanf
B: printfun
C: print
D: printf
答案: 【 printf】
第2周 信息编码与基本运算
本周测试
1、单选题:
(2007.04全国二级C题)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()
选项:
A: 大写字母
B: 减号
C: 数字字符
D: 下划线
答案: 【 减号】
2、单选题:
不合法的c语言标识符是( )
选项:
A: _abc
B: MD
C: Int
D: x.c
答案: 【 x.c】
3、单选题:
()是c语言提供的合法的数据类型关键字
选项:
A: Int
B: long
C: Char
D: integer
答案: 【 long】
4、单选题:
以下选项中不属于C语言的类型的是( )
选项:
A: signed short int
B: unsigned long int
C: unsigned int
D: long short
答案: 【 long short】
5、单选题:
(2011.09全国二级C题)以下选项中关于C语言常量的叙述错误的是()。
选项:
A: 所谓常量,是指在程序运行过程中,其值不能被改变的量
B: 常量分为整型常量、实型常量、字符常量和字符串常量
C: 常量可分为数值型常量和非数值型常量
D: 经常被使用的变量可以定义成常量
答案: 【 经常被使用的变量可以定义成常量】
6、单选题:
不正确的变量说明是( )
选项:
A: unsigned int ui
B: short int s
C: double int a
D: int I,j,k
答案: 【 double int a】
7、单选题:
(2012.03全国二级C题)关于C语言中数的表示,以下叙述中正确的是()
选项:
A: 只有整型数在允许范围内能精确无误的表示,实型数会有误差
B: 只要在允许范围内整型数和实型数都能精确的表示
C: 只有实型数在允许范围内能精确无误的表示,整型数会有误差
D: 只有用八进制表示的数才不会有误差
答案: 【 只有整型数在允许范围内能精确无误的表示,实型数会有误差】
8、单选题:
已知char a=’17’,变量a中( )
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 说明非法
答案: 【 包含1个字符】
9、单选题:
以下能正确声明整型变量x,y和z并为其赋初值5的语句是( )
选项:
A: int x=y=z=5;
B: int x,y,z=5;
C: int x=5,y=5,z=5;
D: x=y=z=5;
答案: 【 int x=5,y=5,z=5;】
10、单选题:
(2010.09全国二级C题)有定义:int a; long b; double x,y; 则以下选项中正确的表达式是( )
选项:
A: a%(int)(x-y)
B: a=x/10=y;
C: (a*y)%b
D: y=x+y=x
答案: 【 a%(int)(x-y)】
11、单选题:
设有定义:int x=2;,以下表达式中,值不为6的是
选项:
A: x*=x+1
B: x++,2*x
C: x*=(1+x)
D: 2*x, x+=2
答案: 【 2*x, x+=2】
12、单选题:
若有int n=6;表达式n%=n+=n-=n*n的值为( )
选项:
A: 10
B: 0
C: 12
D: 6
答案: 【 0】
13、单选题:
(2009.09全国二级C题)表达式(int)((double)9/2)-(9)%2的计算结果是( )
选项:
A: 0
B: 3
C: 4
D: 5
答案: 【 3】
14、单选题:
sizeof(float)是( )
选项:
A: 一个双精度型表达式
B: 一个整型表达式
C: 一个函数调用
D: 一个不合法的表达式
答案: 【 一个整型表达式】
15、单选题:
以下表达式不等价的一组是( )
选项:
A: a&=b与a=a&b
B: a|=b与a=a|b
C: a!=b与a=a!b
D: a^=b与a=a^b
答案: 【 a!=b与a=a!b】
16、单选题:
若有char ch='A;则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )
选项:
A: A
B: a
C: Z
D: z
答案: 【 a】
17、单选题:
判断char型变量c1是否为大写字母的正确表达式是( )
选项:
A: 'A'<=c1<='Z'
B: (c1>='A')&(c1<='Z')
C: (c1>='A')&&(c1<='Z')
D: ('A'<=c1)AND('Z'>=c1)
答案: 【 (c1>='A')&&(c1<='Z')】
18、单选题:
正确表达式数学不等式 10<x<100的C语言表达式是?(假设x已经声明)()
选项:
A: 10<x<100
B: 10>x>100
C: 10<x && x<100
D: 10<x and x<100
答案: 【 10<x && x<100】
19、单选题:
正确表达式数学不等式 |x|<100 其x不等于0的C语言表达式是?(假设x已经声明)()
选项:
A: -100<x && x<100 && x!=0
B: -100<x && x<100 && x<>0
C: -100<x<0 && 0<x<100
D: -100<x<0 || 0<x<100
答案: 【 -100<x && x<100 && x!=0】
20、单选题:
表达式 (x=100,y=200)+!(0<x<20)的值为?(假设x,y已经声明为int类型)
选项:
A: 100
B: 200
C: 101
D: 201
答案: 【 200】
21、单选题:
可以实现绝对值运算的|x|的表达式是?(假设x已经声明float类型)
选项:
A: (x<0?-x:x)
B: (x>0?-x:x)
C: (x<0&&x=-x)
D: (x>0||x=-x)
答案: 【 (x<0?-x:x)】
第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=%d,b=%d
C: a=%6,b=%7
D: a=%%6,b=%%d
答案: 【 a=%d,b=%d】
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 】
15、单选题:
数字字符0的ASCII值为48,若有以下程序main(){ char a='a',b='b'; printf("%c,",b++); printf("%dn",b-a);}程序运行后的输出结果是
选项:
A: 0,2
B: c,2
C: b,2
D: 2,50
答案: 【 b,2】
16、单选题:
有以下程序main(){ int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%dn",a,b);}程序运行后的输出结果是
选项:
A: 6,1
B: 2,1
C: 6,0
D: 2,0
答案: 【 2,1】
17、单选题:
若整型变量 int a=1,b=2,c=3,d=4;则条件表达式a<b?a:c<d?c:d的值
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 1】
18、单选题:
有以下程序main(){ int a,b,p; scanf("m=%dn=%dp=%d",&a,&b,&p); printf("%d%d%dn",a,b,p);}若想从键盘上输入数据,使变量a中的值为12,b中的值为56,p中的值为89,则正确的输入是
选项:
A: m=12n=56p=89
B: m=12 n=56 p=89
C: a=12b=56p=89
D: 12 56 89
答案: 【 m=12n=56p=89 】
19、单选题:
假设 float d=12.3456,则表达式printf("%10.2f",(int)d)的输出结果为
选项:
A: 12.34
B: 1.23
C: 1.20
D: 12.0
答案: 【 1.20】
20、单选题:
假设 unsigned u=0,从键盘正确读入一个整数给u的语句是
选项:
A: scanf("%d",u);
B: scanf("%u",&u);
C: scanf("%ud",u);
D: scanf("%ld",&u);
答案: 【 scanf("%u",&u);】
21、单选题:
如下程序段执行的结果为int a=100,b=0,c;c=(b=100)+ (b>0) a++;printf("c=%d",c);
选项:
A: 200
B: 201
C: 202
D: 203
答案: 【 201】
22、单选题:
如下程序段执行的结果为int a=100,b=200,c;c= a>b&&b+=100;c=b++;printf("c=%d",c);
选项:
A: 200
B: 201
C: 300
D: 301
答案: 【 200】
23、单选题:
如下程序段执行的结果为 int a=100,b=200,c; c=!a+(b>>2)%10; printf("c=%d",c);
选项:
A: 0
B: 10
C: 80
D: 101
答案: 【 0】
第4周 逻辑判断与选择结构
本周测试
1、单选题:
对下面的程序说法正确的是______。void main(){ int x=3,y=0,z=0; if(x=y+z) printf("****"); else printf("####");}
选项:
A: 输出为####
B: 有语法错误,不能通过编译
C: 输出为****
D: 通过编译,但是不能运行
答案: 【 输出为####】
2、单选题:
执行下面程序的结果为______。void main(){ int a=3,b=4,t=1; if(a>b) {t=a;a=b;b=t;} printf("%d",a);}
选项:
A: 3
B: 4
C: 1
D: 0
答案: 【 3】
3、单选题:
执行下面语句段后的输出结果为______。 int i=-1; if (i<=0) printf("****n"); i=2; else printf("%%%%n");
选项:
A: 有语法错误
B: ****
C: %%
D: %%%%c
答案: 【 有语法错误 】
4、单选题:
下述语句中,______中的if 语法有错误
选项:
A: if(x!=y) scanf(“%d”,x)else scanf(“%d”,y);
B: if(x==y);
C: if(x==y) x+y;
D: if(x==y) {x++;y++;}
答案: 【 if(x!=y) scanf(“%d”,x)else scanf(“%d”,y);】
5、单选题:
假设变量i为整型量,比较下面两条if语句,选出正确答案______。if(i!=0); if(i);
选项:
A: 两者作用等价
B: 两者作用不同
C: 两者作用相反
D: if(i)语法错
答案: 【 两者作用等价】
6、单选题:
下面程序执行后输出结果是______。 void main() { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%dn”,x); }
选项:
A: -4
B: 2
C: -6
D: -1
答案: 【 -4】
7、单选题:
阅读程序,分析输出结果是( )。#include <stdio.h>void main(){ int x=10,y=5; switch(x) { case 1:x++; default: x+=y;case 2:y--;case 3:x--;}printf("x=%d,y=%d",x,y);}
选项:
A: x=14,y=4
B: x=15,y=5
C: x=10,y=5
D: x=15,y=4
答案: 【 x=14,y=4】
8、单选题:
阅读程序,分析输出结果是( )。 #include <stdio.h>void main(){ int a=6,b=10,t; if((a=b)>0) t=a+b; printf("%dn",t);}
选项:
A: 20
B: 16
C: 12
D: 无输出
答案: 【 20】
9、单选题:
阅读程序,分析输出结果是( )。 #include <stdio.h>void main( ){ int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++; printf("%dn",c);}
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0】
10、单选题:
若执行下面的程序时从键盘输入10,则输出是( )。 void main( ){ int a; scanf("%d",&a); if(++a<10) printf("%dn",a++); else printf("%dn",++a); }
选项:
A: 12
B: 11
C: 10
D: 9
答案: 【 12】
11、单选题:
阅读程序,分析输出结果是( )。void main( ){ int x=0,a=1,b=1; switch(x) { case 0: a++; case 1: b++;break; case 2: a++;b++; } printf("a=%d,b=%dn",a,b);}
选项:
A: a=2,b=2
B: a=3,b=3
C: a=1,b=1
D: 没有正确结果
答案: 【 a=2,b=2】
12、单选题:
下列条件语句中,功能与其他语句不同的是( )
选项:
A: if(a==0) printf("%dn",x); else printf("%dn",y);
B: if(a) printf("%dn",x); else printf("%dn",y);
C: if(a==0) printf("%dn",y); else printf("%dn",x);
D: if (a!=0) printf("%dn",x); else printf("%dn",y);
答案: 【 if(a==0) printf("%dn",x); else printf("%dn",y); 】
13、单选题:
(201203二级c)若下面程序运行时从键盘输入9<回车>,则输出结果是()。#include <stdio.h>void main(){ int a; scanf(“%d”, &a); if(a++ < 9) printf(“%dn”, a); else printf(“%dn”, a--);}
选项:
A: 10
B: 11
C: 9
D: 8
答案: 【 10】
14、单选题:
有以下程序#include <stdio.h>main(){int y=9;if(y>0,y--) if(y%3==0) printf("%d",--y);printf("%d",y);}程序的运行结果是
选项:
A: 8
B: 88
C: 99
D: 9
答案: 【 8】
15、单选题:
有以下程序#include <stdio.h>main(){int y=9;switch(y++){ case 9:y/=2; case 8:--y;}printf("%d",y);}程序的运行结果是