大学MOOC 程序设计基础(二)(张欣计算机C191)(沈阳工程学院)1450957166 最新慕课完整章节测试答案
第0周程序设计与C语言
文章目录
随堂测验1.1
1、单选题:
计算机能直接执行的程序是用何种程序设计语言编写的?
选项:
A: C语言
B: 机器语言
C: 汇编语言
D: C++
答案: 【 机器语言】
2、判断题:
C语言源程序是用编译方式进行翻译的。
选项:
A: 正确
B: 错误
答案: 【 正确】
随堂测验1.2
1、单选题:
下列哪种程序设计语言能编写系统软件?
选项:
A: Fortran
B: VB
C: C
D: JAVA
答案: 【 C】
随堂测验1.3
1、单选题:
C程序中main函数的位置是:
选项:
A: 必须在程序的开始。
B: 必须在程序的最后。
C: 可以任意位置。
D: 必须在程序的中间位置。
答案: 【 可以任意位置。】
2、单选题:
C程序的执行总是从:
选项:
A: 第1个函数开始执行。
B: main函数开始执行。
C: 最后1个函数开始执行。
D: 中间函数开始执行。
答案: 【 main函数开始执行。】
3、判断题:
1个C程序可以由1个或多个函数构成,但必须有1个函数名为main。
选项:
A: 正确
B: 错误
答案: 【 正确】
4、判断题:
语句的结束标志是冒号“:”
选项:
A: 正确
B: 错误
答案: 【 错误】
5、判断题:
C程序中1条语句必须写在一行。
选项:
A: 正确
B: 错误
答案: 【 错误】
随堂测验1.4
1、单选题:
C语言源程序的扩展名是:
选项:
A: .obj
B: .exe
C: .doc
D: .c
答案: 【 .c】
2、单选题:
C语言程序上机调试步骤是:
选项:
A: 编写源程序、编译、连接、运行。
B: 编写源程序、编译、运行。
C: 编写源程序、连接、运行。
D: 编写源程序、运行。
答案: 【 编写源程序、编译、连接、运行。】
第1周-1同类型数据的处理——数组一
7.3随堂测验
1、单选题:
1、以下程序的输出结果是()。#include<stdio.h>int main() { int m[]={1,4,7}; int i; for(i=0;i<3;i++) { printf("%d",m[i]);} return 0;}
选项:
A: 741
B: 471
C: 147
D: 417
答案: 【 147】
2、单选题:
2、以下程序输出结果为741,那么循环控制变量i的下限是()。#include<stdio.h>int main() { int m[]={1,4,7}; int i; for(i=2;i>( );i--) printf("%d",m[i]); return 0;}
选项:
A: 0
B: 1
C: -1
D: -2
答案: 【 -1】
3、单选题:
3、以下程序的输出结果是()。#include<stdio.h>int main() { int m[]={1,4,7}; int i; for(i=1;i<=2;i++) printf("%d",m[i]); return 0;}
选项:
A: 14
B: 47
C: 41
D: 74
答案: 【 47】
4、单选题:
4、以下程序的输出结果是()。#include<stdio.h>int main(){ int m[] = { 1,4,7 }; int i; m[0] = m[1] + 34; for (i = 0; i <= 2; i++) { m[i] = m[i] / 3; printf("%d", m[i]); } return 0;}
选项:
A: 1112
B: 1212
C: 1313
D: 1312
答案: 【 1212】
5、单选题:
5、阅读程序选结果#include<stdio.h>int main(){ int i, temp; int a[5] = { 9,6,5,2,1 }; for (i = 0; i<5 / 2; i++) { temp = a[i]; a[i] = a[5 - i - 1]; a[5 - i - 1] = temp; } for (i = 0; i<5; i++) printf("%d", a[i]); return 0;}
选项:
A: 15269
B: 12569
C: 96521
D: 16952
答案: 【 12569】
7.4节随堂测验
1、单选题:
1、以下对二维数组的定义中正确的是()
选项:
A: int a[4][]={1,3,2,4,5};
B: int a[][3];
C: int a[][3]= {1,5,6,3,7,8,2};
D: int a[][]={{1,2,3},{4,5,6}};
答案: 【 int a[][3]= {1,5,6,3,7,8,2};】
2、单选题:
2、下列各语句定义了数组,其中哪一个是不正确的()
选项:
A: char a[3][10]={"China","American","Asia"};
B: int x[2][2]={1,2,3,4};
C: float x[2][ ]={1,2,4,6,8,10};
D: int m[][3]={1,2,3,4,5,6,7};
答案: 【 float x[2][ ]={1,2,4,6,8,10};】
3、单选题:
3、按照下题选出正确的输出结果如果有如下定义:int a[3][4]={{1, 2, 3, 4}, {5, 6, 7, 8},{9, 10, 11, 12}};,那么a[1][6]元素的结果是()?
选项:
A: 12
B: 11
C: 10
D: 9
答案: 【 11】
4、单选题:
4、c程序如下,写出输出结果#include<stdio.h>int main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]);} }
选项:
A: 1 4 7
B: 2 5 8
C: 3 6 9
D: 7 8 9
答案: 【 3 6 9】
5、判断题:
5、c语言中,一维数组某一个数组元素等价于一个同数据类型的变量。
选项:
A: 正确
B: 错误
答案: 【 正确】
7.5随堂测验
1、单选题:
1、完善以下程序达到要求的功能:先从键盘上输入一个3行3列整型数组的各个元素的值,然后输出主对角线和次对角线元素之和。#include<stdio.h>int main(){ int a[3][3], sum = 0, sum1 = 0; int i, j; printf("Enter data:n"); for (i = 0; i<3; i++) for (j = 0; j<3; j++) scanf("%d", &a[i][j]); for (i = 0; i<3; i++) { sum = sum + a[i][i]; sum1 = sum1 + a[i][()]; } printf("nsum=%5d,sum1=%5dn", sum, sum1); return 0;}
选项:
A: 2-i
B: 2-1
C: i
D: 1-i
答案: 【 2-i】
2、单选题:
2、输出如下程序的结果:#include <stdio.h>int main(){ int a[3][3] = { 1,3,5,7,9,2,4,6 }; int sum = a[0][0], i,j,x, y; for (i = 0; i<3; i++) { for (j = 0; j<3; j++) { if (sum<a[i][j]) { sum = a[i][j]; x = i; y = j; } } } printf("a[%d][%d]=%d", x, y, sum); getchar(); return 0;}
选项:
A: a[1][0]=9
B: a[1][1]=9
C: a[1][2]=2
D: a[0][0]=1
答案: 【 a[1][1]=9】
3、单选题:
3、输出如下程序的结果:#include <stdio.h>int main(){ int a[3][3] = { { 98,97,99 },{ 100,67,89 },{ 78,89,79 } }; int i, j; float sum1 = 0; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { sum1 = sum1 + a[i][j]; } } printf("%f",sum1/9); return 0;}
选项:
A: 87.333334
B: 87.444443
C: 88.333334
D: 88.444443
答案: 【 88.444443】
4、判断题:
4、c语言中,当二维数组越界时,会有错误提示。
选项:
A: 正确
B: 错误
答案: 【 错误】
5、判断题:
5、c语言中,二维数组某一个数组元素等价于一个同数据类型的变量。
选项:
A: 正确
B: 错误
答案: 【 正确】
7.6随堂测验
1、单选题:
1、c程序如下,写出输出结果#include<stdio.h>int main(){ int m[][3] = { 1,4,7,2,5,8,3,6,9 }; int i, j, k = 1; for (i = 0; i<4; i++) { printf("%d", m[k][i]); } return 0;}
选项:
A: 2583
B: 4725
C: 8369
D: 5836
答案: 【 2583】
2、单选题:
2、c程序如下,写出输出结果#include<stdio.h>int main(){ int m[][3] = { 1,4,7,2,5,8,3,6,9 }; int i, j, k = 0; for (i = 0; i<5; i++) { printf("%d", m[k][i]+2); } return 0;}
选项:
A: 14725
B: 25836
C: 36947
D: 47958
答案: 【 36947】
3、单选题:
3、c程序如下,写出输出结果#include<stdio.h>int main(){ int m[][3] = { 1,4,7,2,5,8,3,6,9 }; int i, j, k = 0; for (i = 0; i<6; i++) { printf("%d", m[k][i]/2+3); }return 0;}
选项:
A: 259435
B: 356556
C: 356557
D: 356457
答案: 【 356457】
4、单选题:
4、输出如下程序的结果:#include <stdio.h>int main(){ int a[3][3] = { { 98,97,99 },{ 100,67,89 },{ 78,89,79 } }; int i, j=0; float sum = 0; for (i = 0; i < 5; i++) sum = sum + a[j][i]; printf("%f", sum / 5); return 0;}
选项:
A: 93.199997
B: 92.29997
C: 92.19997
D: 94.199997
答案: 【 92.19997】
5、判断题:
5、c语言中,二维数组下标越界时,会有错误提示。
选项:
A: 正确
B: 错误
答案: 【 错误】
第1周-2同类型数据的处理——数组二
字符串处理函数随堂测验
1、单选题:
下面是有关C语言字符数组的描述,其中错误的是()
选项:
A: 不可以用赋值语句给字符数组名赋字符串
B: 可以用输入语句把字符串整体输入给字符数组
C: 字符数组中的内容不一定是字符串
D: 字符数组只能存放字符串
答案: 【 字符数组只能存放字符串】
2、判断题:
对字符串进行输入输出操作时,只能对字符串整体进行输入输出。
选项:
A: 正确
B: 错误
答案: 【 错误】
3、填空题:
如果在程序中调用了strcpy函数,则需要预处理命令 。
答案: 【 #include ##%_YZPRLFH_%###include “string.h”】
字符数组随堂测验
1、单选题:
下面是对数组s的初始化操作,其中不正确的是()
选项:
A: char s[5]={"a"};
B: char s[5]={‘a’};
C: char s[5]= " ";
D: char s[5]= "abcdef";
答案: 【 char s[5]= "abcdef";】
2、单选题:
如下的数组中,数组array占用的内存空间是( )个字节。 char array[]={'c','h','i','n','a'};
选项:
A: 1
B: 5
C: 6
D: 不确定
答案: 【 6】
3、判断题:
字符数组中的数据存储时必须以''结尾。
选项:
A: 正确
B: 错误
答案: 【 错误】
第3次单元测验
1、单选题:
下列描述中不正确的是()
选项:
A: 字符型数组中能存放字符串。
B: 可以对字符型数组进行整体输入、输出。
C: 字符串函数声明在ctype.h中。
D: 字符串的结束符是''。
答案: 【 字符串函数声明在ctype.h中。】
2、单选题:
下列程序的输出结果是()char a[10]="abcd", b[ ]="ABCD", str[50]="xyz"; strcpy(str,strcat(a,b)); printf("%s",str);
选项:
A: xyabcAB
B: abcABz
C: ABabcz
D: abcdABCD
答案: 【 abcdABCD】
3、单选题:
下面是有关C语言字符数组的描述,其中错误的是()
选项:
A: 不可以用赋值语句给字符数组名赋字符串
B: 可以用输入语句把字符串整体输入给字符数组
C: 字符数组中的内容不一定是字符串
D: 字符数组只能存放字符串
答案: 【 字符数组只能存放字符串】
4、单选题:
下面是对数组s的初始化操作,其中不正确的是()
选项:
A: char s[5]={"a"};
B: char s[5]={'a'};
C: char s[5]= " ";
D: char s[5]= "abcdef";
答案: 【 char s[5]= "abcdef";】
5、单选题:
有两个字符数组s1,s2,则以下正确的输入语句是()
选项:
A: gets(s1,s2);
B: scanf("%s%s",s1,s2);
C: scanf("%s%s",&s1,&s2);
D: gets("s1"),gets("s2");
答案: 【 scanf("%s%s",s1,s2);】
6、单选题:
判断字符串s1是否大于s2,应当使用()
选项:
A: if (s1>s2)
B: if (strcmp(s1,s2))
C: if (strcmp(s2,s1)>0)
D: if (strcmp(s1,s2)>0)
答案: 【 if (strcmp(s1,s2)>0)】
7、单选题:
下面叙述正确的是()
选项:
A: 两个字符串所包含的字符个数不相同时,才能进行大小比较。
B: 字符个数多的字符串比字符个数少的字符串大。
C: 字符串"123 "与"123"相等。
D: 字符串"123"小于字符串"2"。
答案: 【 字符串"123"小于字符串"2"。】
8、单选题:
下面程序段的输出结果是()char c[ ]=”ab\cn”;printf(“%d”,strlen(c));
选项:
A: 14
B: 3
C: 9
D: 6
答案: 【 3】
9、单选题:
下面程序段的输出结果是()int i;char c[5]={'1','2','','3',''};for(i=0;i<5;i++) printf("%c",c[i]);
选项:
A: '1''2'
B: 12
C: 12 3
D: 123
答案: 【 12 3】
10、单选题:
下面程序段的输出结果是()char a[7]=“123456”;char b[4]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);
选项:
A:
B:
C: 5
D: 6
答案: 【 6】
11、单选题:
以下对一维整型数组a的正确说明是__。
选项:
A: int a(10);
B: int n= 10, a[n];
C: int n; scanf("%",&n); int a[n];
D: #define SIZE 10; int a[SIZE];
答案: 【 #define SIZE 10; int a[SIZE];】
12、单选题:
以下能对一维数组a进行正确初始化的语句是__。
选项:
A: int a[10]=(0,0,0,0,0) ;
B: int a[10]={};
C: int a[]={0};
D: int a[5]={1,2,3,4,5,6};
答案: 【 int a[]={0}; 】
13、单选题:
以下对二维数组a的正确说明是__。
选项:
A: int a[3][];
B: floatf a(3,4);
C: double a[1][4];
D: float a(3)(4);
答案: 【 double a[1][4]; 】
14、单选题:
以下能对二维数组a进行正确初始化的语句是__。
选项:
A: int a[2][]={{1,0,1},{5,2,3}};
B: int a[][3]={{1,2,3},{4,5,6}};
C: int a [2][4]={{1,2,3},{4,5},{6}};
D: int a[][3={{1,0,1},{},{1,1}};
答案: 【 int a[][3]={{1,2,3},{4,5,6}};】
15、单选题:
若有说明: int a[3][4]={0};则下面正确的叙述是__。
选项:
A: 只有元素a[0][0]可得到初值0。
B: 此说明语句不正确。
C: 数组a中各元素都可得到初值,但其值不一定为0。
D: 数组a中每个元素均可得到初值0 。
答案: 【 数组a中每个元素均可得到初值0 。】
16、单选题:
以下各组选项中,均能正确定义二维实型数组a的选项是
选项:
A: float a[3][4]; float a[][4]; float a[3][]={{1},{0}};
B: float a(3,4); float a[3][4];float a[][]={{0},{0}};
C: float a[3][4]; static float a[][4]={{0},{0}}; auto float a[][4]={{0},{0},{0}};
D: float a[3][4];float a[3][];float a[][4];
答案: 【 float a[3][4]; static float a[][4]={{0},{0}}; auto float a[][4]={{0},{0},{0}}; 】
17、单选题:
下面程序段的运行结果是( )。 int m[]={5,8,7,6,9,2},i=1; do{ m[i]+=2; } while(m[++i]>5);for(i=0;i<6;i++) printf("%d ",m[i]);
选项:
A: 7 10 9 8 11 4
B: 7 10 9 8 11 2
C: 5 10 9 8 11 2
D: 5 10 9 8 11 4
答案: 【 5 10 9 8 11 2】
18、单选题:
下面程序段的运行结果是( )。 int m[]={5,8,7,6,9,2},i=1; for(i=0;i<6;i++) { if(i % 2 !=0) m[i]+=10; } for(i=0;i<6;i++) printf("%d ",m[i]);
选项:
A: 5 18 7 16 9 12
B: 15 18 17 16 19 12
C: 15 8 17 6 19 2
D: 5 8 7 6 9 2
答案: 【 5 18 7 16 9 12】
19、单选题:
以下程序段的运行结果是( )。int a[]={1,2,3,4},i,j; j=1; for(i=3;i>=0;i--) { a[i]=a[i]*j; j=j*3; } for(i=0;i<4;i++) printf("%d ",a[i]);
选项:
A: 3 6 9 12
B: 18 12 9 4
C: 27 18 9 4
D: 54 18 9 4
答案: 【 27 18 9 4】
20、单选题:
以下程序段执行后输出的结果是( )。int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%dn",a[1][5]);
选项:
A: 编译有错误。
B: 4
C: 10
D: 11
答案: 【 10】
21、单选题:
以下程序段执行后p的值是( )。 int a[3][3]={3,2,1,3,2,1,3,2,1};int j,k,p=1;for(j=0;j<2;j++) for(k=j;k<4;k++)
