智慧树知到《C语言程序设计(山东联盟-青岛大学版)》章节测试答案
智慧树知到《C语言程序设计(山东联盟-青岛大学版)》章节测试答案
第一章单元测试
1、在C语言中,下面标识符非法的是()。
A.abc3
B.SUM
C.sum&
D.()name
正确答案:sum&
2、C语言源程序要正确地运行,必须要有()。
A.Printf函数
B.自定义函数
C.scanf函数
D.main函数
正确答案:main函数
3、一个C 语言程序是由()。
A.若干子程序组成
B.若干过程组成
C.函数组成
D.一个主程序和若干子程序组成
正确答案:函数组成
4、C语言中数据的基本类型包括()。
A.整型、实型、字符型和结构体
B.整型、实型、字符型和指针型
C.整型、实型、字符型
D.整型、实型
正确答案:整型、实型、字符型
5、C 语言规定:在一个源程序中,main函数的位置()
A.必须在最开始
B.可以任意
C.必须在最后
D.必须在系统调用的库函数的后面
正确答案:可以任意
第二章单元测试
1、若变量a是int类型,并执行了语句:a=';A';+1.6;,则对于运算后变量a正确的叙述是()
A.a的值是浮点型
B.a的值是整型
C.a的值是字符型
D.不允许字符型和浮点型相加
正确答案:a的值是整型
2、若有定义:int a=8,b=5,c; ,执行语句c=a/b+0.4;后,c的值为()
A.1
B.2.0
C.2
D.1.4
正确答案:1
3、如果有定义:int k=8 ,x=13;表达式的值为2的是()
A.x%=(k-k%5)
B.x%=(k%=5)
C.x%=k-k%5
D.(x%=k)-(k%=5)
正确答案:(x%=k)-(k%=5)
4、已知字母';A';的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2';后,ch1中的值是()。
A.';C'
B.67
C.';D'
D.不确定
正确答案:';D'
5、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是()
A.2.0
B.1
C.2.5
D.2
正确答案:2.0
6、以下关于标识符的说法错误的是()。
A.标识符不能与系统的关键字同名
B.标识符由字母、数字和下划线组成
C.不区分大小写,s和S是同一个变量
D.首字符必须是字母或下划线
正确答案:不区分大小写,s和S是同一个变量
第三章单元测试
1、函数putchar()可以输出一个()。
A.字符串
B.实型变量值
C.整型变量表达式值
D.字符或字符型变量值
正确答案:字符或字符型变量值
2、若定义x为double型变量,则能正确输入x值的语句是()
A.scanf(“%f”,x)
B.scanf(“%f”,&;x)
C.scanf(“%5.1f”,&;x)
D.scanf(“%lf”,&;x)
正确答案:scanf(“%lf”,&;x)
3、已m,n,k为int型变量,若从键盘输入:5,6,7<;回车>;,使m的值为5,n的值为6,k的值为7,则输入语句正确的是()。
A.scanf(“%2d%2d%2d”,&;i,&;j,&;k)
B.scanf(“%d,%d,%d”,&;i,&;j,&;k)
C.scanf(“%d()%d()%d”,&;i,&;j,&;k)
D.scanf(“i=%d,j=%d,k=%d”,&;i,&;j,&;k)
正确答案:scanf(“%d,%d,%d”,&;i,&;j,&;k)
4、#include<;stdio.h>;void main();{ ; int i,j; scanf(";%3d%2d";,&;i,&;j); printf(";i=%d,j=%d";,i,j);} ;如果从键盘上输入1234567<;回车>;,则程序的运行结果是().
A.i=1,j=2
B.i=123,j=4567
C.i=123,j=45
D.i=1234,j=567
正确答案:i=123,j=45
5、输入函数scanf()和输出函数printf()一定是在stdio.h文件中定义的。
A.正确
B.错误
正确答案:正确
第四章单元测试
1、在结构化程序设计中,不包含下列哪种结构()
A.顺序结构
B.嵌套结构
C.分支结构
D.循环结构
正确答案:嵌套结构
2、设x=3,y=-4,z=6,写出表达式 !(x>;y)+(y!=z)||(x+y)&;&;(y-z) 的结果()
A.0
B.1
C.-1
D.2
正确答案:1
3、下关于运算符优先顺序的描述中正确的是()
A.算术运算符<; 关系运算符<; 赋值运算符<; 逻辑与运算符
B.关系运算符<; 算术运算符<; 赋值运算符<; 逻辑与运算符
C.逻辑运算符<; 关系运算符<; 算术运算符<; 赋值运算符
D.赋值运算符<; 逻辑与运算符<; 关系运算符<; 算术运算符
正确答案:赋值运算符<; 逻辑与运算符<; 关系运算符<; 算术运算符
4、C语言对嵌套if语句的规定是:else总是与()
A.第一个if配对
B.其之前最近的if配对
C.缩进位置相同的if配对
D.其之前最近的且尚未配对的if配对
正确答案:其之前最近的且尚未配对的if配对
5、当a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少()if (a>;c); {a=b; b=c; c=a;}else;{a=c; c=b; b=a;}printf(“%d,%d,%d”,a,b,c)。
A.3,4,5
B.5,4,3
C.5,5,4
D.5,4,5
正确答案:5,5,4
第五章单元测试
1、在C语言中,在do-while循环结构的条件控制语句while(表达式)中的表达式为()时,循环可以反复执行。
A.false
B.0
C.1
D.true
正确答案:1
2、假设i和x都是int类型,则以下for循环的循环体执行次数是()for(i=0,x=0;i<;=9&;&;x!=876;i++) scanf(“%d”,&;x)。
A.循环体一次也不执行
B.最多执行9次
C.是无限循环
D.最多执行10次
正确答案:最多执行10次
3、以下程序段的执行结果是().;int i,j,m=0;for(i=1;i<;=15;i+=4);{; for(j=3;j<;=19;j+=4);m++;}printf(";%d";,m)。
A.25
B.12
C.20
D.15
正确答案:20
4、break语句可以中断循环,执行循环的下一条语句。
A.正确
B.错误
正确答案:正确
5、do-while语句中的循环体一般不能是复合语句。
A.正确
B.错误
正确答案:错误
第六章单元测试
1、若调用一个函数,且此函数中没有return语句,则正确的说法是()
A.该函数没有返回值
B.函数返回若干个系统默认值
C.能返回一个用户所希望的函数值
D.返回一个不确定的值
正确答案:该函数没有返回值
2、在C程序中,下面描述正确的是()
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和调用都不可以嵌套
D.函数的定义和函数调用都可以嵌套
正确答案:函数的定义不可以嵌套,但函数的调用可以嵌套
3、以下关于函数调用时参数的叙述中,错误的是()。
A.函数未被调用时,系统将不为形参分配内存单元
B.当形参是变量时,实参可以是常量、变量或表达式
C.形参可以是常量、变量或表达式
D.实参与形参的个数应相等,且实参与形参的类型必须对应一致
正确答案:形参可以是常量、变量或表达式
4、C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()。
A.函数返回值
B.全局变量
C.同名的局部变量
D.参数的形实结合
正确答案:同名的局部变量
5、C语言中实参和形参之间的数据传递是单向的“值传递”,只能由实参传给形参,反之不行。
A.正确
B.错误
正确答案:正确
第七章单元测试
1、若有说明:int a[3][4]={1};则下面正确的叙述是()。
A.数组a中各元素都可得到初值,其值一定都为1
B.此说明语句不正确
C.数组a中各元素都可得到初值,其值一定都为0
D.只有元素a[0][0]可得到初值1
正确答案:只有元素a[0][0]可得到初值1
2、在C语言中,一维数组的定义方式为:类型说明符 数组名()。
A.[整型表达式或整型常量]
B.[整型常量表达式或整型常量]
C.[常量表达式]
D.[整型表达式]
正确答案:[整型常量表达式或整型常量]
3、若有定义:int a[3][4],则对数组a元素的正确引用是()
A.a[2][4]
B.a[1,3]
C.a[2][3]
D.a(2,3)
正确答案:a[2][3]
4、若有说明:int b[4][5];则数组b各元素()
A.可在程序的运行阶段得到初值0
B.可在程序的编译或运行阶段得初值0
C.可在程序的编译阶段得到初值0
D.不能得到确定的初值
正确答案:不能得到确定的初值
5、在C语言中,数组名的命名规则与其它变量名相同。数组名后只能用圆括号括起来的常量表达式。
A.正确
B.错误
正确答案:错误
6、在二维数组a[2][3]中,a[1][1]是第5个元素。
A.正确
B.错误
正确答案:正确
第八章单元测试
1、以下对指针定义合法的语句是()
A.int y[5]={1,2,3,4,5},*p=&;y
B.char *c,c=‘x’,c=&;c
C.char ch[12]=″Hello World″,*c=ch
D.int *p=&;x=3
正确答案:char ch[12]=″Hello World″,*c=ch
2、若有定义int a[10],*p=a;,则p+5表示()
A.元素a[5]的地址
B.元素a[5]的值
C.元素a[6]的值
D.元素a[6]的地址
正确答案:元素a[5]的地址
3、有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&;a[3], b; b=p[5]; b中的值是()
A.9
B.5
C.6
D.8
正确答案:9
4、若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()
A.p=(int*)malloc(2*sizeof(int))
B.p=(int*)calloc(2,sizeof(int))
C.p=2*(int*)malloc(sizeof(int))
D.p=(int*)malloc(2*2)
正确答案:p=2*(int*)malloc(sizeof(int))
5、以下程序的输出结果是()void fun(int *x, int *y){; printf(“%d%d”, *x, *y);;*x=3; *y=4;}int main(void){;int x=1, y=2;; fun(&;y, &;x);;printf(“%d%d”, x,y);}
A.1212
B.2143
C.1234
D.2112
正确答案:2143
第九章单元测试
1、若有以下结构体定义,则用()赋值是正确的。struct s; { ;char x;int y;}t。
A.t.x=10
B.struct s st={10}
C.s.t.x=10
D.s.x=10
正确答案:t.x=10
2、若struct student; { ;int num;int age;}stu[3]={{1001,18},{1002,19},{1003,20}};则下面语句中引用非法的是()
A.stu[1].age
B.stu[3].num
C.stu[2].age
D.stu[0].num
正确答案:stu[3].num
3、struct teacher; { int num;int age;}tea()1;struct teacher *p=tea()1;下面语句中引用非法的是()
A.p=&;tea()1.age
B.tea1.age
C.(*p).num
D.p->;num
正确答案:p=&;tea()1.age
4、如果有typedef struct student; {; int s; char t; }T;则下面的描述正确的是()
A.T是结构体类型的别名
B.Student是变量名
C.可以使用T.s引用成员
D.T是变量名
正确答案:T是结构体类型的别名
5、共同体变量每次只能使用其中一个分量。
A.正确
B.错误
正确答案:正确
6、可以对共同体变量的所有成员进行初始化。
A.正确
B.错误
正确答案:错误
7、每一个枚举元素都有一个确定的整型数值。
A.正确
B.错误
正确答案:正确