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

智慧树知到《C语言程序设计(山东联盟-青岛科技大学)》章节测试答案

智慧树知到《C语言程序设计(山东联盟-青岛科技大学)》章节测试答案
第一章单元测试
1、流程图中用下列哪一个图形符号表示判断?()
A.矩形框
B.菱形框
C.平行四边形框
D.圆形框
正确答案:菱形框
2、流程图中用下列哪种图形符号表示事情处理过程的开始?
A.圆括号矩形
B.矩形
C.箭头
D.圆圈
正确答案:圆括号矩形
3、流程图中用于描述输出的是下列哪一个图形符号?
A.矩形框
B.菱形框
C.平行四边形框
D.圆括号矩形框
正确答案:平行四边形框
4、以下选项中哪一个是C语言关键字()。
A.printf
B.include
C.fun
D.default
正确答案:default
5、下列选项中不属于C语言关键字的是()。
A.default
B.enum
C.register
D.external
正确答案:external
6、C语言提供的合法关键字是()。
A.swith
B.cher
C.Case
D.default
正确答案:default
7、下列哪一个选项不属于C语言的关键字()。
A.while
B.break
C.integer
D.static
正确答案:integer
8、下列四组选项中均不是C语言关健字的选项是()。
A.define ;IF ;type
B.gect ;char ;printf
C.include ;scanf ;case
D.while ;go ;pow
正确答案:define ;IF ;type
9、C语言提供的合法数据类型关键字是()。
A.float
B.Signed
C.Integer
D.Char
正确答案:float
10、在以下各组标识符中,均可以用作变量名的一组是()。
A.a01, Int
B.table()1, a*1
C.0()a, W12
D.for, point
正确答案:a01, Int
11、下列不合法的C语言中标识符是()。
A.student
B.#xyz
C.()total
D.PI
正确答案:#xyz
12、以下不合法的C语言标识符是()。
A.ABC
B.abc
C.a()bc
D.ab.c
正确答案:ab.c
13、下列字符串是合法标识符的是()。
A.()HJ
B.9()student
C.long
D.LINE 1
正确答案:()HJ
14、下列标识符组中,合法的用户标识符为()。
A.()0123与ssiped
B.del-word与signed
C.list与*jer
D.keep%与wind
正确答案:()0123与ssiped
15、以下选项中不合法的用户标识符是()。
A.abc.c
B.file
C.Main
D.PRINT
正确答案:abc.c
16、以下选项中不合法的用户标识符是()。
A.()123
B.Printf
C.A$
D.Dim
正确答案:A$
17、在下列C语言程序中,可以用做变量名的是()。
A.1
B.a1
C.int
D.*p
正确答案:a1
18、以下符号中不能用作用户标识符的符号是()。
A.()256
B.void
C.Scanf
D.Struct
正确答案:void
19、下面四个选项中,均是不合法的用户标识符的选项是()。
A.A; p()0; do
B.float; lao()A
C.b-a; goto; int
D.()123; temp; INT
正确答案:b-a; goto; int
20、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A.必须为大写
B.必须为下划线
C.必须为字母或下划线
D.可以是字母、数字和下划线中的任一种字符
正确答案:必须为字母或下划线
21、C语言规定标识符只能由字母、数字和小数点三种字符组成。()
A.正确
B.错误
正确答案:错误
22、65的二进制32位定长形式是00000000 00000000 00000000 01000001
A.正确
B.错误
正确答案:正确
23、下面4个选项中,均是正确的八进制数和十六进制数的选项是()。
A.-10;0X8f;-011
B.0abc;-017; 0xc
C.0010 ;-0x11;0xf1
D.0a12;-0x123 ;-0xa
正确答案:0010 ;-0x11;0xf1
24、某种数制每位上所使用的数码个数称为该数制的()。
A.基数
B.位权
C.数值
D.指数
正确答案:基数
25、下面四个选项中,均是不正确的八进制或十六进制数的选项是()。
A.016; 0x8f;018
B.0abc; 017;0xa
C.010; -0x11 ;0x16
D.0a12; 7ff ;-123
正确答案:0a12; 7ff ;-123
第二章单元测试
1、C语言定义一个变量,占用内存中的一个存储空间。()
A.正确
B.错误
正确答案:正确
2、C语言中,要求对所有用到的变量先定义,然后才能使用。()
A.正确
B.错误
正确答案:正确
3、下面四个选项中均是合法整型常量的选项是()。
A.160;0xffff;011
B.-0xcdf ;01a ;0xe
C.-01;986,012 ;0668
D.-0x48a; 2e5;0x02B2
正确答案:160;0xffff;011
4、下面四个选项中,均是不合法整型常量的选项是()。
A.-0f1 ;-0xffff ;0011
B.-0xcdf ;017 ;12,456
C.-018;999 ;5e2
D.-0x48eg -068; 03f
正确答案:-0x48eg -068; 03f
5、下列选项中表示一个正确的整型常量()。
A.1.2
B.-20
C.1,000
D.4 5 6
正确答案:-20
6、若a为整型变量,则语句a=-2;printf(";%d";,a)()。
A.赋值不合法
B.输出值为-2
C.输出为不确定值
D.输出值为2
正确答案:输出值为-2
7、在变量声明中给变量赋初值的方法是:int a=b=c=10()
A.正确
B.错误
正确答案:错误
8、如果i的原值为3,则:j=++i;j的值为3。()
A.正确
B.错误
正确答案:错误
9、设C语言中一个int型数据在内存中占2个字节,则int数据的取值范围为-32768~32767。()
A.正确
B.错误
正确答案:正确
10、下面四个选项中,均是不合法浮点数的是()。
A.160; 0.12;e3
B.123; 2e4.2;.e5
C.-018; 123e4; 0.0
D.-e3; .234; 1e3
正确答案:123; 2e4.2;.e5
11、以下每个选项都代表一个常量,其中不正确的实型常量是()。
A.2.607E-1
B.0.8103e2
C.-77.77
D.4.6e-2
正确答案:0.8103e2
12、设变量a是整型,f是实型,i是双精度型,则表达式10+';a';+i*f值的数据类型为()。
A.int
B.float
C.double
D.不确定
正确答案:double
13、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()。
A.float
B.char
C.int
D.double
正确答案:double
14、以下变量定义中,合法的是()。
A.float 3()four=3.4
B.int()abc()=2
C.double a=1+4e2.0
D.short do =15
正确答案:int()abc()=2
15、已定义x为float型变量x=213.82631;printf(";%-4.2f\n";,x);则以上语句()。
A.输出格式描述符的域宽不够,不能输出
B.输出为213.83
C.输出为213.82
D.输出为-213.82
正确答案:输出为213.83
16、C语言中,char型数据在内存中的存储形式是()。
A.原码
B.反码
C.补码
D.ASCII码
正确答案:ASCII码
17、下面正确的字符常量是()。
A.";c"
B.';\\';'
C.';W'
D.'
正确答案:";c"
18、下面四个选项中,均是正确的数值常量或字符常量的选项是()。
A.0.0 ;0f ;8.9e ;';&;'
B.";a";3.9E-2.5 ;1e1 ;';";'
C.';3';011 ;0xFF00 ;0a
D.+001 ;0xabcd ;2e2;50
正确答案:+001 ;0xabcd ;2e2;50
19、字符型变量用来存放字符常量,注意只能放2个字符。()
A.正确
B.错误
正确答案:错误
20、C语言中可以把一个字符串赋给一个字符变量。()
A.正确
B.错误
正确答案:错误
21、C语言使字符型数据和整型数据在一定范围内之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。()
A.正确
B.错误
正确答案:正确
22、C的字符常量是用双引号括起来的一个字符。()
A.正确
B.错误
正确答案:错误
23、下面不正确的字符串常量是()。
A.';abc'
B.";12';12"
C.";0"
D."; "
正确答案:';abc'
24、下面4个选项中均是非法常量的是()。
A.';as';-0fff;';\0xa'
B.';\\'; \01; 12,456
C.-0x18; 01177;0xf
D.0xabc;';\0';";a"
正确答案:';as';-0fff;';\0xa'
25、字符串常量是一对单引号括起来的字符序列。()
A.正确
B.错误
正确答案:错误
26、int k=8567;printf(";|%-6d|";,k);结果是()。
A.输出格式描述不合法
B.输出为|008567|
C.输出为|8567; |
D.输出为|-08567|
正确答案:输出为|8567; |
27、若在scanf函数语句中没有非格式字符作输入数据的间隔,则不可用()作为输入数据的间隔。
A.空格
B.逗号
C.TAB
D.回车
正确答案:逗号
28、使用scanf函数时,在源程序开头()。
A.书写#include <;stdio.h>
B.书写#include <;math.h>
C.不必写#include
D.书写#include <;scanf.h>
正确答案:书写#include <;stdio.h>
29、double x=213.82631; printf(";%-6.2e\n";,x);则以上语句()。
A.输出格式描述符的域宽不够,不能输出
B.输出为21.38e+01
C.输出为2.14e+02
D.输出为-2.14e2
正确答案:输出为2.14e+02
30、若输入4位整数到整型变量a中,可用()。
A.scanf(";M";)
B.scanf(";M";,&;a)
C.scanf(";M";,a)
D.scanf(";%d";,&;a)
正确答案:scanf(";%d";,&;a)
31、a为整型变量,输入5,执行printf(";a=%d";,a)后输出为()。
A.a=%5
B.5
C.a=5
D.a=a=5
正确答案:a=5
32、下列能正确输入字符数组a的语句是()。
A.scanf(";%s";,a)
B.scanf(";%s";,&;a)
C.scanf(";%c";,a)
D.循环执行scanf(";%c";,&;a[i])
正确答案:scanf(";%s";,a)
33、在输入时,字符变量的值必须使用空格间隔,其输入函数可为()。
A.scanf(";%c; %c; %c";,&;a,&;b,&;c)
B.scanf(";%c,%c,%c";,&;a,&;b,&;c)
C.scanf(";<;";,&;a,&;b,&;c)
D.循环执行getchar()
正确答案:scanf(";%c; %c; %c";,&;a,&;b,&;c)
34、若int x=3; printf(";%d";,&;x);则系统会报错,没有任何结果。()
A.正确
B.错误
正确答案:错误
35、输入语句scanf(";%d,%d,%d";,a,b,c);的格式是正确的。()
A.正确
B.错误
正确答案:错误
36、在scanf(";%d,%d,%d";,&;a,&;b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。()
A.正确
B.错误
正确答案:错误
37、printf函数是一个标准库函数,它的函数原型在头文件";string.h";中。()
A.正确
B.错误
正确答案:错误
38、在printf函数中,输出列表的各输出项之间可用冒号分隔。()
A.正确
B.错误
正确答案:错误
39、若int x=3;printf(";%d";,&;x);则系统不会报错,会输出x的地址。()
A.正确
B.错误
正确答案:正确
40、输入语句的格式为:scanf(";%d%d%d";,&;a,&;b,&;c);是正确。()
A.正确
B.错误
正确答案:正确
41、在scanf(";%d,%d";,&;a,&;b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。()
A.正确
B.错误
正确答案:错误
42、printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。()
A.正确
B.错误
正确答案:正确
43、在scanf(";%c%c";,&;c1,&;c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。()
A.正确
B.错误
正确答案:错误
44、printf函数中的格式字符,既可以是大写形式也可以是小写形式。()
A.正确
B.错误
正确答案:错误
45、使用printf函数时,格式控制字符串和各输出项应一一对应。()
A.正确
B.错误
正确答案:正确
46、在printf函数中,格式字符f的意义是:以小数形式输出单精度实数。()
A.正确
B.错误
正确答案:正确
47、输入语句的格式为:scanf(";%d,%d,%d";,&;a;&;b;&;c)是正确的。()
A.正确
B.错误
正确答案:错误
48、在printf函数中,不同系统对输出表列的求值顺序不一定相同,VC是按从右到左进行的。()
A.正确
B.错误
正确答案:正确
第三章单元测试
1、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=';A';+';6';-';3';后,c2中的值为()。
A.D
B.68
C.不确定的值
D.C
正确答案:D
2、若有定义int k=7, x=12;,则能使值为3的表达式是()。
A.x%=(k%=5)
B.x%=(k-k%5)
C.x%=k-k%5
D.(x%=k)-(k%=5)
正确答案:(x%=k)-(k%=5)
3、设int n=3;则有表达式++n,n的结果是()。
A.2
B.3
C.4
D.5
正确答案:4
4、表达式18/4*sqrt(4.0)/8值的数据类型为()。
A.int
B.float
C.double
D.不确定
正确答案:double
5、设int n=3;则n++的指是()。
A.2
B.3
C.4
D.5
正确答案:3
6、若有int k = 11;则表达式(k++*1/3)的值是()。
A.0
B.3
C.11
D.12
正确答案:3
7、下列表达式的值,那一个等于0()。
A.5%6
B.5/6
C.5/6.0
D.5-6
正确答案:5/6
8、已知int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。
A.2.500000
B.2.750000
C.3.500000
D.0.000000
正确答案:2.500000
9、在C语言中,要求参加运算的数必须是整数的运算符是%。()
A.正确
B.错误
正确答案:正确
10、若有int m=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-16。()
A.正确
B.错误
正确答案:正确
11、判断char型变量c1是否为小写字母的正确表达式为()。
A.';a';<;=c1<;=';z
B.(c1>;=A.&;&;(c1<;=';z';)
C.(';a';>;=c1)||(';z';<;=c1)
D.(c1>;=';a';)&;&;(c1<;=';z';)
正确答案:(c1>;=';a';)&;&;(c1<;=';z';)
12、下列运算符中,不属于关系运算符的是()。
A.<
B.>;=
C.!
D.!=
正确答案:!
13、设int n=2;则++n+1==4的结果是()。
A.true
B.false
C.1
D.0
正确答案:true
14、在C语言的逻辑运算中,逻辑值";真";用()表示。
A.TURE
B.整型值1
C.true
D.T
正确答案:true
15、在C语言的混合运算中,非逻辑值转化为逻辑值的原则是()。
A.非“零”为真,“零”值为假
B.正数为真,负数为假
C.1为真,0为假
D.非0为真,0为假
正确答案:非“零”为真,“零”值为假
16、在逻辑运算中,逻辑运算符两侧的运算对象数据类型是()。
A.只是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何合法的类型数据
正确答案:可以是任何合法的类型数据
17、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是()。
A.A%2==1
B.!(A%2==0)
C.!(A%2)
D.A%2
正确答案:!(A%2)
18、设a=2,b=3,c=4,则表达式 a+b>;c&;&;b==c&;&;a||b+c&;&;b+c的值为()。
A.5
B.8
C.0
D.1
正确答案:1
19、下列运算符中优先级最高的是 ()。
A.<
B.+
C.&;&
D.!=
正确答案:+
20、逻辑运算符的优先级别高于算术运算符。()
A.正确
B.错误
正确答案:错误
21、int a=0,b=1,c=2;则表达式a||b+c &;&; b==c的值为 0。()
A.正确
B.错误
正确答案:正确
22、int a=0,b=1,c=2,x,y;则!(x=a)&;&;(y=b)&;&;c的值为1。()
A.正确
B.错误
正确答案:正确
23、已知各变量的类型说明如下:int k,a,b; unsigned long w=5;double x=1.42;下列表达式中不符合C语言语法的是()。
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
正确答案:x%(-3)
24、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0
B.3
C.2
D.1
正确答案:0
25、以下叙述中正确的是()。
A.a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。
B.在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。
C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。
D.已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。
正确答案:在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。
26、设有int p,q;以下不正确的语句是()。
A.p*=3
B.p/=q
C.p+=3
D.p&;&;=q
正确答案:p&;&;=q
27、已知int x,y,z;执行语句x=(y=(z=10)+5)-5;后x、y、z的值是()。
A.x=10 y=15 z=10
B.x=10 y=10 z=10
C.x=10 y=10 z=15
D.x=10 y=5 z=10
正确答案:x=10 y=15 z=10
28、由赋值运算符将一个变量和一个表达式连接起来的式子称为";赋值表达式";。()
A.正确
B.错误
正确答案:正确
29、a=b=c=d=10;是一个合法的赋值语句。()
A.正确
B.错误
正确答案:正确
30、sizeof(float)是()。
A.一个双精度表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:一个整型表达式
31、C语言中int、char和short三种类型数据在内存中占用的字节数()。
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
正确答案:由所用机器的机器字长决定
32、逗号表达式(a=3*5,a*4),a+15的值为()。
A.15
B.60
C.30
D.不确定
正确答案:30
33、以下变量均为int类型,则值不等于7的表达式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+1,x=y,x+1)
正确答案:(x=y=6,x+y,y+1)
34、以下符合C语言语法的赋值表达式是()。
A.d=9+e+f=d+9
B.d=9+e,f=d+9
C.d=9+e,e++,d+9
D.d=e=f+7
正确答案:d=e=f+7
35、以下使i的运算结果为4的表达式是()。
A.int i=0,j=0; (i=3,(j++)+i)
B.int i=1,j=0; j=i=((i=3)*2)
C.int i=0,j=1; (j==1)?(i=1):(i=3)
D.int i=1,j=1; i+=j+=2
正确答案:int i=1,j=1; i+=j+=2
第四章单元测试
1、04210012:以下程序的输出结果是()。 int main(){int m=5;if(m++>;5) printf(";%d";,m);else printf(";%d";,m--);return 0;}
A.7
B.6
C.5
D.4
正确答案:6
2、04210022:以下程序的输出结果为() 。int ;main (){ int i=0,j=0,a=6;if ((++i>;0)&;&;(++j>;0)) a++;printf (";i=%d, j=%d, a=%d\n";, i,j,a);return 0;}
A.i=0,j=0,a=6
B.i=1,j=1,a=7
C.i=1,j=0,a=7
D.i=0,j=1, a=7
正确答案:i=1,j=1,a=7
3、以下程序的输出结果为() 。int main(){ int a=2,b=-1,c=2;if (a )if(b<;0) c=0; else ;c++; printf(";%d";,c);return 0;}
A.0
B.1
C.2
D.3
正确答案:0
4、若i为int型,且有程序如下,则输出结果是()。i=111;if(i%3==0) printf(";####";);printf(";****";)。
A.####
B.****
C.####****
D.无输出结果
正确答案:####****
5、变量a,b,c已赋初值,则语句if((a=b;)>;0) c=a;是正确的。()
A.正确
B.错误
正确答案:错误
6、变量x,y,z已赋初值,则语句if((x=y+5)>;0) z=x;是正确的。()
A.正确
B.错误
正确答案:正确
7、else语句总是和靠它最近的if匹配。()
A.正确
B.错误
正确答案:正确
8、若运行时x=12,则运行结果为()。int main(){;int x, y; scanf(";%d";, &;x); y=x>;12 ? x+10:x-12;printf(";%d\n";, y);return 0;}
A.0
B.22
C.12
D.10
正确答案:0
9、以下程序的输出结果是()。int main(){ int i=0, j=0, k=6; if ((++i>;0)||(++j>;0)) k++;printf(";%d, %d, %d\n";, i, j, k);return 0;}
A.0, 0, 6
B.1, 0, 7
C.1, 1, 7
D.0, 1, 7
正确答案:1, 0, 7
10、04310032:若变量都已正确说明,则以下程序段输出为()。int a=1,b=2,c=3;if(a>;b) a=b; b=c;c=a;printf(";a=%d b=%d c=%d\n";,a,b,c)。
A.a=1 b=2 c=1
B.a=1 b=2 c=3
C.a=1 b=3 c=1
D.a=2 b=3 c=2
正确答案:a=1 b=3 c=1
11、04310042:以下不正确的语句为()。
A.if(x>;y)
B.if((x==y)&;&;(x!=0))x+=y
C.if(x!=y) scanf(";%d";,&;x);else scanf(";%d";,&;y)
D.if(x)
正确答案:if(x)
12、写出下面程序输出结果()。int main(){; int x=1, y=0, a=0, b=0; switch(x){case 1:switch(y){ case 0:a++;case 1:b++; }case 2:a++; b++;}printf(";a=%d, b=%d\n";, a, b) ;}
A.a=2, b=1
B.a=1, b=1
C.a=1, b=0
D.a=2, b=2
正确答案:a=2, b=2
13、switch语句中一定有default分支。()
A.正确
B.错误
正确答案:错误
14、case后只能跟常量,不能跟变量。()
A.正确
B.错误
正确答案:正确
第五章单元测试
1、05210012:现已定义整型变量int i=1;执行循环语句while(i++<;5);后,i的值为()。
A.1
B.5
C.6
D.A、B、C均不正确
正确答案:6
2、有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是()。
A.while 循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
正确答案:循环体语句一次也不执行
3、下列程序段的运行结果是()。int n=0; while(n++<;3); printf(";%d";,n)。
A.2
B.3
C.4
D.以上都不对
正确答案:3
4、设有程序段t=0;while(printf(";*";)){ t++;if (t<;3)break;} printf(";t=%d";,t);下面描述正确的是()。
A.其中循环控制表达式与0等价
B.其中循环控制表达式与';0';等价
C.其中循环控制表达式是不合法的
D.以上说法都不对
正确答案:以上说法都不对
5、05310012:以下程序段()。x=-1;do { x=x*x;}while(!x)。
A.是死循环
B.循环执行2次
C.循环执行一次
D.有语法错误
正确答案:循环执行一次
6、05310022:下面程序的运行结果是()。int main(){ int y=10;do { y--;};while(--y);printf(";%d\n";,y--);}
A.-1
B.1
C.8
D.0
正确答案:0
7、有语句int x=3; do { printf(";%d\n";,x-=2);} while(!(--x));则上面程序段()。
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
正确答案:输出的是1和-2
8、05510013:有以下程序:int main(){; char i; for ((i=getchar ())!=';\n';){; switch (i-';a';){; case 0:putchar (i);case 1:putchar (i+1); break;case 2:putchar (i+2);case 3:break;default:putchar (i); break;}}printf (";\n";);}输入abcde后,程序的输出结果是()。
A.abcde
B.abcee
C.abbde
D.abccdd
正确答案:abcee
9、以下程序段的输出结果是()。int main(){;int i=5;for (i<;=15; ){ i++;if (i%4==0) printf(";%d ";,i);else continue;}return 0;}
A.8 12 16
B.8 12
C.12 16
D.8
正确答案:8 12 16
10、do-while语句构成的循环不能用其它语句构成的循环来代替。()
A.正确
B.错误
正确答案:错误
11、用do-while语句构成循环时,只要while后的表达式为0时就结束循环。()
A.正确
B.错误
正确答案:正确
12、while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。()
A.正确
B.错误
正确答案:正确
13、C语言的for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A.<
B.++
C.D.,
正确答案:
14、下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况。
B.for循环是先执行循环体语句,后判定表达式。
C.在for循环中,不能用break语句跳出循环体。
D.for循环体语句中,可以包含多条语句,但要用花括号括起来。
正确答案:for循环体语句中,可以包含多条语句,但要用花括号括起来。
15、以下不是无限循环的语句为()。
A.for(y=0,x=1;x>;++y;x=i++) i=x
B.for(x++=i)
C.while(1){x++;}
D.for(i=10; i--) sum+=i
正确答案:for(y=0,x=1;x>;++y;x=i++) i=x
16、for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。()
A.正确
B.错误
正确答案:错误
17、for循环中,如果表达式2为空,则该循环一定是死循环。()
A.正确
B.错误
正确答案:错误
18、for(i=0,j=10;i<;=j;i++,j--) k=i+j;执行完后,k的值为50。()
A.正确
B.错误
正确答案:错误
19、若a、b均为int型变量,且a=100,则for (b=100;a!=b;++a,b++) printf(";----\n";)是死循环。()
A.正确
B.错误
正确答案:错误
20、执行语句:for(i=1;i++<;4;++i);后;变量i的值是5。(
A.正确
B.错误
正确答案:错误
21、05610012:以下程序输出结果为()。int main(){ int i,b,k=0;for(i=1;i<;=5;i++){ b=i%2;while (b-->;=0) k++;}printf(";%d,%d\n";,k,b);return0;}
A.3,-1
B.8,-1
C.3,0
D.8,-2
正确答案:8,-2
22、以下程序段中循环体总的执行次数是()。int i,j;for(i=7;i;i--)for(j=0;j<;6;j++){......}
A.42
B.21
C.13
D.36
正确答案:42
23、以下正确的描述是()。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
正确答案:从多层循环嵌套中退出时,只能使用goto语句
24、以下不正确的描述是()。
A.break 语句不能用于循环语句和switch语句外的任何其他语句
B.在switch语句中使用break语句或continue语句的作用相同。
C.在循环语句中使用continue是为了结束本次循环,而不是终止整个循环的执行。
D.在循环语句中使用break是为了使流程跳出循环体,提前结束循环。
正确答案:在switch语句中使用break语句或continue语句的作用相同。
25、break语句的作用就是结束本层循环。()
A.正确
B.错误
正确答案:正确
第六章单元测试
1、C语言中,数组名代表()。
A.数组全部元素的值
B.数组首地址
C.数组第一个元素的值
D.数组元素的个数
正确答案:数组首地址
2、以下关于数组的描述正确的是 () 。
A.数组的大小是固定的,但可以有不同的类型的数组元素
B.数组的大小是可变的,但所有数组元素的类型必须相同
C.数组的大小是固定的,所有数组元素的类型必须相同
D.数组的大小是可变的,可以有不同的类型的数组元素
正确答案:数组的大小是固定的,所有数组元素的类型必须相同
3、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
正确答案:整型常量或整型表达式
4、设array为一数组,则表达式sizeof(array)/sizeof(array[0])的结果为()。
A.array数组首地址
B.array数组中元素个数
C.array数组中每个元素所占的字节数
D.array数组占的总字节数
正确答案:array数组中元素个数
5、以下对一维数组a的正确说明是()。
A.char a(10)
B.int a[ ]
C.int k=5,a[k]
D.char a[ ]={';a';,';b';, ';c';}
正确答案:char a[ ]={';a';,';b';, ';c';}
6、下面程序中有错误的行是()。 1、int main()2、{3、 int x[3]={1};4、 int k;5、 scanf(";%d";, &;x);6、 for (k=1; k<;3; k++)7、 x[0]=x[0]+x[k];8、 printf(";x[0]=%d";, x[0]);9、 return 0;10、}
A.3
B.6
C.7
D.5
正确答案:5
7、若有以下语句,则正确的描述是()。char x[ ]=";12345";char y[ ]={';1';, ';2';, ';3';, ';4';, ';5';}
A.x数组与y数组的长度相同
B.x数组长度大于y数组长度
C.x数组长度小于y数组长度
D.x数组等价于y数组
正确答案:x数组长度大于y数组长度
8、以下不正确的数组定义语句是()。
A.double x[5]={2.0, 4.0, 6.0, 8.0, 10.0}
B.int y[5]={0, 1, 3, 5, 7, 9}
C.char ch1[ ]={';1';, ';2';, ';3';, ';4';, ';5';}
D.char ch2[ ]={';\x10';, ';\xa';, ';\x8';}
正确答案:int y[5]={0, 1, 3, 5, 7, 9}
9、以下正确的数组定义语句是()。
A.char a[5]={';1';, ';2';, ';3';, ';4';, ';5';, ';\0';}
B.int b[2][ ]={{1}, {2}}
C.float c[ ][3]={1, 2, 3, 4, 5}
D.char d[5]=";CHINA"
正确答案:float c[ ][3]={1, 2, 3, 4, 5}
10、下列一维数组正确初始化是()。
A.int a[5] ={1,2}
B.int a[2]={12,3,4,5}
C.int a[5]={,,1,2}
D.int *a={12,3,4,5}
正确答案:int a[5] ={1,2}
11、不能对以下数组进行初始化的语句的是()。
A.int a[2]={0}
B.int a [2] =[1,2]
C.int a[2]={10*1}
D.int; a[2]; a[0]=1; a[1]=2
正确答案:int a [2] =[1,2]
12、若定义int m[10]={9,4,12,8,2,10,7,5,1,3};则m[m[4]+m[8]]的值是()。
A.8
B.12
C.10
D.7
正确答案:8
13、以下对一维数组 a 的定义正确的是()。
A.char a(10)
B.int a[0..100]
C.int a[5]
D.int k=10;int a[k]
正确答案:int a[5]
14、若有说明int a[10];则对数组元素正确的引用是()。
A.a[10]
B.a[3.5]
C.a(0)
D.a[0]
正确答案:a[0]
15、对说明语句int a[10]={6,7,8,9,10};理解正确的是()。
A.将5个初值依次赋给a[1]至a[5]。
B.将5个初值依次赋给a[0]至a[4]。
C.将5个初值依次赋给a[6]至a[10]。
D.因为数组长度与初值个数不同,所以语句不正确。
正确答案:将5个初值依次赋给a[0]至a[4]。
16、下列程序的输出结果是()。int main() {int a=0, b[3];b[0]=3;printf(“%d,%d”,b[0];b[1]);return 0;}
A.3,0
B.3 0
C.0,3
D.3,不定值
正确答案:3,不定值
17、以下程序运行后 ,输出结果是()。int main(){int n[5]={0,0,0},i,k=2;for(i=0;i<;k;i++); n[i]=n[i]+1;printf(";%d\n";,n[k]);return 0;}
A.不确定值
B.2
C.1
D.0
正确答案:0
18、以下对一维整型数组 a 的正确说明是()。
A.int a(10)
B.int n=10,a[n]
C.int n; scanf(";%d";,&;n); int a[n]
D.#define SIZE 10 int a[SIZE]
正确答案:#define SIZE 10 int a[SIZE]
19、执行下面的程序段后,变量k中的值为() 。int k=3, s[2];s[0]=k; k=s[1]*10。
A.不确定值
B.33
C.30
D.10
正确答案:不确定值
20、已知short int类型变量在内存在占两个字节,有如下定义 short int array[10]={0,2,4}则数组array在内存所占的字节数为()。
A.3
B.6
C.10
D.20
正确答案:20
21、06310011:下列二维数组的初始化哪一个不针对三行四列二维数组()。
A.int a[3][4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
B.int a[][4]={{1},{5},{9}}
C.int a[][4]={1,0,0,0,5,6}
D.int a[][4]={{1},{0,6},{0,0,11}}
正确答案:int a[][4]={1,0,0,0,5,6}
22、若有说明语句:int a[2][4];则对a数组元素的正确引用是()。
A.a[0][3]
B.a[0][4]
C.a[2][2]
D.a[2][2+1]
正确答案:a[0][3]
23、以下能对二维数组y进行初始化的语句是()。
A.static int y[2][ ]={{1,0,1}, {5,2,3}}
B.static int y[ ][3]={{1,2,3}, {4,5,6}}
C.static int y[2][4]={{1,2,3}, {4,5} , {6}}
D.static int y[ ][3]={{1,0,1,0}, { }, {1,1}}
正确答案:static int y[ ][3]={{1,2,3}, {4,5,6}}
24、若有说明语句:int y[ ][4]={0,0};则下面叙述不正确的是()。
A.数组y的每个元素都可得初值0。
B.二维数组y的行数为1。
C.该说明等价于int y[ ][4]={0}
D.只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0。
正确答案:只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0。
25、以下各组选项中,均能正确定义二维实型数组s的选项是()。
A.float s[3][4];float s[ ][4];float s[3][ ]={{1},{0}}
B.float s(3,4);float s[ ][ ]={{0},{0}};float s[3][4]
C.float s[3][4];static float s[][4]={{0},{0}};auto float s[][4]={{0},{0},{0}}
D.float s[3][4];float s[3][ ];float s[ ][4]
正确答案:float s[3][4];static float s[][4]={{0},{0}};auto float s[][4]={{0},{0},{0}}
26、若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8};则a数组的行数为()。
A.3
B.2
C.无确定值
D.1
正确答案:3
27、若二维数组y有m列,则在y[i][j]前的元素个数为()。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
正确答案:i*m+j
28、以下定义语句错误的是()。
A.int x[][3]={{0},{1},{1,2,3}}
B.int x[4][3]={ {1,2,3},{1,2,3},{1,2,3},{1,2,3}}
C.int x[4][]= { {1,2,3},{1,2,3},{1,2,3},{1,2,3}}
D.int x[][3]={{1,2,3,4}}
正确答案:int x[4][]= { {1,2,3},{1,2,3},{1,2,3},{1,2,3}}
29、若有以下定义:int a[ ][2]={1,2,3,4,5,6,7};则数组a第一维大小是()。
A.不确定
B.3
C.4
D.5
正确答案:4
30、以下对二维数组的定义中正确的是()。
A.int a[4][]={1,2,3,4,5,6}
B.int a[][3]
C.int a[][3]= {1,2,3,4,5,6}
D.int a[][]={{1,2,3},{4,5,6}}
正确答案:int a[][3]= {1,2,3,4,5,6}
31、以下程序的输出结果是()。int main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf(";%d%d%d%d";,a[0][3],a[1][2],a[2][1],a[3][0]); return 0;}。
A.0650
B.1470
C.5430
D.不确定
正确答案:不确定
32、与char str[]={“china”};初始化赋值不等价的是()。
A.char str[]=“china”
B.char str[6]={‘c’,’h’,’i’,’n’,’a’,’\o’}
C.char str[]={‘c’,’h’,’i’,’n’,’a’,’\o’}
D.char str[]={‘c’,’h’,’i’,’n’,’a’}
正确答案:char str[]={‘c’,’h’,’i’,’n’,’a’}
33、char array[]={';c';,';h';,';i';,';n';,';a';};数组array占用的内存空间是()个字节。
A.1
B.5
C.6
D.不确定
正确答案:5
34、判断字符串str1是否大于字符串str2,应当使用()。
A.if (str1>;str2)
B.if (strcmp(str1, str2))
C.if (strcmp(str2, str1)>;0)
D.if (strcmp(str1, str2)>;0)
正确答案:if (strcmp(str1, str2)>;0)
35、有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是()。
A.gets(a, b)
B.scanf(";%s%s";, &;a, &;b)
C.getchar(a); getchar(b)
D.gets(a); gets(b)
正确答案:gets(a); gets(b)
36、有字符数组s1[80]和s2[80],则以下能正确对s1, s2进行输出的语句是()。
A.puts(s1, s2)
B.printf(";%s, %s";, s1, s2)
C.putchar(s1, s2)
D.puts(s1), puts(s2)
正确答案:printf(";%s, %s";, s1, s2)
37、以下程序段的运行结果是()。char a[7]=";abcdef";char b[4]=";ABC";strcpy(a, b);printf(";%c";, a[5])。
A.└┘
B.\0
C.e
D.f
正确答案:e
38、以下描述正确的是()。
A.两个字符串所包含的字符个数相同时,才能比较字符串
B.字符个数多的字符串比字符个数少的字符串大
C.字符串";STOP└┘";与";STOP";相等
D.字符串";That";小于字符串";The"
正确答案:字符串";That";小于字符串";The"
39、以下对字符数组的描述中错误的是()。
A.字符数组中可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符";=";对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
正确答案:可以在赋值语句中通过赋值运算符";=";对字符数组整体赋值
40、若有语句:char s1[10], s2[10]={";books";},则能将字符串books赋给数组s1的正确语句是()。
A.s1={";books";}
B.strcpy(s1,s2)
C.s1=s2
D.strcpy(s2,s1)
正确答案:strcpy(s1,s2)
41、下面程序的功能是将字符串s中所有的字符c删除。请选择填空。()#include <;stdio.h>;int main(){;char s[80];; int i, j;; gets(s);; for (i=j=0; s[i]!=';\0';i++); if (s[i]!=';c';) ;; s[j]=';\0';; puts(s);return 0;}
A.s[j++]=s[i]
B.s[++j]=s[i]
C.s[j]=s[i]
D.;正确答案:s[j++]=s[i]
42、下面程序的运行结果是()。#include <;stdio.h>;;#include <;string.h>;; int main(){ char x[80]=";AB";, y[80]=";LMNP";; int n=0;; strcat(x, y);; while (x[n++]!=';\0';); y[n]=x[n];; puts(y);return 0;; }
A.LB
B.ABLMNP
C.AB
D.LBLMNP
正确答案:LBLMNP
第七章单元测试
1、C程序的基本结构单位是()
A.文件
B.语句
C.函数
D.表达式
正确答案:函数
2、一个C语言程序的执行是()
A.从程序的主函数main()开始到主函数main()结束
B.从程序的第一个函数开始到最后一个函数结束
C.从程序的主函数卖main()开始到最后一个函数结束
D.从程序的第一个函数开始到程序的主函数main()结束
正确答案:从程序的主函数main()开始到主函数main()结束
3、下列函数定义正确的是()
A.double fun(int x,int y)
B.double fun(int x;int y)
C.double fun(int x, y)
D.double fun(int x, y;)
正确答案:double fun(int x,int y)
4、下面说法不正确的是()
A.通常C程序是由许多小函数组成的,而不是由少量的大函数组成的
B.在源文件中可以用不同的顺序定义函数
C.通常调用函数前函数必须被定义或声明
D.Dummy(){}是无用的函数
正确答案:Dummy(){}是无用的函数
5、若函数的形参为一维数组,则下列说法中正确的是()
A.调用函数时的对应实参必为数组名
B.形参数组可以不指定大小
C.形参数组的元素个数必须等于实参数组的元素个数
D.形参数组的元素个数必须多于实参数组的元素个数
正确答案:形参数组可以不指定大小
6、07310021:有以下函数调用语句:func(rec1,rec2+rec3,rec4);该函数调用语句中含有的实参个数是()
A.3
B.4
C.5
D.有语法错
正确答案:3
7、下面程序的结果是()#include <;stdio.h>;increment(){; static int x=0;; x+=1;; printf(“%d”,x);}void main(){increment();increment();increment();}
A.1 1 1
B.1 2 3
C.0 1 2
D.0 0 0
正确答案:1 2 3
8、下面叙述正确的是()
A.全局变量的定义它的文件中的任何地方都是有效的
B.全局变量在程序的全部执行过程中一直占用内存单元
C.同一文件中的变量不能重名
D.使用全局变量有利于程序的模块化和可读性的提高
正确答案:全局变量在程序的全部执行过程中一直占用内存单元
9、在C语言中,局部变量的隐含存储类别是()
A.auto
B.static
C.register
D.无存储类别
正确答案:auto
第八章单元测试
1、有以下说明语句,则下面的叙述不正确的是()。typedef struct stu{int a;float b}stutype。
A.struct是结构体类型的关键字
B.stutype是用户定义的结构体类型名
C.a和b都是结构体成员名
D.struct stu是用户定义的结构体类型名
正确答案:stutype是用户定义的结构体类型名
2、当说明一个结构体变量时系统分配给它的内存是()。
A.结构体中最后一个成员所需内存量
B.结构体中第一个成员所需内存量
C.成员中所占内存量最大者所需的容量
D.各成员所需内存量的总和
正确答案:各成员所需内存量的总和
3、下列输出字符‘M’的语句是()。struct person{char name[9];int age;};struct person class[10]={";John";,17,";paul";,19,";Mary";,18,";Adam";,16}。
A.printf(";%c";,class[3].name)
B.printf(";%c";,class[3].name[1])
C.printf(";%c";,class[2].name[1])
D.printf(";%c";,class[2].name[0])
正确答案:printf(";%c";,class[2].name[0])
4、下列关于结构体变量操作中正确的是()。struct student{;char num[10];;char name[20],sex;; int age;; float score[3];;float ave;}。
A.stu2={";2008002";,";GaoPing";,';M';,18,86.3,80.5,89.4,85.4}
B.struct student stu1={";2008001";,";LiNing";,';M';,19,84.3,82.5,89.4,85.4}
C.if (stu1==stu2)
D.printf(";%10s %20s %c %3d %4.1f %4.1f %4.1f %4.1";,stu1)
正确答案:struct student stu1={";2008001";,";LiNing";,';M';,19,84.3,82.5,89.4,85.4}
5、以下定义结构体类型的变量st1,其中不正确的是()。
A.typedef struct student{int num
int age
}STD
STD st1
B.struct student{int num ,age
}st1
C.struct{; int num
float age
}st1
D.struct student{;int num
int age
}
student st1
正确答案:struct student{;int num
int age
}
student st1
6、已知职工记录描述为:struct workers{; int ;no;; char name[20];char sex;struct{; int day;int month;int year;}birth;};struct workers w;设变量w中的“生日”应是“1993年10月25日”,下列对“生日”的正确赋值方式是()。
A.day=25;month=10;year=1993
B.w.day=25;w.month=10;w.year=1993
C.w.birth.day=25;w.birth.month=10;w.birth.year=1993
D.birth.day=25;birth.month=10;birth.year=1993
正确答案:w.birth.day=25;w.birth.month=10;w.birth.year=1993
7、当说明一个共用体变量则系统分配给它的内存是()。
A.所有成员一直驻留在内存中
B.只有一个成员驻留现在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
正确答案:只有一个成员驻留现在内存中
8、设有枚举类型定义:enum color={red=3,yellow,blue=10,white,black};其中枚举量black的值是()。
A.7
B.14
C.15
D.12
正确答案:12
9、关于下面变量赋值不正确的是()。enum NUM{zero,first,second}num1;int num2。
A.num1=0;num2=0
B.num1=zero;num2=0
C.num1=0;num2=zero
D.scanf(“%d%d”,&;num1,&;num2)
正确答案:num1=0;num2=0
10、如下说明语句:enum A{A0=1,A1=3,A2,A3,A4,A5};enum A b;执行b=A3;printf(“%d”,b);输出是()。
A.5
B.3
C.2
D.编译出错
正确答案:5
第九章单元测试
1、变量的指针,其含义是指该变量的()。
A.值
B.地址
C.名
D.一个标志
正确答案:地址
2、已有定义int k=2;int *ptr1.*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。
A.k =*ptr1+*ptr2
B.k=*ptr1*(*ptr2)
C.ptr1=ptr2
D.ptr=k
正确答案:ptr=k
3、若有以下说明和定义,则叙述正确的是()。; typedef; int; *INTEGER;; INTEGER p,*q。
A.p是int 类型
B.p是指向int 的指针变量
C.q是指向int 的指针变量
D.程序中可用INTEGER代替int类型名
正确答案:p是指向int 的指针变量
4、若有说明:int i,j=2,*p=&;i;则能完成i=j赋值功能的语句是()。
A.i=*p
B.*p=*&;j
C.i=&;j
D.i=**p
正确答案:*p=*&;j
5、若有说明:int *p,m=5,n;以下正确的程序段是()。
A.p=&;n; scanf(“%d”, &;p)
B.p=&;n; *p=m
C.scanf(“%d”,&;n);*p=n
D.p=&;n;scanf(“%d”,*p)
正确答案:p=&;n; *p=m
6、有语句int *p,a[4];p=a;下列表示与a[1]不等价的形式是()。
A.*a++
B.*p++
C.p[1]
D.*(p+1)
正确答案:*a++
7、以下程序执行后的输出结果是()。int main(){;int a[]={1,2,3,4},y,*p=&;a[1];;y=(*--p)++;;printf(";%d";,y);return 0;}
A.4
B.3
C.2
D.1
正确答案:2
8、语句int *p;说明了()
A.p是指向一维数组的指针
B.p是指向返回值为一int型数据的函数
C.p是指向int型数据的指针变量
D.p是对指向int型数据指针取内容
正确答案:p是指向int型数据的指针变量
9、若已定义:int b[12],*p=b;在以后的语句中未改变p的值,则不能表示b[1]地址的表达式是()。
A.p+1
B.b+1
C.++p
D.++b
正确答案:++b
10、设有如下定义:struct sk{;int a;float b;}data,*p;若有p=&;data;则对data中的a成员的正确引用是()。
A.(*p).data.a
B.(*p).a
C.p->;data.a
D.p.data.a
正确答案:(*p).a
11、如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a; 则数值为9的表达式是()
A.*P+9
B.*(P+8)
C.*P+=9
D.P+8
正确答案:*P+9
第十章单元测试
1、下列关于C语言数据文件的叙述中正确的是()。
A.文件有ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
正确答案:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
2、C语言中能识别处理的文件为()。
A.文本文件和数据块文件
B.文本文件和二进制文件
C.流文件和文本文件
D.数据文件和二进制文件
正确答案:文本文件和二进制文件
3、如执行fopen函数时发生错误,则函数的返回值是()。
A.地址值
B.1
C.TRUE
D.NULL
正确答案:NULL
4、若要打开A盘上user子目录下名为“abc.txt”的文本文件进行度、写操作,线面符合此要求的函数调用是()。
A.fopen(“A:\user\abc.txt”,”r”)
B.fopen(“A:\user\abc.txt”,”r+”)
C.fopen(“A:\user\abc.txt”,”rb”)
D.fopen(“A:\user\abc.txt”,”w”)
正确答案:fopen(“A:\user\abc.txt”,”r+”)
5、fread(buf,64,2,fp)的功能是()。
A.从fp所指向的文件中,读出整数64,并存放在buf中
B.从fp所指向的文件中,读出整数64和2,并存放在buf中
C.从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中
D.从fp所指向的文件中,读出64个字节的字符,并存放在buf地址中
正确答案:从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中
6、以下程序的功能是()。; int main(){; FILE*fp;; char str[]=”Qingdao 2018 ”;; fp=fopen(“file2”,”w”);; fputs(str,fp);fclose(fp);return 0;}
A.在屏幕上显示“Qingdao 2018”
B.把“Qingdao 2018”存入file2文件中
C.在打印机上打印出“Qingdao 2018”
D.以上都不对
正确答案:把“Qingdao 2018”存入file2文件中
7、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件,正确的选择是()。int main(){; FILE *fp;; char c;char; name [10];fp=()(“myfile”,());do{; c=getchar();; fputc(c,fp);}while(c!=EOF);fclose(fp);return 0;}
A.fgets ;“r”
B.fopen; “r”
C.fopen; “w”
D.fgetc; ”w”
正确答案:fopen; “w”
8、函数调用语句:fseek(fp,-20L,2);的含义是()。
A.将文件位置指针移到距离文件头20个字节处
B.将文件位置指针从当前位置向后移20个字节
C.将文件位置指针移到距离文件末尾20个字节处
D.将文件位置指针移到离当前位置20个字节处
正确答案:将文件位置指针移到距离文件末尾20个字节处
9、函数rewind的作用是()。
A.使位置指针重新返回文件的开头
B.将位置指针指向文件中所要求的特定位置
C.使位置指针指向文件的末尾
D.使位置指针自动移至下一个字符位置
正确答案:使位置指针重新返回文件的开头