嵌入式系统开发人员C语言测试题选择题编程风格_第1页
嵌入式系统开发人员C语言测试题选择题编程风格_第2页
嵌入式系统开发人员C语言测试题选择题编程风格_第3页
嵌入式系统开发人员C语言测试题选择题编程风格_第4页
嵌入式系统开发人员C语言测试题选择题编程风格_第5页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统开发人员C语言测试题-选择题(编程风格)收藏3.1选择题(221)请选出可用作C语言用户标识符的一组标识符a.VoiddefineWORDb.a3_b3_123IFc.For-abcCased.2aDosizeof(222)请选出正确的标识符编号a.Hot_dogb.$zA*c.catld.a11e.SUM#f.Dollarg.2dogh.S_expi.Apointer(223)下面符合规范的函数原型声明有哪些a.T_S16CheckData();b.T_S16CheckData(void)c.T_S16SetPoint(T_S16,T_S16)d.T_S16SetPoint(T_S

2、16nX,T_S16nY)(224)声明头文件引用时,避免使用绝对路径,要使用相对路径。以下符合规范的头文件引用有哪些oa.#include"c:switchincdef.inc"b.#include"incdef.inc"c.#include"def.inc"d.#include".def.inc"(225)按照编码规范,头文件由组成:a.头文件开头处的版权和版本声明;b.API函数的调用示例c.预处理块d.函数和类结构定义(226)代码文件由组成:a.定义文件开头处的版权和版本声明b.API函数的调用示例c.全

3、局变量的声明d.程序的实现体(包括数据和代码)(227)按照编码规范,符合规范的程序块是a.if(!ValidNi(ni)()nRepssnInd=SsnDataindex.nRepssnIndex;nRepssnNi=SsnDataindex.ni;b.T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(pContext=NULL)(returnFALSE;c.if(!ValidNi(ni)()nRepssnInd=SsnDataindex.nRepssnIndex;nRepss

4、nNi=SsnDataindex.ni;d.T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(NULL=pContext)(returnFALSE;)(228)以下说法正确的是a.与注释一样,所有的空白符都会被编译程序忽略掉。在C程序中用空白符隔开可执行语句、函数和注释等,将有助于提高程序的可读性和清晰度;b.在枚举类型、结构体类型、联合类型、类定义之后,每个函数定义结束之后都要加空行;c.在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔d.函数体内,变量定

5、义与第一句可执行语句之间不需要加空行分隔(229)以下程序的代码行风格符合规范的是a.rect.length=0;rect.width=0;b.rect.length=width=0;c.rect.length=0;rect.width=0;d.typedefstruct(T_U16nLeft,nTop,nRight,nBottom;RECT;e.typedefstruct(T_U16nLeft;T_U16nTop;T_U16nRight;T_U16nBottom;RECT;(230)以下关于代码行内空格说法正确的是a.为了保证缩进和排比留空除外,不要连续留两个以上空格;b.由于留空格所产生的

6、清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格;c.赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=“、“+="”>="、"<="、"+"、"*"、""、叩、"&&"、"|"、"<<"",等二元操作符的前后应当加空格;d.一元操作符如叩、“、“+"、“-“、"&”(地址运算符)等前后不加空格,另外,象"口"、

7、"."、"->"这类操作符前后不加空格。(231)下面代码行的空格符合规范的是a.voidFunc1(T_S16x,T_S16y,T_S16z)b./if!28(afgt!3B=bi&!3B&!2c.for(i=0;i<10;i+)d.T_S16*x=&y(232)下面代码行的对齐风格符合规范的是a.#defineMAX_TASK_NUMBER100#defineLEFT_X10#defineBOTTOM_Y400b.voidFunction(T_S16x)/programcodeif(conditionn)(/pro

8、gramcode)c.If(condition)/programcode)else/programcode)d.while(condition)/programcode)(233)以下风格说法符合规范的是a.程序的分界符'和''应独占一行并且位于同一列,同时与引用它们的语句左对齐。)之内的代码块在'右边数格处左对齐。建议使用TAB键;b.对于if、for、while、do等程序块,即使只有一个句子或为空,仍要用和''进行明显区分,这样可以防止书写失误。而if、for、while、do等语句应自占一行,执行语句不得紧跟其后;c.对结构成员赋值,等号

9、对齐;d.#define的各个字段对齐;(234)以下说法符合规范的是a.注释应当准确、易懂,防止注释有二义性(错误的注释不但无益反而有害)。注释是对代码的"解释"。注释应解释为什么这样做,而不应解释正在做什么,除非这段代码非常晦涩(要注明技巧);b.注释的位置应与被描述的代码相邻,应放在代码的上方或右方(对单条语句的注释)相邻位置,不可放在下方;c.为了整齐起见,单行或函数体内注释用,后面留有一个空格,相邻行的"/"注释要列对齐;d.对于两行以上的连续注释用/*"/*"和*/"。最好单独一行,如果和注释内容同行,则&quo

10、t;/*"之后和"*/"之前都应留有空格;(235)以下说法符合规范的是a.宏、常量和类型的命名应该使用字母全部大写的方式,各单词之间用下划线隔开;b.结构名、枚举名各单词的字母均为大写,单词间用下划线连接;c.除非必要,不要用数字或较奇怪的字符来定义标识符;d.结构成员和枚举成员名各单词的字母全部大写,各单词之间用下划线隔开。(236)以下说法符合规范的是a.除了用于循环控制的变量,不要使用单一的字符命名变量;b.布尔型变量的命名应有明确的是与非的含义;c.函数作用域变量和文件作用域变量,以及全局变量必须避免同名;d.用户标识符可以以下划线作开头。(237)以下

11、关于说法符合规范的是a.不同类型的操作符混合使用时,使用括号给出优先级;b.如果代码行中的操作符比较多,为了防止产生歧义并提高可读性,应当用括号确定表达式的操作顺序;c.为了使代码更紧凑,尽量使用复杂的操作符组合;d.为了清晰起见,不要把"+"、"-"操作符与其他如“+="、"-=”等组合在一起形成复杂奇怪的表达式。(238)以下表达式符合规范的是a.while(p&&*p)/p为指针变量b.if(1=flag)/flag为布尔变量c.if(0.0=x)/x为浮点变量d.if(strlen(strName)!=0)/s

12、trName为字符串变量(239)以下对逻辑表达式的使用说明正确的是a.一个变量和一个常数进行比较,如果是比较是否相等,则要求把常量放到左边;b.对于if.elseif语句,最好保留else语句处理缺省情况;c.尽量不要在for循环体内修改循环变量,防止for循环失去控制;d.不可将浮点变量用"="或"!="与任何数字比较。(240)关于循环语句下面说法正确的是a.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数;b.如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面;c.应仔

13、细考虑循环体内的语句是否可以放在循环体之外,使循环体内工作量最小,从而提高程序的时间效率;d.尽量减少循环嵌套层次。(241)下面的函数声明符合规范的是oa.voidSetValue(T_U16nWidth,T_U16nHeight);b.voidSetValue(T_U16,T_U16);c.floatGetValue(void);d.floatGetValue()。(242)下面关于函数参数的说法符合规范的是a.尽量不设计多参数函数,参数个数尽量控制在5个以内。将不使用的参数从接口中去掉,减少函数间接口的复杂度;b.如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数

14、体内被意外修改;c.尽量把参数作为局部变量使用;d.尽量不要使用类型和数目不确定的参数。(243)下面说法符合规范的是a.函数名字与返回值类型在语义上不可冲突;b.不要将正常值和错误标志混在一起返回;c.在函数体的"出口处",要对return语句的正确性和效率进行检查;d.一个函数可以有多个出口点。(244)下面说法符合规范的是a.只需检查输入参数的有效性就可以了,不必检查通过其它途径进入函数体内的变量的有效性,例如全局变量、文件句柄等;b.函数参数的定义和声明应有相同的顺序,参数名应一致;c.一个函数不应该有四层以上的嵌套,否则要分割成多个函数;d.函数不要直接或间接调用

15、自己。(245)下面说法符合规范的是a.断言assert是仅在Debug版本起作用的宏,用来检查程序正常运行时不应发生但在调测时有可能发生的非法情况;b.尽量使用断言函数参数的有效性;c.使用断言可以对程序开发环境的假设进行检查;b,不能使用断言规范数据类型的转换。(246)下面关于模块的说法符合规范的是a,模块是一个或几个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;b,模块提供给其它模块调用的外部函数及数据需在,h中文件中以extern关键字声明;c,模块内的函数和全局变量需在.c文件开头冠以static关键字声明;d,定义变量和声明变量的区别在于定义会产生内存分配

16、的操作,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量。(247)根据编码规范,下面应该全部大写的是a,宏b.enum常量c,结构类型名d,结构成员的命名(248)下面说法符合规范的是a,充分利用水平和垂直空格。缩进和空格间距应反映出代码的块结构。b,注释应该准确,避免不必要的注释。c,为清晰起见,避免使用仅在大小写上有区别的名称,如foo和Foo。d."指针"标识符"*"应紧邻类型名,而不是变量名。(249)根据编码规范,下面说法正确的是a.避免使用与库头文件名相同的专用头文件名,安全起见,也应避免自己设计库函

17、数。b.应对引用的头文件使用相对路径。c.函数名应能反映出函数执行什么操作以及返回什么内容,对于全局函数还应以模块名为前缀。d.函数的声明和定义保持一致。(250)C语言程序中可以对程序进行注释,注释部分必须用符号括起来。a.''和''b.''和''c."/*"和"*/"d."*/"和"/*"(251)下列运算符中,优先级最低的是?a.*b.!=c.+d.=(252)若变量已正确定义,表达式(j=3,j+)的值是oa.3b.4c.5d.0(253)表达

18、式strcmp("box","boss")的值是一个a.正数b.负数c.0d.不确定的数(254)判断i和j至少有一个值为非0的表达式是oa.i!=0&&j!=0b.i*j!=0c.!(i=0&&j=0)d.i&&j(255)根据编码规范,以下说法不正确的是oa.每行中只能写-条赋值语句;b.若a是实型变量,c程序中允许赋值a=10,可以把整型数赋值给实型变量c.无论是整数还是实数,都能被准确无误地表示;d.%是只能用于整数运算的操作符.(256)根据编码规范,下面说法正确的是a.编写程序时,应使用括号以改

19、善表达式的清晰度;b.在保证程序准确无误的前提下,应当尽可能对程序代码进行优化c.在程序设计中,不要进行浮点数相等的比较;d.调试过程中应尽可能多的输出中间结果。(257)下面说法符合规范的是a.不要根据数据类型判断数据值的范围。b.避免设计带有"记忆"功能的函数。c.使用有意义的标识符。d.禁止使用GOTO语句。(258)根据编码规范,下面说法正确的是a.目录名全部要使用小写;b.排版不要混合使用空格和TAB键c.所有的源文件应是可打印的ASCII字符串。d.避免编写技巧性很高代码。(259)根据编码规范,头文件布局的先后顺序是a.全局函数原型定义;b.全局变量声明;c.

20、预处理块定义;d.#include区;(260)根据编码规范,代码文件布局的先后顺序是a.全局函数定义;b.模块级数据类型定义;c.局部函数定义。d.模块级变量定义;(261)根据编码规范,下面说法正确的是a.禁止使用汉语拼音来命名;b.用户标识符的命名必须名副其实;c.为了书写方便,可以使用单个字符命名的变量;d.因为作用域不同,函数作用域变量、文件作用域变量、全局变量可以使用同名。(262)根据编码规范,下面说法正确的是a.禁止在符号变量上进行移位操作;b.不要使用缺省的变量定义方式,应当保留变量的作用域修饰;c.尽量使用专门的初始化函数对所有的全局变量进行初始化;d.当向公共变量传递数据时,要防止赋与不合理的值或越界等现象发生。(263)根据编码规范,下面说法正确的是a.结构的功能要单一,是针对一种事务的抽象;b.若结构中元素个数过多可考虑依据某种原则把元素组成不同的子结构;c.结构中的位域应尽可能相邻;d.结构的设计要为某些未来可能的应用保留余地。(264)根据编码规范,下面说法正确的是a.空白符和注释会被编译程序忽略掉;b.枚举类型、结构体类型、联合类型、类定义、函数定义结束之后都要加空行;c.功能相对独立的程序块之间应加空行分隔;d.结构体内元素最好放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论