程序设计基础(北京科技大学)智慧树知到章节测试答案
第一章测试
1.存储程序的主要工作原理是将数据与程序存入( ),程序自动执行。
A:外存 B:输入设备 C:输出设备。 D:内存
答案:D
2.下列软件中,属于系统软件的是( )。
A:Excel B:PowerPoint C:Word D:Windows
答案:D
3.比较以下用不同进制表示的数值,其中最小的数是( )。
A:十进制数73 B:二进制数1001000 C:八进制数107 D:十六进制数4A
答案:C
4.大写字母B的ASCII码的十六进制值是( )。
A:61H B:62H C:41H D:42H
答案:D
5.使用一个字节表示,-11的补码是( )。
A:11110101 B:00001011 C:11110100 D:10001011
答案:A
6.汉字“国”的UTF-8编码是( )。
A:FD56 B:E59BBD C:B9FA D:56FD
答案:B
第二章测试
1.以下数据类型数据占64位存储空间的有( )。
A:char B:Double C:float D:int
答案:B
2.若有源程序:则屏幕上输出的结果是(
)。
A:323232 B:32 32 32 C:32 x32 032 D:32 20 40
答案:D
3.若有源程序:则屏幕上输出的结果是(
)。
A:65,66 B:C:65
66 D:
答案:B
4.若有源程序:则屏幕上输出的结果是(
)。
A:11 B:20 C:0 D:15
答案:A
5.若有源程序:double x=3.3;,则表达式(int)x*0.3的值是( )。
A:1.00 B:0.9 C:0.99 D:0
答案:B
第三章测试
1.若有源程序:int x=4; x*=3+2; printf("%d",x); 则屏幕上输出的结果是( )。
A:20 B:4 C:14 D:11
答案:A
2.下面有关循环控制语句的描述,正确的是( )。
A:do-while 语句构成的循环只能用break 语句退出 B:do-while 语句构成的循环不能用其他语句构成的循环来代替
C:用do-while 语句构成的循环,可以用break 语句退出 D:用do-while 语句构成的循环,在while 后的表达式为非零时结束循环
答案:C
A:语法有误 B:1 C:0 D:无限次
答案:D
A:语法有误 B:0 C:### D:***
答案:C
A:22 B:32 C:21 D:10
答案:C
A:ww9 B:ww10 C:www9 D:www10
答案:B
第四章测试
1.以下只有在使用时才为该类型变量分配内存的存储类说明是( )。
A:auto和static B:extern和register C:register和static D:auto和register
答案:D
2.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。
A:单向值传递 B:由实参传给形参,再由形参传回实参 C:传递方式由用户指定 D:地址传递
答案:A
A:函数之内定义的变量称为内部变量,内部变量是全局变量 B:外部变量与局部变量的作用范围不同
C:在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量 D:外部变量定义和外部变量声明的含义不同
答案:BCD
A:错 B:对
答案:B
A:m=-55 B:m=-5 C:m=5 D:m=55
答案:B
第五章测试
1.以下不能对二维数组a进行正确初始化的语句是( )。
A:int a[2][3] = {0}; B:int a[2][3] = {{1,2},{3,4},{5,6}}; C:int
a[][3] = {1,2,3,4,5,6}; D:int a[][3] = {{1,2},{0}};
答案:B
2.定义如下变量和数组:则下列语句的输出结果是(
)。
A:831 B:952 C:842 D:951
答案:D
A:(str2[i++]=str1[i++]) != '\0' B:str1[i] != '\0',str2[i]=str1[i]
C:(str2[i]=str1[i]) != '\0' D:str2[i]=str1[i]
答案:CD
A:int function(int a[5], int n); B:int n); C:int function(int
D:int function(int a[], int n); E:int function(int a[1], int n);
答案:ADE
A:float a[5]={2.1,2.3,4.3}; B:float a[]={1,2,3,4}; C:char
a[]="hello\0word"; D:char a[5]= "hello";
答案:ABC
第六章测试
1.设有以下定义和语句:int a[3][2]={1,2,3,4,5,6},
*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是( )。
A:a[1][2] B:a[0][1] C:a[1][1] D:a[1][0]
答案:C
2.设有如下定义int (*pt)();,则以下叙述中正确的是( )。
A:pt是指向函数的指针变量,该函数的返回值是整型数据 B:pt是指向一维数组的指针变量 C:pt是指向整型数组的指针变量
D:pt是一个函数名,该函数的返回值是指向整型数据的指针
答案:A
A:char c[5]; strcpy(p=c+2, str+3); B:char c[5], *p;
strcpy(p=&c[1], &str[3]); C:char c[ ], *p=c; strcpy(p, str); D:char c[5];
strcpy(c, str);
答案:A
A:交换*p1和*p2的地址 B:交换*p1和*p2的值 C:可能造成系统故障 D:正确,但无法改变*p1和*p2的值
答案:B
A:1 B:3 C:2 D:4
答案:A
第七章测试
1.有如下定义:对结构体变量person1的出生年份进行赋值时,下面正确的赋值语句是(
)。
A:birthday.year=2003 B:person1.birthday.year=2003
C:person1.year=2003 D:year=2003
答案:B
2.下面的代码对学生数组中的数据按照姓名进行升序排序,“【填空】”处应填入的代码是( )。
A:B:其余选项都不对
C:D:
答案:D
A:B:C:D:
答案:B
A:p++ B:p=&stu C:(p++)->num D:(*p).num
答案:ABCD
A:p = (LinkNode)malloc(sizeof(LinkNode)); B:p = (struct
node*)malloc(sizeof(struct node)); C:p =
(LinkNode*)malloc(sizeof(LinkNode)); D:p = (struct
node)malloc(sizeof(struct node));
答案:BC