程序设计基础(北京科技大学)智慧树知到章节测试答案

第一章测试

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
3.若有源程序:int a=1; while(a){}; 则while循环中循环体执行的次数是( )。
A:语法有误 B:1 C:0 D:无限次
答案:D
4.若有源程序:则运行的结果是:( )。
A:语法有误 B:0 C:### D:***
答案:C
5.若有源程序:则屏幕上输出的结果是:( )。
A:22 B:32 C:21 D:10
答案:C
6.若有源程序:则屏幕上输出的结果是:( )。
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
3.以下叙述中,正确的描述是有( )。
A:函数之内定义的变量称为内部变量,内部变量是全局变量 B:外部变量与局部变量的作用范围不同 C:在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量 D:外部变量定义和外部变量声明的含义不同
答案:BCD
4.一个C程序可以由若干各函数组成,这些函数可以书写在不同的文件中。( )
A:错 B:对
答案:B
5.以下程序输出结果是( )。
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
3.实现字符串拷贝的代码如下,空格中应该填写的是( )。
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
4.下列程序数组作为参数传递到函数int a[5],b;b = function(a,5);则function的函数原型定义正确的是( )。
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
5.下列数组初始化正确的是( )。
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
3.若定义了char *str=”Hello!”;,则下面程序段中正确的是( )。
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
4.下列函数的功能为( )。
A:交换*p1和*p2的地址 B:交换*p1和*p2的值 C:可能造成系统故障 D:正确,但无法改变*p1和*p2的值
答案:B
5.已知指针p的指向如下图所示,则表达式*p++的值为( )。
A:1 B:3 C:2 D:4
答案:A