智慧树知到答案C语言程序设计(山东联盟-青岛科技大学)最新答案

内容查看
查看价格15

第一章 单元测试

 

1、单选题:

01110011:流程图中用下列哪一个图形符号表示判断?()

选项:
A:矩形框
B:圆形框
C:菱形框
D:平行四边形框
答案: 【菱形框】

2、单选题:
01110021:流程图中用下列哪种图形符号表示事情处理过程的开始?(
选项:
A:圆括号矩形
B:圆圈
C:箭头
D:矩形
答案: 【圆括号矩形】

3、单选题:
01110031:流程图中用于描述输出的是下列哪一个图形符号?
选项:
A:矩形框
B:圆括号矩形框
C:平行四边形框
D:菱形框
答案: 【平行四边形框】

4、单选题:

01210011:以下选项中哪一个是C语言关键字( )。

选项:
A: printf
B:default
C:include
D:fun
答案: 【default】

5、单选题:
01210031:下列选项中不属于C语言关键字的是()。
选项:
A:default
B:register
C:enum
D: external
答案: 【 external】

6、单选题:
01210051:C语言提供的合法关键字是(  )。
选项:
A:swith
B:cher
C:Case
D:default
答案: 【default】

7、单选题:

01210021下列哪一个选项不属于C语言的关键字()。

选项:
A:integer
B: break
C:while
D:static
答案: 【integer】

8、单选题:

01210041下列四组选项中均不是C语言关健字的选项是(  )。

选项:
A:gect   char   printf
B:define   IF   type
C:while   go   pow
D:include   scanf   case
答案: 【define   IF   type】

9、单选题:

01210061C语言提供的合法数据类型关键字是( )。

选项:
A:Signed
B:Char
C: float
D:Integer
答案: 【 float】

10、单选题:
01310011:在以下各组标识符中,均可以用作变量名的一组是()。
选项:
A:table_1, a*1
B:0_a, W12
C:a01, Int
D:for, point
答案: 【a01, Int】

11、单选题:

01310021:下列不合法的C语言中标识符是()。

选项:
A: PI
B:student
C: #xyz
D: _total
答案: 【 #xyz】

12、单选题:

01310031:以下不合法的C语言标识符是()。

选项:
A:ab.c
B: abc
C:ABC
D: a_bc
答案: 【ab.c】

13、单选题:
01310041:下列字符串是合法标识符的是(  )。
选项:
A:long
B:_HJ
C:LINE 1
D:9_student
答案: 【_HJ】

14、单选题:

01310051:下列标识符组中,合法的用户标识符为( )。

选项:
A:list与*jer
B:del-word与signed
C:_0123与ssiped
D:keep%与wind
答案: 【_0123与ssiped】

15、单选题:

01310061:以下选项中不合法的用户标识符是(  )。

选项:
A:PRINT
B:file
C:abc.c
D:Main
答案: 【abc.c 】

16、单选题:

01310071:以下选项中不合法的用户标识符是(  )。

选项:
A:_123
B:Dim
C: A$
D:Printf
答案: 【 A$ 】

17、单选题:
01310081:在下列C语言程序中,可以用做变量名的是(  )。
选项:
A:*p
B:int
C:a1
D:1
答案: 【a1】

18、单选题:

01310091:以下符号中不能用作用户标识符的符号是(  )。

选项:
A:Struct
B:_256
C:Scanf
D:void
答案: 【void】

19、单选题:

01310101:下面四个选项中,均是不合法的用户标识符的选项是(  )。

选项:
A:float   lao     _A
B:b-a    goto   int
C:_123     temp   INT
D:A      p_0    do
答案: 【b-a    goto   int】

20、单选题:

01310111:C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(  )。

选项:
A:必须为下划线
B:必须为大写
C:必须为字母或下划线
D:可以是字母、数字和下划线中的任一种字符
答案: 【必须为字母或下划线】

21、判断题:

01380011:C语言规定标识符只能由字母、数字和小数点三种字符组成。()

选项:
A:错
B:对
答案: 【错】

22、判断题:

01420021:65的二进制32位定长形式是00000000 00000000 00000000 01000001

选项:
A:错
B:对
答案: 【对】

23、单选题:
01410021:下面4个选项中,均是正确的八进制数和十六进制数的选项是( )。
选项:
A:0abc    -017      0xc
B:0a12    -0x123   -0xa

C:0010    -0x11     0xf1
D: -10     0X8f     -011
答案: 【0010    -0x11     0xf1】

24、单选题:

01410011:某种数制每位上所使用的数码个数称为该数制的()。

选项:
A:指数
B:位权
C:基数
D:数值
答案: 【基数】

25、单选题:

01410031:下面四个选项中,均是不正确的八进制或十六进制数的选项是(  )。

选项:
A:016   0x8f     018
B:010   -0x11    0x16
C:0abc   017     0xa
D:0a12   7ff     -123
答案: 【0a12   7ff     -123】

第二章 单元测试

1、判断题:

02180011C语言定义一个变量,占用内存中的一个存储空间。( )

选项:
A:错
B:对
答案: 【对】

2、判断题:

02180021:C语言中,要求对所有用到的变量先定义,然后才能使用。( )

选项:
A:对
B:错
答案: 【对】

3、单选题:

02210011下面四个选项中均是合法整型常量的选项是( )。

选项:
A:-01     986,012   0668
B:-0x48a  2e5  0x02B2
C:160     0xffff     011
D:-0xcdf   01a      0xe
答案: 【160     0xffff     011】

4、单选题:

02210021下面四个选项中,均是不合法整型常量的选项是(  )。

选项:
A:-0f1   -0xffff   0011
B:-0xcdf   017   12,456
C: -0x48eg -068  03f
D:-018    999    5e2
答案: 【 -0x48eg -068  03f】

5、单选题:
02210031:下列选项中表示一个正确的整型常量 (  )。
选项:
A: 4 5 6
B: 1,000
C: -20
D:1.2
答案: 【 -20】

6、单选题:

02210041若a为整型变量,则语句a=-2;printf(“%d”,a);( )。

选项:
A:输出为不确定值
B:输出值为-2
C:赋值不合法
D:输出值为2
答案: 【输出值为-2】

7、判断题:
02280011:在变量声明中给变量赋初值的方法是:int a=b=c=10;()
选项:
A:对
B:错
答案: 【错】

8、判断题:

02280021如果i的原值为3,则:j=++i;j的值为3。()

选项:
A:对
B:错
答案: 【错】

9、判断题:

02280031设C语言中一个int型数据在内存中占2个字节,则int数据的取值范围为-32768~32767。()

选项:
A:错
B:对
答案: 【对】

10、单选题:

02310011下面四个选项中,均是不合法浮点数的是(  )。

选项:
A:123   2e4.2     .e5
B: 160    0.12     e3
C:-e3   .234    1e3
D:-018   123e4   0.0
答案: 【123   2e4.2     .e5】

11、单选题:
02310031:以下每个选项都代表一个常量,其中不正确的实型常量是( )。
选项:
A:2.607E-1
B: -77.77
C: 0.8103e2
D:4.6e-2
答案: 【 0.8103e2】

12、单选题:

02310041设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为(  )。

选项:
A:float
B:double
C:int
D:不确定
答案: 【double】

13、单选题:

02310051设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为(  )。

选项:
A:float
B:double
C: char
D: int
答案: 【double】

14、单选题:
02310062:以下变量定义中,合法的是(  )。
选项:
A:float 3_four=3.4;
B:int _abc_=2;
C:short do =15;
D:double a=1+4e2.0;
答案: 【int _abc_=2;】

15、单选题:

02310072已定义x为float型变量x=213.82631;printf(“%-4.2fn”,x);则以上语句( )。

选项:
A:输出为213.82
B:输出格式描述符的域宽不够,不能输出
C:输出为-213.82
D:输出为213.83
答案: 【输出为213.83】

16、单选题:
02410031:C语言中,char型数据在内存中的存储形式是(  )。
选项:
A:补码
B:ASCII码
C:反码
D:原码
答案: 【ASCII码】

17、单选题:

02410041下面正确的字符常量是(  )。

选项:
A: ”’
B: ‘W’
C: ‘
D: “c”
答案: 【 “c”】

18、单选题:

02410081下面四个选项中,均是正确的数值常量或字符常量的选项是( )。

选项:
A:+001   0xabcd     2e2      50
B:0.0     0f        8.9e      ‘&’
C:’3′      011       0xFF00   0a
D:”a”     3.9E-2.5   1e1      ‘”‘
答案: 【+001   0xabcd     2e2      50】

19、判断题:

02480011字符型变量用来存放字符常量,注意只能放2个字符。()

选项:
A:对
B:错
答案: 【错】

20、判断题:

02480021C语言中可以把一个字符串赋给一个字符变量。( )

选项:
A:对
B:错
答案: 【错】

21、判断题:

02480031C语言使字符型数据和整型数据在一定范围内之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。()

选项:
A:对
B:错
答案: 【对】

22、判断题:

02480041C的字符常量是用双引号括起来的一个字符。( )

选项:
A:对
B:错
答案: 【错】

23、单选题:

02510011下面不正确的字符串常量是(  )。

选项:
A:”12’12”
B:’abc’
C: “0”
D: ” ”
答案: 【’abc’】

24、单选题:

02510021下面4个选项中均是非法常量的是(  )。

选项:
A:’as’       -0fff       ‘xa’
B:0xabc       ”       “a”
C:-0x18    01177     0xf
D:”        1          12,456
答案: 【’as’       -0fff       ‘xa’】

25、判断题:

02580011字符串常量是一对单引号括起来的字符序列。( )

选项:
A:对
B:错
答案: 【错】

26、单选题:

02610011int k=8567;printf(“|%-6d|”,k);结果是(  )。

选项:
A:输出为|-08567|
B:输出格式描述不合法
C:输出为|8567  |
D:输出为|008567|
答案: 【输出为|8567  |】

27、单选题:

02610021若在scanf函数语句中没有非格式字符作输入数据的间隔,则不可用(  )作为输入数据的间隔。

选项:
A:空格
B:TAB
C:逗号
D:回车
答案: 【逗号】

28、单选题:

02610031使用scanf函数时,在源程序开头(  )。

选项:
A:书写#include <scanf.h>
B:书写#include <math.h>
C:书写#include <stdio.h>
D:不必写#include
答案: 【书写#include <stdio.h>】

29、单选题:

02610041double x=213.82631; printf(“%-6.2en”,x);则以上语句(  )。

选项:
A:输出为21.38e+01
B:输出为2.14e+02
C:输出格式描述符的域宽不够,不能输出
D:输出为-2.14e2
答案: 【输出为2.14e+02】

30、单选题:

02610051若输入4位整数到整型变量a中,可用(  )。

选项:
A: scanf(“M”);
B:scanf(“M”,a);
C:scanf(“%d”,&a);
D:scanf(“M”,&a);
答案: 【scanf(“%d”,&a);】

31、单选题:

02610061a为整型变量,输入5,执行printf(“a=%d”,a)后输出为(  )。

选项:
A:a=5
B:5
C:a=%5
D:a=a=5
答案: 【a=5】

32、单选题:

02610072下列能正确输入字符数组a的语句是(  )。

选项:
A:循环执行scanf(“%c”,&a[i]);
B: scanf(“%s”,&a);
C:scanf(“%c”,a);
D:scanf(“%s”,a);
答案: 【scanf(“%s”,a);】

33、单选题:

02610082在输入时,字符变量的值必须使用空格间隔,其输入函数可为(  )。

选项:
A:scanf(“<“,&a,&b,&c);
B:循环执行getchar()
C:scanf(“%c  %c  %c”,&a,&b,&c);
D:scanf(“%c,%c,%c”,&a,&b,&c);
答案: 【scanf(“%c  %c  %c”,&a,&b,&c);】

34、判断题:

02680011若int x=3; printf(“%d”,&x);则系统会报错,没有任何结果。()

选项:
A:对
B:错
答案: 【错】

35、判断题:

02680021输入语句scanf(“%d,%d,%d”,a,b,c);的格式是正确的。( )

选项:
A:对
B:错
答案: 【错】

36、判断题:

02680031在scanf(“%d,%d,%d”,&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。( )

选项:
A:错
B:对
答案: 【错】

37、判断题:

02680041printf函数是一个标准库函数,它的函数原型在头文件”string.h”中。()

选项:
A:错
B:对
答案: 【错】

38、判断题:

02680051在printf函数中,输出列表的各输出项之间可用冒号分隔。()

选项:
A:对
B:错
答案: 【错】

39、判断题:

02680061若int x=3;printf(“%d”,&x);则系统不会报错,会输出x的地址。()

选项:
A:错
B:对
答案: 【对】

40、判断题:

02680071输入语句的格式为:scanf(“%d%d%d”,&a,&b,&c);是正确。()

选项:
A:错
B:对
答案: 【对】

41、判断题:
02680081:在scanf(“%d,%d”,&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。()
选项:
A:错
B:对
答案: 【错】

42、判断题:

02680091printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。()

选项:
A:错
B:对
答案: 【对】

43、判断题:

02680111在scanf(“%c%c”,&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。( )

选项:
A:对
B:错
答案: 【错】

44、判断题:

02680121printf函数中的格式字符,既可以是大写形式也可以是小写形式。()

选项:
A:错
B:对
答案: 【错】

45、判断题:

02680131使用printf函数时,格式控制字符串和各输出项应一一对应。()

选项:
A:错
B:对
答案: 【对】

46、判断题:

02680141在printf函数中,格式字符f的意义是:以小数形式输出单精度实数。()

选项:
A:对
B:错
答案: 【对】

47、判断题:

02680161输入语句的格式为:scanf(“%d,%d,%d”,&a;&b;&c)是正确的。()

选项:
A:对
B:错
答案: 【错】

48、判断题:

02680171在printf函数中,不同系统对输出表列的求值顺序不一定相同,VC是按从右到左进行的。()

选项:
A:对
B:错
答案: 【对】

 

第三章 单元测试

1、单选题:
03110011:已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6′-‘3’后,c2中的值为( )。
选项:
A:68
B:D
C:不确定的值
D:C
答案:

2、单选题:

03110021:若有定义int k=7, x=12;,则能使值为3的表达式是( )。

选项:
A:(x%=k)-(k%=5)
B:x%=(k%=5)
C:x%=(k-k%5)
D:x%=k-k%5
答案:

3、单选题:

03110031:设int n=3;则有表达式++n,n的结果是( )。

选项:
A:3
B:4
C:2
D:5
答案:

4、单选题:

03110041:表达式18/4*sqrt(4.0)/8值的数据类型为(  )。

选项:
A: int
B:double
C:float
D:不确定
答案:

5、单选题:

03110051:设int n=3;则n++的指是( )。

选项:
A:5
B:4
C:2
D:3
答案:

6、单选题:

03110061:若有int k = 11;则表达式(k++*1/3)的值是( )。

选项:
A:3
B:12
C:11
D:0
答案:

7、单选题:

03110071:下列表达式的值,那一个等于0 (  )。

选项:
A:5%6
B:5/6.0
C:5/6
D:5-6
答案:

8、单选题:

03110082:已知int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

选项:
A:3.500000
B:2.750000
C: 2.500000
D: 0.000000
答案:

9、判断题:

03180011:在C语言中,要求参加运算的数必须是整数的运算符是%。( )

选项:
A:错
B:对
答案:

10、判断题:

03180021:若有int m=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-16。(  )

选项:
A:错
B:对
答案:

11、单选题:

03210012判断char型变量c1是否为小写字母的正确表达式为( )。

选项:
A: (c1>=A. &&(c1<=’z’)
B:(c1>=’a’)&&(c1<=’z’)
C:(‘a’>=c1)||(‘z'<=c1)
D:’a'<=c1<=’z
答案:

12、单选题:
03210021:下列运算符中,不属于关系运算符的是( )。
选项:
A:>=
B:!=
C:!
D:<
答案:

13、单选题:

03210032设int n=2;则++n+1==4的结果是(  )。

选项:
A:0
B:false
C:1

D:true
答案:

14、单选题:

03310011:在C语言的逻辑运算中,逻辑值”真”用( )表示。

选项:
A:T
B: true
C:TURE
D:整型值1
答案:

15、单选题:

03310021在C语言的混合运算中,非逻辑值转化为逻辑值的原则是()。

选项:
A:1为真,0为假
B:非“零”为真,“零”值为假
C:正数为真,负数为假
D:非0为真,0为假
答案:

16、单选题:

03310031在逻辑运算中,逻辑运算符两侧的运算对象数据类型是( )。

选项:
A:只能是0或非0正数
B:可以是任何合法的类型数据
C:只是0或1
D:只能是整型或字符型数据
答案:

17、单选题:

03310042若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是( )。

选项:
A:!(A%2==0)
B:!(A%2)
C:A%2==1
D:A%2
答案:

18、单选题:
03310052:设a=2,b=3,c=4,则表达式 a+b>c&&b==c&&a||b+c&&b+c的值为( )。
选项:
A:8
B:1
C:5
D:0
答案:

19、单选题:

03310062下列运算符中优先级最高的是 ( )。

选项:
A:&&
B:+
C:<
D:!=
答案:

20、判断题:
03380011:逻辑运算符的优先级别高于算术运算符。( )
选项:
A:错
B:对
答案:

21、判断题:

03380021int a=0,b=1,c=2;则表达式a||b+c && b==c的值为 0。()

选项:
A:错
B:对
答案:

22、判断题:

03380031int a=0,b=1,c=2,x,y;则!(x=a)&&(y=b)&&c的值为1。()

选项:
A:错
B:对
答案:

23、单选题:
03410011:已知各变量的类型说明如下:int k,a,b; unsigned long w=5;double x=1.42;下列表达式中不符合C语言语法的是(  )。
选项:
A:k=(a=2,b=3,a+b)
B:w+=-2
C:a+=a-=(b=4)*(a=3)
D: x%(-3)
答案:

24、单选题:

03410021设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(  )。

选项:
A:1
B:3
C:0
D:2
答案:

25、单选题:

03410031以下叙述中正确的是(  )。

选项:
A:在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。
B:已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。
C:执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。
D:a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。
答案:

26、单选题:
03410051:设有int p,q;以下不正确的语句是( )。
选项:
A:p+=3;
B:p&&=q;
C:p/=q;
D:p*=3;
答案:

27、单选题:
03410061:已知int x,y,z;执行语句x=(y=(z=10)+5)-5;后x、y、z的值是( )。
选项:
A:x=10 y=10 z=15
B:x=10 y=10 z=10
C:x=10 y=5 z=10
D:x=10 y=15 z=10
答案:

28、判断题:

03480011由赋值运算符将一个变量和一个表达式连接起来的式子称为”赋值表达式”。()

选项:
A:对
B:错
答案:

29、判断题:

03480021a=b=c=d=10;是一个合法的赋值语句。()

选项:
A:错
B:对
答案:

30、单选题:

03610021sizeof(float)是(  )。

选项:
A:一个整型表达式
B:一个不合法的表达式
C:一个双精度表达式
D:一种函数调用
答案:

31、单选题:

03610031C语言中int、char和short三种类型数据在内存中占用的字节数( )。

选项:
A:均为2个字节
B:由用户自己定义
C:是任意的
D:由所用机器的机器字长决定
答案:

32、单选题:

03610041逗号表达式(a=3*5,a*4),a+15的值为(  )。

选项:
A:15
B:30
C:不确定
D:60
答案:

33、单选题:

03610062以下变量均为int类型,则值不等于7的表达式是( )。

选项:
A:(x=y=6,x+y,y+1)
B:(x=y=6,x+y,x+1)
C:(x=6,x+1,y=6,x+y)
D:(y=6,y+1,x=y,x+1)
答案:

34、单选题:

03610072以下符合C语言语法的赋值表达式是( )。

选项:
A:d=9+e+f=d+9
B:d=9+e,e++,d+9
C:d=e=f+7
D:d=9+e,f=d+9
答案:

35、单选题:

03610083以下使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;
答案:

第四章 单元测试

1、单选题:

04210012:以下程序的输出结果是( )。

int main( )

{

int m=5;

if(m++>5)

printf(“%d”,m);

else printf(“%d”,m–);

return 0;

}

选项:
A:5
B:7
C:6
D:4
答案:

2、单选题:

04210022以下程序的输出结果为( ) 。

int  main ( )

{

int i=0,j=0,a=6;

if ((++i>0)&&(++j>0))

a++;

printf (“i=%d, j=%d, a=%dn”, i,j,a);

return 0;

}

选项:
A:i=0,j=0,a=6
B:i=0,j=1, a=7
C:i=1,j=0,a=7
D:i=1,j=1,a=7
答案:

3、单选题:

04210032以下程序的输出结果为( ) 。

int main()

{

int a=2,b=-1,c=2;

if (a )

if(b<0)

c=0;

else  c++;

printf(“%d”,c);

return 0;

}

选项:
A:3
B:0
C:1
D:2
答案:

4、单选题:

04210042若i为int型,且有程序如下,则输出结果是( )。

i=111;

if(i%3==0)

printf(“####”);

printf(“****”);

选项:
A: ****
B:####****
C: ####
D:无输出结果
答案:

5、判断题:

04280011变量a,b,c已赋初值,则语句if((a=b;)>0) c=a;是正确的。()

选项:
A:错
B:对
答案:

6、判断题:
04280021:变量x,y,z已赋初值,则语句if((x=y+5)>0) z=x;是正确的。()
选项:
A:错
B:对
答案:

7、判断题:

04280031else语句总是和靠它最近的if匹配。()

选项:
A:对
B:错
答案:

8、单选题:

04310012若运行时x=12,则运行结果为( )。

int main( )

{

int x, y;

scanf(“%d”, &x);

y=x>12 ? x+10:x-12;

printf(“%dn”, y);

return 0;

}

选项:
A:10
B:12
C:22
D:0
答案:

9、单选题:

04310023以下程序的输出结果是(  )。

int main()

{

int i=0, j=0, k=6;

if ((++i>0)||(++j>0))

k++;

printf(“%d, %d, %dn”, i, j, k);

return 0;

}

选项:
A:0, 1, 7
B:1, 1, 7
C:0, 0, 6
D: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=%dn”,a,b,c);

选项:
A:a=2 b=3 c=2
B:a=1 b=2 c=1
C:a=1 b=2 c=3
D:a=1 b=3 c=1
答案:

11、单选题:

04310042以下不正确的语句为( )。

选项:
A:if((x==y)&&(x!=0))x+=y;
B:if(x!=y) scanf(“%d”,&x);else scanf(“%d”,&y);
C:if(x)
D: if(x>y);
答案:

12、单选题:

04410012写出下面程序输出结果(   )。

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=%dn”, a, b) ;

}

选项:
A:a=1, b=0
B: a=2, b=2
C:a=2, b=1
D:a=1, b=1
答案:

13、判断题:

04480012switch语句中一定有default分支。()

选项:
A:错
B:对
答案:

14、判断题:

04480021case后只能跟常量,不能跟变量。()

选项:
A:错
B:对
答案:

第五章 单元测试

1、单选题:

05210012:现已定义整型变量int i=1;执行循环语句while(i++<5);后,i的值为( )。

选项:
A:6
B:5
C:1
D:A、B、C均不正确
答案:

2、单选题:

05210022:有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是( )。

选项:
A:循环体语句一次也不执行
B:循环是无限循环
C:循环体语句执行一次
D:while 循环执行10次
答案:

3、单选题:

05210032:下列程序段的运行结果是(  )。

int n=0; while(n++<3); printf(“%d”,n);

选项:
A:以上都不对
B:4
C:2
D:3
答案:

4、单选题:

05210042:设有程序段t=0;while(printf(“*”)){ t++;if (t<3)break;} printf(“t=%d”,t);下面描述正确的是(  )。

选项:
A:其中循环控制表达式是不合法的
B:以上说法都不对
C:其中循环控制表达式与0等价
D:其中循环控制表达式与’0’等价
答案:

5、单选题:

05310012:以下程序段( )。

x=-1;

do

{ x=x*x;

}while(!x);
选项:
A:循环执行一次
B:有语法错误
C:循环执行2次
D:是死循环
答案:

6、单选题:

05310022:下面程序的运行结果是(  )。

int main()

{

int y=10;

do

{ y–;}

while(–y);

printf(“%dn”,y–);}

选项:
A:1
B:8
C:-1
D:0
答案:

7、单选题:

05310032:有语句int x=3; do { printf(“%dn”,x-=2);} while(!(–x));则上面程序段(  )。

选项:
A:输出的是1
B:输出的是1和-2
C:是死循环
D:输出的是3和0
答案:

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:abccdd
C:abbde
D:abcee
答案:

9、单选题:

05510042:以下程序段的输出结果是(  )。

int main()

{

int i=5;

for ( ;i<=15; )

{

i++;

if (i%4==0)

printf(“%d “,i);

else

continue;

}

return 0;

}

选项:
A:8
B:8 12
C:8 12 16
D:12 16
答案:

10、判断题:

05480011:do-while语句构成的循环不能用其它语句构成的循环来代替。()

选项:
A:对
B:错
答案:

11、判断题:

05480021:用do-while语句构成循环时,只要while后的表达式为0时就结束循环。()

选项:
A:错
B:对
答案:

12、判断题:

05480031:while循环的while( )后没有分号,而do-while循环的while()后一定要有一个分号。()

选项:
A:对
B:错
答案:

13、单选题:
05510021:C语言的for语句中的表达式可以部分或全部省略,但两个(  )不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
选项:
A:<
B:,
C:;
D:++
答案:

14、单选题:

05510031:下面有关for循环的正确描述是( )。

选项:
A:for循环体语句中,可以包含多条语句,但要用花括号括起来。
B:在for循环中,不能用break语句跳出循环体。
C:for循环只能用于循环次数已经确定的情况。
D:for循环是先执行循环体语句,后判定表达式。
答案:

15、单选题:
05510052:以下不是无限循环的语句为( )。
选项:
A:for(i=10;  ; i–) sum+=i;
B:while(1){x++;}
C:for( ; ;x++=i);
D:for(y=0,x=1;x>++y;x=i++) i=x;
答案:

16、判断题:

05580011:for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。()

选项:
A:对
B:错
答案:

17、判断题:
05580021:for循环中,如果表达式2为空,则该循环一定是死循环。()
选项:
A:对
B:错
答案:

18、判断题:
05580031:for(i=0,j=10;i<=j;i++,j–) k=i+j;执行完后,k的值为50。()
选项:
A:错
B:对
答案:

19、判断题:

05580041:若a、b均为int型变量,且a=100,则for (b=100;a!=b;++a,b++) printf(“—-n”)是死循环。()

选项:
A:错
B:对
答案:

20、判断题:
05580051:执行语句: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,%dn”,k,b);

return0;

}

选项:
A:8,-1
B:8,-2
C:3,0
D:3,-1
答案:

22、单选题:

05610021:以下程序段中循环体总的执行次数是( )。

int i,j;

for(i=7;i;i–)

for(j=0;j<6;j++)

{……}

选项:
A:42
B:36
C:21
D:13
答案:

23、单选题:

05710012:以下正确的描述是( )。

选项:
A:只能在循环体内和switch语句内使用break语句
B:在循环体内使用break语句或continue语句的作用相同
C:从多层循环嵌套中退出时,只能使用goto语句
D:continue语句的作用是结束整个循环的执行
答案:

24、单选题:

05710021:以下不正确的描述是( )。

选项:
A:break 语句不能用于循环语句和switch语句外的任何其他语句
B:在switch语句中使用break语句或continue语句的作用相同。
C:在循环语句中使用break是为了使流程跳出循环体,提前结束循环。
D:在循环语句中使用continue是为了结束本次循环,而不是终止整个循环的执行。
答案:

25、判断题:

05780011:break语句的作用就是结束本层循环。()

选项:
A:错
B:对
答案:

第六章 单元测试

1、单选题:
06110011:C语言中,数组名代表( )。
选项:
A:数组第一个元素的值
B:数组首地址
C:数组元素的个数
D:数组全部元素的值
答案:

2、单选题:

06110021:以下关于数组的描述正确的是 ( ) 。

选项:
A:数组的大小是固定的,所有数组元素的类型必须相同
B:数组的大小是固定的,但可以有不同的类型的数组元素
C:数组的大小是可变的,可以有不同的类型的数组元素
D:数组的大小是可变的,但所有数组元素的类型必须相同
答案:

3、单选题:
06110031:在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
选项:
A:整型常量或整型表达式
B:任何类型的表达式
C:整型表达式
D:整型常量
答案:

4、单选题:

06110041:设array为一数组,则表达式sizeof(array)/sizeof(array[0])的结果为( )。

选项:
A: array数组首地址
B: array数组中每个元素所占的字节数
C:array数组中元素个数
D:array数组占的总字节数
答案:

5、单选题:

06210011:以下对一维数组a的正确说明是()。

选项:
A:int k=5,a[k];
B:int a[ ];
C:char a[ ]={‘a’,’b’, ‘c’};
D:char a(10);
答案:

6、单选题:

06210021:下面程序中有错误的行是( )。

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:7
C:6
D:5
答案:

7、单选题:

06210031:若有以下语句,则正确的描述是( )。

char x[ ]=”12345″;char y[ ]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};

选项:
A:x数组长度大于y数组长度
B: x数组与y数组的长度相同
C:x数组等价于y数组
D:x数组长度小于y数组长度
答案:

8、单选题:

06210041:以下不正确的数组定义语句是( )。

选项:
A:double x[5]={2.0, 4.0, 6.0, 8.0, 10.0};
B:char ch1[ ]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};
C:char ch2[ ]={‘x10’, ‘xa’, ‘x8’};
D:int y[5]={0, 1, 3, 5, 7, 9};
答案:

9、单选题:

06210051:以下正确的数组定义语句是( )。

选项:
A:int b[2][ ]={{1}, {2}};
B:char a[5]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ”};
C:float c[ ][3]={1, 2, 3, 4, 5};
D:char d[5]=”CHINA”;
答案:

10、单选题:

06210061:下列一维数组正确初始化是( )。

选项:
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};
答案:

11、单选题:

06210071:不能对以下数组进行初始化的语句的是( )。

选项:
A: int a[2]={10*1};
B:int  a[2]; a[0]=1; a[1]=2;
C: int a [2] =[1,2] ;
D:int a[2]={0};
答案:

12、单选题:
06210081:若定义int m[10]={9,4,12,8,2,10,7,5,1,3};则m[m[4]+m[8]]的值是()。
选项:
A:12
B:10
C:7
D:8
答案:

13、单选题:
06210091:以下对一维数组 a 的定义正确的是( )。
选项:
A:int a[5];
B: int a[0..100];
C:int k=10;int a[k];
D:char a(10);
答案:

14、单选题:
06210101:若有说明int a[10];则对数组元素正确的引用是( )。
选项:
A:a[0]
B:a[10]
C:a(0)
D:a[3.5]
答案:

15、单选题:
06210111: 对说明语句int a[10]={6,7,8,9,10};理解正确的是()。
选项:
A:将5个初值依次赋给a[0]至a[4]。
B:将5个初值依次赋给a[1]至a[5]。
C:因为数组长度与初值个数不同,所以语句不正确。
D:将5个初值依次赋给a[6]至a[10]。
答案:

16、单选题:

06210121:下列程序的输出结果是( )。

int main()

{

int a=0, b[3];

b[0]=3;

printf(“%d,%d”,b[0];b[1]);

return 0;}

选项:
A:3 0
B:0,3
C:3,不定值
D:3,0
答案:

17、单选题:

06210132:以下程序运行后 ,输出结果是( )。

int main()

{

int n[5]={0,0,0},i,k=2;

for(i=0;i<k;i++)

n[i]=n[i]+1;

printf(“%dn”,n[k]);

return 0;

}

选项:
A:不确定值
B:2
C:1
D:0
答案:

18、单选题:

06210141:以下对一维整型数组 a 的正确说明是(  ) 。

选项:
A:#define SIZE 10 int a[SIZE];
B:int n=10,a[n];
C:int a(10);
D:int n; scanf(“%d”,&n); int a[n];
答案:

19、单选题:

06210152:执行下面的程序段后,变量k中的值为( ) 。

int k=3, s[2];

s[0]=k; k=s[1]*10;

选项:
A:不确定值
B:33
C:30
D:10
答案:

20、单选题:
06210161:已知short int类型变量在内存在占两个字节,有如下定义 short int array[10]={0,2,4}则数组array在内存所占的字节数为( )。
选项:
A:3
B:20
C:6
D:10
答案:

21、单选题:
06310011:下列二维数组的初始化哪一个不针对三行四列二维数组()。
选项:
A:int a[3][4] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
B:int a[][4]={1,0,0,0,5,6};
C:int a[][4]={{1},{5},{9}};
D:int a[][4]={{1},{0,6},{0,0,11}};
答案:

22、单选题:
06310021:若有说明语句:int a[2][4];则对a数组元素的正确引用是( )。
选项:
A:a[2][2+1]
B:a[2][2]
C:a[0][3]
D:a[0][4]
答案:

23、单选题:
06310031:以下能对二维数组y进行初始化的语句是( )。
选项:
A:static int y[ ][3]={{1,0,1,0}, { }, {1,1}};
B:static int y[2][ ]={{1,0,1}, {5,2,3}};
C:static int y[ ][3]={{1,2,3}, {4,5,6}};
D:static int y[2][4]={{1,2,3}, {4,5} , {6}};
答案:

24、单选题:

06310041若有说明语句:int y[ ][4]={0,0};则下面叙述不正确的是( )。

选项:
A:二维数组y的行数为1。
B:数组y的每个元素都可得初值0。
C:该说明等价于int y[ ][4]={0};
D:只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0。
答案:

25、单选题:

06310051以下各组选项中,均能正确定义二维实型数组s的选项是( )。

选项:
A:float s[3][4];static float s[][4]={{0},{0}};auto float s[][4]={{0},{0},{0}};
B:float s(3,4);float s[ ][ ]={{0},{0}};float s[3][4];
C:float s[3][4];float s[3][ ];float s[ ][4];
D:float s[3][4];float s[ ][4];float s[3][ ]={{1},{0}};
答案:

26、单选题:
06310061:若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8};则a数组的行数为( )。
选项:
A:3
B:无确定值
C:1
D:2
答案:

27、单选题:

06310071若二维数组y有m列,则在y[i][j]前的元素个数为( )。

选项:
A:j*m+i
B:i*m+j+1
C: i*m+j-1
D: i*m+j
答案:

28、单选题:

06310081以下定义语句错误的是()。

选项:
A:int x[][3]={{1,2,3,4}};
B: int x[][3]={{0},{1},{1,2,3}};
C:int x[4][]= { {1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D:int x[4][3]={ {1,2,3},{1,2,3},{1,2,3},{1,2,3}};
答案:

29、单选题:
06310091:若有以下定义:int a[ ][2]={1,2,3,4,5,6,7};则数组a第一维大小是( )。
选项:
A:不确定
B:5
C:4
D:3
答案:

30、单选题:
06310101:以下对二维数组的定义中正确的是( )。
选项:
A:int a[][3]= {1,2,3,4,5,6};
B:int a[4][]={1,2,3,4,5,6};
C:int a[][3];
D: int a[][]={{1,2,3},{4,5,6}};
答案:

31、单选题:

06310111以下程序的输出结果是( )。

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:5430
B:不确定
C:1470
D:0650
答案:

32、单选题:

06410011与char str[]={“china”};初始化赋值不等价的是( )。

选项:
A:char str[]={‘c’,’h’,’i’,’n’,’a’,’o’};
B: char str[]=“china”;
C:char str[]={‘c’,’h’,’i’,’n’,’a’};
D:char str[6]={‘c’,’h’,’i’,’n’,’a’,’o’};
答案:

33、单选题:

06410021char array[]={‘c’,’h’,’i’,’n’,’a’};数组array占用的内存空间是( )个字节。

选项:
A:6
B:1
C:不确定
D:5
答案:

34、单选题:

06410031判断字符串str1是否大于字符串str2,应当使用( )。

选项:
A:if (strcmp(str1, str2)>0)
B:if (strcmp(str1, str2))
C:if (strcmp(str2, str1)>0)
D: if (str1>str2)
答案:

35、单选题:
06410051:有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是( )。
选项:
A:gets(a, b);
B:scanf(“%s%s”, &a, &b);
C:getchar(a); getchar(b);
D:gets(a); gets(b);
答案:

36、单选题:
06410061:有字符数组s1[80]和s2[80],则以下能正确对s1, s2进行输出的语句是( )。
选项:
A:printf(“%s, %s”, s1, s2);
B:puts(s1, s2)
C:puts(s1), puts(s2);
D:putchar(s1, s2);
答案:

37、单选题:

06410071以下程序段的运行结果是( )。

char a[7]=”abcdef”;

char b[4]=”ABC”;

strcpy(a, b);

printf(“%c”, a[5]);

选项:
A:

B:f
C:e
D:└┘
答案:

38、单选题:

06410081以下描述正确的是( )

选项:
A:字符串”That”小于字符串”The”
B:字符个数多的字符串比字符个数少的字符串大
C:字符串”STOP└┘”与”STOP”相等
D:两个字符串所包含的字符个数相同时,才能比较字符串
答案:

39、单选题:

06410091以下对字符数组的描述中错误的是( )。

选项:
A:可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值
B:字符数组中可以存放字符串
C:字符数组中的字符串可以整体输入、输出
D:不可以用关系运算符对字符数组中的字符串进行比较
答案:

40、单选题:

06410101若有语句:char s1[10], s2[10]={“books”},则能将字符串books赋给数组s1的正确语句是( )。

选项:
A:strcpy(s2,s1);
B: s1=s2;
C: strcpy(s1,s2);
D:s1={“books”};
答案:

41、单选题:
06410121:下面程序的功能是将字符串s中所有的字符c删除。请选择填空。( )

#include <stdio.h>

int main(  )

{

char s[80];

int i, j;

gets(s);

for (i=j=0; s[i]!=”;i++)

if (s[i]!=’c’)           ;

s[j]=”;

puts(s);

return 0;

}

选项:
A:s[j++]=s[i]
B:s[j]=s[i]
C:;
D:s[++j]=s[i]
答案:

42、单选题:

06410141下面程序的运行结果是()。

#include <stdio.h>

#include <string.h>

int main(  )

{

char x[80]=”AB”, y[80]=”LMNP”;

int n=0;

strcat(x, y);

while (x[n++]!=”)

y[n]=x[n];

puts(y);

return 0;

}

选项:
A:LB
B:ABLMNP
C:LBLMNP
D: AB
答案:

第七章 单元测试

1、单选题:

07110011C程序的基本结构单位是()

选项:
A:表达式
B:文件

C:语句
D:函数
答案:

2、单选题:

07110021一个C语言程序的执行是()

选项:
A:从程序的主函数main()开始到主函数main()结束
B:从程序的第一个函数开始到最后一个函数结束
C:从程序的主函数卖main()开始到最后一个函数结束
D:从程序的第一个函数开始到程序的主函数main()结束
答案:

3、单选题:

07210011下列函数定义正确的是()

选项:
A: double fun(int x, y)
B:double fun(int x,int y)
C:double fun(int x;int y)
D:double fun(int x, y;)
答案:

4、单选题:

07210021下面说法不正确的是()

选项:
A:通常C程序是由许多小函数组成的,而不是由少量的大函数组成的
B:通常调用函数前函数必须被定义或声明
C:在源文件中可以用不同的顺序定义函数
D:Dummy(){}是无用的函数
答案:

5、单选题:
07310011:若函数的形参为一维数组,则下列说法中正确的是()
选项:
A:形参数组可以不指定大小
B:形参数组的元素个数必须多于实参数组的元素个数
C:调用函数时的对应实参必为数组名
D:形参数组的元素个数必须等于实参数组的元素个数
答案:

6、单选题:

07310021有以下函数调用语句:func(rec1,rec2+rec3,rec4);该函数调用语句中含有的实参个数是()

选项:
A:4
B:有语法错
C:3

D:5
答案:

7、单选题:

07510011下面程序的结果是()

#include <stdio.h>

increment()

{

static int x=0;

x+=1;

printf(“%d”,x);

}

void main()

{

increment();

increment();

increment();

}

选项:
A:1 2 3
B:1 1 1
C:0 1 2
D:0 0 0
答案:

8、单选题:
07510021:下面叙述正确的是()
选项:
A:全局变量在程序的全部执行过程中一直占用内存单元
B:同一文件中的变量不能重名
C:全局变量的定义它的文件中的任何地方都是有效的
D:使用全局变量有利于程序的模块化和可读性的提高
答案:

9、单选题:

07510031在C语言中,局部变量的隐含存储类别是()

选项:
A:static
B:无存储类别
C:register
D:auto
答案:

第八章 单元测试

1、单选题:

08110012:有以下说明语句,则下面的叙述不正确的是( )。

typedef struct stu{

int a;

float b

}stutype;

选项:
A:struct stu是用户定义的结构体类型名
B:stutype是用户定义的结构体类型名
C:a和b都是结构体成员名
D:struct是结构体类型的关键字
答案:

2、单选题:

08110021:当说明一个结构体变量时系统分配给它的内存是( )。

选项:
A:成员中所占内存量最大者所需的容量
B:结构体中最后一个成员所需内存量
C:结构体中第一个成员所需内存量
D:各成员所需内存量的总和
答案:

3、单选题:

08110032:下列输出字符‘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[1]);
B:printf(“%c”,class[2].name[0]);
C: printf(“%c”,class[3].name);
D: printf(“%c”,class[2].name[1]);
答案:

4、单选题:

08110042:下列关于结构体变量操作中正确的是()。

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:if (stu1==stu2)
C: printf(“%10s %20s %c %3d %4.1f %4.1f %4.1f %4.1”,stu1);
D:struct student stu1={“2008001″,”LiNing”,’M’,19,84.3,82.5,89.4,85.4};
答案:

5、单选题:

08110052:以下定义结构体类型的变量st1,其中不正确的是()。

选项:
A:  struct student{

int num ,age;

}st1;

B: struct student{

int num;

int age;

};

student st1;

C: struct{

int num;

float age;

}st1;

D: typedef struct student{

int num;

int age;

}STD;

STD st1;

答案:

6、单选题:

08110062:已知职工记录描述为:

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:birth.day=25;birth.month=10;birth.year=1993;
C:w.day=25;w.month=10;w.year=1993;
D:w.birth.day=25;w.birth.month=10;w.birth.year=1993;
答案:

7、单选题:

08210012:当说明一个共用体变量则系统分配给它的内存是(  )。

选项:
A:没有成员驻留在内存中
B:所有成员一直驻留在内存中
C:部分成员驻留在内存中
D:只有一个成员驻留现在内存中
答案:

8、单选题:

08310012:设有枚举类型定义:enum color={red=3,yellow,blue=10,white,black};其中枚举量black的值是()。

选项:
A:15
B:7
C:14
D:12
答案:

9、单选题:
08310022:关于下面变量赋值不正确的是()。

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);
答案:

10、单选题:

08310032:如下说明语句:

enum A{A0=1,A1=3,A2,A3,A4,A5};

enum A b;

执行b=A3;printf(“%d”,b);输出是()。

选项:
A:2
B:3
C:编译出错
D:5
答案:

第九章 单元测试

1、单选题:

09110011:变量的指针,其含义是指该变量的( )。

选项:
A:一个标志
B:值
C:地址

D:名

答案:

2、单选题:

09110022:已有定义int k=2;int *ptr1.*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )。

选项:
A:ptr=k;
B:k=*ptr1*(*ptr2);
C:ptr1=ptr2;
D:k =*ptr1+*ptr2;
答案:

3、单选题:

09110032:若有以下说明和定义,则叙述正确的是( )。

typedef  int  *INTEGER;

INTEGER p,*q;

选项:
A:q是指向int 的指针变量
B:p是int 类型
C:p是指向int 的指针变量
D:程序中可用INTEGER代替int类型名
答案:

4、单选题:
09110042:若有说明:int i,j=2,*p=&i;则能完成i=j赋值功能的语句是(  )。
选项:
A:*p=*&j;
B:i=*p;
C:i=&j;
D:i=**p;
答案:

5、单选题:

09110052:若有说明:int *p,m=5,n;以下正确的程序段是( )。

选项:
A:p=&n; *p=m;
B:p=&n;scanf(“%d”,*p);
C:p=&n; scanf(“%d”, &p);
D:scanf(“%d”,&n);*p=n;
答案:

6、单选题:

09110062:有语句int *p,a[4];p=a;下列表示与a[1]不等价的形式是()。

选项:
A:*p++
B:*(p+1)
C:*a++
D:p[1]
答案:

7、单选题:

09110072: 以下程序执行后的输出结果是()。

int main(){

int a[]={1,2,3,4},y,*p=&a[1];

y=(*–p)++;

printf(“%d”,y);

return 0;

}

选项:
A:3
B:1
C:4
D:2
答案:

8、单选题:
09110082:语句int *p;说明了(   )
选项:
A:p是指向返回值为一int型数据的函数
B:p是指向int型数据的指针变量
C:p是指向一维数组的指针
D:p是对指向int型数据指针取内容
答案:

9、单选题:

09110092:若已定义:int b[12],*p=b;在以后的语句中未改变p的值,则不能表示b[1]地址的表达式是( )。

选项:
A:++b
B:b+1
C:p+1
D:++p
答案:

10、单选题:

09110102:设有如下定义:

struct sk{

int a;

float b;

}data,*p;若有p=&data;则对data中的a成员的正确引用是()。

选项:
A:(*p).data.a
B:p.data.a
C:(*p).a
D:p->data.a
答案:

11、单选题:

09210012:如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a; 则数值为9的表达式是( )

选项:
A:*(P+8)
B: P+8
C:*P+9
D: *P+=9
答案:

第十章 单元测试

1、单选题:

10110011下列关于C语言数据文件的叙述中正确的是()。

选项:
A:文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
B:文件由二进制数据序列组成,C语言只能读写二进制文件
C:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
D:文件有ASCII码字符序列组成,C语言只能读写文本文件
答案:

2、单选题:

10110021C语言中能识别处理的文件为( )。

选项:
A:文本文件和数据块文件
B:数据文件和二进制文件
C:文本文件和二进制文件
D:流文件和文本文件
答案:

3、单选题:

10210011:如执行fopen函数时发生错误,则函数的返回值是( )。

选项:
A:TRUE
B:1
C:地址值
D:NULL
答案:

4、单选题:

10210032:若要打开A盘上user子目录下名为“abc.txt”的文本文件进行度、写操作,线面符合此要求的函数调用是()。

选项:
A:fopen(“A:userabc.txt”,”rb”);
B:fopen(“A:userabc.txt”,”r+”);
C:fopen(“A:userabc.txt”,”w”);
D:fopen(“A:userabc.txt”,”r”);
答案:

5、单选题:

10210042:fread(buf,64,2,fp)的功能是()。

选项:
A:从fp所指向的文件中,读出整数64,并存放在buf中;
B:从fp所指向的文件中,读出整数64和2,并存放在buf中;
C:从fp所指向的文件中,读出64个字节的字符,并存放在buf地址中;
D:从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中
答案:

6、单选题:

10210052以下程序的功能是()。

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”
C:把“Qingdao 2018”存入file2文件中
D:以上都不对
答案:

7、单选题:

10210062以下程序是建立一个名为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:fopen  “r”
B:fgetc  ”w”
C:fopen  “w”
D:fgets  “r”
答案:

8、单选题:

10310011:函数调用语句:fseek(fp,-20L,2);的含义是()。

选项:
A:将文件位置指针移到离当前位置20个字节处;
B:将文件位置指针移到距离文件末尾20个字节处;
C:将文件位置指针从当前位置向后移20个字节;
D:将文件位置指针移到距离文件头20个字节处;
答案:

9、单选题:

10310021:函数rewind的作用是()。

选项:
A:将位置指针指向文件中所要求的特定位置
B:使位置指针重新返回文件的开头
C:使位置指针指向文件的末尾
D:使位置指针自动移至下一个字符位置
答案:

0
觉得这篇文章对你有用的话,就打赏一下支持文章作者

评论0

请先

站点公告

开放大学课程作业代写,有需要扫码加微信

显示验证码

社交账号快速登录