第一章 C概述.docx
- 文档编号:10922462
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:17
- 大小:21.56KB
第一章 C概述.docx
《第一章 C概述.docx》由会员分享,可在线阅读,更多相关《第一章 C概述.docx(17页珍藏版)》请在冰点文库上搜索。
第一章C概述
1.以下叙述中错误的是( )。
A)使用三种基本结构构成的程序只能解决简单问题
B)结构化程序由顺序、分支、循环三种基本结构组成
C)C语言是一种结构化程序设计语言
D)结构化程序设计提倡模块化的设计方法
参考答案:
A
【解析】使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A)错误。
2.以下关于结构化程序设计的叙述中正确的是
A)结构化程序使用goto语句会很便捷
B)在C语言中,程序的模块化是利用函数实现的
C)一个结构化程序必须同时由顺序、分支、循环三种结构组成
D)由三种基本结构构成的程序只能解决小规模的问题
参考答案:
B
【解析】滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
3.计算机能直接执行的程序是
A)源程序
B)目标程序
C)汇编程序
D)可执行程序
参考答案:
D
【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。
4.以下选项中关于程序模块化的叙述错误的是
A)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C)把程序分成若干相对独立的模块,可便于编码和调试
D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
参考答案:
A
【解析】程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中"自底向上"的说法是错误的。
5.关于算法,以下叙述中错误的是
A)某个算法可能会没有输入
B)某个算法可能会没有输入
C)一个算法对于某个输入的循环次数是可以事先估计出来的
D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕
参考答案:
D
【解析】算法的特征:
①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:
一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:
一个算法有一个或者多个输出,以反映出数据加工的结果。所以选择D选项。
6.C语言程序的模块化通过以下哪个选项来实现
A)变量
B)函数
C)程序行
D)语句
参考答案:
B
【解析】C语言程序的模块化通过函数来体现,所以选择B。
7.以下不能用于描述算法的是
A)文字叙述
B)程序语句
C)伪代码和流程图
D)E-R图
参考答案:
D
【解析】算法的描述有伪代码、流程图、N-S结构图等。E-R是实体联系模型。所以选择D。
8.以下叙述中正确的是
A)程序必须包含所有三种基本结构才能成为一种算法
B)我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令
C)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达
D)只有简单算法才能在有限的操作步骤之后结束
参考答案:
B
【解析】C语言程序可以不包含三种基本结构,也可以包含其中的一种或多种,所以A错误。三种基本结构可以表示任何复杂的算法,所以C错误。正确的算法,不管是简单算法还是复杂算法都可以在有限的操作步骤之后结束,这是算法的有穷性,所以D错误。
9.以下叙述中正确的是
A)在算法设计时,可以把复杂任务分解成一些简单的子任务
B)在C语言程序设计中,所有函数必须保存在一个源文件中
C)只要包含了三种基本结构的算法就是结构化程序
D)结构化程序必须包含所有的三种基本结构,缺一不可
参考答案:
A
【解析】C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#include命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。
10.C语言主要是借助以下哪种手段来实现程序模块化
A)定义函数
B)定义常量和外部变量
C)使用丰富的数据类型
D)使用三种基本结构语句
参考答案:
A
【解析】C语言程序的模块化通过函数来体现,所以选择A。
11.下列叙述中错误的是( )。
A)C程序可以由多个程序文件组成
B)一个C语言程序只能实现一种算法
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
参考答案:
B
【解析】在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B)错误。
1.以下四个程序中,完全正确的是( )。
A)#include
main();
{/*/programming/*/
printf("programming!
\n");}
B)#include
main()
{/*programming*/
printf("programming!
\n");}
C)#include
main()
{/*/*programming*/*/
printf("programming!
\n");}
D)include
main()
{/*programming*/
printf("programming!
\n");}
参考答案:
B
【解析】C语言中注释语句的注释方法是:
/*注释内容*/或//注释一行。
所以A)与C)错误,D)选项中预编译命令include
所以选择B)。
2.对于一个正常运行的C程序,以下叙述中正确的是
A)程序的执行总是从main函数开始,在程序的最后一个函数中结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
参考答案:
C
【解析】任何一个C程序都是从主函数main开始,至主函数main结束,所以选择C选项
3.以下叙述中正确的是
A)C语言规定必须用main作为主函数名,程序将从此开始执行
B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C)C语言程序将从源程序中第一个函数开始执行
D)main的各种大小写拼写形式都可以作为主函数名,如:
MAIN,Main等
参考答案:
A
【解析】C语言中的主函数唯一为main()函数不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。
4.以下叙述中错误的是
A)算法正确的程序可以有零个输入
B)算法正确的程序最终一定会结束
C)算法正确的程序可以有零个输出
D)算法正确的程序对于相同的输入一定有相同的结果
参考答案:
C
【解析】算法的特征:
①有穷性。一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。②确定性。算法中的每一步都有确切的含义。③可行性。算法中的操作能够用已经实现的基本运算执行有限次来实现。④输入:
一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。⑤输出:
一个算法有一个或者多个输出,以反映出数据加工的结果。所以C选项错误。
5.以下叙述中正确的是
A)C语句必须在一行内写完
B)C程序中的每一行只能写一条语句
C)C语言程序中的注释必须与语句写在同一行
D)简单C语句必须以分号结束
参考答案:
D
【解析】C语句可以跨行来写,但是必须以分号结束,所以A选项错误。C程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。
6.以下叙述中正确的是
A)用C语言编写的程序只能放在一个程序文件中
B)C程序书写格式严格,要求一行内只能写一个语句
C)C程序中的注释只能出现在程序的开始位置和语句的后面
D)C程序书写格式自由,一个语句可以写在多行上
参考答案:
D
【解析】C语言编写的程序可以放置于多个程序文件中,所以A错误。C程序中的一行可以有多条语句,所以B错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C错误。
7.以下叙述中正确的是(D)
A)C语言的数值常量中夹带空格不影响常量值的正确表示
B)C语言中的变量可以在使用之前的任何位置进行定义
C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D)C语言中的注释不可以夹在变量名或关键字的中间
8.下列叙述中错误的是
A)C程序可以由多个程序文件组成
B)一个C语言程序只能实现一种算法
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
参考答案:
B
【解析】一个C语言程序可以实现多种算法,可以由多个程序文件共同构成。
一个C语言程序可以由一个或多个函数组成,一个C函数可以单独作为一个C程序文件存在,被包含到其他程序中。所以选择B选项。
9.C语言源程序名的后缀是
A).C
B).exe
C).obj
D).cp
参考答案:
A
【解析】C语言源程序名的后缀是.C,目标文件的扩展文件是.obj,可执行文件的扩展名是.exe。
10以下叙述正确的是
A)C语言函数可以嵌套调用,例如:
fun(fun(x))
B)C语言程序是由过程和函数组成的
C)C语言函数不可以单独编译
D)C语言中除了main函数,其他函数不可作为单独文件形式存在
参考答案:
A
【解析】C语言程序是由函数组成的,所以B错误。C语言函数可以单独进行编译,所以C错误。每个C程序中必须包含一个main函数,但不一定是每个C程序文件中必须有,用户单独编写的某个函数也可以存储为一个C程序文件,所以D错误。
11.有以下程序(D)
#include
main()
{inta=0,b=0;
/*给a赋值a=10;
b=20;给b赋值*/
printf("a+b=%d\n",a+b);/*输出计算结果*/
}
程序运行后的输出结果是
A)出错
B)a+b=30
C)a+b=10
D)a+b=0
12.以下叙述中正确的是
A)N-S流程图只能描述简单的顺序结构的程序
B)程序的算法只能使用流程图来描述
C)结构化程序的三种基本结构是循环结构、选择结构、顺序结构
D)计算机可以直接处理C语言程序,不必进行任何转换
参考答案:
C
【解析】N-S流程图是可以描述循环结构、选择结构、顺序结构等多种结构的程序,所以A选项错误。程序的算法可以用流程图、伪代码、N-S结构图等方法表示,所以B选项错误。计算机只能处理二进制表示的目标程序,不能直接执行由C语言编写的源程序,所以D选项错误。
13.以下叙述中正确的是
A)每个后缀为.C的C语言源程序都可以单独进行编译
B)每个后缀为.C的C语言源程序都应该包含一个main函数
C)在C语言程序中,main函数必须放在其他函数的最前面
D)在C语言程序中,只有main函数才可单独进行编译
参考答案:
A
【解析】一个普通的C函数可以单独作为一个C的程序文件存在被包含到其他程序中,每个后缀为.C的C语言源程序都可以单独进行编译,所以B、D错误。main函数可以放在程序的开始,中间,最后,所以C错误。
14.以下叙述中错误的是
A)C程序必须由一个或一个以上的函数组成
B)函数调用可以作为一个独立的语句存在
C)若函数有返回值,必须通过return语句返回
D)函数形参的值也可以传回给对应的实参
参考答案:
D
【解析】形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始数据。
在C语言中,实参向形参传送数据的方式是"值传递"。
因此D选项正确。
15.以下叙述中错误的是
A)C程序在运行过程中所有计算都以二进制方式进行
B)C程序在运行过程中所有计算都以十进制方式进行
C)所有C程序都需要编译链接无误后才能运行
D)C程序中字符变量存放的是字符的ASCII值
参考答案:
B
【解析】C程序在运行过程中的所有计算都以二进制方式进行,所以B选项错误。
16.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是
A)一条C语句可能会被转换成零条机器指令
B)一条C语句可能会被转换成多条机器指令
C)一条C语句对应转换成一条机器指令
D)某种类型和格式的C语句被转换成机器指令的条数是固定的
参考答案:
C
【解析】一个C语句经过编译后产生若干条机器指令。声明部分不是语句,不产生机器指令,只是对有关数据的声明。而且固定类型和格式的C语句被转换成机器指令的条数固定。所以选择C选项。
17.以下选项中不合法的标识符是( )。
A)&a
B)FOR
C)print
D) 00
参考答案:
A
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。
另外,关键字不能作为标识符。
因为C语言中区分大小写,所以B)选项中的"FOR"可以作为标识符来用。
A)选项中含有非法字符&,所以选择A)。
18.以下选项中,能用作用户标识符的是( )。
A) 0
B)8 8
C)void
D)unsigned
参考答案:
A
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。
另外,关键字不能作为标识符。
B)中以数字8开头,所以错误。
C)与D)中用的是关键字void与unsigned,所以错误。
19.下列定义变量的语句中错误的是
A)int_int;
B)doubleint_;
C)charFor;
D)floatUS$;
参考答案:
D
【解析】C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符"$",所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。
20.以下选项中,不合法的C语言用户标识符是
A)a_b
B)AaBc
C)a--b
D)_1
参考答案:
C
【解析】C语言规定,变量命名必须符合标识符的命名规则,C选项中包含了非法字符"-",所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。
21.阅读以下程序
#include
main()
{intcase;
floatprintF;
printf("请输入2个数:
");
scanf("%d%f",&case,&printF);
printf("%d%f\n",case,printF);
}
该程序在编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
参考答案:
A
【解析】C语言中标识符的定义中区分大小写,所以printF与printf不一样,可以作为标识符。
而case是C语言中的关键字,不能作为变量名。scanf是标准的输入函数,printf是标准的输出函数,所以选择A选项。
22.以下选项中合法的标识符是
A)1__
B)1-1
C)1_1
D)_11
参考答案:
D
【解析】C语言中的标识符由下划线、字母和数字组成,且必须以下划线或字母开始,所以只有D选项正确。
22.以下选项中不属于C语言标识符的是
A)常量
B)用户标识符
C)关键字
D)预定义标识符
参考答案:
A
【解析】常量是指在程序运行过程中其值不能被改变的量,如5、1.0、字符'a'等。
C语言的标识符分为3类:
关键字、预定义标识符和用户标识符。常量不属于标识符,所以选择A。
23.以下叙述中正确的是
A)语言中的关键字不能作变量名,但可以作为函数名
B)标识符的长度不能任意长,最多只能包含16个字符
C)标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
D)用户自定义的标识符必须"见名知义",如果随意定义,则会出编译错误
参考答案:
C
解析】C语言中的关键字即不能做变量名也不能做用户函数名,所以A错误。标识符的命名规则,即由下划线字母数字组成,且必须以下划线和字母开始,也不能和关键字一致。不同C语言规定标识符的有效长度可能会不同,但没有限制最大长度,所以B错误。用户定义的标识符只要满足标识符命名规则没有特殊要求,不必一定"见名知义",所以D错误。
24.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是
A)关键字可用作用户标识符,但失去原有含义
B)预定义标识符可用作用户标识符,但失去原有含义
C)在标识符中大写字母和小写字母被认为是相同的字符
D)用户标识符可以由字母和数字任意顺序组成
参考答案:
B
【解析】关键字不可用作C语言的标识符,所以A错误。在标识符中大写字母与小写字母作为不同字符处理,所以C错误。标识符由下划线、字母、数字组成,且必须以下划线和字母开始,所以D错误。
25.关于C语言的变量,以下叙述中错误的是
A)变量所占的存储单元地址可以随时改变
B)所谓变量是指在程序运行过程中其值可以被改变的量
C)程序中用到的所有变量都必须先定义后才能使用
D)由三条下划线构成的符号名是合法的变量名
参考答案:
A
【解析】一个变量实质上是代表了内存中的某个存储单元,必须先定义后使用,且在定义时为之分配存储单元,不能随时改变,所以选择A选项。
26.以下选项中能表示合法常量的是
A)1,200
B)1.5E2.0
C)'\'
D)"\007"
参考答案:
D
【解析】A选项中整型常量应表示为1200,不能包含","。B选项中E后面的指数必须为整数。C选项中转义字符以"\"开始,若要表示字符"\",应写为"\\"。
27.以下选项中关于C语言常量的叙述错误的是
A)经常被使用的变量可以定义成常量
B)常量分为整型常量、实型常量、字符常量和字符串常量
C)常量可分为数值型常量和非数值型常量
D)所谓常量,是指在程序运行过程中,其值不能被改变的量
参考答案:
A
【解析】C语言中,常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。
28.以下不合法的数值常量是
A)8.0E0.5
B)1e1
C)011
D)0xabcd
参考答案:
A
【解析】A选项中E后面的指数必须为整型数据,所以A错误。C选项中011表示的是八进制常量,0xabcd表示的是十六进制常量。
Welcome!
!
!
欢迎您的下载,
资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 C概述 概述