大学 c语言试题及答案
大学C语言试题及答案
试题一:
1. 下列关于C语言基础知识的题目,回答是否正确:
  a) C语言是一种面向过程的编程语言。 [√]
  b) C语言具有高效性和可移植性的特点。 [√]
  c) C语言可以直接操作硬件设备。 [√]
  d) C语言是一种解释型语言。 [×]
2. 以下哪个选项是合法的C语言标识符:
  a) 3variables
  b) _temp
  c) float
  d) int-num
3. 下列代码段有什么问题:
  ```c
  int main()
  {
printf函数是如何实现的      int a;
      printf("%d", a);
      return 0;
  }
  ```
  a) 变量a未被初始化。 [√]
  b) printf语句应该放在函数体内。 [√]
  c) 缺少头文件的引用。 [√]
  d) 缺少return语句。 [×]
4. 关于C语言运算符的使用,以下表达式结果为真:
  a) (10 > 5) && (5 < 3) [×]
  b) (3 + 5) * 2 == 16 [×]
  c) 5 % 2 == 1 [√]
  d) 2 == 2 || 3 < 1 [√]
5. 下列选项中哪个不是C语言的控制语句:
  a) if-else
  b) for
  c) switch-case
  d) loop
答案及解析:
1. 正确答案:a) √, b) √, c) √, d) ×
  解析:C语言是一种面向过程的编程语言,能够高效操作硬件设备,并具有高效性和可移植性。但它并非解释型语言。
2. 正确答案:b) _temp
  解析:C语言标识符必须以字母或下划线开头,并且只能包含字母、数字或下划线。
3. 正确答案:a) 变量a未被初始化。
  解析:在使用变量之前,应为其赋初值,否则将导致未定义的行为。
4. 正确答案:c) 5 % 2 == 1, d) 2 == 2 || 3 < 1
  解析:表达式c中,5除以2的余数为1,因此结果为真;表达式d中,2等于2为真,或(||)运算符表示或者关系,因此结果为真。
5. 正确答案:d) loop
  解析:C语言中并不存在loop控制语句,而if-else、for和switch-case是常见的控制语句。
试题二:
1. 关于函数声明与函数定义的说法,以下哪个选项是正确的:
  a) 函数声明一定要在函数定义之前。 [√]
  b) 函数定义一定要在函数声明之前。 [×]
  c)函数声明和函数定义的顺序可以随意。 [×]
  d)函数的定义和声明可以互相替代。 [√]
2. 下列选项中,哪个函数会输出字符串"Hello World":
  a) int main() { return 0; } 
  b) void print() { printf("Hello World"); } 
  c) int print() { printf("Hello World"); return 0; } 
  d) void main() { printf("Hello World"); } 
3. 以下代码中,如何正确调用swap函数来交换a和b的值:
  ```c
  #include <stdio.h>
  void swap(int *x, int *y)
  {
      int temp;
      temp = *x;
      *x = *y;
      *y = temp;
  }
  int main()
  {
      int a = 5;
      int b = 10;
      // 在此处填写代码
      printf("a的值为:%d,b的值为:%d\n", a, b);
      return 0;