一、单选题(共 20 道试题,共 40 分。)V 1. 以下能对一维数组a进行正确初始化的语句是
A. int a[10]=(00000)
B. int a[10]={}
C. int a[]={0}
D. int a[10]={10*1}
2.下面四个选项中,均是合法转义字符的选项是
A. ‘\’’ ‘\\’ ‘\n’
B. ‘\’ ‘\017’ ‘\”’
C. \018’ ‘\f’ ‘xab’
D. \\0’ ‘\101’ ‘x1f’
3.对以下说明语句的正确理解是______。 int a[10]={678910}
A. 将5个初值依次赋给a[1]至a[5]
B. 将5个初值依次赋给a[0]至a[4]
C. 将5个初值依次赋给a[6]至a[10]
D. 因为数组长度与初值的个数不相同,所以此语句不正确
4.有输入语句:scanf(“a=%db=%dc=%d”&a&b&c)为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是
A. A) 132<回车>
B. 132<回车>
C. a=1 b=3 c=2<回车>
D. a=1b=3c=2<回车>
5.在一个C程序中,main函数的位置( )。
A. 必须在程序的开头
B. 可以在程序的任何地方
C. 必须在其它函数中间
D. 必须在程序的后面
6.以下能对二维数组a进行正确初始化的语句是
A. int a[2][]={{101}{523}}
B. int a[][3]={{123}{456}}
C. int a[2][4]={{123}{45}{6}}
D. int a[][3]={{101}{}{11}}
7.下列四个选项中,均是C语言关键字的选项是
A. auto enum include
B. switch typedef continue
C. signed union scanf
D. if struct type
8.以下说法正确的是
A. 输入项可以为一实型常量,如scanf(“%f”3.5)
B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%db=%d”)
C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”&f)
D. 当输入数据时,必须指明变量的地址,如scanf(“%f”&f)
9.下面四个选项中,均是不合法的转义字符的选项是
A. ‘\”’ ‘\\’ ‘\xf
B. ‘\1011’ ‘\’ ‘\a’
C. ‘\011’ ‘\f’ ‘\}’
D. ‘\abc’ ‘\101’ ‘xlf’
10.将两个字符串连接起来组成一个字符串时,选用( )函数。
A. strlen( )
B. strcpy( )
C. strcat( )
D. strcmp( )
11.在位运算中,操作数每右移一位,其结果相当于( )。
A. 操作数乘以2
B. 操作数除以2
C. 操作数乘以4
D. 操作数除以4
12.已知x=43ch=‘A’y=0则表达式(x>=y&&ch<‘B’&&!y)的值是
A. 0
B. 语法错
C. 1
D. “假”
13.下面不正确的字符串常量是
A. ‘abc’
B. “12’12”
C. “0”
D. “ ”
14.以下不是无限循环的语句为
A. for(y=0x=1x>++yx=i++) i=x
B. for(x++=i)
C. while(1) { x++ }
D. for(i=10i) sum+=i
15.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为
A. char<int<long int<=float<double
B. char=int<long int<=float<double
C. char<int<long int=float=double
D. char=int=long int<=float<double
16.若有说明:int a[10]则对a数组元素的正确引用是
A. a[10]
B. a[3.5]
C. a(5)
D. a[1010]
17.下面正确的字符常量是
A. “c”
B. ‘\\’’
C. ‘W’
D. ‘’
18.以下不正确的C语言标识符是( )。
A. AB1
B. _ab3
C. 4ab
D. a2_b
19.为求出s=10!的值,则变量s的类型应当为( )。
A. int
B. unsigned
C. long
D. 以上三种类型均可
20.若有说明:int a[3][4]={0}则下面正确的叙述是
A. 只有元素a[0][0]可得到初值0
B. 此说明语句不正确
C. 数组a中各元素都可得到初值,但其值不一定为0
D. 数组a中每个元素均可得到初值0
华师《C语言程序设计B》在线作业
二、多选题(共 15 道试题,共 30 分。)V 1. 若有 char ch;,下面可以对变量c正确赋值的语句是:
A. ch =‘A’
B. getchar(ch)
C. ch = getchar()
D. scanf(“%c”&ch)
CD
2.下列函数中,能够输出字符数据的函数有
A. puts( )
B. printf( )
C. scanf( )
D. putchar( )
BD
3.以下正确的说法有
A. C语言程序的基本组成单位是函数;
B. 函数必须要有返回值;
C. 一个函数的类型为void,在定义时,可以省略void;
D. 函数声明是一条C语句
D
4.在C语言中,包括以下哪几类标识符?
A. 关键字
B. 系统预定义的标识符
C. 用户标识符
BC
5.关于条件运算符的叙述正确的是
A. 条件运算符的优先级别比关系运算符和算术运算符都低;
B. 条件运算符是C语言中惟一的一个三目运算符;
C. 条件运算符的结合方向是“自右至左” ;
D. 条件运算符可以替代任何if语句的功能
BC
6.以下关于函数定义描述正确的是?
A. 指定函数的名字,以便以后按名调用
B. 指定函数的类型,即函数值的类型
C. 指定函数的参数的名字和类型,以便在调用函数时向它们传递数据。
D. 指定函数应当执行什么操作,也就是函数是做什么的。
BCD
7.以下关于函数的叙述正确的有
A. 一个C语言程序有且仅有一个main函数;
B. C语言程序中,main函数是没有参数的;
C. 一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用;
D. main函数是由系统调用的
CD
8.关于switch语句叙述正确的是
A. 语句中,case的冒号后面允许没有语句。
B. switch语句中,每一个case的冒号后面都允许跟有多条语句。
C. 在与switch语句配套的case语句中所使用的表达式可以是变量或常量。
D. switch语句中,可以没有default语句。
BD
9.以下关于二维数组初始化的描述正确的是?
A. 分行给二维数组赋初值
B. 可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值
C. 可以对部分元素赋初值
D. 如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
BCD
10.定义了一维int型数组a[10]后,下面正确的引用有:
A. a[0]=1
B. a[10]=2
C. a[0]=5*2
D. a[1]=a[2]*a[0]
CD
11.假设float xyz;,并通过scanf("%f%f%f ",&a,&b,&c);对a赋于10.0,b赋予22.0,c赋予33.0的值,下面正确的输入形式是(注:符号【代表空格):
A. 10<回车>22<回车> 33<回车>
B. 10.0<回车>22.0<回车>33.0<回车>
C. 10.022.033.0<回车>
D. 10.0【22.0【33.0<回车>
BD
12.下面叙述中,正确的有
A. 函数的定义不能嵌套,但函数调用可以嵌套;
B. 为了提高可读性,编写程序时应该适当使用注释;
C. 变量定义时若省去了存储类型,系统将默认其为静态型变量;
D. 函数中定义的局部变量的作用域在函数内部
BD
13.下列语句中,正确的有:
A. char str[5]="hello"
B. char str[]={hello\0}
C. char str[5]={"hi"}
D. char str[100]=""
CD
14.下面属于转义符的有:
A. ‘\t ’
B. ‘\n’
C. ‘%d’
D. ‘\376’
BD
15.以下哪些函数可以实现字符的输入?
A. putchar函数
B. getchar函数
C. printf函数
D. scanf函数
D
华师《C语言程序设计B》在线作业
三、判断题(共 15 道试题,共 30 分。)V 1. 设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j) k=i+j语句后,k的值为11。
A. 错误
B. 正确
2.如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。
A. 错误
B. 正确
3.在一个函数定义中,只能有一个return语句。
A. 错误
B. 正确
4.代数式(xy)2(a+b)对应的C语言表达式为(xy)*(xy)*(a+b)。
A. 错误
B. 正确
5.若有定义:int a[5]*p,则操作p=a是合法的操作。
A. 错误
B. 正确
6.实际上,可以用顺序、分支、循环三种结构构造任何算法。
A. 错误
B. 正确
7.C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。
A. 错误
B. 正确
8.C程序有且仅有一个main()函数。
A. 错误
B. 正确
9.在C程序中,函数调用可以作为函数的形参。
A. 错误
B. 正确
10.当主程序执行完毕时,亦即程序执行完毕。
A. 错误
B. 正确
11.两个char 型数据相加其结果为char型。
A. 错误
B. 正确
12.变量分为全局和局部两种自动局部变量没有赋初值时,其值是不确定的。
A. 错误
B. 正确
13.在C语言中任何一个表达式的最后加上一个分号就构成一个合法的语句。
A. 错误
B. 正确
14.若a=1,b=2,c=3,则执行表达式(a>b)&& (c++)后,c的值为4。
A. 错误
B. 正确
15.C语言中任意两个函数间不能嵌套定义,但可以互相调用。
A. 错误
B. 正确