1 在c语言中,不允许有常量的数据类型是()
①整型 ②结构型 ③字符型 ④字符串
【分析】C语言中,允许出现整型、实型、字符型、字符串的常量,其中整型常量又区分为短整 型常量和长整型常量。
【答案】②
2 下列数据中,不属于常量的是()
① 123L ②'\012' ③"12.3L" ④ 12.3L
【分析】④中的数据不是常量,因为实型常量是不区分单精度和双精度的,12.3后跟字母L 是错误的;①中是长整型常量;②中是以转义字符方式出现的字符型常量;③中是字 符串常量。
【答案】④
3 -12345E-3代表的十进制实数是________________________。
【分析】这是用指数形式表示的实型常量,对于指数形式“土aaaaaE土bbb”的实数,其值为“土 aaaaax 10土bbb”。("土"表示正负)
【答案】- 12.345
4 字符串“\\012\012”在内存中占用的字节数是___________________个。
【分析】一个字符串所占用的内存字节数等到于其中字符的数目再加1。题目中给出的字符串中'\\'
是1个转义字符;'0'、'l'、'2'分别都是单个字符;‘\012'是一个用八进制数表示的转义字符,所以其中单个字符的数目为5,该字符串占用的内存字节数等于5+l,其中增加的1个字节用于存放“字符串结束标记”符号‘\0'。
【答案】6
5 设短整型变量x的值为12,假定分配给x的内存单元地址是0xff00,和0xff01,则在程序中能表示变量x的地址是()
① 0xff00 ② oxff01 ③&x ④&12
【分析】C语言规定,任何变量的地址,在程序中用“&变量名”来表示。
【答案】③
6 下列说法中,错误的是()
①变量的定义可以放在所有函数之外
②变量的定义可以不放在本编译单位中,而放在其他编译单位中
③变量的定义可以放在某个函数的函数头中
④变量的定义可以放在某个复合语句的开头
【分析】①中定义的变量是正确的,这种变量是外部变量;②中定义的变量是正确的,这种变量在本编译单位中要说明为“外部参照型”变量;④中定义的变量是允许的,这种变量称为内部变量,其作用域只能是本复合语句。此外,在任何函数的函数体中都可以定义变量,所定义的变量也是内部变量,其作用域是本函数。但是,在函数中定义变量时,只能在“函数体”的开头定义,不能在“函数头部分”进行定义。
【答案】③
7 变量的存储类型主要是指_______________________________。
【分析】定义变量时的存储类型有4种选择:一是“自动型(auto)”,这时变量被分配在可以重。
复使用的内存难栈区;二是“寄存器型(register)”,这时变量被分配在主机(CPU)中的寄存器;三是“静态型(static)”,这时变量被分配在不能重复使用的内存数据区;四是“外部参照型(extern)”,这时仅说明该变量的定义是在其他编译单位,不在本编译单位中。由上述分析,可以看出,定义变量时选择存储类型,主要是选择给变量分配的单元在何处。
【答案】给变量分配的单元在何处
8 下列说法中,正确的是( )
①自动型变量是分配在内存的数据区
②寄存器型变量是分配在内存的数据区中
③静态型变量是分配在内存的数据区中
④外部参照型变量是分配在内存的数据区中
【分析】按照变量在定义时的存储类型,给变量分配内存将有 3种方式:一是内存的数据区,这个地方的单元是不能重复使用的,它指定分配给“静态型(static)”变量;二是内存的堆栈区,这个地方的单元是能重复使用的,它指定分配给‘启动型(auto)”变量;三是主机(CPU)中的寄存器对,这个地方是可以重复使用的,它指定分配给“寄存器型(register)”变量;至于“外部参照型(extern)”变量不是在本编译单位中定义的,它只是用来说明需要在其他编译单位中去寻找这个变量的定义,以便确定该变量的存储特性和数据类型。
【答案】③
基本数据类型和运算典型例题分析与解答.doc
下载Word文档到电脑,方便收藏和打印[全文共1559字]
编辑推荐:
下载Word文档