首页 › 答案 › 题库 › 知到智慧树 › 未分类

智慧树知到《C君带你玩编程》章节测试答案

智慧树知到《C君带你玩编程》章节测试答案
第一章单元测试
1、将C程序编译成目标文件,其扩展名为EXE。
A.正确
B.错误
正确答案:错误
2、main函数是C程序的入口,由计算机系统负责调用。
A.正确
B.错误
正确答案:正确
3、变量必须先定义后使用。
A.正确
B.错误
正确答案:正确
4、C语言是一种()。
A.汇编语言
B.高级语言
C.低级语言
D.机器语言
正确答案:高级语言
5、下列程序运行时输入3 4,则程序的输出结果是()。
#include ";stdio.h";int multi(int a,int b)
{; return a*b; }
void main()
{; int x,y,t;printf(";Please input two integers (x and y):";);scanf(";%d%d";, &;x,&;y);t= multi(x,y);printf(";%d\n";,t); }
A.12
B.7
C.3
D.4
正确答案:12
6、若已定义char c=';a';,则变量c所占的字节数为()。
A.4
B.2
C.3
D.1
正确答案:1
第二章单元测试
1、二元运算符均可以和赋值运算符构成复合的赋值运算符。
A.正确
B.错误
正确答案:正确
2、表达式1/4+2.75的值是3。
A.正确
B.错误
正确答案:错误
3、已知i、j、k为int型变量,若从键盘输入:1,2,3<;CR>;,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是()。
A.scanf("i=%d,j=%d,k=%d",&i,&j,&k)
B.scanf("%d %d %d",&i,&j,&k)
C.scanf("%d,%d,%d",&i,&j,&k)
D.scanf("%2d %2d %2d",&i,&j,&k)
正确答案:scanf("%d,%d,%d",&i,&j,&k)
4、以下叙述中正确的是()。
A.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
B.使用putchar函数时,必须在之前包含头文件stdio.h
C.调用printf函数时,必须要有输出项
D.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
正确答案:使用putchar函数时,必须在之前包含头文件stdio.h
5、设有定义:int x=2;,以下表达式中,值不为6的是()。
A.x*=x+1
B.x++,2*x
C.2*x,x+=2
D.x*=(1+x)
正确答案:2*x,x+=2
第三章单元测试
1、所有关系运算符的运算优先级相同。
A.正确
B.错误
正确答案:错误
2、关系运算符是双目运算符,其功能是将两个运算对象进行大小比较。
A.正确
B.错误
正确答案:正确
3、当a=1,b=2,c=3时,执行语句“if(a >; c) {b=a;a=c;c=b;}”后,变量c中的值为2。
A.正确
B.错误
正确答案:错误
4、为表示关系100 ≥ b ≥ 0,应使用C语言表达式()。
A.(100 > =b)and(b > =0)
B.100 > =b > =0
C.(100 > =b)&&(b > =0)
D.(100 > =B)&&(B > =0)
正确答案:(100 > =b)&&(b > =0)
5、else子句不能单独作为语句使用,它是if语句的一部分,必须与if配对使用。
A.正确
B.错误
正确答案:正确
第四章单元测试
1、在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。
A.正确
B.错误
正确答案:错误
2、循环for()的循环条件始终为真。
A.正确
B.错误
正确答案:正确
3、若i为整型变量,则 for(i=2;i==0;)printf(";%d";,i--);循环执行次数是0次。
A.正确
B.错误
正确答案:正确
4、若变量已正确定义,有以下程序段
i=0;
do printf(";%d,";,i);while(i++);
printf(";%d\n";,i);
其输出结果是()。
A.程序进入无限循环
B.0,1
C.1,1
D.0,0
正确答案:0,1
5、下列程序的输出结果是()。#include ";stdio.h";void main();{ int i,a=0,b=0;for(i=1;i <; 10;i++);{ if(i%2==0) {a++; continue;};b++;};printf(";a=%d,b=%d";,a,b);}
A.a=4,b=5
B.a=5,b=4
C.a=5,b=5
D.a=4,b=4
正确答案:a=4,b=5
第五章单元测试
1、数组名代表数组的首地址。
A.正确
B.错误
正确答案:正确
2、一个数组可以存储不同类型的数据。
A.正确
B.错误
正确答案:错误
3、若有定义:int a[10];,使用数组元素时,下标的最小值是1,最大值是10。
A.正确
B.错误
正确答案:错误
4、下面程序的运行结果是()。#include <; stdio.h >;main(){ int a[5],i; for(i=0;i<; 5;i++); { a[i]=9*(i-2+4*(i >;3))%5; printf(";%2d";,a[i]); };}
A.-3-4 0 4 0
B.-3-4 0 4 3
C.-3-4 0 4 4
D.-3-4 0 4 2
正确答案:-3-4 0 4 4
5、下面程序的运行结果是()。#include <; stdio.h >;main(){ int a[3][3]={1,2,3,4,5,6,7,8,9},i; for(i=0;i<;=2;i++) printf(";%d ;";,a[i][2-i]);}
A.3 5 7
B.1 5 9
C.1 4 7
D.3 6 9
正确答案:3 5 7
6、数组在定义时可以不指定数组的长度,可根据程序中实际使用的元素个数决定。
A.正确
B.错误
正确答案:错误
第六章单元测试
1、如果某个函数在定义时省略了存储类型,则默认的存储类型是int。
A.正确
B.错误
正确答案:正确
2、函数可以嵌套定义,但是不可以嵌套调用。
A.正确
B.错误
正确答案:错误
3、函数中的多个return语句,可以实现调用该函数后,多个值同时被返回。
A.正确
B.错误
正确答案:错误
4、以下程序运行后的输出结果是()。#include ";stdio.h";int f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(";%d\n";,m);}int f(int x){return x*2;}
A.4
B.8
C.2
D.1
正确答案:8
5、以下程序的输出结果是()。#include ";stdio.h";f(int b[],int m,int n){ int i,s=0;for(i=m;i<;= n;i=i+2);s=s+b[i];return ;s; }main(){ int x,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf(";%d\n";,x);}
A.8
B.18
C.10
D.15
正确答案:18
第七章单元测试
1、若有定义int a[5],*p=a;,则对a数组元素的正确引用是()。
A.a+2
B.*&a[5]
C.*(p+5)
D.*(a+2)
正确答案:*(a+2)
2、以下程序的运行结果是()。#include ";stdio.h";main(){int m=1,n=2,*p=&;m,*q=&;n,*r;r=p;p=q;q=r;printf(";%d,%d,%d,%d\n";,m,n,*p,*q);}
A.1,2,1,2
B.2,1,1,2
C.1,2,2,1
D.2,1,2,1
正确答案:1,2,2,1
3、若有语句int *point,a=4;和point=&;a; 下面均代表地址的一组选项是()。
A.&*a,&a,*point
B.&point,*point,&a
C.&a,&*point,point
D.a,point,*&a
正确答案:&a,&*point,point
4、已知int a[4],*p;,则语句p=&;a;是正确的。
A.正确
B.错误
正确答案:错误
5、指针变量的类型不是该变量本身的类型,而是它所指向的变量的类型。
A.正确
B.错误
正确答案:正确
第八章单元测试
1、下列的结论中只有()是正确的。
A.所有的递归程序均不可以采用非递归算法实现
B.只有部分递归程序可以用非递归算法实现
C.所有的递归程序均可以采用非递归算法实现
D.以上三种说法都不对
正确答案:所有的递归程序均可以采用非递归算法实现
2、以下程序的执行结果为()。#include ";stdio.h"; float fun(int x,int y)
{; return(x*y); }
main()
{ int a=2,b=5,c=8;printf(";%.0f";,fun((int)fun(a+b,c),a-b));}
A.-168
B.24
C.168
D.-24
正确答案:-168
3、以下程序的输出结果是()。#include ";stdio.h";#define f(x) x*xvoid main(){ ;int a=6,b=2,c;c=f(a)/f(b);printf(";%d\n";,c);}
A.9
B.18
C.36
D.6
正确答案:36
4、有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。
A.正确
B.错误
正确答案:错误
5、下列程序的运行结果为()。
#include ";stdio.h";#define MA(x) x*(x-1)
void main()
{ int a=1,b=2;printf(";%d";,MA(1+a+b));
}
A.8
B.5
C.7
D.6
正确答案:8
第九章单元测试
1、结构体中各个成员的数据类型必须是相同的。
A.正确
B.错误
正确答案:错误
2、typedef的作用是给已有的数据类型取一个别名。
A.正确
B.错误
正确答案:正确
3、结构体变量所占用空间是全部成员占用空间之和。
A.正确
B.错误
正确答案:正确
4、在定义一个共用体变量时,系统分配给它的内存是()。
A.各成员所需内存之和
B.第一个成员所需内存
C.任意一个成员所需内存
D.成员中占用内存最大者
正确答案:成员中占用内存最大者
5、已知对学生记录的描述为:
struct student
{ int num;; char name[20],sex; struct{; int year,month,day; }birthday;};struct student stu;设变量stu中的";生日";是";1995年11月12日";,对";birthday";正确赋值的程序是()。
A.stu.year=1995;stu.month=11;stu.day=12
B.year=1995;month=11;day=12
C.birthday.year=1995;birthday.month=11;birthday.day=12
D.stu.birthday.year=1995;stu.birthday.month=11;stu.birthday.day=12
正确答案:stu.birthday.year=1995;stu.birthday.month=11;stu.birthday.day=12
第十章单元测试
1、C语言中通过文件指针对它所指向的文件进行操作。
A.正确
B.错误
正确答案:正确
2、函数rewind()的作用是使文件指针返回上次移动的位置。
A.正确
B.错误
正确答案:错误
3、以下函数不能用于向文件写入数据的是()。
A.fputc
B.fprintf
C.fwrite
D.ftell
正确答案:ftell
4、下列关于C语言文件的叙述中正确的是()。
A.文件由字符序列组成,其类型只能是文本文件
B.文件由结构序列组成,可以构成二进制文件或文本文件
C.文件由数据序列组成,可以构成二进制文件或文本文件
D.文件由一系列数据依次排列组成,只能构成二进制文件
正确答案:文件由数据序列组成,可以构成二进制文件或文本文件
5、函数fopen()不可以打开二进制文件。
A.正确
B.错误
正确答案:错误
第十一章单元测试
1、以下数据结构中不属于线性数据结构的是
A.二叉树
B.线性表
C.队列
D.栈
正确答案:二叉树
2、算法的时间复杂度是指
A.算法程序中的指令条数
B.法执行过程中所需要的基本运算次数
C.算法程序的长度
D.执行算法程序所需要的时间
正确答案:法执行过程中所需要的基本运算次数
3、算法一般都可以用哪几种控制结构组合而成
A.循环、分支、递归
B.顺序、循环、嵌套
C.顺序、选择、循环
D.循环、递归、选择
正确答案:顺序、选择、循环
4、在深度为5的满二叉树中,叶子结点的个数为
A.16
B.31
C.32
D.15
正确答案:16
5、数据结构中,与所使用的计算机无关的是数据的
A.物理和存储结构
B.逻辑结构
C.存储结构
D.物理结构
正确答案:逻辑结构
第十二章单元测试
1、下面概念中,不属于面向对象方法的是
A.过程调用
B.对象
C.类
D.继承
正确答案:过程调用
2、结构化程序设计主要强调的是
A.程序的易读性
B.程序的可移植性
C.程序的执行效率
D.程序的规模
正确答案:程序的易读性
3、检查软件产品是否符合需求定义的过程称为
A.验证测试
B.集成测试
C.确认测试
D.验收测试
正确答案:确认测试
4、在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是
A.目标的集合
B.路径的集合
C.循环的集合
D.地址的集合
正确答案:路径的集合
5、下面不属于软件工程的3个要素的是
A.环境
B.方法
C.工具
D.过程
正确答案:环境