选择题
1.对两个数组 a 和 b 进行如下初始胡
char a[] = "abcdef";
char b[] = {'a','b','c','d','e','f'};
则以下叙述正确的是
- A.a 与 b 数组 完全相同
- B.a 与 b 长度相同
- C.a 与 b 中都存放字符串
- D.a数组比 b 数组长度长
2.以下能对一维数组 a 进行正确初始化的语句是 ()
- A. int a[5] = (0,0,0,0,0);
- B. int a[5] = [0];
- C. int a[5] = {1,2,3,4,5,6,7};
- D. int a[] = {0};
3.一直 int a = ‘R’; 则正确的表达式是
- A. a % 10
- B.a = int (3e2)
- C.2 * a = a ++
- D.a = a + a = a + 3
4.以下不合法的数值常量是()
- A.0
- B.1el
- C.8.0E0.5
- D.0xabcd
5.设整型变量 m 的值 为 0,表达式 !!!++m的值是
- A.-1
- B.0
- C.1
- D.2
6.调用函数时,如果实参是简单变量,他与形参之间的数据传递方式是()
- A.地址传递
- B.值传递
- C.双向传递
- D.由用户指定
7.设已有定义:float x;则以下对指针变量p 进行定义且赋初值的语句中正确的是()
- A.float *p = 1024;
- B.int *p = (float)x;
- C.float p = &x;
- D.float *p = &x;
8.计算机能够直接识别的语言是()
- A.符号语言
- B.二进制语言
- C.汇编语言
- D.C语言
9.下列合法的实型常量是()
- A.5E2.0
- B.E-3
- C.2E0
- D.1.3E
10.以下程序段运行后 *(++p) 的值为
char a[5] = "work";
char *p;
p = a;
- A.‘w’
- B.存放‘w’的地址
- C.‘o’
- D.存放‘o‘的地址
判断题
1.C语言的书写格式比较自由,一行内可一个语句,也可以写多个语句。
2.循环for ( ; ; )的循环条件之中为真
3.对静态数组的初始化是在编译阶段完成的。
4.数组定义后,可以使用a[] = {1,2,3};给数组初始化。
5.对于数值型数组,可以一次引用整个数组。
6.实参可以是常量、变量、表达式
7.所有函数调用前都必须进行函数原型声明
8.指针做函数的参数时是地址传递方式。
9.只能用下标来引用数组元素。
10.指针变量的值是一个地址值。
编程题
编写一个求最大公约数的函数。