《C语言程序设计》复习指导

更新时间:2023-11-08 16:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2013级《C语言程序设计》复习指导

《C语言程序设计》是计算机应用技术专业一门重要的基础课。它培养学生的逻辑思维能力,程序设计能力,特别是初步的编程解决实际问题的能力,是学生学习后续软件开发课程的知识基础。通过本课程的学习,学生应掌握C语言的基本语法,还应掌握程序设计的基本思想、基本概念和基本方法,并能运用所学的知识和技能对一般问题进行分析和设计,编制出正确、高效的C语言应用程序。课程以培养学生软件开发方面的岗位职业能力为核心,注重培养学生分析问题、解决问题的能力,使学生养成严谨的工作作风,为今后从事软件开发打下坚实的基础。

现根据教学知识点给出综合练习,以便学生更好的复习,巩固所学的知识。

综合练习

一、填空题

1. C语言程序的3种基本结构是______、______、______。 顺序结构、选择结构、循环 2. C语言程序由______组成的。 函数 3. C语言是一种 (区分/不区分)字母大、小写的语言。 区分 4. 写出条件“-10?x?10”的C语言表达式是__________________。 (x>=-10)&&(x<=10) 5. C语言中逻辑真用______表示,逻辑假用______表示。 1、0 6. 循环结构可分______循环和______循环两种结构,前者是“先判断,后循环”, 后者是“先循环,后判断”。 当型、直到型 7. Return语句______(可以或不可以)在同一个函数中多次出现。 可以 8. 数组的下标必须在定义的空间之内,若超界C语言编译器____________。 不会报错 9. 链表与数组相比,比较适合的操作包括______和______。 插入、删除 10. C语言中的数据的基本类型包括______、______、______、______

整型、实型、字符型、枚举型

11. 在C语言中,当While语句中的条件为______时,结束该循环。 0 12. C语言函数返回类型的默认定义类型是______。 int 13. 选择结构语句有____________、____________两种语句。 if语句、switch语句 14. 二维数组有两处______,分别用一对______号括起。 下标、方括 15. 数组指针是指__________________。 数组在内存的首地址 16. 在访问一个结构元素前,你必须定义____________。 结构变量 17. 链表是以结构类型表示链中元素,以______表示链的一种线性数据结构。 指针 18. 函数指针是函数的____________,通过它可以访问该函数。 内存地址 19. 二维数组名是____________的指针常量。 一维数组

1

20. C语言的有效的预处理命令总是以______开头。 # 21. 转义字符‘\\n’在输出函数printf中用来______。 换行 22. 用if语句判断整形数据x大于20或者小于10,则逻辑表达式为__________________。

(x>20)||(x<10)

23. 文件打开方式为“a”,文件打开后,文件读/写位置在____________。 文件尾 24. 一个用C语言编写的程序必须有一个并且只能有一个______函数。 main 25. 在C语言中,任一语句必定以字符____________结束。 分号或者; 26. C语言程序必须经过编辑、______、连接才能生成一个可执行的二进制机器指令文件。

编译

27. 若有定义语句“int a[3][6];”,按在内存中的存放顺序,a数组的第10个元素是

____________。 a[1][3]

二、选择题

1. 下列算术运算符中,只能用于整型数据的是______。 D A. -

B. +

C. /

D. %

2. 设有说明语句:char a= '\\123abc';则变量a______。 D A. 包含7个字符

B. 包含6个字符

C. 包含5个字符

D. 包含4个字符

3. C语言中的数据的基本类型包括______。 C A. 整型、实型、字符型的逻辑型 C. 整型、实型、字符型和枚举型

B. 整型、实型、字符型和结构体 D. 整型、实型、字符型和指针型

4. 以下关于函数叙述中,正确的是______。 D A. 在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值 B. 在函数体中至少必须有一个return 语句 C. 在函数体中可以定义另一个函数

D. 在函数体中可以调用函数自身

5. C语言源程序文件的扩展名是______。 D A. .com

B. .obj

C. .exe

D. .c

6. 已知有语句:for(x=0,y=0;(y!=123)&&(x<4);x++);则此for循环______。 C A. 是无限循环

B. 循环次数不定

C. 执行4次

D. 执行3次

7. 设i和x都是int类型,则以下for循环______。 A for (i=0,x=0;i<=9&&x!=876;i++)scanf(“%d”,&x); A. 最多执行10次 C. 是无限循环

B. 最多执行9次 D. 循环体一次也不执行

8. 以下对一维整型数组a的正确说明是______。 D

2

A. int a(10); B. int n=10,a[n];

C. int n;scanf(“%d”,&n);int a[n]; D. #define SIZE 10 int a[SIZE];

9. 在C语言函数的定义和引用中,以下描述正确的是______。 B A. 必须有形式参数

B. 也可以没有形式参数 D. 形式参数必须是变量名

C. 数组名不能作为形式参数

10. 下面对编译预处理的叙述正确的是______。 C

A. 预处理命令只能位于程序的开始处

B. 预处理功能是指完成宏替换和文件包含的调用 C. 只要行首以“#”标识的控制行都是预处理命令 D. 编译预处理就是对源程序进行初步的语法检查

11. 以下选项中属于C语言的数据类型是______。 C

A. 复数型

B. 逻辑型

C. 双精度型

D. 集合型

12. C语言程序的基本单位是______。 C

A. 语句

B. 程序行

C. 函数

D. 字符

13. 以下叙述正确的是______。 B

A. 可以把define和if定义为用户标识符

B. 可以把define定义为用户标识符,但不能把if定义为用户标识符 C. 可以把if定义为用户标识符,但不能把define定义不用户标识符 D. define和if都不能定义为用户标识符

14. 当调用函数时,实参是一个数组名,则向函数传送的是______。 B

A. 数组的长度

B. 数组的首地址 D. 数组每个元素中的值

C. 数组每一个元素的地址

15. 计算机能直接执行的程序是______。 D

A. 源程序

B. 目标程序

C. 汇编程序

D. 可执行程序

16. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是______。

B

A. INPUT x、y、z;

B. scanf(“%d%d%d”,&x,&y,&z); D. read(“%d%d%d”,&x,&y,&z);

C. scanf(“%d%d%d”,x,y,z); 17. 有以下程序段

int k=0

while (k=1) k++;

3

while 循环执行的次数是______。 A A. 无限次

B. 有语法错,不能执行 D. 执行1次

C. 一次也不执行

18. 在C语言中,______。 B

A. 函数定义可以嵌套,但函数调用不能嵌套 B. 函数定义不可以嵌套,但函数调用可以嵌套 C. 函数定义和调用均不能嵌套 D. 函数定义和调用均可以嵌套

19. 若有结构类型定义“typedef struct test{ int x,y[2];}TEST;”,

则以下声明中正确的是______。 A A. struct test x; C. test x;

B. struct x; D. struct TEST x;

20. 以下叙述正确的是______。 D

A. do-while语句构成的循环不能用其它语句构成的循环代替。 B. do-while语句构成的循环只能用break语句退出。

C. 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D. 用do-while语句构成的循环,在while后的表达式为零时结束循环。

21. 以下关于函数叙述中,正确的是______。 D A. 在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值 B. 在函数体中至少必须有一个return 语句 C. 在函数体中可以定义另一个函数

D. 在函数体中可以调用函数自身

22. 说明了一维数组int a[10],则对a数组元素的正确引用是______。 D

A. a[10]

B. a[3,5]

C. a(5)

D. a[10-10]

23. 以下不能正确进行字符串赋初值的语句是______。 A

A. char str[5]= \; C. char *str=\;

B. char str[]= \;

D. char str[5]={ 'g','o','o','d'};

24. 以下关于switch语句和break语句的描述中,只有______是正确的。 B

A. 在switch语句中必须使用break语句

B. 在switch语句中,可以根据需要使用或不使用break语句 C. break语句只能用于switch语句中 D. break语句是switch语句的一部分

25. C语言规定:一个源程序中main函数的位置______。 C

A. 必须在开始

4

B. 必须在系统调用的库函数后面

C. 可以任意 D. 必须在最后

26. 若执行以下程序时从键盘上输入9,则输出结果是______。 B

A. 11

B. 10

C. 9

D. 8

main() { int n;

scanf(\;

if (n++<10) printf(\; else printf(\,n--); }

27. 在C语言中,下面符号串中能用作变量名的标识符为______。 A. for

B. 3_num

C. _get

D. length.d

28. int x=3;

do

{ printf(“%d”,x--);

} while(!x);的执行结果是______。 A. 3 2 1

B. 2

C. 3

D. 无穷循环

29. 以下所列的各函数首部中,正确的是______。 A. void play(var a:integer,var b:integer) B. void play(int a,b) C.void play(int a,int b)

D. Sub play(a as integer,b as integer)

30. 设有说明语句:double x, 能通过scanf语句正确的输入数据的语句是______。 A. scanf(“%lf”,x); B. scanf(“%f”,&x); C. scanf(“%lf”,&x);

D. scanf(“%le”,&x);

31. 以下选项中,不能作为合法常量的是______。 A. 0X2A

B. 015

C. 2.8e9

D. 123.6e0.4

32. 语句:printf(“%d”,(a=3)&&(b=-3));的输出结果是______。 A. 无输出

B. 结果不确定

C. -1

D. 1

33. C语言中,定义PI为一个符号常量,正确的是______。 A. #define PI 3.14 B. define PI 3.14 C. #define PI 3.14;

D. include PI 3.14

34. 现已定义整型变量int i=1;执行循环语句“while(i++<5);”后,i的值为______。A. 1 B. 5

C. 6

D. 以上三个答案均不正确

5

C C

D

A

C

C C D

本文来源:https://www.bwwdw.com/article/pvu2.html

Top