程序设计基础智慧树知到答案章节测试2023年广东工业大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

绪论单元测试
1.以下对C语言程序的描述,正确的是()。

A:C语言程序从包含的第一个头文件开始执行
B:C语言程序总是从main函数开始执行
C:C语言程序从定义的第一个函数开始执行
D:C语言程序首先执行main函数前的语句
答案:B
2.C语言属于()语言。

A:汇编语言
B:机器语言
C:面对对象语言
D:高级语言
答案:D
3.以下对C语言程序工作过程的描述,错误的是()。

A:程序中的指令、数据均以二进制形式存储在存储器中
B:程序编译链接为可执行文件后存储在磁盘中
C:执行程序时通过解释器,逐行边解释为机器可理解的指令边执行这些指令D:程序执行时将按照程序指定的逻辑从存储器中获取指令,并逐条执行
答案:C
4.以下关于计算机语言的描述,错误的是()。

A:计算机可以不需要解析直接使用高级语言
B:汇编语言中使用了助记符来帮助开发人员开发
C:计算机可以直接使用机器语言
D:计算机高级语言(如C语言)更具有可读性,开发效率进一步提升
答案:A
5.C语言的功能和用途有()。

A:编写嵌入式系统
B:直接与硬件交互
C:编写操作系统底层调度算法
D:开发其他计算机高级语言
答案:ABCD
6.C语言程序中包含()。

A:main函数
B:定义的变量
C:助记符
D:头文件
答案:ABCD
7.C语言程序中可以没有main函数,也可以执行。

()
A:错
B:对
答案:A
第一章测试
1.以下不是算法的特征是()
A:可行性
B:确切性
C:简洁性
D:有穷性
答案:C
2.以下不是评价一个算法的指标()
A:时间复杂度
B:问题的规模
C:空间复杂度
D:健壮性
答案:B
3.以下哪种图形表示选择结构()
A:
B:
C:
D:
答案:B
4.变量n初始为1,以下代码中哪个n最终可以为10()
A:while(n<10){n=n+1;}
B:while(n<=10){n=n+1}
C:while(int i=0; i<=10; i++){n=n i}
D:while(int i=10; i>=0; i–){n=n i}
答案:A
5.实现x和y的值交换,能够实现此功能的是()
A:int t; t=x; x=y; y=t;
B:x=y; y=x;
C:x=y;
D:x=y; y=x; x=x;
答案:A
6.结构程序化设计不应该使用()
A:自顶向下,逐步细化的方法
B:模块化设计
C:灵活、简洁的goto结构
D:三种基本结构:顺序结构、选择结构、循环结构的编码方法
答案:C
7.程序的基本结构包括()
A:选择结构
B:逻辑结构
C:顺序结构
D:循环结构
答案:ACD
8.结构化程序设计方法包括()
A:结构化编码
B:逐步细化
C:自顶向下
D:模块化设计
答案:ABCD
9.算法有且只有一个输入和输出()
A:错
B:对
答案:A
10.描述算法可用自然语言、传统流程图、N-S流程图来描述()
A:对
B:错
答案:A
第二章测试
1.下列定义变量的语句中正确的是:()
A:int int123
B:float US$
C:double int
D:char For
答案:A
2.C语言中最简单的数据类型包括:()
A:整型、字符型、逻辑型
B:整型、实型、逻辑型、字符型
C:整型、实型、逻辑型
D:整型、实型、字符型
答案:D
3.main(){int a=8,b=4;printf(“%d”, b=b/a);}上述程序的输出结果是()
A:不确定值
B:0
C:1
D:4
答案:B
4.a=12
5.534;a=(int)125.521%4;设a为int型变量,执行上述赋值语句后,a
的取值分别是()
A:125,21
B:125,1
C:125,31
D:125.534,2
答案:B
5.int b=3; ++b;则b的值为()
A:5
B:2
C:3
D:4
答案:D
6.下列说法不正确的是()
A:主函数main中定义的变量在整个文件或程序中有效
B:形式参数是局部变量
C:在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句
中有效
D:不同函数中,可以使用相同名字的变量
答案:A
7.以下属于不合法赋值语句的是()
A:x+y;
B:x=y=200;
C:–d;
D:c=int(a+b);
答案:AD
8.以下选项是不合法常量的是()
答案:AD
9.¥temp是合法的变量名称()
A:错
B:对
答案:A
10.编译系统把浮点型常量都按双精度处理,分配16个字节()
A:错
B:对
答案:A
第三章测试
1.main() {int a=1, b=2, c=3;if(a<c) {b=a;c=b;a=c;} else {a=0;}printf(“a=%d”, a);}
上述程序的输出是()
A:2
B:0
C:1
D:3
答案:C
2.以下一组运算符中,优先级最低的运算符是()
A:-
B:>
C:*
D:!=
答案:D
3.#include<stdio.h>int main(){ int a=1,b=2,c=3,d=4,m=2,n=2; (m=a<
b)||(n=c>d); printf(“%d:1 0
B:0 1
C:1 2
D:2 2
答案:C
4.若int i=0,j=1,k=2 k= i++ && j++;则此时的k为多少()
A:0
B:2
C:1
D:3
答案:A
5.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?c:d的结果为()
A:3
B:1
C:4
D:2
答案:A
6.以下不能作为switch语句中的条件的是()
A:1
B:1+1
C:‘A’
D:3
答案:B
7.以下 if语句形式正确的有()
A:if(表达式){若干语句;}else if{若干语句;}
B:if(表达式){若干语句;}if {若干语句;}else{若干语句;}
C:if(表达式){若干语句;}
D:if(表达式){若干语句;}else{若干语句;}
答案:CD
8.以下对逻辑运算符两侧的运算对象的数据类型描述不正确的是()
A:可以是整数或字符型数据
B:只能是0或非0整数
C:只能是0或者1
D:可以是任何类型的整数
答案:BC
9.条件运算符?和:是一对运算符,不能分开单独使用。

()
A:对
B:错
答案:A
10.在switch语句中,每一个的case常量表达式的值可以相同。

()
A:错
B:对
答案:A
第四章测试
1.下面有关for循环的错误描述有()
A:for循环是先执行循环体语句,后判定表达式
B:在for循环中,可以用break语句跳出循环体
C:for循环语句中,可以包含多条语句,但要用花括号括起来
D:for循环只能用于循环次数已经确定的情况
答案:A
2.以下叙述正确的是()
A:只能在循环体内和switch语句体内使用break语句
B:continue语句的作用是结束整个循环的执行
C:在循环体内使用break语句或continue语句作用相同
D:从多层循环嵌套中退出时,只能使用goto语句
答案:A
3.int k=0;while(k=0) k=k-1;对上述程序段叙述正确的是()
A:无限循环
B:while循环执行10次
C:循环体一次也不执行
D:循环体被执行
答案:C
4.for(i=3;i;i–)for(j=0;j<2;j++)for(k=0;k<=2;k++){……}若i,j已定义成int型,
则上述程序段中内循环体的总执行次数是()
A:18
B:27
C:30
D:36
答案:A
5.int a=10,b=0;do{b+=2;a-=2+b;}while(a>=0);上述程序段中,循环体的执行次
数是()
A:4
B:5
C:3
D:2
答案:C
6.main(){for(int i=1;i<=5;i++){if(i%2) printf(““);else
continue;printf(”#“);}printf(”$\n");}上述程序的输出结果是() A:#*#*#*$ B:##$
C:###$
D:##$
答案:C
7.在C语言中,以下说法错误的是()
A:不能使用do-while构成循环
B:do-while构成的循环必须用break才能退出
C:do-while构成的循环,当while中的表达式值为零时结束循环
D:do-while构成的循环,当while中的表达式值为非零时结束循环
答案:ABD
8.for(t=1;t<=100;t++){scanf(“%d”,&x);if(x<0) continue;printf(“%d”,t);}对上
述程序段,描述错误的是()
A:当x<0时,整个循环结束
B:最多允许输出100个非负整数
C:printf函数永远也不执行
D:当x>=0时,什么也不输出
答案:ACD
9.do-while语句构成的循环不能用其他语句构成的循环来代替。

()
A:错
B:对
答案:A
10.while的循环控制条件比do-while的循环控制条件严格。

()
A:对
B:错
答案:B
第五章测试
1.int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; 若有上述数组说明,则数值最大的和
最小的元素下标分别是()
A:11,0
B:1,11
C:1,12
D:0,12
答案:A
2.int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};若有上述数组说明,则int i=10; a[a[i]]
元素数值是()
A:10
B:5
C:6
D:9
答案:C
3.假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在
内存中所占字节数是()
A:6
B:20
C:10
D:3
答案:B
4.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为()
A:4
B:2
C:5
D:3
答案:D
5.以下定义语句中,错误的是()
A:char s[10]=“test”;
B:int n=5, a[n];
C:int a[]={1,2};
D:char a[5]={0};
答案:B
6.int x[3][3]={1,2,3,4,5,6,7,8,9};for (int i=0;i<3;i++) printf(“%d”,x[i][2-i]);上述
程序段的输出结果是:()
A:1 5 9
B:3 5 7
C:1 4 7
D:3 6 9
答案:B
7.下面初始化正确的是()
答案:ABCD
8.下面二维数组初始化正确的是()
A:int arr[][4] = {{2,3},{4,5}};
B:int arr[3][4] = {{1,2,3,4}};
C:int arr[3][] = {1,2,3,4};
D:int arr[3][4] = {{1,2},{4,5}};
答案:ABD
9.字符串比较的规则是: 将两个字符串自左至右逐个字符相比(按ASCII码值大
小比较),直到出现不同的字符或遇到′\0′为止。

()
A:对
B:错
答案:A
10.scanf函数中的输入项如果是字符数组名,不需要再加地址符&。

()
A:对
B:错
答案:A
第六章测试
1.未指定存储类别的变量,其默认的隐含存储类别为()。

A:register
B:static
C:auto
D:extern
答案:C
2.将数组名作为函数调用时的实参时,传递给形参的是()。

A:数组所有元素
B:数组的首地址
C:数组的第一个元素
D:数组元素的个数
答案:B
3.对C语言中函数的描述正确的是()。

A:可以嵌套定义
B:嵌套调用和递归调用均可以
C:可以递归调用和嵌套调用要看
D:可以嵌套调用,不可以递归调用
答案:B
4.C语言在函数调用时,以下说法正确的是()。

A:实参数量可以多于形参数量
B:实参和形参的类型需要保持一致
C:形参可以不指定具体的类型,由实参确定类型
D:形参在函数调用后仍然在内存中,直到程序运行结束才释放空间
答案:B
5.以下对C语言函数的返回值说法中,正确的是()。

A:对于void函数,函数中可以出现return
B:返回值类型可以临时确定
C:函数中不能有多个return语句
D:返回值类型由函数定义的类型决定
答案:D
6.当数组名作为函数参数传递时,下面说法正确的是()。

A:形参可以不指定大小
B:形参必须指定大小,否则会溢出的情况
C:形参不是地址变量
D:形参接收到的是数组的第一个元素值
答案:A
7.以下对C语言函数的理解正确的有()
A:C语言的执行总是从main函数开始的,且一定在main函数中结束
B:C语言函数定义和调用的越多,运行时间开销呈指数型增长
C:C语言函数的使用可以模块化各个功能组件,方便调用
D:C语言是过程性语言,使用函数可以增强可读性和维护性
答案:ACD
8.以下对C语言存储方式的描述正确的有()。

A:由于编译器可以预先知道函数的执行流程,局部变量可以提前存在静态存储区中
B:函数形式参数存储在动态存储区,在调用函数前提前分配空间
C:全局变量全部存放在静态存储区中
D:全局变量在程序执行过程中是静态分配和释放的
答案:CD
9.在函数内定义的变量是局部变量,只在函数内有效,在函数外定义的变量是
全局变量。

()
A:错
B:对
答案:B
10.在不同函数中,可以定义具有相同名称的临时变量。

()
A:对
B:错
答案:A
第七章测试
1.一个变量的指针,指的是该变量的()
A:值
B:地址
C:变量名
D:助记符
答案:B
2.int a=2, *p= 则下列函数调用中错误的是()
A:print f(“%d”, a);
B:scanf(“%d”, p);
C:printf(“%d”, p);
D:scanf(“%d”, &a);
答案:C
3.int p, a=10, b=1; p= a=p+b;执行该段程序结束后,a的值为()
A:12
B:10
C:11
D:编译出错
答案:C
4.以下语句中,对字符串操作正确的语句是()
A:char s; scanf(“%s”, &s);
B:char s[5]={“ABCDE”};
C:char s=”ABCDE”;
D:char s[5]={‘a’,’b’,’c’,’d’,’e’,’’};
答案:C
5.int a[5]={1,2,3,4,5}; int p=&a[2];则下面对p的操作错误的是()
A:int q=a; q=q+p;
B:p-1
C:p+1
D:++p
答案:A
6.void fun(int p1, int p2) {int p; p=p1; p1=p2; p2=p;}该段函数的作用为()
A:交换p1和p2的值
B:语法正确,但无法交换p1和p2的值
C:交换p1和p2的地址
D:语法错误
答案:A
7.char *p1 = “Hello,word!”; char p2[] = “Hello,world!”;对p1和p2的描述错误
的有()
A:p1由于是字符指针变量,所以sizeof(p1)=4
B:p2没有包含结束标志符’’
C:p2是字符数组,sizeof(p2)=13
D:p1是指针指向字符串,所以sizeof(p1)=13
答案:BD
8.以下指针变量定义和引用正确的有()
A:int p, i;
B:int i=5; void p=
C:int p=&i, i;
D:int i, p=
答案:AD
9.指针可以实现对数据的间接访问。

()
A:对
B:错
答案:A
10.指针的类型可以不跟其所指向的变量的数据类型一致。

()
A:错
B:对
答案:A。

相关文档
最新文档