第1章C语言基础知识详解

上传人:夏** 文档编号:564719716 上传时间:2023-04-23 格式:DOCX 页数:12 大小:37.60KB
返回 下载 相关 举报
第1章C语言基础知识详解_第1页
第1页 / 共12页
第1章C语言基础知识详解_第2页
第2页 / 共12页
第1章C语言基础知识详解_第3页
第3页 / 共12页
第1章C语言基础知识详解_第4页
第4页 / 共12页
第1章C语言基础知识详解_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《第1章C语言基础知识详解》由会员分享,可在线阅读,更多相关《第1章C语言基础知识详解(12页珍藏版)》请在金锄头文库上搜索。

1、第一章 C 语言基础知识一、选择题1. 算法具有五个特性,以下选项中不属于算法特性的是。A)有穷性B)简洁性C)可行性D)确定性【答案】B【解析】本题考查的是算法的特性。一个算法应当具有以下5 个特性:有穷性;确定性;可行性;有零个或多个输入:由一个或多个输出。简洁性不属于这5个特性,所以本题应该选择B。2. 以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识【答案】 A【解析】本题考查C语言中标识符的概念。用用户标识符是由字母、数字和下划线组成,并且第一

2、个字符必须为字母 或下划线,并且不能与C语言关键字相同。所以本题应该选择A。3. 以下4组用户定义标识符中,全部合法的一组是()A)_mainB)IfC)txtD)in tencludemaxREALk_2sintu rbo3COM001【答案】 A【解析】本题考核的知识点是C语言中的标识符命名规则。标识符是以字母或下划线开头,由字母、数字或下划线组 成的字符序列(例如,-max含非法字符-),并且用户标识符不能与C语言中的32个关键字同名(例如,int是关键字, 不是合法的用户标识符)。选项B中-max不是字母、数字或下划线组成的字符序列,故选项B不正确;选项C中3COM 不是由字母或下划线

3、开头,故选项c不正确;选项D中int为C语言中的关键字,故选项D不正确;选项A中全部为 合法的标识符,所以,4个选项中选项A符合题意。4. 以下选项中,合法的一组c语言数值常量是()A)028B)12.C).177D)0x8a.5e30Xa234e1.510,0000xf4.5e00abc3.e5【答案】 B【解析】本题考查的知识点是:数值常量。数值常量分为整型和实型两类。其中,整型有十进制、八进制和十六进制三种表示法;实型有小数形式和指数形式两 种表示法。十进制和书面使用的数据表示一样;八进制是以数字0开头,后面跟由07组成的八进制数组成;十六进 制是以0x(或OX)开头,后面跟由09与AF

4、(或af)组成的十六进制数组成;小数形式由数字和小数点组成,其整 数部分或小数部分如果为0可省略,但不能同时省略。指数形式由小数形式或十进制形式开头,后面跟e(或E),再跟 一个十进制整数组成。选项A中,028是八进制形式,但后面跟的8不在07之内,所以非法;选项c中,4e1.5是 指数形式,但e后面所跟的不是整数,所以非法;选项D中,10,000中不能有“,”,所以非法。故本题应该选择B。5. 以下叙述中正确的是()A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C) C源程序经编译形成的二进制代码可以直接运行D) C语言中的函数不可以

5、单独进行编译【答案】B【解析】本题考核的知识点是C程序从编写到生成可执行文件的步骤。C语言采用编译方式将源程序转换为二进制的 目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:编辑;编译,就是将已经编辑好的源程序翻译成二 进制的目标代码,经编译后的得到的二进制代码还不能直接执行,因为每一个模块往往是单独编译的,必须把经过编 译的各个模块的目标代码与系统提供的标准模块链接后才能运行:链接,将各模块的二进制目标代码与系统标准模块 经链接处理后,得到具有绝对地址的可执行文件,它是计算机能直接执行的文件:执行,执行一个经过编译和链接的 可执行的目标文件。由以上定义可知,选项A)C)D均不正确。

6、所以,4个选项中选项B符合题意。6. 下列叙述中正确的是A) 每个C程序文件中都必须要一个main()函数B) 在C程序中main()函数的位置是固定C) C 程序中所有函数之间都可以相互调用,与函数所在位置无关D) 在C程序的函数中不能定义另一个函数【答案】 D【解析】本题考查的知识点是函数。每一个c程序中都必须有且只有一个main ()函数但一个C程序可以由多个程序 文件组成,所以并非每个c程序文件中都必须要有一个main()函数,故选项A不正确。c语言并未对main()函数的位 置作要求,因此选项 B 也是错误的。 C 语言中,在一个函数被调用之前一定要先声明该函数,所以定义靠后的函数若

7、 在前面没有声明该函数的原型,是不能被定义靠前的函数所调用的,即除数函数数之间的调用并非与函数所在位置无 关,所以选项C不正确。故本题的正确答案应该为选项Do7. 下列叙述中错误的是( )A) 计算机不能直接执行用C语言编写的源程序B) C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C) 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D) 后缀为.obj和.exe的二进制文件都可以直接运行【答案】 D【解析】本题考查的知识点是:c语言的基本概念。c语言源程序经过c语言编译程序编译后,会生成一个二进制文件,后缀为obj,称为目标文件。然后还要经过“连

8、 接程序”把此.obj文件与c语言提供的各种库函数连接起来,生成后缀为.exe的可执行文件,才能够运行。故本题 中只有选项D是错误的。8. 以下叙述中错误的是( )A) C语言是一种结构化程序设计语言B) 结构化程序有顺序、分支、循环三种基本结构组成C) 使用三种基本结构构成的程序只能解决简单问题D) 结构化程序设计提倡模块化的设计方法【答案】 c【解析】本题考查的知识点是:结构化程序设计。结构化程序由3种基本结构组成:顺序结构、选择结构和循环结构。已经得到证明,由3种基本结构组成的算法结构 可以解决任何复杂的问题。故本题中选项c是错误的。9用C语言编写的代码程序A) 可立即执行B)是一个源程

9、序C)经过编译即可执行D)经过编译解释才能执行【答案】B【解析】本题考核的知识点是c程序的基本概念。c语言一种高级语言,c语言源程序经过c语言编译程序编译之后, 生成一个后缀为.OBJ的二进制文件(称为目标文件),晟后还要由称为“链接程序”(Li nk)的软件,把此OBJ文件与c 语言提供的各种库函数连接在一起,生成一个后缀EXE的可执行文件。显然c语言不能立即执行,故选项A错误;根 据以上定义。选项C和选项D错误,所以,4个选项中选项B符合题意。10. 结构化程序由三种基本结构组成,三种基本结构组成的算法A)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务 D)只

10、能完成一些简单的任务【答案】 A【解析】本题考核的知识点是 c 程序的三种基本结构。 C 程序由三种基本的结构组成, 分别为顺序结构、选择结 构和循环结构,这三种结构可以组成任何复杂的C程序,即可以完成任何复杂的任务,故选项B)选项c和选项D都不 正确。所以,4个选项中选项A符合题意。11. C 语言源程序名的后缀是( )A).exeB).CC).objD).cp【答案】 B【解析】本题考查的知识点是:c语言的基本概念。c语言源程序的后缀为c;经过编译得到的目标程序文件的后缀为.obj ;再将目标程序文件链接后得到可执行文件的后 缀为验证.exe。故本题应该选择Bo12. 以下叙述中错误的是A

11、)C 语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句【答案】C【解析】本题考查了 c语言中语句的一些概念。C语句必须以分号结束,选项A是正确的。复合语句在语法上被看作 一条语句,选项 B 也是正确的。空语句也算是一条语句,因此如果空语句出现在条件或者循环语句中,一样会被当作 条件子句或者循环体来看待,所以选项C是错误的。赋值表达式末尾加分号就构成赋值语句,选项D正确。故本题应 该选择 c。13. 以下能正确定义且赋初值的语句是A) int nl二n2=10; B) char c=32; C) float f二

12、f+1.1; D) double x=12.3E2.5;【答案】B【解析】本题考查的知识点是变量赋初值。选项A中的语句只能起定义nl的作用,而n2=10是n1的初始值表达式, 但因前面没有定义过n2,所以编译会报错“n2未定义”,故不正确。选项B使用一个整数初始化一个字符变量是正确 的,因为字符变量中保存的本来就是整数(某字符的ASCII码值)。选项c定义的初始值表达式中出现了它自身,某些 编译器能通过编译,但f在初始化之前是一个未知的值,用未知值来初始化也还是未知值,这是不可取的。选项D的 初始值是一个非法常量,因为实型常量指数形式的指数部分必须为整数,这里的2.5非法。14. 有以下程序m

13、ain() char a1=M, a2=m;printf(%cn, (a1, a2) ); 以下叙述中正确的是A)程序输出大写字母MB)程序输出小写字母mC)格式说明符不足,编译出错D)程序运行时产生出错信息【答案】B【解析】本题考查的是逗号表达式。因为整个逗号表达式的值为逗号表达式最后一个子表达式的值,所以本题输出的 是a2的值m故应该选择B。15. 以下符合C语言语法的实型常量是()A)1.2E0.5 B)3.14.159E C).5E-3 D)E15【答案】C【解析】本题考核的知识点是实型常量和指数形式表示数的书写格式。实型常量只能用十进制形式表示,不能用八进 制或十六进制形式表示,实型

14、常量可以用小数形式或指数形式表示,在C语言中,可以用指数形式将实型常量表示为 数值和指数两部分,数值部分不能为空,指数部分只能为整数表示。选项A中1.2和0.5都不是整数,故选项A不正 确;选项B中3.14159也不是整数,故选项B不正确;选项D中数值分不能为空,故选项D也不正确;所以,4个选 项中选项C符合题意。16. 若以下选项中的变量已正确定义,则正确的赋值语句是()A)xl=26.8%3; B)l+2=x2 ;C)x3=0xl2; D)x4=l+2=3;【答案】C【解析】本题考核的知识点是C语言中对变量赋值的应用。赋值操作由赋值运算符“=”来完成,一般形式为变量=表 达式,赋值的方向为

15、由右向左,即将“=”右侧表达式的值赋给“=”左侧的变量,执行步骤是先计算再赋值。选项 A 中运算符“”的运算对象必须为整数,而选项A中26.8不是整数,故选项A不正确;选项B将一个变量赋值给一个 表达式,这在C语言中是不允许的,故选项B不正确;选项D中也是将一个常量3赋值给一个表达式,故选项D不正 确;所以,4个选项中选项C符合题意。17. 设有以下定义int a=0;double b=1.25;char c=A;#define d 2则下面语句中错误的是()A)a+; B)b+ ;C)c+; D)d+;【答案】D【解析】本题考核的知识点是自加运算符的运算对象。自加运算对象可以是整型变量也可以是实型变量,但不能是表 达式和常量。本题中,#defined2定义了 d为常数2,不能在对d进行自加运算。故选项D是个不正确的语句,所以, 4个选项中选项D符合题意。18. 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式l/2(a+b)h计算结果不相符的是() A)(a+b)*h/2 B)(l/2)*(a+b)*h C)(a+b)*h*l/2 D)h/2*(a+b)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号