我们今天继续看真题
.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占________个字节。
在c语言中,存储的数据范围为整数-32768~32767之间的,属于int型或short型的变量,他们在内存中占两个字节
所以这道题填两
若有声明“int x;”且sizeof(x)的值为2,则当x值为___________时“x+1>x”为假。
题目分析:
x的类型为int型,存储范围在-32768~32767之间,所以当x为32767时,再加一就成-32768了,就小于了32767,sizeof(x)是求字节数运算符。所以这里填写32767
以下常量表示中正确的是__________ 。
A.\xff B.5L C.aEb D.3.14U
题目分析:
选项A若想表示成十六进制常量,正确的表示应该是0xff,如果表示成转义字符,应该放在单引号内:'\0xff'。选项B表示的是长整型常量,选项C是一个标识符,不能表示常量,选项D表示的是无符号整数,但无符号整数不应该有小数。
所以选择B
以下表示中不能用作C语言常量表示的是____。
A.0UL B.(long)123 C.1e0 D.'\x2a'
题目分析:
0UL意为将0以无符号长整型存放,B为强制类型转换,是表达式,表示长整型常量应该在123后加字母l或L。C是实常量,指数表示法,意为1乘以10的0次方,e前面必须有数字,后面的数字必须是整数。D是转义字符,表示十六进制数2a
所以这道题选B
在C语言源程序中,不带任何修饰的浮点数直接量(例如:3.14)都是按_________类型数据存储的。
题目分析:
实型常量的类型默认为double类型, 在内存中占8个字节。带f修饰即3.14f或3.14F,则认为它是float型,在内存中占4个字节。
所以这道题填double
.若有程序段“char c=256;int a=c;”,则执行该程序段后a的值是______。
题目分析:
将256转换成二进制,为10000 0000,占9位,而char在内存只占一个字节,即8位,截取低8位赋给字符变量c,得c=0,将c的值赋给a,结果为0。
所以这里填零
网友评论