C语言基本数据类型及运算题库

发布时间 : 星期四 文章C语言基本数据类型及运算题库更新完毕开始阅读

103.一个字节一般由_【_1_】_个二进位组成,每一个二进位的值是_【_2_】_。 答案:【1】8;【2】0或1

104.原码只将最高位作符号位(以_【_1_】_代表正,_【_2_】_代表负),其余个位代表数值本身的绝对值(以二进制表示)。 答案:【1】0;【2】1

105._【_1_】_的补码同其原码相同,_【_2_】_的补码为:最高位是1,其余各位为原码的相应位取反,然后对整个数加1。 答案:【1】正数;【2】负数

106._【_1_】_的补码是唯一的,其值为_【_2_】_。 答案:【1】0;【2】0

107.用补码进行运算,减法可以用_【_1_】_法来实现。 答案:【1】加

108.计算机是以_【_1_】_码形式存放数的。 答案:【1】补

109.按位与运算的特殊用途:_【_1_】_、取一个数中某些指定位、保留一个数中的某一位。 答案:【1】清零

110.按位或运算常用来对一个数据的某些位定值为_【_1_】_。 答案:【1】1

111.按位异或运算的特殊用途:使特定位_【_1_】_、交换两个值,不用_【_2_】_。 答案:【1】翻转;【2】临时变量

112.同一个数与本身相_【_1_】_运算,结果必为0。 答案:【1】异或

113.取反运算符的优先级别比算术运算符、关系运算符、逻辑运算符和其它位运算符都_【_1_】_。 答案:【1】高

114.左移比乘法运算快得多,乘2运算可用左移_【_1_】_位来实现。 答案:【1】一

115.右移一位相当于除以_【_1_】_。 答案:【1】2

116. 以下程序的运行结果是 ___ 。

#include void main() {

int i=8,j=9,m,n; m=++i; n=j++;

printf(\}

答案:9,10,9,9

117.以下程序的运行结果是 。

#include void main() {

int a,b,c; a=b=c=1;

if (a++||++b) c++;

printf(\}

答案:2,1,2

118. 以下程序的输出结果是 ___ 。

#include void main() {

int k, i=0, j=2; k = i++&&j++;

printf (\}

答案:1,2,0

119.下列程序的输出结果是 ___ 。

#include void main() {

int a = 3, b = 4 , c = 5;

printf( \} 答案:2

120.下列程序的输出结果是 ___ 。

#include void main() {

int a = 3 , b = 14 , c = 5 ;

c = c + a *a + b % 5 * 10 ; printf(\} 答案:66

121.有以下程序, 若从键盘输入:247<回车>,则程序的输出结果是 _ 。

#include void main() {

int c;

while ((c=getchar())!='\\n') {

switch (c-'2') {

case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break; case 3: putchar(c+3);

default:putchar(c+2);break; } } }

答案:6689

三、问答题

1. 字符型常量和字符串常量有什么区别?

解:字符型常量与字符串常量的书写方式不同,用单引号括起来的字符是字符常量,用双引号括起来的字符是字符串常量。字符串常量与字符型常量的存储方式不同,C编译程序在存储字符串常量时,自动采用\\0作为字符串常量的结束标志。 2. 已知int i=5,j=5;试问表达式或函数输出的值:

(1)i++ - ++j (2)++i - j++

(3)printf (“%d\\n”,++i+(++j)); (4)printf (“%d\\n”,i++ +j);

答案: (1)-1 (2)1

(3)12 (4)10

3. 程序改错

#include void main( )

{ float f=7.12; char c=“c”;

printf(“%d\\n”,int(f%3)); printf(\}

解:正确程序如下。 #include

void main( ) /*修改 */ {

float f=7.12;

char c='c'; /*修改 */ printf(\ /*修改 */ printf(\}

4. 请指出以下程序段中的错误。

#include void main ( ) {

short j,i,k; char a,b,c; float x, y, z; i=30000; j=30000; a= '9'; b= '5'; k=a*i+b*j; z=x*x+y*y; } 答:

错误的地方如下:

(1)变量k的值溢出,不能得到正确结果。 (2)变量x和y未赋初值。

联系合同范文客服:xxxxx#qq.com(#替换为@)