MOOC 程序设计入门——C语言(广西科技大学)1450337189 最新慕课完整章节测试答案
第1周程序设计与C语言
第1周单元测验
1、单选题:
以下关于C语言的特点,正确的是 。
选项:
A: 表达能力强且灵活;
B: 可移植性好
C: 提供了丰富的数据类型,允许程序员定义各种类型的变量指针和函数指针;
D: 以上答案都对
答案: 【 以上答案都对】
2、单选题:
C源程序的基本单位是:
选项:
A: 程序行
B: 语句
C: 函数
D: 字符
答案: 【 函数】
3、单选题:
以下叙述不正确的是().
选项:
A: 一个C源程序可由一个或多个函数组成
B: 一个C源程序必须包含一个main()函数
C: C程序的基本组成单位是函数
D: 在C程序中,注释说明只能位于一条语句的后面
答案: 【 在C程序中,注释说明只能位于一条语句的后面】
4、单选题:
下列叙述中错误的是
选项:
A: 计算机不能直接执行用C语言编写的源程序
B: C程序经C编译程序编译后, 生成扩展名为obj的文件是一个二进制文件
C: 扩展名为obj的文件,经连接程序生成扩展名为exe的文件是一个二进制文件
D: 扩展名为obj和exe的二进制文件都可以直接运行
答案: 【 扩展名为obj和exe的二进制文件都可以直接运行】
5、单选题:
设b=1234 , 执行printf(“%%d@%d”,b) 语句,输出结果为:
选项:
A: 1234
B: %1234
C: %%d@1234
D: %d@ 1234
答案: 【 %d@ 1234】
6、判断题:
C源程序是由多个函数组成的,程序的执行是按书写顺序进行的。
选项:
A: 正确
B: 错误
答案: 【 错误】
7、判断题:
一个C程序可以由一个文件组成,也可由若干文件组成。
选项:
A: 正确
B: 错误
答案: 【 正确】
8、判断题:
C程序由函数组成
选项:
A: 正确
B: 错误
答案: 【 正确】
9、判断题:
C 程序的每一行结束都有一个” ; ”
选项:
A: 正确
B: 错误
答案: 【 错误】
10、填空题:
c语言源程序的扩展名是_____
答案: 【 .c##%_YZPRLFH_%##.C##%_YZPRLFH_%##c##%_YZPRLFH_%##C】
11、填空题:
结构化程序设计所规定的三种基本控制结构是____、_____、_____
答案: 【 顺序结构 分支结构 循环结构】
12、填空题:
c程序的基本组成单位是___
答案: 【 函数】
13、填空题:
一个C源程序是由若干个函数构成,其中必须有一个是( ) 函数。(请用英文单词回答)
答案: 【 main】
第2周计算
小测验
1、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16】
2、填空题:
写出以下表达式的结果,结果之间间隔一个空格:6 + 5 / 4 - 22 + 2 * (2 * 2 - 2) % 2 / 310 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
答案: 【 5 2 44 -627】
第2周单元测验
1、单选题:
C语言中,运算对象必须是整型数的运算符是
选项:
A: %
B:
C: %和
D: /
答案: 【 % 】
2、单选题:
以下能正确地定义整型变量a,b和c并为它们赋初值5的语句是
选项:
A: int a=b=c=5;
B: int a, b, c=5;
C: a=5,b=5, c=5;
D: int a=5,b=5, c=5;
答案: 【 int a=5,b=5, c=5;】
3、单选题:
a=b+=c+5,若b=1,c=2,则a的值是 。
选项:
A: 1
B: 7
C: 8
D: 出错
答案: 【 8】
4、单选题:
以下选项中正确的整型常量是:
选项:
A: 12.
B: -20
C: 1,000
D: 4 5 6
答案: 【 -20】
5、单选题:
指出下面正确的输入语句是 .
选项:
A: scanf (“a=b=%d”,&a,&b);
B: scanf (“a=%d,b=%f”,&m,&f );
C: scanf (“%3c”,c);
D: scanf (“%5.2f”, &f);
答案: 【 scanf (“a=%d,b=%f”,&m,&f );】
6、单选题:
若x是int型变量,y是float型变量,所用scanf语句为 scanf(“x=%d,y=%f”,&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<回车> 】
7、单选题:
scanf ( )函数的地址表列是用( ) 符号加上变量名表示变量的地址。
选项:
A: %
B: &
C: #
D: !
答案: 【 & 】
8、多选题:
给定:int a,b; 以下哪些scanf的使用是正确的?
选项:
A: scanf("%d", &a);scanf("%d", &b);
B: scanf("%d %d", &a, &b);
C: scanf("%d, %d", &a, &b);
D: scanf("%d%d", a,b);
答案: 【 scanf("%d", &a);scanf("%d", &b);;
scanf("%d %d", &a, &b);;
scanf("%d, %d", &a, &b);】
9、多选题:
以下哪些是有效的变量名?
选项:
A: main
B: 4ever
C: monkey_king
D: __int
答案: 【 main;
monkey_king;
__int】
10、多选题:
给定:int a,b;scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?
选项:
A: 1,2
B: 1 2
C: 12
D: 1、2
答案: 【 1 2;
12】
11、判断题:
在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
有a=3,b=5。执行a=b,b=a后,已使a的值为5,b的值为3。
选项:
A: 正确
B: 错误
答案: 【 错误】
13、判断题:
在C中所用的变量必须先说明后使用
选项:
A: 正确
B: 错误
答案: 【 正确】
14、判断题:
执行表达式a=b后,在内存中a和b存储单元中的原值都将被改变,a的值已由原来的改变为b的值,b的值由原来改变为0
选项:
A: 正确
B: 错误
答案: 【 错误】
15、填空题:
C语言中的标识符只能由三种字符组成,它们是____、_____、_____(答案之间间隔一个空格)
答案: 【 下划线 字母 数字】
16、填空题:
写出以下表达式的结果6 + 5 / 4 - 2
答案: 【 5】
17、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16】
18、填空题:
若k为int整型变量且赋值11。请写出运算k++后表达式得值_____ 和变量的值____(答案之间用一个空格分隔)
答案: 【 11 12】
19、填空题:
写出以下表达式的结果2 + 2 * (2 * 2 - 2) % 2 / 3
答案: 【 2】
20、填空题:
写出以下表达式的结果10 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3
答案: 【 44】
21、填空题:
写出以下表达式的结果1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
答案: 【 -627】
22、填空题:
若想通过输入语句”scanf(“a=%d,b=%d”,&a,&b);”给a赋值1,给b赋值2,则输人数据的形式应该是______。
答案: 【 a=1,b=2】
23、填空题:
C语言规定对所用到的变量要( ) 。
答案: 【 先定义,后使用】
第3周判断与循环
小测验
1、单选题:
以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?
选项:
A: for ( i=0; i<10; i++ ) {...}
B: for ( i=0; i<10; ++i ) {...}
C: for ( i=0; i++<10; ) {...}
D: for ( i=0; i<=9; i++ ) {...}
答案: 【 for ( i=0; i++<10; ) {...}】
2、判断题:
while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了
选项:
A: 正确
B: 错误
答案: 【 错误】
3、填空题:
以下代码片段执行结束后,变量i的值是多少?int i =10;
while ( i>0 ) {
i /=2;
}
答案: 【 0】
4、填空题:
以下代码片段执行结束后,变量i的值是多少?int i = 1;
do {
i += 5;
} while (i<17);
答案: 【 21】
5、填空题:
以下代码段的输出是什么?int i=10;
for ( ; i> 1; i /=2 ) {
printf("%d ", i++);
}
答案: 【 10 5 3 2】
第3周单元测验
1、单选题:
以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?
选项:
A: for ( i=0; i<10; i++ ) {...}
B: for ( i=0; i<10; ++i ) {...}
C: for ( i=0; i++<10; ) {...}
D: for ( i=0; i<=9; i++ ) {...}
答案: 【 for ( i=0; i++<10; ) {...}】
2、单选题:
下列程序的功能是 。int main ( void){ int i,s=0;for(i=1;i<10; i+=2)s+=i+1:printf(%d”,s);return 0: }
选项:
A: 自然数1~9的累加和
B: 自然数1~10的累加和
C: 自然数1~9中的奇数之和
D: 自然数1~ 10中的偶数之和
答案: 【 自然数1~ 10中的偶数之和】
3、单选题:
以下程序段的输出结果是____。int n=9;while( n>6){ n--;printf (“%d”, n);}
选项:
A: 987
B: 876
C: 8765
D: 9876
答案: 【 876 】
4、单选题:
当执行以下程序段时,供选择的答案是___________。 x=-1; do { x=x*x; } while(!x)
选项:
A: 循环体将执行一次
B: 循环体将执行两次
C: 循环体将执行无限次
D: 系统提示有语法错误
答案: 【 循环体将执行一次 】
5、单选题:
下列程序的运行结果是。int main( void){int a, b, c;a=20;b=30; c =10;if( a<b) a=b;if (a>=b) b=c; c =a;printf("a=%d, b=%d, c=%d",a,b,c);return 0;}
选项:
A: a=20,b=10, c=20
B: a=30,b=10, c=20
C: a=30, b=10, c=30
D: a=30,b=10, c=20
答案: 【 a=30, b=10, c=30】
6、单选题:
下列条件语句中,功能与其他语句不同的是____。
选项:
A: if(a) printf(“%d n”, x); else printf(“%d n”, y);
B: if( a==0) printf(“%dn”,y); else printf(“%dn”, x);
C: if(a!=0)printf(“%dn”, x); else printf(“%dn”,y);
D: if( a== 0) printf(“%dn”, x); else printf(“%dn”, y);
答案: 【 if( a== 0) printf(“%dn”, x); else printf(“%dn”, y);】
7、单选题:
设变量已正确定义,则以下能正确计算f=n!的程序段是_____.
选项:
A: f=0; for(i=1;i<=n;i++)f*=i;
B: f=1;for(i=1;i<n;i++)f*=i;
C: f=1; for(i=n;i>1;i++)f*=i;
D: f=1;for(i=n;i>=2;i--)f*=i;
答案: 【 f=1;for(i=n;i>=2;i--)f*=i;】
8、多选题:
以下起到注释功能的是
选项:
A: /* */
B: //
C: rem
D: \
答案: 【 /* */;
//】
9、多选题:
为先判断后执行的循环是
选项:
A: for( ){....}
B: while( ){....}
C: do{....}while( );
D: if( ){....}
答案: 【 for( ){....};
while( ){....} 】
10、判断题:
以下语句是否可以通过编译:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 正确】
11、判断题:
以下语句是否表示n属于[1,10]:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
若k是int型变量,且有下面的程序段: k=-3; if (k<=0) printf(“####”); else printf(“&&&&”);上面程序段的输出结果是 #### 。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、判断题:
while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了
选项:
A: 正确
B: 错误
答案: 【 错误】
14、判断题:
do {……} while(0); 程序块至少会执行一次
选项:
A: 正确
B: 错误
答案: 【 正确】
15、判断题:
语句 for(i=0;i=10;i++) {---}; 将循环10次.
选项:
A: 正确
B: 错误
答案: 【 错误】
16、填空题:
写出判断x是否为偶数?(注意直接写出判断表达式)
答案: 【 x%2==0##%_YZPRLFH_%##!(x%2)】
17、填空题:
若从键盘输入58,则以下程序段的输出结果是____int main( void){ int a;scanf(“%d”,&a);if (a>50) printf (“%d”, a);if ( a>40) printf (“%d”,a);if (a>30) print f (“%d”,a);return 0;}
答案: 【 585858】
18、填空题:
以下代码片段执行结束后,变量i的值是多少?int i =10;while ( i>0 ) { i /=2;}
答案: 【 0】
19、填空题:
以下代码片段执行结束后,变量i的值是多少? int i = 1;do {i += 5;} while (i<17);
答案: 【 21】
20、填空题:
以下代码段的输出