C语言各章节单元测试题及答案——位运算
- 格式:doc
- 大小:38.00 KB
- 文档页数:4
2018年9月计算机二级C语言考试章节习题及答案(8) 第2章 C程序设计的初步知识2.5 算术表达式1 [单选题] 以下不能正确计算代数式值的C语言表达式是( )。
A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)参考答案:A2 [单选题] 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )。
A.1B.0C.2D.不知道a的值,不能确定参考答案:A参考解析:逻辑或”||”要求只要两边的运算对象有一个非零,结果就为真。
虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。
3 [单选题] 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )A.x=x*100+0.5/100.0;B.x=(x*100+0.5)/100.0;C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)*100.0;4 [单选题] 表达式3.6-5/2+1.2+5%2的值是( )。
A.4.3B.4.8C.3.3D.3.8参考答案:D 。
参考解析:此题考核的是算术运算符的运算规则,算术运算符的结合方向为“自左至右”,先按运算符的优先级别高低次序执行,同时在C中两个整数相除或求余数其结果依旧为整数。
计算后结果为3.8。
5 [单选题] 已知字母A的ASCIl代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A.kk>='A'&&kk<='Z'B.!(kk>='A'||kk<='Z')C.(kk+32)>='a'&&(kk+32)<='z'D.isalpha(kk)&&(kk<91)参考答案:B6 [单选题] 当变量 c 的值不为 2、4、6时,值也为“真”的表达式是A.(c==2)||(c==4)||(c==6)B.(c>=2&&c<=6)||(c!=3)||(c!=5)C.(c>=2&&c<=6)&&!(c%2)D.(c>=2&&c<=6)&&(c%2!=1)参考答案:B参考解析:条件语句if(a>B.不成立,所以语句a=b;不执行,语句c=a;执行后, c=3,此时条件语句if(C!=A.不成立,所以语句c=b;不执行。
一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。
A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。
A . 常量和变量都是表达式。
B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。
D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A . '\t' B.” A” C.65 D.a6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。
A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。
A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。
A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。
第8章位运算C语言是为描述系统而设计的,与其它高级语言相比,它的一个重要特点是具有汇编语言的功能,这主要表现在C语言提供了特有的位运算功能。
8.1 位运算概念C语言的位运算是指在C语言中能进行二进制位的运算。
位运算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字节的一位或几位,也可以对两个数按位相加等;移位运算可以对内存中某个二进制数左移或右移几位等。
为了表示数值,可以采用不同的方法,一般有:原码、反码和补码。
计算机内部是以补码形式存放数值的。
8.2 位运算符C语言提供了六种位运算,如表8-1所示。
表8-1 位运算符及含义说明:1.位运算量a,b只能是整型或字符型的数据,不能为实型数据。
2.位运算符中除按位取反运算符~为单目运算符外,其它均为双目运算符,即要求运算符的两侧各有一个运算量。
8.2.1位逻辑运算符假设a,b为整型的数据,并且设a=123(等于二进制数00000000001111011),b=152(等于二进制数00000000010011000)1.“按位与”运算符&运算规则:参加运算的两个运算量,如果两个数相应位的值都是1,则该位的结果值为1,否则为0。
即:0 & 0 =0;0 & 1 =0;1 & 0 =0;1 & 1 =1。
【例8-1】a的补码:00000000001111011b的补码:00000000010011000& ————————结果的补码:00000000000011000即:a&b=0x18。
2.“按位或”运算符|运算规则:参加运算的两个运算量,如果两个数相应位的值都是0,则该位的结果值为0,否则为1。
即:0 | 0 =0;0 | 1 =1;1 | 0 =1;1 | 1 =1【例8-2】a的补码:00000000001111011b的补码:00000000010011000| ————————结果的补码:00000000011111011即:a|b=0xfb。
第一章 C语言概述一、选择题:1、一个C程序的执行是从( A )。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。
A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。
A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。
2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。
4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。
5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
6、C 语言的标识符只能由字母、数字和下划线三种字符组成。
第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。
C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。
1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。
语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。
在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。
6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。
第12章位运算一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。
)12.1 表达式0x13^0x17的值是A)0x04 B)0x13 C)0xE8 D)0x17正确答案: A12.2 设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是A)00010100 B)00011011 C)00011100 D)00011000 正确答案: B12.3 在位运算中,操作数左移一位,其结果相当于A)操作数乘以2 B)操作数除以2 C)操作数除以4 D)操作数乘以4 正确答案: A12.4 在位运算中,操作数右移一位,其结果相当于A)操作数乘以2 B)操作数除以2 C)操作数乘以4 D)操作数除以4 正确答案: B12.5 以下程序的输出结果是main(){ char x=040;printf("%o\n",x<<1);}A)100 B)80 C)64 D)32 正确答案: A12.6 已知 int a=1,b=3则a^b的值为A)3 B)1 C)2 D)4 正确答案: C12.7 下面程序段的输出为#include "stdio.h"main(){ printf("%d\n",12<<2);}A)0 B)47 C)48 D)24 正确答案: C12.8 下面程序段的输出为#include "stdio.h"main(){ int a=8,b;b=a|1;b>>=1;printf("%d,%d\n",a,b);}A)4,4 B)4,0 C)8,4 D)8,0正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。
)12.9 设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是【1】。
目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。
第10章位运算10.1典型考试题剖析10.1.1选择题【例1】整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是。
A) x || y B) x | y C) x & y D) x ^ y✧考点:位运算的性质。
✧分析:答案A是两个非0数进行或运算,得到一定为非0值。
答案B是两个非0数进行按位或运算,得到的也一定是非0值。
答案C是两个非0数进行按位与运算,结果可能为0,也可能不为0。
答案D根据位运算的性质可知,一个数和本身进行异或运算的值一定是0。
✧答案:D【例2】以下程序的输出结果是。
main(){ char x=040;printf("%o\n",x<<1);}A) 100 B) 80 C) 64 D) 32✧考点:左移运算。
✧分析:040是八进制数,用二进制表示为00100000,左移1位后得到001000000即64,用八进制输出结果为100。
✧答案:A【例3】在位运算中,操作数每左移1位,相当于。
A) 操作数乘以2 B) 操作数除以2 C) 操作数乘以16 D) 操作数除以16✧考点:左移运算的性质。
✧分析:因为位运算的操作对象是整型数据,所以乘、除2的整数倍可以用移位来实现,左移1位相当乘以2,右移1位相当于除以2,用移位方法作乘除运算速度快。
✧答案:A【例4】下面语句输出结果是。
char a=7;printf("%d,%d",~a,!a);A) 0,8 B) 8,0 C) -8,0 D) 0,-8✧考点:按位取反运算和非运算。
✧分析:此题考察逻辑反和按位取反的区别,求逻辑反时,只要a≠0就按真算,即!a=0;按位取反时,00000111变为11111000此值正好是-8的补码。
✧答案:C【例5】设有以下语句,则z的二进制值是。
char x=3,y=12,z;z=x^y<<2;A ) 00110011 B) 00001111 C) 11110000 D) 00000000✧考点:位运算的优先级。
c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。
答案:continue4. C语言中,使用________关键字可以立即退出循环。
C语言_分章节练习_带答案_第四章_逻辑运算和判断[单选题]1.逻辑运算符两则运算对象的数据类型。
A)只能是0 或1B)只能是0 或非0 正数C)只能是整型或字符型数据D)可以是任何类型的数据答案:D解析:2.以下关于运算符优先顺序的描述中正确的是A)关系运算符<算术运算符<赋值运算符<逻辑运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑运算符答案:C解析:3.下列运算符中优先级最高的是。
A)<B)+C)&&D)!=答案:B解析:4.能正确表示―当x 的取值在[1,10]和[200,210]范围内为真‖的C 语言表达式为。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)C)(x>=1)||(x<=10)||(x>=200)||(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)答案:B解析:5.表示图中坐标轴上阴影部分正确的表达式是。
A)(x<=a)&&(x>=b)&&(x<=c)B)(x<=a)||(b<=x<=c)C)(x<=a)||(x>=b)&&(x<=c)D)(x<=a)&&(b<=x<=c)答案:C解析:6.判断char 型变量ch 是否为大写字母的正确表达式为。
第10章位运算
10.1典型考试题剖析
10.1.1选择题
【例1】整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是。
A) x || y B) x | y C) x & y D) x ^ y
✧考点:位运算的性质。
✧分析:答案A是两个非0数进行或运算,得到一定为非0值。
答案B是
两个非0数进行按位或运算,得到的也一定是非0值。
答案C是两个非
0数进行按位与运算,结果可能为0,也可能不为0。
答案D根据位运算
的性质可知,一个数和本身进行异或运算的值一定是0。
✧答案:D
【例2】以下程序的输出结果是。
main()
{ char x=040;
printf("%o\n",x<<1);}
A) 100 B) 80 C) 64 D) 32
✧考点:左移运算。
✧分析:040是八进制数,用二进制表示为00100000,左移1位后得到
001000000即64,用八进制输出结果为100。
✧答案:A
【例3】在位运算中,操作数每左移1位,相当于。
A) 操作数乘以2 B) 操作数除以2 C) 操作数乘以16 D) 操作数除以16
✧考点:左移运算的性质。
✧分析:因为位运算的操作对象是整型数据,所以乘、除2的整数倍可以
用移位来实现,左移1位相当乘以2,右移1位相当于除以2,用移位方
法作乘除运算速度快。
✧答案:A
【例4】下面语句输出结果是。
char a=7;
printf("%d,%d",~a,!a);
A) 0,8 B) 8,0 C) -8,0 D) 0,-8
✧考点:按位取反运算和非运算。
✧分析:此题考察逻辑反和按位取反的区别,求逻辑反时,只要a≠0就
按真算,即!a=0;按位取反时,00000111变为11111000此值正好是-
8的补码。
✧答案:C
【例5】设有以下语句,则z的二进制值是。
char x=3,y=12,z;
z=x^y<<2;
A ) 00110011 B) 00001111 C) 11110000 D) 00000000
✧考点:位运算的优先级。
✧分析:由于移位运算符的优先级高于异或运算符,所以先计算y<<2的
值为00110000,又知x的值为00000011,于是可得z=00110011。
✧答案:A
【例6】执行以下程序的输出结果是。
#include <stdio.h>
main()
{ unsigned short u;
short n;
u=024;n=-24;
printf("%d,%d,%d,%d\n",u<<2,u>>2,n<<2,n>>2);
}
A) 80,5,-80,-5 B) 80,5,-96,-6 C) 96,3,-96,-6 D) 96,6,-80,-5
✧考点:左移和右移位运算。
✧分析:本题考查含有八进制数的移位运算和负数的左、右移位运算。
024
是八进制数,C语言中八进制数无负数。
负数在机内是按补码存放的,
最高位是符号,“0”代表正,“1”代表负,其符号位可以像数字一样
参加运算,左移相当于乘以2,右移一位相当于除以2的规律仍然适用。
✧答案:B
10.1.2填空题
【例1】已知a为8位二进制数,要想通过a^b运算使a的低4位变反,高四位不变,b的值应为。
✧考点:按位异或运算的性质。
✧分析:根据按位异或运算的性质可知,与1异或得到的结果与原来的数
据相反,与0异或得到的结果与原来的数据相同。
因此a只需要低四位
与1异或,高四位与0异或即可。
✧答案: 00001111
【例2】设有以下变量说明,则a+(int)((int)b+c)>>(int)(b-c)的值为:。
int a=5;
float b=7.2,c=3.6;
✧考点:强制类型转换与位移操作。
✧分析:题目中的(int)=7,(int)((int)b+c)=10,a+10=15,又
(int)(b-c)=3,所以最后的算式为:15>>3。
✧答案: 1
【例3】下面程序段实现不借助中间变量而交换x与y的值,请填空。
int x=6,y=7;
x=x^y;
y= 【1】 ;
x= 【2】 ;
✧考点:异或运算的性质。
✧分析:根据异或运算的性质知道,进行三次按位异或运算操作可以交换
两变量的值。
答案:【1】y^x 【2】x^y
10.2自测练习与参考答案
10.2.1选择题
1.若有运算符<<,sizeof,^,&=,则它们按优先级由高到低的排列顺序是。
A) sizeof,&= ,<<,^ B) sizeof,<<,^,&=
C) ^,<<,sizeof,&= D) <<,^,&=,sizeof
2.以下叙述中不正确的是。
A) 表达式a&=b等价于a=a&b B) 表达式a|=b等价于a=a|b
C) 表达式a!=b等价于a=a!b D) 表达式a^=b等价于a=a^b
3.若有以下程序段。
int x=1,y=2;
x=x^y;
y=y^x;
x=x^y;
则执行以上语句后x和y的值分别是。
A) x=1,y=2 B) x=2,y=2 C) x=2,y=1 D) x=1,y=1
4.下面语句输出结果是。
printf("%d,%d",2&5,2&&5);
A) 1,1 B) 0,0 C) 0,1 D) 1,0
5.设i为十六进制数,若输入为abef,则运行结果是。
main()
{ int i,b,c;
scanf("%x",&i);
b=i>>(16-4)&0x000f;
c=i<<4;
c=c|b;
printf("%x",c);}
A) befa B) fabe C) efab D) abef
6.设有如下定义,则表达式a^b^b的值为。
unsigned int a=12255,b=195;
A) 0 B) 1 C) 195 D) 12255
7.请读程序片段:
char x=240;
x=x&017;
printf("%d,%o\n",x,x);
以上程序片段的输出结果是。
A) 255,377 B) 0,0 C) 240,15 D) 240,17
8.若有下面的说明和语句,则输出结果为。
char a=8,b=040;
printf("%o\n",~a&b<<1);
A) 40 B) 64 C) 80 D) 04
9.下面程序的输出结果是。
main()
{ int a=1;
printf("%d",~a);}
A) -2 B) -1 C) 0 D) 65534
10.设有以下说明:
struct packed
{ unsigned one:1;
unsigned two:2;
unsigned three:3;
unsigned four:4;
}data;
则以下位段数据的引用中不能得到正确的数值的是。
A) data.one=4 B) data.two=3
C) data.three=2 D) data.four=1
10.2.2填空题
1.与a^=b+c等价的表达式为。
2.表达式4+3<<2的值为。
3.设二进制数x的值是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是。
4.把int类型变量low中的低字节和int型变量high中的高字节放入变量s中的表达式为。
10.2.3参考答案
一.选择题:
1.B
2.C
3.C
4.C
5.A
6.D
7.B
8.B
9.A 10.A
二.填空题:
1. a=a^(b+c)
2. 28
3. 00001111
4. s=high&0xff00|low&0x00ff。