免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2015年下半年 嵌入式系统设计师 上午试卷 综合知识
  第59题      
  知识点:   基本数据类型
  章/节:   嵌入式系统程序设计       

 
下面的一段C程序中,循环体语句(59)退出循环。
 
 
  A.  执行49次后
 
  B.  执行50次后
 
  C.  执行51次后
 
  D.  死循环,不会
 
 
 

 
  第51题    2011年下半年  
   59%
在C语言中,若函数调用时实参是数组名,则传递给对应形参的是(51)。
  第39题    2015年下半年  
   50%
某同步总线的时钟频率为100MHz,宽度为32位,地址/数据线复用,每传输一个地址或者数据占有一个时钟周期。若该总线支持burst(猝发..
  第63题    2020年下半年  
   69%
执行C语言的语句“for(i=1; i++<4;); ”后,变量i的值是(63)。
   知识点讲解    
   · 基本数据类型
 
       基本数据类型
        在C程序中,数据都具有类型,通过数据类型定义了数值范围以及可进行的运算。
        C的数据类型可分为基本数据类型(内置的类型)和复合数据类型(用户定义的类型)。内置的类型是指C语言直接规定的类型,用户定义的类型在使用以前必须先定义,枚举、结构体和共用体类型都是用户定义类型。
        C的基本数据类型有字符型(char)、整型(int)、浮点型(float、double),如下表所示。
        
        C基本数据类型
        void类型也是一种基本类型,void不对应具体的值,只用于一些特定的场合,例如用于定义函数的参数类型、返回值、函数中指针类型等进行声明,表示没有或暂未确定类型。
        C程序中的数据以变量、常量(包括字面量和const常量等)表示,它们都具有类型属性。
               变量
               变量本质上指代存储数据的内存单元,变量的定义(definition)指示编译器为变量分配存储空间,还可以为变量指定初始值。在一个C程序中,一个变量有且仅有一个定义。当C程序文件中需要引用其他程序文件中定义的变量时,就需要进行声明。
               变量声明(declaration)用来表明变量的类型和名字,当定义变量时即声明了它的类型和名字。可以通过使用extern关键字声明变量名。
               例如,下面是对变量a的定义、b的声明。
               
               在嵌入式C程序设计中,用volatile修饰变量时,即告知编译器该变量的值无任何持久性,不要对它进行任何优化。因为用volatile定义的变量可能会在其所在程序外被改变,因此需要从其所在的内存位置或设备端口重新读取,而不是使用其寄存器中的缓存值。
               字面量
               字面量(literal)是指数据在源程序中直接以值的形式呈现,在程序运行中不能被修改,表现为整型、浮点型和字符串类型。
               默认情况下,整型字面量以十进制形式表示,前缀0表示是八进制常数,前缀0x或0X表示是十六进制常数。同样,一个整型常数也可以加U或u后缀,指定为是unsigned类型。
               以0作为八进制常数的前导符号并不符合人们的习惯,可能造成潜在的程序错误。
               例如,
               
               浮点型字面量总是假定为double型,除非有字母F或f后缀,才被认为是float型;若有后缀L或1,则被处理为long double型。实型常量也可以表示成指数形式,例如0.004可以表示成4.0E-3或4.0e-3,其中E或e代表指数。
               字符字面量用一对单引号括起来,例如‘A’。对于不能打印的特殊字符,可以用它们的编码指定。还有一些转义字符,如’\n'表示换行、’\r'表示回车等。
               用双引号括起来的零个或多个字符则构成字符串型字面值。例如,
               
               const常量和宏定义常量
               常量修饰符const的含义是其所修饰的对象为常量(immutable)。若一个变量被修饰为const,则该变量的值就不能被其他语句修改。例如:
               
               C程序中常用宏定义的方式在源程序中为常量命名。例如:
               
               const常量与宏定义常量有所不同:const常量有数据类型,而宏定义常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,不进行类型安全检查,并且在字符替换可能会产生意料不到的错误。有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。在C++程序中使用const常量。
               标识符和名字的作用域
               在C程序中使用的变量名、函数名、标号以及用户定义数据类型名等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。
               C语言的标识符一般应遵循如下的命名规则:
               .标识符必须以字母a~z、A~Z或下画线开头,后面可跟任意个字符,这些字符可以是字母、下画线和数字,其他字符不允许出现在标识符中;
               .标识符区分大小写字母;
               .标识符的长度在C89标准中规定31个字符以内,在C99标准中规定63个字符以内;
               .C语言中的关键字(保留字)有特殊意义,不能作为标识符;
               .标识符最好使用具有一定意义的字符串,便于记忆和理解。变量名一般用小写字母,用户自定义类型名的开头字母大写。
               通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。同一个名字在不同的作用域可能表示不同的对象。
               C程序中的名字有块作用域、函数作用域、函数原型作用域和文件作用域之分,作用域可以是嵌套的。
               一般情况下,尽可能将变量定义(声明)在最小的作用域内,并且为其设置初始值。
   题号导航      2015年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第59题    在手机中做本题