C语言程序设计A

周哲泓、文晟、马万仑

目录

  • 1 绪论
    • 1.1 为什么学习C语言
    • 1.2 C语言概述
    • 1.3 基本语法单位
    • 1.4 C语言基本程序结构
    • 1.5 Visual C++6.0介绍
    • 1.6 测试
  • 2 数据类型
    • 2.1 基本数据类型
      • 2.1.1 整型
      • 2.1.2 浮点型
    • 2.2 常量
    • 2.3 变量
    • 2.4 运算符与表达式
      • 2.4.1 算术运算符和算术表达式
      • 2.4.2 赋值运算符和赋值表达式
      • 2.4.3 关系运算符和关系表达式
      • 2.4.4 逻辑运算符和逻辑表达式
      • 2.4.5 位运算符和位表达式
      • 2.4.6 条件运算符和条件表达式
      • 2.4.7 逗号运算符和逗号表达式
      • 2.4.8 其他运算符
    • 2.5 数据的输入输出
    • 2.6 章节测试
  • 3 选择结构程序设计
    • 3.1 章节介绍
    • 3.2 关系运算符和关系表达式
    • 3.3 逻辑运算符和逻辑表达式
    • 3.4 if分支语句
    • 3.5 条件运算符和条件表达式
    • 3.6 switch多路开关语句
    • 3.7 实验方法
    • 3.8 本章小结
    • 3.9 选择结构程序设计电子课件
    • 3.10 选择结构程序设计视频推荐
    • 3.11 章节测试
  • 4 循环结构程序设计
    • 4.1 章节介绍
    • 4.2 while和do...while循环语句
    • 4.3 for 循环语句
    • 4.4 break和continue语句
    • 4.5 goto语句
    • 4.6 嵌套循环结构
    • 4.7 实验方法
    • 4.8 本章小结
    • 4.9 电子课件
    • 4.10 推荐视频
    • 4.11 章节测试
  • 5 数组
    • 5.1 一维数组
    • 5.2 二维数组
    • 5.3 字符数组与字符串
    • 5.4 章节测试
    • 5.5 实验方法
    • 5.6 电子课件
    • 5.7 推荐视频
  • 6 函数
    • 6.1 函数概述
    • 6.2 函数的定义
    • 6.3 函数的参数和返回值
    • 6.4 函数的调用
    • 6.5 函数的嵌套和递归调用
    • 6.6 数组作为函数的参数
    • 6.7 局部变量和全局变量
    • 6.8 变量的存储类别
    • 6.9 内部函数和外部函数
    • 6.10 实验
    • 6.11 电子课件
    • 6.12 章节测试
  • 7 编译预处理
    • 7.1 宏定义
      • 7.1.1 不带参数的宏定义
      • 7.1.2 带参数的宏定义
    • 7.2 “文件包含”处理
    • 7.3 条件编译
    • 7.4 推荐视频
    • 7.5 电子课件
  • 8 指针
    • 8.1 指针的基本概念
      • 8.1.1 变量的地址
      • 8.1.2 指针变量的定义
      • 8.1.3 指针变量的引用
    • 8.2 指针与一维数组
      • 8.2.1 指向一维数组的指针变量
      • 8.2.2 通过指针引用一维数组元素
      • 8.2.3 指针使用的几个细节
    • 8.3 指针与字符串
      • 8.3.1 使用指针处理字符串
      • 8.3.2 字符型指针变量作函数参数
      • 8.3.3 字符指针变量与字符数组的区别
    • 8.4 指针与二维数组
      • 8.4.1 二维数组的指针
      • 8.4.2 行指针变量
      • 8.4.3 二维数组的指针作函数参数
    • 8.5 指针数组与多级指针
      • 8.5.1 指针数组
      • 8.5.2 多级指针的概念
    • 8.6 指针与函数
      • 8.6.1 指针变量作为函数的参数
      • 8.6.2 函数的指针
      • 8.6.3 返回指针值的函数
    • 8.7 main函数的参数
      • 8.7.1 main函数参数的概念
      • 8.7.2 main函数参数的处理
    • 8.8 程序设计举例
    • 8.9 实验
    • 8.10 电子课件
    • 8.11 参考视频
章节测试

第二章知识点测试

满分:100 

姓名:                                    班级:                                   学号:

 

1. 单选题  2.0

    1.下面的字符序列中,不正确的C语言标识符是()。

   A.   a

   B.  word

   C.   _file

   D.  2L

 

    正确答案:D

 

 

2. 单选题  2.0

    2.下面的字符序列中,不正确的C语言标识符是()。                   

   A.   file2

   B.  b

   C.  a**

   D.  _F_name

 

    正确答案:C

 

 

3. 单选题  2.0

    3.下面的字符序列中,不正确的C语言标识符是()。                   

   A.  _int

   B.  float

   C.   me

   D.  f_name

 

    正确答案:B

 

 

4. 单选题  2.0

    4.以下结果为整数的表达式(设有 int i ; char c ; float f ;)(  )。

   A.  i + f

   B.  i * c 

   C.  c + f 

   D.  i + c + f

 

    正确答案:B

 

 

5. 单选题  2.0

    5.以下不正确的语句(设有int  p, q)是(  )。                      

   A.  p*=3

   B.  p/=q

    C.  p+=3

   D.  3p=q

 

    正确答案:D

 

 

6. 单选题  2.0

    以下使 i 的运算结果为 4 表达式是(  )。  

   A.  int i=0,J=0

   B. int  i=1,j=0;  j=i=((i=3)*2)

   C.  int i=0,j=1j=i

   D.  int  i=1,j=1i += j+= 2

 

    正确答案:D

 

 

7. 单选题  2.0

    xint型变量,则执行以下语句后,x的值为(  )。x=10; x*=x;                     

   A.   10 

   B.  20

   C.  100

   D.  0

 

    正确答案:C

 

 

8. 单选题  2.0

    n = 10i = 4,则值运算 n = i +1执行后,n 的值是(  )。

   A.  0

   B.  3

   C.  2

   D.  1

 

    正确答案:A

 

 

9. 单选题  2.0

    逗号表达式 (a = 3 * 5a * 4)a+15 的值为(  )。                        A15     B60       C30         D.不正确 

   A.  15

   B.  60

   C.  30

   D.  不正确

 

    正确答案:C

 

 

10. 单选题  2.0

    int n = 3;则执行 ++n 后,n的值是(  )。                     

   A.  2

   B.  3

   C.  4

   D.  5

 

    正确答案:C

 

 

11. 单选题  2.0

    int a=2,b=2,则++a+b的结果是(  )。 

   A.  2

   B.  3

   C.  4

   D.  5

 

    正确答案:D

 

 

12. 单选题  2.0

    设有整型变量a,实型变量f,双精度型变量x,则表达式10+'b'+x*f的值的类型为(   )  

   A.  int

   B.  float 

   C.  double

   D.  不能确定

 

    正确答案:C

 

 

13. 单选题  2.0

    若有int k=5; flaot x=1.2; 则表达式(int)(x+k)的值是(      )

   A.  5

   B.  6.2

   C.  7

   D.  6

 

    正确答案:D

 

 

14. 单选题  2.0

    “int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是()

   A.  1

   B.  4

   C.  4.333333

   D.  4.6                     

 

    正确答案:A

 

 

15. 单选题  2.0

    若有语句int a=1,b; double y=2.3; b=(int)y; b的值为(     )                   

   A.  3

   B.  2

   C.  1

   D.  2.3

 

    正确答案:B

 

 

16. 单选题  2.0

    C语言中的简单数据类型包括()。

   A.  整型、实型、逻辑型

   B.  整型、实型、逻辑型、字符型

   C.  整型、字符型、逻辑型

   D.  整型、实型、字符型                       

 

    正确答案:D

 

 

17. 单选题  2.0

    下列可以正确表示字符型常量的是(      )。  

   A.  ‘\t’

   B.  “a”

   C.  “\n”

   D.  297

 

    正确答案:A

 

 

18. 单选题  2.0

    C语言中字符型(char)数据在内存中的存储的是()。

   A.   原码

   B.   补码

   C.   反码

   D.   ASCII                     

 

    正确答案:D

 

 

19. 单选题  2.0

    C语言中,字符型数据所占的内存空间是()

   A.  2个字节

   B.   4字节

   C.  1字节

   D.  由用户自定义                     

 

    正确答案:C

 

 

20. 单选题  2.0

    若有以下类型说明语句:char aint b; float c; double d; 则表达式a*b+d-c的结果类型为()

   A.  float

   B.   char

   C.   int

   D.  double                     

 

    正确答案:D

 

 

21. 单选题  2.0

    若有以下类型说明语句:char w;int x;float y;double z;则表达式表达式(int)(x+y-z*w)的结果为()类型。

   A.  float

   B.  char

   C.  int

   D.  double                     

 

    正确答案:C

 

 

22. 单选题  2.0

    C语言中运算对象必须是整型的运算符是()

   A.   %=

   B.  /

   C.   =

   D.   =                      

 

    正确答案:A

 

 

23. 单选题  2.0

    C语言程序中,表达式8/5的结果是()

   A.   1.6

   B.  1

   C.  3

   D.  0                     

 

    正确答案:B

 

 

24. 单选题  2.0

    下面()表达式的值为4.

   A.  11/3         

   B.  11.0/3

   C.  (float)11/3  

   D.   (int)(11.0/3+0.5)                       

 

    正确答案:D

 

 

25. 单选题  2.0

    已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是()

   A.  0

   B.  1

   C.  5

   D.  6

 

    正确答案:C

 

 

26. 单选题  2.0

    已知字母AASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为()

   A.  68

   B.  ‘D’

   C.   错误

   D.   ‘d’                     

 

    正确答案:B

 

 

27. 单选题  2.0

    设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()

   A.  b=1.0/a

   B.  b=(float)(1/a)

   C.  b=1/(float)a

   D.  b=1/(a*1.0)                     

 

    正确答案:B

 

 

28. 单选题  2.0

    设有以下语句,则 c 的二进制值是(  )。        char a =3, b =6, c        c = a ^ b << 2     

   A.  00011011

   B.  00010100

   C.  00011100

   D.  00011000

 

    正确答案:A

 

 

29. 单选题  2.0

   sizeof (double) 是一个(  )表达式。                      

   A.  整型

   B.  双精度

   C.  不合法

   D.  函数调用

 

    正确答案:A

 

 

30. 填空题  2.0

                  已知 a=12;   a+=a-=a*a 的结果为(   

 

    正确答案:-264

    试题解析:第一步算:a=a-(a*a))  a=12-12*12=-132                    第一步算:a=a+a      a=(-132)+(-132)=-26

 

 

31. 单选题  2.0

    设有变量说明:int a = 7, b = 8;那么语句:printf (“%d, %d\n”,(a + b, a), (b, a + b));的输出应该是(   )                         

   A.  7, 15

   B.  8, 15

    C. 15, 7

   D.  15, 8

 

    正确答案:A

    试题解析:                  解析:printf语句中的输出变量列表里,给出的是两个逗号表达式。第一个逗号表达式(a + b, a)的值,就是a的值;第二个逗号表达式(b, a + b) 的值,就是a+b的值。

 

 

32. 单选题  2.0

    以下说法正确的是()。

   A.  C程序是从第一个定义的函数开始执行的

   B.  C程序中,要调用的函数必须在main()函数中定义

   C.  C程序是从main()函数开始执行                         

   D.  C程序中的main()函数必须放在程序的开始部分

 

    正确答案:C

 

 

33. 填空题  2.0

                  int x = 6, y;执行 y=++x;后,x,y的值分别为(   )。

 

    正确答案:                  x=7,y=7

    试题解析:                                前置运算,x 先增1(=7),然后再赋值给y(=7)

 

 

34. 填空题  2.0

                  int x = 6, y;执行 y = x-- ;后,x,y的值分别为(    )。

 

    正确答案:                  x=5,y=6

    试题解析:                  后置运算:先将 x 的值(=6)赋值给y(=6),然后 x 再减1(=5)

 

 

35. 填空题  2.0

                  C语言中,是以 () 作为一个字符串的结束标记的

 

    正确答案:‘\0’ 

 

 

36. 填空题  2.0

                  定义int x,y,执行y=(x=l++xx+2);后,y的值是         

 

    正确答案:4

 

 

37. 填空题  2.0

    C语言中,输入操作是由库函数       完成的,输出操作是由库函数         完成的。                   

 

    正确答案:scanf   printf

 

 

38. 简答题  5.0

    阅读程序,给出输出结果。                        #include<stdio.h>    void  main(){int  x= 4, y = 25, z = 2     z = (--y / ++ x ) * z--;  printf("%d\n", z)                              }

 

    正确答案:7

 

 

39. 简答题  5.0

    阅读程序,给出输出结果。             #include<stdio.h>   void  main()    { float f=13.8      int n     n=((int)f)%3     printf("n=%d\n"n)                                    }

 

    正确答案:1

 

 

40. 简答题  5.0

    #include<stdio.h>       void  main()          { int abx          x=(a=3b=a--)          printf("x=%da=%db=%d\n"xab)                                   }

 

    正确答案:             x=3,a=2,b=3

 

 

41. 单选题  2.0

    printf输出实型(float)数据, 应使用( )格式限定符。                    

   A.  %c

    B.  %d

   C.  %f

   D.  %u

 

    正确答案:C

 

 

42. 单选题  2.0

    scanf输入双精度实型(double)数据, 可使用( )格式限定符。

   A.  %f

   B.  %lf

   C.  %d

   D.  %c

 

    正确答案:B

 

 

43. 单选题  2.0

    scanf函数的使用中以下叙述中正确的是( )。

   A.  输入项可以是一个实型常量,如:scanf("%f",3.5);

   B.  可以只有格式控制,没有输入项,如:scanf("a=%d,b=%d");

   C.  格式控制部分可以规定小数点后面的位数,如:scanf("%4.2f",&d) ;

   D.  当输入数据时,必须指明变量地址,如:scanf("%f",&f);

 

    正确答案:D

 

 

44. 单选题  2.0

    main() {int a=12,b=12; printf ("%d %d\n",--a,++b);}                      

    A.  10  11

   B.  11  13

   C.  11  10

   D.  11  12

 

    正确答案:B

 

 

45. 单选题  2.0

    以下语句:temp=x; x=y; y=temp; 的功能是()。

   A.  x,y,temp从小到大排列;

   B.  x,y,temp从大到小排列;

   C.  交换x,y

   D.  无确定的结果。

 

    正确答案:C

 

 

46. 单选题  2.0

   #include <stdio.h>int main(){inta=201,b=012;printf("%2d,%2d\n",a,b);return 0;                           }                

   A.  01,12

   B.  201,10 

   C.  01,10

   D.   20,01

 

    正确答案:B

    试题解析:八进制整型常量:由正、负号 07的数码组成,并且第一个数码必须是0十进制整型常量:由正、负号 09的数码组成,并且第一个数码不能是0十六进制整型常量:由正、负号数码09afAF组成,并且要有前缀0x这题b=012 是八进制数换成十进制数 b=10%d输出的是十进制数所以答案是20110