嵌入式系统开发人员C语言测试题选择题_第1页
嵌入式系统开发人员C语言测试题选择题_第2页
嵌入式系统开发人员C语言测试题选择题_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统开发人员C嵌入式系统开发人员C语言测试题选择题3.1选择题(221)请选出可用作C语言用户标识符的一组标识 a.VoiddefineWORDb.a3_b3_123IFc.For-abcCased.2aDosizeof请选出正确的标识符编 a.Hot_dogb.$z^**cat1a11SUM#Dollar2dogS_exp^pointer下面符合规范的函数原型声明有哪。T_S16CheckData();T_S16CheckData(void)T_S16SetPoint(T_S16,T_S16)T_S16SetPoint(T_S16nX,T_S16nY)声明头文件引用时,幸免使用绝对路径,要使用相对路径。以下符合规范头文件引用有哪。#include"c:\switch\inc\def.inc";#include"inc\def.inc"#include"def.inc"#include"..\def.inc"按照编码规范,头文件组成:;API函数的调用示例预处理块函数和类结构定义代码文件组成:;API函数的调用示例全局变量的声明程序的实现体(包括数据和代码)按照编码规范,符合规范的程序块。if(!ValidNi(ni)){…}nRepssnInd=SsnData[index].nRepssnIndex;nRepssnNi=SsnData[index].ni;T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(pContext==NULL){returnFALSE;}if(!ValidNi(ni)){…}nRepssnInd=SsnData[index].nRepssnIndex;nRepssnNi=SsnData[index].ni;T_S8*pContext;T_S16nIndex;T_S32lCounter;pContext=(T_S8)malloc(sizeof(T_S8)*100);if(NULL==pContext){returnFALSE;}以下说法正确的。与注释一样,所有的空白符都会被编译程序忽略掉。在C程序中用空白符隔开可执行语句、函数和注释等,将有助于提高程序的可读性和清晰度;在枚举类型、结构体类型、联合类型、类定义之后,每个函数定义终止之后都要加空;;.以下程序的代码行风格符合规范的。rect.length=0;rect.width=0;rect.length=width=0;rect.length=0;rect.width=0;typedefstruct{T_U16nLeft,nTop,nRight,nBottom;}RECT;typedefstruct{T_U16nLeft;T_U16nTop;T_U16nRight;T_U16nBottom;}RECT;以下关于代码行内空格说法正确的。,不要连续留两个以上空格;由于留空格所产生的清晰性是相对的,因此,在差不多专门清晰的语句中没有必要再留空格;、"+="">="、"<="、"+"、"*"、"%"、"/"、"&&"、"||"、"<<","^"等二元操作符的前后应当加空格;、、、"--"、"&"(地址运算符)等前后不加空格,另外,象"[]"、"."、"->"这类操作符前后不加空格。下面代码行的空格符合规范的 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下面代码行的对齐风格符合规范的 #defineMAX_TASK_NUMBER100#defineLEFT_X10#defineBOTTOM_Y400voidFunction(T_S16x){…//programcodeif(conditionn){…//programcode}}If(condition){…//programcode}else{…//programcode}while(condition){…//programcode}以下风格说法符合规范的 和{}之内的代码块在'{'右边数格处左对齐。建议使用TAB键;、for、whiledo'{'和'}'进行明显区分,如此能够防止书写失误。而iffor、、do等语句应自占一行,执行语句不得紧跟其后;对结构成员赋值,等号对齐;#define;以下说法符合规范的 注释应当准确、易明白,防止注释有二义性(错误的注释不但无益反而有害)"");注释的位置应与被描述的代码相邻,应放在代码的上方或右方(对单条语句的注释)相邻位置,不可放在下方;//"//"注释要列对齐;/*……*/。和"*/",假如和注释内容同行,则"*/";以下说法符合规范的 宏、常量和类型的命名应该使用字母全部大写的方式,各单词之间用下划线隔开;;;结构成员和枚举成员名各单词的字母全部大写,各单词之间用下划线隔开。以下说法符合规范的 除了用于循环操纵的变量,不要使用单一的字符命名变量;布尔型变量的命名应有明确的是与非的含义;函数作用域变量和文件作用域变量,以及全局变量必须幸免同名;用户标识符能够以下划线作开头。以下关于说法符合规范的 不同类型的操作符混合使用时,使用括号给出优先级;假如代码行中的操作符比较多,为了防止产生歧义并提高可读性,应当用括号确定表达式的操作顺序;为了使代码更紧凑,尽量使用复杂的操作符组合;"++""--""+="等组合在一起形成复杂惊奇的表达式。以下表达式符合规范的。while(p&&*p) //p为指针变量if(1==flag) //flag为布尔变量if(0.0==x) //x为浮点变量if(strlen(strName)!=0)//strName为字符串变量以下对逻辑表达式的使用说明正确的。一个变量和一个常数进行比较,假如是比较是否相等,则要求把常量放到左边;关于if..elseifelse语句处理缺省情形;forfor循环失去操纵;或"!="与任何数字比较。关于循环语句下面说法正确的。在多重循环中,假如有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数;假如循环体内存在逻辑判定,同时循环次数专门大,宜将逻辑判定移到循环体的别处;应认真考虑循环体内的语句是否能够放在循环体之外,使循环体内工作量最小,从而提高程序的时刻效率;尽量减少循环嵌套层次。下面的函数声明符合规范的。voidSetValue(T_U16nWidth,T_U16nHeight);voidSetValue(T_U16,T_U16);floatGetValue(void);floatGetValue()。下面关于函数参数的说法符合规范的。5减少函数间接口的复杂度;假如参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改;尽量把参数作为局部变量使用;尽量不要使用类型和数目不确定的参数。下面说法符合规范的。函数名字与返回值类型在语义上不可冲突;不要将正常值和错误标志混在一起返回;"return语句的正确性和效率进行检查;一个函数能够有多个出口点。下面说法符合规范的。只需检查输入参数的有效性就能够了,不必检查通过其它途径进入函数体内的变量的有效性,例如全局变量、文件句柄等;函数参数的定义和声明应有相同的顺序,参数名应一致;一个函数不应该有四层以上的嵌套,否则要分割成多个函数;函数不要直截了当或间接调用自己。下面说法符合规范的。assertDebug测时有可能发生的非法情形;尽量使用断言函数参数的有效性;使用断言能够对程序开发环境的假设进行检查;b.不能使用断言规范数据类型的转换。下面关于模块的说法符合规范的。.c.h中是关于该模块接口的声明;.hextern关键字声明;.cstatic关键字声明;明则只是告诉包含该声明的模块在连接时期从其它模块查找外部函数和变量。依照编码规范,下面应该全部大写的。宏enum常量结构类型名结构成员的命名下面说法符合规范的。充分利用水平和垂直空格。缩进和空格间距应反映出代码的块结构。注释应该准确,幸免不必要的注释。为清晰起见,幸免使用仅在大小写上有区别的名称,如foo和d."指针"*"应紧邻类型名,而不是变量名。依照编码规范,下面说法正确的。幸免使用与库头文件名相同的专用头文件名,安全起见,也应幸免自己设计库函数。应对引用的头文件使用相对路径。函数名应能反映出函数执行什么操作以及返回什么内容,关于全局函数还应以模块名为前缀。函数的声明和定义保持一致。C语言程序中能够对程序进行注释,注释部分必须用符括起来。a.'{''}' b.'['']' c."/*"和"*/" d."*/"和"/*"下列运算符中,优先级最低的。a.* b.!= c.+ d.=若变量已正确定义,表达式(j=3,j++)的值。a.3 b.4 c.5 d.0表达式strcmp("box","boss")的值是一。a.正数 b.负数 c.0 d.不确定的数判定i和j至少有一个值为非0的表达式。a.i!=0&&j!=0 b.i*j!=0 c.!(i==0&&j==0) d.i&&j依照编码规范,以下说法不正确的。;a,c程序中承诺赋值a=10,;;.依照编码规范,下面说法正确的。;;;调试过程中应尽可能多的输出中间结果。下面说法符合规范的。不要依照数据类型判定数据值的范畴。""功能的函数。使用有意义的标识符。GOTO语句。依照编码规范,下面说法正确的。名目名全部要使用小写;TAB键ASCII字符串。幸免编写技巧性专门高代码。依照编码规范,头文件布局的先后顺序。全局函数原型定义;全局变量声明;预处理块定义;#include区;依照编码规范,代码文件布局的先后顺序。全局函数定义;模块级数据类型定义;局部函数定义。模块级变量定义;依照编码规范,下面说法正确的。禁止使用汉语拼音来命名;用户标识符的命名必须名副事实上;为了书写方便,能够使用单个字符命名的变量;因为作用域不同,函数作用域变量、文件作用域变量、全局变量能够使用同名。依照编码规范,下面说法正确的。禁止在符号变量上进行移位操作;不要使用缺省的变量定义方式,应当保留变量的作用域修饰;尽量使用专门的初始化函数对所有的全局变量进行初始化;当向公共变量传递数据时,要防止赋与不合理的值或越界等现象发生。依照编码规范,下面说法正确的。结构的功能要单一,是针对一种事务的抽象;若结构中元素个数过多可考虑依据某种原则把元素组成不同的子结构;结构中的位域应尽可能相邻;结构的设计要为某些以后可能的应用保留余地。依照编码规范,下面说法正确的。空白符和注释会被编译程序忽略掉;枚举类型、结构体类型、联合类型、类定义、函数定义终止之后都要加空行;功能相对独立的程序块之间应加空行分隔;结构体内元素最好放在同行定义。下面代码行的空格符合规范的。*pApple='a';flag=!bIsEmpty;p=&cMem;i++;依照编码规范,下面说法正确的。*和&紧靠类型名;不同类型的操作符混合使用时,直截了当使用缺省的优先级就能够了;;尽量不要设计对不同数据类型混合运算的算术表达式。:223.(b.d)224.(b.c.d)225.(a.b.c)226.(a.b.d)227.(c.d)228.(a.b.c)229.(c.e)230.(a.b.c.d)231.(d)232.(b.d)233.(a.b.c.d)234.(a.b.c.d)235.(a.b.c)236.(a.b.c)237.(a.b.d)238.(d)239.(a.b.c.d)240.(a.b.c.d)241

温馨提示

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

最新文档

评论

0/150

提交评论