大学MOOC 程序设计基础-实例与案例分析(西北大学)1001609005 最新慕课完整章节测试答案
第1章编程环境安装及初级调试
14-01随堂测验
1、填空题:
在VC++ 6.0上一个源文件编译运行的步骤是
答案: 【 先工程-后文件-编译-连接-运行】
2、填空题:
VC++6.0 编译运行完一个源文件后会形成几个文件
答案: 【 2个 exe 和 obj 文件】
3、填空题:
什么是预编译
答案: 【 预编译又称为预处理,是做些代码文本的替换工作。是整个编译过程的最先做的工作。】
14-02随堂测验
1、填空题:
什么是程序调试
答案: 【 程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。】
2、填空题:
什么是单步调试
答案: 【 单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。】
3、填空题:
VC++6.0 C语言的调试步骤
答案: 【 设置断点-调试命令-察看变量-查看内存】
14-03随堂测验
1、填空题:
在Dev C++中怎么创建一个源项目
答案: 【 打开DEV C++ -点击文件菜单,选择新建-项目选项 -在新项目中,建立一个控制台应用程序,编程语言选择C++- 保存 项目 -编辑窗口中,输入源代码】
2、填空题:
在Dev C++中代码保存为什么文件
答案: 【 cpp文件】
3、填空题:
Dev C++ 中创建源文件和创建项目相同吗?
答案: 【 不同】
14-04随堂测验
1、填空题:
Dev C++ 中调试要对安装程序做哪些操作
答案: 【 选择工具 编译选项 代码生成优化 连接器 提示“将产生调试信息“ 将 no改为yes】
2、填空题:
Dev C++调试中如何设置断点
答案: 【 鼠标在代码行左边处单击】
3、填空题:
怎么启动调试
答案: 【 按f5或者点击安装程序上方的对号】
14-05随堂测验
1、填空题:
code 支持哪些操作系统
答案: 【 Windows Linux Mac】
2、填空题:
Codeblocks中如何新建项目
答案: 【 打开程序 选择console application C或 C++ 命名标题 jcc编译器 默认选项 完成】
3、填空题:
CodeBlocks中为大型项目提供了那个比较便利的功能
答案: 【 清理功能】
14-06随堂测验
1、填空题:
CodeBlocks中检查程序逻辑错误时设置的特殊的点叫什么。
答案: 【 断点】
2、填空题:
CodeBlocks调试时启动什么模式
答案: 【 Debug】
3、填空题:
CodeBlocks调试时怎么打断点
答案: 【 代码行左侧鼠标单击】
14-07随堂测验
1、填空题:
Raptor可以进行算法的_____和_______
答案: 【 设计 验证】
2、填空题:
Raptor中任何变量在引用前都要___和____
答案: 【 定义 赋值】
3、填空题:
Raptor软件中的滚动条可以用来控制_____
答案: 【 程序运行速度】
第2章基本元素和输入输出
2-01随堂测验
1、单选题:
执行下面的程序段后,变量k中的值为()int k=3,s; s=k;k=s+10;
选项:
A: 不定值
B: 13
C: 3
D: 10
答案: 【 13】
2、单选题:
设x为int型变量,则执行以下语句后,x的值为x=10;
x+=x;
选项:
A: 10
B: 20
C: 40
D: 30
答案: 【 20】
3、单选题:
若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为
选项:
A: 7
B: 8
C: 9
D: 10
答案: 【 8】
4、单选题:
下列表达式的结果为 (a=b)=3*4
选项:
A: 编译出错
B: a为12
C: b为12
D: a为3
答案: 【 a为12】
5、单选题:
下列将输出 int a=0,b=3;printf("%d",a=b+3);
选项:
A: 0
B: 无法输出
C: 6
D: 9
答案: 【 6】
6、单选题:
若变量i和m的类型分别为int和double,则3.2+i+m的数据类型为A.double B.int C.long D.float
选项:
A: double
B: int
C: long
D: float
答案: 【 double】
7、填空题:
标准输入输出库的预编译指令是()
答案: 【 #include 】
8、填空题:
执行int a=0,i=1;a=i++;后,a的值为:
答案: 【 1】
9、填空题:
执行int a=0,i=1;a=++i;后,a的值为:
答案: 【 2】
10、填空题:
若a是int型变量,则表达式a=3,a+=a-=a+a+a的值是
答案: 【 -12】
2-02随堂测验
1、单选题:
若有定义:int x=3,y=2,z=2;,则表达式:z*=(x>y?++x:y++)的值是( ).
选项:
A: 4
B: 0
C: 1
D: 8
答案: 【 8】
2、单选题:
如果变量x,y,z均为double类型且已正确赋值,下列表达式中 不能正确表示数学式子x÷y÷z的C语言表达式是( ).
选项:
A: x/y*z
B: x*(1/(y*z))
C: x/y*1/z
D: x/y/z
答案: 【 x/y*z】
3、单选题:
若所有变量都是整型变量,则a=(a=3,b=++a,a*b)的值为
选项:
A: 16
B: 12
C: 3
D: 无法判断
答案: 【 16】
4、单选题:
若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为
选项:
A: 7
B: 8
C: 9
D: 10
答案: 【 8】
5、单选题:
若有以下定义,则能使值为3的表达式是
int k=7,x=12;
选项:
A: x%=(k%=5)
B: x%=(k-k%5)
C: x%=k-k%5
D: (x%=k)-(k%=5)
答案: 【 (x%=k)-(k%=5)】
6、单选题:
设以下变量均为int类型,则值不等于7的表达式是
选项:
A: (x=y=6,x+y,x+1)
B: (x=y=6,x+y,y+1)
C: (x=6,x+1,y=6,x+y)
D: (y=6,y+1,x=y)
答案: 【 (x=6,x+1,y=6,x+y) 】
7、判断题:
a是double型变量,a/2*2一定等于a
选项:
A: 正确
B: 错误
答案: 【 错误】
8、判断题:
表达式 -2<x<3不能表示条件:x大于-2且小于3
选项:
A: 正确
B: 错误
答案: 【 正确】
9、填空题:
若a是整型变量,则表达式a=3,a%2+(a+1)%2的值为
答案: 【 1】
10、填空题:
表达式!'A'的值等于
答案: 【 0】
2-03随堂测验
1、单选题:
已知字母A的ASCII码为十进制数65.且c2为字符型.则执行c2=‘A’+‘6’-‘3’后.c2中的值为()
选项:
A: D
B: 68
C: 不确定的值
D: C
答案: 【 D 】
2、单选题:
判断char型变量ch是否为大写字母的正确表达式是()
选项:
A: ‘A’<=ch<=‘Z’
B: (ch>=‘A’)&(ch<=‘Z’)
C: (ch>=‘A’)&&(ch<=‘Z’)
D: (‘A’<= ch)AND(‘Z’>= ch)
答案: 【 (ch>=‘A’)&&(ch<=‘Z’)】
3、单选题:
设有定义语句char a='xhh';则变量a ( ).
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 说明不合理
答案: 【 包含1个字符】
4、单选题:
当用户要求输入的字符串中含有空格时, 应使用的输入函数是( ).
选项:
A: scanf()
B: getchar()
C: gets()
D: getc()
答案: 【 gets()】
5、单选题:
设变量均已正确定义, 若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X 和Y. 以下所示的输入形式中正确的是( ).
选项:
A: 10 X 20 Y
B: 10 X20 Y
C: 10 X <回车>20 Y
D: 10X<回车>20Y
答案: 【 10X<回车>20Y】
6、单选题:
在C语言中,合法的字符常量是( ).
选项:
A: '84'
B: 'x43'
C: 'ab'
D: ""
答案: 【 'x43' 】
7、单选题:
若运行时给变量x输入12,则以下程序的运行结果是( ).main( ){ int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%dn",y);}
选项:
A: 0
B: 22
C: 12
D: 10
答案: 【 0】
8、单选题:
以下叙述中不正确的是( ).
选项:
A: 在C程序中,逗号运算符的优先级最低
B: 在C程序中,APH和aph是两个不同的变量
C: 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D: 当从键盘输入数据时,对于整型变量只能输入整数,对于实型变量只能输入实数
答案: 【 当从键盘输入数据时,对于整型变量只能输入整数,对于实型变量只能输入实数】
9、填空题:
表达式 'A' - 'D' 的值等于( ).
答案: 【 -3】
10、填空题:
函数puts("LIMING'S");的输出结果等于( ).
答案: 【 LIMING'S】
2-04随堂测验
1、单选题:
以下程序段的输出结果是( ).int a=1234;printf("%2dn",a);
选项:
A: 12
B: 34
C: 1234
D: 提示出错、无结果
答案: 【 1234】
2、单选题:
若x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf("x=%d,y=%f",&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应是( ).
选项:
A: x=10,y=66.6
B: 10 66.6
C: 10<回车>66.6
D: x=10<回车>y=66.6
答案: 【 x=10,y=66.6 】
3、单选题:
若有定义:int x=3,y=2,z=2;,则表达式:z*=(x>y?++x:y++)的值是( ).
选项:
A: 4
B: 0
C: 1
D: 8
答案: 【 8】
4、单选题:
以下程序main()
{ int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b);
}的运行结果是()
选项:
A: 6,1
B: 2,1
C: 6,0
D: 2,0
答案: 【 2,1】
5、单选题:
以下程序main()
{ int m=5; if(m++>5) { m=6; printf(“%dn”,m); }else printf(“%dn”,m--); } 的运行结果是()
选项:
A: 4
B: 5
C: 6
D: 7
答案: 【 6】
6、单选题:
int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后n的值是( ).
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
7、单选题:
int x;x=-3+4*5-6;printf("%d ",x);x=3+4%5-6;printf("%d ",x);x=-3+4%6/5;printf("%d ",x);x=(7+6)%5/2;printf("%d",x);输出结果为
选项:
A: 11 1 -3 1
B: 11 -3 2 1
C: 12 -3 2 1
D: 11 1 2 1
答案: 【 11 1 -3 1】
8、单选题:
设int x=3,y=2;float a=2.5, b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为( ).
选项:
A: 6
B: 0
C: 2
D: 1
答案: 【 1】
9、单选题:
定义int x=10,y,z;执行y=z=x;x=y==z;后,变量x的值为( ).
选项:
A: 10
B: 1
C: 0
D: 100
答案: 【 1】
10、填空题:
设变量c占一个字节的空间,下面程序段的输出结果是( ).char c='A'; c+=3;printf("%d",c);
答案: 【 68】
2-05随堂检测
1、单选题:
已知各变量的类型如下:
int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是
选项:
A: a+=a-=(b=4)*(a=3)
B: a=a*3+2
C: x%(-3)
D: y=float(i)
答案: 【 a+=a-=(b=4)*(a=3) 】
2、单选题:
已知各变量的类型说明如下:
int k,a,b; unsigned long w=5;
double x=1.42; 则以下不符合C语言语法的表达式是
选项:
A: x%(-3)
B: w+=-2
C: k=(a=2,b=3,a+b)
D: a+=a-=(b=4)*(a=3)
答案: 【 x%(-3) 】
3、单选题:
在C语言程序中.表达式8/5的结果是()
选项:
A: 1.6
B: 1
C: 3
D: 0
答案: 【 1】
4、单选题:
下面表达式的值为4的是()
选项:
A: 11/3
B: 11.0/3
C: (float)11/3
D: (int)(11.0/3+0.5)
答案: 【 (int)(11.0/3+0.5)】
5、单选题:
若有语句int
a=1,b; double y=2.3; b=(int)y; 则b的值为( )
选项:
A: 3
B: 2
C: 1
D: 3
答案: 【 2】
6、单选题:
若下列选项中的各个变量均为整型且已赋值,那么下列不正确的赋值语句是()
选项:
A: ++t
B: n1=(n2/n3+1)
C: k=i=j
D: a/=b+c=1
答案: 【 a/=b+c=1】
7、单选题:
不合法的赋值语句是
选项:
A: a=b=58
B: k=int(a+b);
C: a=58,b=58;
D: --i;
答案: 【 k=int(a+b);】
8、单选题:
以下符合C语言语法的赋值表达式是
选项:
A: d=9+e+f=d+9
B: d=9+e,f=d+9
C: d=9+e,e++,d+9
D: d=9+e++=d+7
答案: 【 d=9+e,f=d+9】
9、单选题:
下面符合c语言赋值表达式的是
选项:
A: a=5+c+d=a+5
B: a=c+d++=a+5
C: b=(a=3,a+5)
D: a=3*5,a*4
答案: 【 b=(a=3,a+5)】
10、填空题:
main() { int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%dn”,a,b,c); } 运行结果为:
答案: 【 0,0,5】
2-06随堂测验
1、单选题:
表达式18/4*sqrt(4.0)/8值的数据类型为
选项:
A: int
B: double
C: float
D: 不确定
答案: 【 double】
2、单选题:
设整型变量 a=2.则执行下列语句后.浮点型变量b的值不为0.5的是
选项:
A: b=0.5
B: (float)(1/a)
C: b=1/(float)a
D: b=1/(a*1.0)
答案: 【 (float)(1/a)】
3、单选题:
若"int n; float f=13.8;",则执行语句"n=(int)f%3"后.n的值是
选项:
A: 1
B: 4
C: 333333
D: 4.6
答案: 【 1】
4、单选题:
以下程序的输出结果是______。 main() { int x=0.5; char z='a'; printf("%dn", (x&1)&&(z<'z') ); }
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0】
5、单选题:
以下程序段的输出结果是 int x=3; do { printf("%3d",x-=2);} while(!(--x));
选项:
A: 1
B: 3 0
C: 1 -2
D: 死循环
答案: 【 1 -2】
6、多选题:
用十进制形式输入有符号整数时,在scanf函数语句里格式字符为( )。
选项:
A: d
B: i
C: n
D: u
答案: 【 d;
i】
7、填空题:
输入整型变量a的值. int a; scanf("%d",______);
答案: 【 &a】
8、填空题:
若 char w,int x,float y,double z;则表达式w*x+z-y的结果为______类型.
答案: 【 double】
9、填空题:
执行下面两个语句,输出的结果是______,char c1=97,c2=98;printf("%d %c",c1,c2);
答案: 【 97 b】
10、填空题:
下列语句输出的结果是______,int a=-1;printf("%x",a);
答案: 【 ffffffff】
2-07随堂测验
1、单选题:
字符输入的函数是()
选项:
A: putchar()
B: getchar()
C: scanf()
D: get
答案: 【 getchar()】
2、单选题:
字符输出的函数是()
选项:
A: putchar()
B: getchar()
C: put()
D: printf()
答案: 【 putchar()】
3、单选题:
以下程序的输出结果是______。 main() { char c='z'; printf("%c",c-25); }
选项:
A: a
B: z
C: z-25
D: y
答案: 【 a】
4、单选题:
已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( )
选项:
A: 不确定的值
B: D
C: C
D: 68
答案: 【 D】
5、单选题:
设有如下定义:int x=1,y=-1;,则语句: printf("%dn",(x--&++y));的输出结果是____
选项:
A: 1
B: -1
C: 0
D: 2
答案: 【 0】
6、单选题:
已知在ASCII代码中,字母A的序号为65,以下程序输出结果是____。 # include<stdio.h> main( ) { char c1='A',c2='Y'; printf("%d,%dn',c1,c2); }
选项:
A: 输出错误信息
B: 65,90
C: A,Y
D: 65,89
答案: 【 65,89】
7、单选题:
设有说明语句:char a='72';则变量a____
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 说明不合法
答案: 【 包含1个字符 】
8、多选题:
可以使用( )输入字符型数据。
选项:
A: putchar(c);
B: scanf("%c",&c);
C: getchar(c);
D: getchar();
答案: 【 scanf("%c",&c);;
getchar(c); 】
9、填空题:
语句char s='/092';的作用是____
答案: 【 使s包含一个字符】
10、填空题:
若有定义:char c='10';则变量c中包含的字符个数为______
答案: 【 1个】
第3章选择结构
3-01排序随堂测验
1、单选题:
以下____为不正确的if语句。
选项:
A: if(x>y);
B: if(x= =y)x+=y;
C: if(x!=y) scanf(''%d'',&x) else scanf(''%d'',&y);
D: f(x<y){x++;y++;}
答案: 【 if(x!=y) scanf(''%d'',&x) else scanf(''%d'',&y); 】
2、单选题:
为了避免在嵌套的条件语句
if-else 中产生二义性,C语言规定:else子句总是与________配对
选项:
A: 缩排位置相同的if
B: 其之前最近的if
C: 其之后最近的if
D: 同一行上的if
答案: 【 其之前最近的if 】
3、单选题:
以下程序段
int a=10,b=50,c=30;if(a<b){a=b;b=c;c=a;}printf("a=%2d b=%2d
c=%2dn",a,b,c);的输出结果是( )
选项:
A: a=10 b=50 c=10
B: a=10 b=30 c=10
C: a=50 b=30 c=10
D: a=50 b=30 c=50
答案: 【 a=50 b=30 c=50】
4、单选题:
以下程序段与语句k=a>b?(b>c?1:0):0;等价的是
选项:
A: if((a>b)||(b>c)) k=1;else k=0;
B: if((a>b)&&(b>c)) k=1;else k=0;
C: if(a>b) k=1;else if(b>c) k=1;
D: if(a<=b) k=0;else if(b<=c) k=1;
答案: 【 if((a>b)&&(b>c)) k=1;else k=0;】
5、单选题:
阅读以下程序,程序运行后,如果从键盘上输入5,则输出结果是#include <stdio.h>int main(){int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}
选项:
A: 5
B: 4
C: 3
D: 6
答案: 【 4】
6、单选题:
设初始化int a=0,b=0,c=0,x=9;则执行下列语句之后,变量x的值是if (a) x--;else if(b) if(!c)x=3;else x=4;
选项:
A: 8
B: 9
C: 4
D: 3
答案: 【 9】
7、单选题:
以下程序运行后的输出结果是int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d %d %dn",i,j,k);
选项:
A: 2 2 2
B: 2 2 1
C: 2 2 3
D: 1 1 2
答案: 【 
