C语言习题

405 阅读2分钟

选择题

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.指针变量的值是一个地址值。

编程题

编写一个求最大公约数的函数。