Part1: 选择题

  1. 以下哪个声明是不允许的?( ) A. uint8 u8Counter; B. int8 i8Index; C. typedef uint8 MOD_tu8ExampleType; D. unsigned int u32PulseCounter;

答案:D

  1. 根据每个模块的描述,哪个是正确的?( ) A. C1.H 包含模块的公共接口 B. CE.H 包含公共配置所需的所有信息 C. CT.H 包含其他模块可以使用的所有 API 类型 D. CA.H 包含容器和函数调用表的原型和实现,可以由用户配置 E:CI.H 配置模块本身并使其适应外部模块

答案:A

  1. 以下哪个对模块前缀的定义是合理的?( ) A. typedef struct EEPX_test{ uint8 EEPX_ui8Data; uint32 ui32Data; } B. enum test{ EEPX_ui8Data=0; EEPX_ui32Data; } C. union test { uint8 EEPX_ui8Data; uint32 EEPX_ui32Data; } ` D. 以上都是

答案:D

  1. 在文件本地区域中定义标识符为u8Byte。 ( ) B. u8Byte C. SWOD_Byte A. SWOD_u8Byte D. SWOD__u8Byte

答案:A

  1. 根据API文件“Export Interface”的格式,以下哪个定义是正确的,默认命名为哪个?( ) A. SWMOD1C1.H B. SWMOD1C.H C. SWMODC1.H D. SWMODC.H

答案:C

  1. 以下哪个注释不遵循C编程规则。 ( ) A. /* Number of pulses equal to 10meter*/ B. /*Velocity CAN input Error /*0x1FFF*/ */ C. /* * PT1 damping fall factor */ D. 以上都不是

答案:B

  1. SWMOD模块的哪个文件不位于inc中?( ) A. #include SWMODXCA.H B. #include SWMODXCE.H C. #include SWMODXCn.C D. #include SWMODXC1.H

答案:C

  1. 以下哪个声明了一个具有不同数据类型的函数局部变量是不正确的?( ) A. uint32 SMOD__ui32Result B. bit8 SMOD__bi8Result C. typedef uint8 SMOD_tu8Example D. enum SMOD__enResult

答案:B

  1. 以下哪个名称定义正确?( ) A. Getvalue B. GetValue
    C. Get_Value
    D. GetValue11

答案:B

  1. 以下哪个关于访问结构和数组元素的说法是正确的?( ) A. 不允许超出边界的数组访问 B. 必须始终通过array[index]来寻址数组元素。 C. 不要为未知大小的数组使用typedef D. “struct”或“union”中的成员数不能超过127个?

答案:A

Part2:是或否题

  1. switch (bState) { case 1 : func1(); break; case 2 : func2(); break; default : func4(); break; case 3 : func3(); break; } 这个switch语句是正确的吗?

答案:错误

Part3:真或假题

  1. 以下代码定义了一个名为CAN_tstBasicCan的结构体,包括后缀变量名为uint8 Datauint32 Data/*code typedef struct { uint8 bi8LowFuelWrnData_Flg; BOOL boWarningon_flg; BOOL TNC_boDiagMode_Stat; } CAN_tstBasicCan; Is it TRUE or False?`

答案:假的

  1. 分配数据类型的标识符通常由’typedef’定义,因此,typedef enum SMOD__enResult的定义是否正确?

答案:正确

  1. 结构体可以方便配置,定义清晰的职责并减少编译和链接时间。是真的还是假的?

答案:真的

Part4:阅读C代码

  1. 编程运行时会输出什么?

文件a.h: ... #define MACRO ... 文件b.h ... #ifdef MACRO #undef MACRO #endif ... 文件c.h #include 'a.h' #include 'b.h' #ifdef MACRO ... #else #error 'error: MACRO is not defined' #endif

答案:无输出,因为MACRO已被undef。

  1. 以上C编程中哪句话是错误的?

char EXMPL_sSomeBuffer= EXMPL_sInitBuffer(); struct SomeT EXMPL_xCountry= { /*Name*/ 'germany', /*Code*/ 'D' };...char* sFirstSub; char* sSecondSub;...sFirstSub= EXMPL_sSomeBuffer; sSecondSub= EXMPL_sSomeBuffer+ EXMPL_i8BufferLength; while(sFirstSub <= sSecondSub) /* ok */ { ... sFirstSub++; sSecondSub--; } ... sSecondSub= EXMPL_xCountry.cCode; ... if(sFirstSub <=sSecondSub) ...

答案:第一句话中的函数调用没有定义。

C语言编程基础知识测试题

原文地址: https://www.cveoy.top/t/topic/oMYE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录