2021知到答案 图解C编程 智慧树网课章节测试答案
第一章 章节测试
1、选择题:计算机唯一能直接识别的语言是( )。
选项:
A:编译语言
B:汇编语言
C:高级语言
D:机器语言
答案: 【机器语言】
2、选择题:下列叙述中错误的是( )。
选项:
A:计算机不能直接执行用C语言编写的源程序
B:后缀为.obj和.exe的二进制文件都可以直接运行
C:后缀为.obj的文件,经链接后生成的后缀为.exe的文件是一个二进制文件
D:C程序被编译后,生成的后缀为.obj的文件是一个二进制文件
答案: 【后缀为.obj和.exe的二进制文件都可以直接运行】
3、选择题:计算机选择二进制的一个主要原因是( )。
选项:
A:人不使用二进制
B:
容易使用物理器件实现
C:容易计算和计算速度快
D:它和十进制转换非常容易
答案: 【
容易使用物理器件实现
】
4、选择题:计算机的基本功能就是( )。
选项:
A:程序、数据、存储、输人和输出
B:软件、处理、硬件、数据和输出
C:输入、编码、程序、控制、输出
D:
输入、存储、处理、控制和输出
答案: 【
输入、存储、处理、控制和输出
】
5、选择题:
以下叙述错误的是( )。
选项:
A:计算机程序的算法就是解决“做什么”和“怎么做”的选择题
B:
算法和程序原则上没有区别
C:结构化程序设计的基本理念是:将一个较大的选择题细分成若干个较小选择题的组合
D:计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程
答案: 【
算法和程序原则上没有区别
】
6、选择题:在计算机内一切信息的存取、传输和处理都是以( )形式进行的。
选项:
A:十进制
B:ASCII码
C:
二进制
D:十六进制
答案: 【
二进制
】
7、选择题:
C语言程序经过编译以后生成的文件名的后缀为( )。
选项:
A:.exe
B:.c
C:.obj
D:.cpp
答案: 【.obj】
8、选择题:
以下说法错误的是( )。
选项:
A:算法可以表面上没有输入。
B:程序中的指令必须是机器可执行的,而算法中的指令则无此限制。
C:在任何条件下,算法都只有一条执行路径。
D:
所有的程序都满足有穷性。
答案: 【
所有的程序都满足有穷性。
】
9、选择题:以下说法错误的是( )。
选项:
A:算法的每一个步骤都应当能有效执行。
B:
算法也可以没有输出
C:算法代表了对选择题的解,而程序则是算法在计算机中的特定实现。
D:算法中的每个步骤都能在有限时间内完成。
答案: 【
算法也可以没有输出
】
10、选择题:
下列关于C语言的描述正确的是( )
选项:
A:低级语言 面向过程
B:
高级语言 面向过程
C:高级语言 面向对象
D:低级语言 面向对象
答案: 【
高级语言 面向过程
】
第二章 章节测试
1、选择题:C语言规定:在一个源程序中,main函数的位置( )。
选项:
A:可以放在程序的任何位置,但在执行程序时是从main函数开始执行的
B:可以放在程序的任何位置,但在执行程序时是从程序的开头执行
C:必须放在程序的后面
D:必须放在程序的开头
答案: 【可以放在程序的任何位置,但在执行程序时是从main函数开始执行的】[$]
2、选择题:
以下( )不是C语言提供的关键字。
选项:
A:scanf
B:return
C:printf
D:mian
答案: 【mian
】
3、选择题:C语言中最简单的数据类型包括 ( )。
选项:
A:整型、字符型、逻辑型
B:整型、浮点型、字符型
C:整型、浮点型、逻辑型、字符型
D:整型、浮点型、逻辑型
答案: 【整型、浮点型、字符型】
4、选择题:C语言中,下列标识符合法的是( )。
选项:
A:test.c
B:f(x)
C:retire_age
D:12-a
答案: 【retire_age】
5、选择题:C语言中运算对象必须是整型的运算符是( )。
选项:
A:%
B:=
C:/
D:+
答案: 【%】
6、选择题:下列关于C语言用户标识符的叙述中正确的是( )。
选项:
A:用户标识符中可以出现下划线和和数字,它们都可以放在用户标识符的开头
B:用户标识符中可以出现下划线,但不可以放在用户标识符的开头
C:用户标识符中可以出现下划线和中划线(减号)
D:用户标识符中不可以出现中划线,但可以出现下划线
答案: 【用户标识符中不可以出现中划线,但可以出现下划线】
7、选择题:
选项:
A:(5*a*b)/(c*d)
B:5*a*b/c*d
C:5*a*b/c/d
D:a*b/c/d*5
答案: 【5*a*b/c*d】
8、选择题:在C语言中,函数体是由 ( )括起来
选项:
A:{ }
B:[ ]
C:< >
D:( )
答案: 【{ }】
9、选择题:以下哪一个是C语言中的回车换行符 ( )
选项:
A:t
B:b
C:v
D:n
答案: 【n】
10、选择题:下面说法中正确的是( )
选项:
A:C语言程序书写时,每行必须有分号
B:C语言程序书写时,一个语句可分成几行书写
C:C语言程序书写时,不区分大小写字母
D:C语言程序书写时,一行只能写一条语句
答案: 【C语言程序书写时,一个语句可分成几行书写】
第三章 章节测试
1、选择题:C语言中,关系表达式和逻辑表达式的值是( )。
选项:
A:0或1
B:T或F
C:True或false
D:真或假
答案: 【0或1】
2、选择题:设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是( )
选项:
A:!(a<=10)&&!(a>=15)
B:a==11||a==12||a==13||a==14
C:10<a<15
D:a>10&&a<15
答案: 【10<a<15】
3、选择题:如果int a=3,b=4;则条件表达式a<b? a:b的值是( )
选项:
A:0
B:1
C:4
D:3
答案: 【3】
4、选择题:逻辑运算符两侧运算对象的数据类型( )
选项:
A:只能是0或非0正数
B:可以是任何类型的数据
C:只能是0或1
D:只能是整型或字符型数据
答案: 【可以是任何类型的数据】
5、选择题:在嵌套使用if语句时,C语言规定else总是( )
选项:
A:和之前与其最近的且不带else的if配对
B:和之前与其最近的if配对
C:和之前的第1个if配对
D:和之前与其具有相同缩进位置的if配对
答案: 【和之前与其最近的且不带else的if配对】
6、选择题:多分支选择语句switch(表达式)中的“表达式”不容许( )
选项:
A:浮点型变量
B:表达式
C:字符型变量
D:整型变量
答案: 【浮点型变量】
7、选择题:C 语言中,逻辑”真”等价于 ( )。
选项:
A:非零的数
B:大于零的整数
C:非零的整数
D:大于零的数
答案: 【非零的数】
8、选择题:下列关系表达式中结果为假的是( )。
选项:
A:3<=7
B:y=2+2
C:(a=2*2)==2
D:0!=1
答案: 【(a=2*2)==2】
9、选择题:
以下程序段的运行结果是( )。
int s=15;
switch(s/4)
{case 1: printf(“One “);
case 2: printf(“Two “);
case 3: printf(“Three “);
default: printf(“Over “);}
选项:
A:Three Over
B:One Two Three Over
C:Over
D:Three
答案: 【Three Over】
10、选择题:在C语言中,紧跟在关键字if后一对圆括号里的表达式( )
选项:
A:只能用逻辑表达式
B:只能用逻辑表达式或关系表达式
C:可以是任意表达式
D:只能用关系表达式
答案: 【可以是任意表达式】
第四章 章节测试
1、选择题:C语言中用于结构化程序设计的3种基本结构是( )
选项:
A:for、while、do…while
B:顺序结构、选择结构、循环结构
C:if、switch、break
D:if、for、continue
答案: 【顺序结构、选择结构、循环结构】
2、选择题:循环结构的特点是( )
选项:
A:以上都对
B:从上至下,逐个执行
C:根据判断条件,执行其中一个分支
D:满足条件时反复执行循环体
答案: 【满足条件时反复执行循环体】
3、选择题:以下for语句,书写正确的是( )。
选项:
A:i=1;for(i<5;i++)
B:for(i=1,i<5,)i++
C:for(i=1,i<5,i++)
D:for(i=1;i<5;i=i+2)
答案: 【for(i=1;i<5;i=i+2)】
4、选择题:下列关于for循环的描述,正确的是( )
选项:
A:在for循环中,不能用break语句跳出循环
B:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
C:for循环只能用于循环次数已经确定的情况
D:for循环是先执行循环体语句,后判断表达式
答案: 【for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来】
5、选择题:以下说法正确的是( )
选项:
A:用do-while语句构成的循环,在while后的表达式为非零时结束循环
B:用do-while语句构成的循环,在while后的表达式为零时结束循环
C:do-while语句构成的循环只能用break语句退出
D:do-while语句构成的循环不能用其他语句构成的循环来代替
答案: 【用do-while语句构成的循环,在while后的表达式为零时结束循环】
6、选择题:在循环语句的循环体中,break语句的作用是( )。
选项:
A:暂停程序的运行
B:提前结束循环,接着执行该循环后续的语句
C:结束本次循环;
D:继续执行break语句之后的循环体各语句;
答案: 【提前结束循环,接着执行该循环后续的语句】
7、选择题:以下语句正确的是( )。
选项:
A:for循环表达式的括号内的3个表达式均不可以省略。
B:用1作while循环的判断条件,则循环一次也不执行
C:程序有死循环的时候,上机编译不能通过
D:所有类型的循环都可以进行嵌套使用
答案: 【所有类型的循环都可以进行嵌套使用】
8、选择题:下列叙述中正确的是( )。
选项:
A:在循环体内使用break语句和continue语句的作用相同
B:continue语句的作用是使程序的执行流程跳出包含它的所有循环
C:break语句只能用在循环体和switch语句内
D:break语句只能用于switch语句中
答案: 【break语句只能用在循环体和switch语句内】
9、选择题:
有以下程序段
int k=0
while(k) k++;
则while循环体执行的次数是( )。
选项:
A:无限次
B:一次也不执行
C:执行一次
D:有语法错,不能执行
答案: 【一次也不执行】
10、选择题:
以下程序段的输出结果是()
int i,s=0;
for(i=0;i<10;i+=2) s+=i+1;
printf(“%dn”,s);
选项:
A:自然数1~10的累加和
B:自然数1~10中的偶数之和
C:自然数1~9中的奇数之和
D:自然数1~9的累加和
答案: 【自然数1~9中的奇数之和】
第五章 章节测试
1、选择题:C语言中,以下关于数组的描述正确的是( )
选项:
A:数组大小固定,所有元素的类型必须相同
B:数组大小可变,可以有不同类型的数组元素
C:数组大小固定,但是可以有不同类型的数组元素
D:数组大小可变,但是所有数组元素的类型必须相同
答案: 【数组大小固定,所有元素的类型必须相同】
2、选择题:若有定义int score[10];,则对score数组中的元素的正确引用是( )
选项:
A:score[0]
B:score[10]
C:score(7)
D:score[6.0]
答案: 【score[0]】
3、选择题:以下能正确定义一维数组的选项是( )
选项:
A:
#define N 100
int num [N];
B:int num [ ];
C:int N=100,num[N];
D:int num[0..100];
答案: 【
#define N 100
int num [N];
】
4、选择题:C语言中,下面能正确定义一维数组的选项是( )
选项:
A:int a[N]={1,2,3} ;
B:int a[5]={0,1,2,3,4,5};
C:int a[5]={3} ;
D:int a[5 ]=5;
答案: 【int a[5]={3} ;】
5、选择题:下述对C语言字符数组的描述中错误的是( )
选项:
A:字符数组可以存放字符串
B:可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值
C:不可以用关系运算符对字符数组中的字符串进行比较
D:字符数组中的字符串可以整体输入、输出
答案: 【可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值】
6、选择题:已知int a[3][4];则对数组元素引用正确的是( )
选项:
A:a[3][3]
B:a[2][4]
C:a[0][4]
D:a[2][0]
答案: 【a[2][0]】
7、选择题:
对以下定义语句的正确理解是 ( )
int a[10]={6,7,8,9,10};
选项:
A:将6,7,8,9,10依次赋给a[0]~a[4]
B:因为数组长度与初值的个数不相同,所以此初始化语句不正确
C:将6,7,8,9,10依次赋给a[1]~a[5]
D:将6,7,8,9,10依次赋给a[6]~a[10]
答案: 【将6,7,8,9,10依次赋给a[0]~a[4]】
8、选择题:若有初始化语句:int a[3][4]={0];,则下面正确的叙述是( )
选项:
A:此初始化语句不正确
B:只有元素a[0][0]可得到初值0
C:数组a中各元素都可得到初值,a[0][0]初值0,其他元素初值为随机数
D:数组a中每个元素都可得到初值0
答案: 【数组a中每个元素都可得到初值0】
9、选择题:下面是对数组s的初始化,其中错误的语句是( )
选项:
A:char s[5]=” “;
B:char s[5]=”Frank”;
C:char s[5]={“abc”};
D:char s[5]={‘a’,’b’,’c’};
答案: 【char s[5]=”Frank”;】
10、选择题:已有定义:char a[]=”boy”,b[]={‘b’,’o’,’y’};,则以下叙述中正确的是( )
选项:
A:上述说法都不对
B:a数组长度小于b数组长度
C:数组a和数组b长度相同
D:a数组长度大于b数组长度
答案: 【a数组长度大于b数组长度】
第六章 章节测试
1、选择题:C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是( )
选项:
A:由用户指定传递方式
B:由实参传给形参,再由形参反馈给实参
C:单向值传递
D:地址传递
答案: 【单向值传递】
2、选择题:关于实参和形参,以下错误的说法是( )
选项:
A:如果形参和实参的类型不一致,以形参类型为准
B:实参可以是常量,变量或表达式
C:实参可以为任意类型
D:形参可以是常量,变量或表达式
答案: 【实参可以为任意类型】
3、选择题:函数在定义时,若省略函数类型说明符,则该函数值的类型为( )
选项:
A:int
B:void
C:float
D:double
答案: 【int】
4、选择题:如果在一个函数中的复合语句中定义了一个变量,则该变量( )
选项:
A:为非法变量
B:只在该复合语句内有效
C:在本程序范围内有效
D:在该函数中有效
答案: 【只在该复合语句内有效】
5、选择题:以下对C语言函数的有关描述中,正确的是( )
选项:
A:在C中调用函数时,只能把实参的值传给形参,不能把形参的值送给实参
B:C程序中有调用关系的所有函数必须放在同一个源程序文件中
C:函数必须有返回值,否则不能使用函数
D:C函数既可以嵌套定义又可以递归调用
答案: 【在C中调用函数时,只能把实参的值传给形参,不能把形参的值送给实参】
6、选择题:若函数调用时的实参为普通变量,下列关于函数形参和实参的叙述中正确的是( )
选项:
A:函数的实参和其对应的形参共占同一存储章
B:形参只是形式上的存在,不占用具体存储章
C:同名的实参和形参占同一存储章
D:函数的形参和实参分别占用不同的存储章
答案: 【函数的形参和实参分别占用不同的存储章】
7、选择题:关于函数相关内容,以下叙述中错误的是( )
选项:
A:用户定义的函数中可以没有return语句
B:用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C:用户定义的函数中若没有return语句,则应当定义函数为void类型
D:函数的return语句中可以没有表达式
答案: 【用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值】
8、选择题:以下叙述中正确的是( )
选项:
A:未在定义语句中赋初值的auto变量和static变量的初值都是随机值
B:函数的形参都属于全局变量
C:静态(static)变量的生存期贯穿于整个程序的运行期间
D:全局变量的作用域一定比局部变量的作用域范围大
答案: 【静态(static)变量的生存期贯穿于整个程序的运行期间】
9、选择题:以下说法中正确的是( )
选项:
A:形式参数是全局变量
B:在函数内部定义的变量只在本函数范围内有效
C:全局变量与局部变量同名时,局部变量不起作用
D:主函数中定义的变量在所有的函数中有效
答案: 【在函数内部定义的变量只在本函数范围内有效】
10、选择题:若程序中定义了以下函数,并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。
double myadd(double a,double b)
{ return (a+b); }
选项:
A:double myadd(double a,b);
B:double myadd(double,double);
C:double myadd(double b,double a);
D:double myadd(double x,double y);
答案: 【double myadd(double a,b);】
第七章 章节测试
1、选择题:变量的指针,其含义是指该变量的( )
选项:
A:值
B:地址
C:名
D:一个标记
答案: 【地址】
2、选择题:设已有定义float x;,则以下对指针变量p进行定义其赋初值的语句中正确的是( )
选项:
A:float *p=&x;
B:float p=&x;
C:int *p=(int)x;
D:float *p=1024;
答案: 【float *p=&x;】
3、选择题:若用数组名作为函数调用的实参,传递给形参的是( )
选项:
A:数组中全部元素的值
B:数组中第一个元素的值
C:数组元素的个数
D:数组的首地址
答案: 【数组的首地址】
4、选择题:已有定义:int i,a[10],*p; , 则合法的赋值语句是( )
选项:
A:p=a+2;
B:p=i;
C:p=a[5];
D:p=a[2]+2;
答案: 【p=a+2;】
5、选择题:C语言的以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )
选项:
A:char s[10]= “hello “;
B:char t[]=”hello”,*s=t;
C:char s[10]; strcpy(s, “hello”);
D:char s[10]; s= “hello”;
答案: 【char s[10]; s= “hello”;】
6、选择题:
以下程序段执行后输出结果是( )。
char *p[10]={ “abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%dn”,strlen(p[4]));
选项:
A:4
B:5
C:3
D:2
答案: 【2
】
7、选择题:
已定义以下函数,则函数的功能是( )。
fun(char *p2, char *p1)
{ while((*p2=*p1)!=’