1 定义一个名为 a 的单精度实型一维数组,长度为 4,所有元素的初值均为 0 的数定义
语
句
是
________________
【分析】按照一般数据定义语句的格式,可以直接写出方法一(参看答案);考虑到所有
元素均赋初值时可以省略数组长度,可以写出方法二(参看答案);考虑到不省略数组
长度,给部分元素赋初值时,所有未赋初值的元素均有空值(对数值型数组来说,初值
为 0),可以写出方法三(参看答案);考虑到选用静态型,不赋初值所有元素也自动
赋 予。 空值 (对 数值 型数 组来 说, 初值 为 0),可以写出方法四(参看答案)。
【 答 案 】 方 法 一 : float a[4] = {0 . 0 , 0 . 0 , 0 . 0 , 0 . 0} ;
方 法 二 : float a[] = { 0 . 0 , 0 . 0 , 0 . 0 , 0 . 0} ;
方
法
三
:
float a[4]= {0
.
0}
;
方
法
四
:
static
float
[4]
;
2
下
列
数
组
定
义
语
句
中
,
错
误
的
是
(
)
char x[1]
①
=
'a'
;
②
auto char x[1]={0}
;
static char x[l]
③
;
④
char x[l]
;
【分析】显然答案①中给字符型数组赋初值的格式不对(不能直接赋予字符常量,必须用
花 括 号 括 住 ) , 所 以 备 选 答 案 ① 是 符 合 题 意 的 答 案 。
【
答
案
】
①
3 用"冒泡排序法"对 n 个数据排序,需要进行 n 一 1 步。其中第 k 步的任务是:自下而上,
相邻两数比较,小者调上;该操作反复执行 n-k 次。现在假设有 4 个数据:4、l、3、2 要
排序,假定 4 为上、2 为下,则利用"冒泡排序法"执行第 2 步后的结果是_______________
__
。
【 分 析 】 开 始 排 序 前 的 排 列 执 行 第 1 步 后 的 排 列 执 行 第 2 步 后 的 排 列
4
1
1
1
4
2
3
2
4
2
3
3
【
答
案
】
l
、
2
、
4
、
3
4 用"选择排序法"对 n 个数据排序,需要进行 n-1 步。其中第 k 步的任务是:在第 k 个
数据到第 n 个数据中寻找最小数,和第 k 个数据
。现在假设有 4 个数据:4、1、3、2
要 排 序 , 则 利 用 " 冒 泡 排 序 法 " 执 行 第 2 步 后 的 结 果 是 ______________________ 。
【 分 析 】 开 始 排 序 前 的 排 列 为 : 4 1 3 2
执 行 第 1 步 后 的 排 列 为 : 1 4 3 2
执 行 第 2 步 后 的 排 列 为 : 1 2 3 4
【
答
案
】
1
、
2
、
3
、
4
5
下
列
数
组
定
义
语
句
中
,
正
确
的
是
(
)
int a[][]={1
①
, 2 , 3 , 4 , 5 , 6} ;
② char a[2] 「 3] = 'a' , 'b' ;
int a[][3]= {1
③
,2,3,4,5,6};
④ static int a[][]={{1,2,3},{4,5,6}};
【分析】
规定,二维数组定义时不允许省略第二维的长度,所以备选答案①④是错
误的。C 语言还规定,定义字符型数组时不允许直接使用"字符常量"的方式赋初值,所以
备 选 答 案 ② 也 是 错 误 的 。 显 然 备 选 答 案 ③ 符 合 题 意 。
【
答
案
】
③
6 定义一个名为"s"的字符型数组,并且赋初值为字符串"123"的错误语句是()
char s[]={‘1'
①
, '2' , '3' , '\0 '} ; ② char s 「 」 ={"123"} ;
char s[]={"123\n"};
③
char s[4]={'1'
④
, '2' , '3'} ;