C语言笔试习题集答案及解析

合集下载

c语言笔试选择题和答案解析

c语言笔试选择题和答案解析

c语言笔试选择题和答案解析c语言笔试题及答案(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

(2)下列叙述中正确的是________。

A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。

线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。

完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。

A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。

编写软件规格说明书及初步的用户手册,提交评审。

(3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是_________。

A)控制流B)加工C)数据存储D)源和潭评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。

c语言笔精彩试题问题详解

c语言笔精彩试题问题详解

笔试题一、填空题(每个空4分,共28分)1)struct tagABC{char name[10];char sex;long sno;float score[4];}*pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为(64 )2)如下代码,最终value的值是(8)int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为(2)#include〈stdio.h〉#include〈string.h〉void main(void){char acNew[20]= “\\0\0”;printf(“%d\n”,strlen(acNew));}4) 有如下程序段,运行该程序的输出结果是(33)main (){int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA{Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;}AAA_S问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )二、选择题(每题2分,共34分)1)若有说明int(*p)[3];以下叙述正确的是( D )A:p是指针数组B:(*p)[3]和*p[3]等价C:p是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2)以下关于单元测试的描述,哪些是对的?(D)A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A:共享内存 B:信号量C:消息队列和管道 D:socket调用4)有关结构,以下哪些描述是对的?(BC)A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。

c语言考试题及答案详解

c语言考试题及答案详解

c语言考试题及答案详解C语言考试题及答案详解一、选择题1. 下列哪个是C语言的关键字?A. voidB. mainC. returnD. print答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是 ____ 。

答案:int2. 以下代码段的输出结果是____。

```cint a = 5;printf("%d", a++);```答案:5三、简答题1. 请简述C语言中数组的定义方式。

答案:在C语言中,数组的定义方式是通过指定数据类型、数组名和数组的大小。

例如,定义一个整型数组,大小为10,可以写作:int array[10];四、编程题1. 编写一个C程序,实现求两个整数的和,并输出结果。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("Sum is: %d\n", sum);return 0;}```五、论述题1. 论述C语言中指针的概念及其重要性。

答案:指针是C语言中的一个重要概念,它存储了变量的内存地址。

指针的重要性在于它允许程序员直接操作内存,这使得动态内存分配、数组操作、函数参数传递等成为可能。

指针的使用提高了程序的灵活性和效率,但也增加了编程的复杂性。

六、案例分析题1. 给定以下C语言代码段,分析其功能并指出可能存在的问题。

```cint func(int *p) {return *p * 10;}int main() {int a = 5;printf("%d\n", func(&a));return 0;}```答案:该代码段定义了一个函数`func`,它接受一个整型指针作为参数,并返回该指针指向的值乘以10的结果。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的区别。

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。

选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。

选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。

因此,正确答案是A、C。

2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。

选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。

因此,正确答案是B。

3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。

选项C的`&&`是逻辑与运算符。

选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。

因此,正确答案是C。

二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。

解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。

```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。

因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。

c语言考试题及答案分析

c语言考试题及答案分析

c语言考试题及答案分析一、选择题1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D分析:在C语言中,变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。

2. C语言中,哪个关键字用于定义一个函数?A. defineB. functionC. defD. void答案:D分析:在C语言中,void关键字用于定义一个函数,如果函数没有返回值。

3. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. doubleD. string答案:D分析:C语言中的基本数据类型包括int、float、double等,而string不是基本数据类型,它是字符数组。

二、填空题1. 在C语言中,使用________关键字可以定义一个数组。

答案:int分析:在C语言中,数组通常使用int关键字定义,但也可以定义为其他数据类型。

2. C语言中,________运算符用于比较两个值是否相等。

答案:==分析:在C语言中,双等号==运算符用于比较两个值是否相等。

三、编程题1. 编写一个C语言程序,计算并输出1到100的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("The sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```分析:该程序使用for循环遍历1到100的整数,并将每个整数累加到变量sum中,最后输出总和。

2. 编写一个C语言程序,实现输入两个整数,输出它们的差。

答案:```c#include <stdio.h>int main() {int num1, num2, difference;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);difference = num1 - num2;printf("The difference is: %d\n", difference);return 0;}```分析:该程序首先提示用户输入两个整数,然后使用scanf函数读取输入,计算它们的差,并使用printf函数输出结果。

c 笔试题及答案详解

c 笔试题及答案详解

c 笔试题及答案详解C笔试题及答案详解一、判断题1. c答案:正确解析:根据题目给出的信息,对于C语言开发环境搭建的目的是为了方便进行C语言的学习和开发工作,因此判断为正确。

2. c答案:错误解析:C语言是一种面向过程的程序设计语言,不具备垃圾回收机制,需要手动管理内存。

3. c答案:错误解析:C语言的注释分为单行注释和多行注释两种形式,而不是只有单行注释。

4. c答案:正确解析:C语言中的表达式可以包含常量、变量、运算符和函数调用等。

5. c答案:错误解析:C语言中的数据类型包括基本数据类型(如整型、字符型、浮点型等)和构造数据类型(如结构体、枚举等)。

二、选择题1. c答案:B解析:对于sizeof算符,它的作用是获取变量或类型的字节大小。

sizeof(char)返回值为1,因为char类型占用一个字节。

2. c答案:C解析:C语言中的switch语句只能用于排斥某个值的情况。

对于范围的判断需要借助if语句完成。

3. c答案:D解析:在C语言中,数组是一种顺序存储的数据结构,可以通过下标来访问数组中的元素。

4. c答案:A解析:对于逻辑运算符&&,它的左右两个操作数都为真时结果才为真,否则结果为假。

5. c答案:C解析:在C语言中,结构体是一种自定义的数据类型,可以包含多个不同类型的成员。

三、编程题代码如下:```c#include <stdio.h>void printStars(int n) {for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {printf("* ");}printf("\n");}}int main() {int n;printf("请输入要打印的行数:");scanf("%d", &n);printStars(n);return 0;}```解析:上述代码实现了一个功能,根据用户输入的行数,打印相应行数的星号图案。

c c 笔试题及答案详解

c c 笔试题及答案详解

c c 笔试题及答案详解C C笔试题及答案详解C C是一种通用的编程语言,广泛用于系统软件和应用程序开发。

在程序员面试和招聘过程中,C C笔试题是常见的一部分。

本文将详细解析几道经典的C C笔试题及其答案,帮助读者对C C语言的使用和理解有更深入的认识。

题目一:请编写一个C C程序,将一个整数数组中的元素按照从小到大的顺序进行排序。

答案详解:```c#include <stdio.h>int main() {int arr[] = {50, 20, 40, 10, 30};int n = sizeof(arr)/sizeof(arr[0]);int i, j, temp;for (i = 0; i < n-1; i++) {for (j = 0; j < n-i-1; j++) {if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}printf("排序后的数组:");for(i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;}```题目二:请编写一个C C程序,计算并输出斐波那契数列的前20个数字。

答案详解:```c#include <stdio.h>int main() {int n = 20;int fib[n];int i;fib[0] = 0;fib[1] = 1;for(i = 2; i < n; i++) {fib[i] = fib[i-1] + fib[i-2];}printf("斐波那契数列的前20个数字:");for(i = 0; i < n; i++) {printf("%d ", fib[i]);}return 0;}```题目三:请编写一个C C程序,将一个字符串中的所有小写字母转换为大写字母。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。

这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。

这个题目考察用户标识符的概念。

4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。

16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。

42 答案是A选项A中,b变量还没有定义43 答案是C选项A中long是关键字;选项B中“-”符号不属于字母、数字或下划线;选项D中,int是关键字。

44 答案是B选项A中,八进制数只能由0—7之间的数字组成;选项C,十六进制数应该以0X开头,并且由0—9以及a—f组成,Oabc不正确;选项D中10,000包含逗号,不正确。

45 答案是BC语言的标识符中只能包含字线、数字和下划线,没有连接符。

46 答案是C既然在内存中,字符数据以ASCII 码存储,它的存储形式就与整数的存储形式类似。

这样使字符型数据和整型数据之间可以通用。

一个字符数据既可以以字符形式输出,也可以以整数形式输出。

以字符形式输出时,需要先将存储单元中的ASCII 码转换成相应字符,然后输出。

以整数形式输出时,直接将ASCII 码作为整数输出。

也可以对字符数据进行算术运算,此时相当于对它们的ASCII 码进行算术运算。

47 答案是D不同的计算机系统或者编译系统,对3种整数类型所占用的字节数有不同的规定。

48 答案是A选项B中求余运算(%)的运算对象必须是整型;选项C中,赋值运算符(=)的左边必须是变量,不能是常量或表达式;选项D与选项C同理。

49 答案是A++运算符有前缀和后缀两种形式,本题中的选项C就是前缀形式,其表达式的值为增1后的值,而选项A为后缀形式,其表达式的值为增1之前的值。

而选项B和D的表达式都是k加1之后的值50 答案是A51 答案是C选项A中将一个变量j的值赋给了一个表达式,这种写法是错误的,只能给变量赋值,而不能给常量和表达式赋值;选项B中强制类型转换的格式使用出错,强制类型转换时,类型标识符必须用括号括起来;选项D中,求余运算符(%)的两端必须是整形数。

52 答案是D字符常量是用单引号括起来的单个字符,所以选项B错误;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“\”开头加一个普通字符组成,代表一个字符。

如’\’’表示一个单引号字符,所以选项D正确;’\\’表示一个斜杠字符,而选项C中的’\’则是错误的;用“\”与其后的1~3位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符;用“\x”与其后的1~2位十六进制数字构成的字符序列,表示ASCII码等值于该十六进制数的字符;所以选项A错误。

53 答案是B字符常量是用单引号括起来的单个字符,所以选项A正确;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“\”开头加一个普通字符组成,代表一个字符。

如’\n’表示一个换行符,所以选项D正确;用“\”与其后的1~3位八进制数字构成的字符序列,表示ASCII码等值于该八进制数的字符,所以选项B错误,因为9不是八进制数字;用“\x”与其后的1~2位十六进制数字构成的字符序列,表示ASCII码等值于该十六进制数的字符;所以选项C正确。

54 答案是D大写字母的ASCII码值比小写字母的ASCII码值小3255 答案是A选项A中的字符变量ch只能接收单个字符,‘ab’不是单个字符,所以错误。

56 答案是Bchar x=’C’将一个大写字母赋给了字符型变量x;然后通过x=x+32将x中字符的ASCII码值加32,即为小写字符’c’的ASCII码值;然后将x以字符形式输出,即为小写字母c。

57 答案是A语句char x,y;定义两个字符型变量x,y;然后通过x=’B’-‘A’+’a’将用大写字母B的ASCII码送去大写字母A的ASCII码,结果便为1,然后再加上小写字每a的AS CII码,结果就为小写字母b 的ASCII码,然后再赋值给变量x;通过y=x+2,将变量x中的ASCII 码值加2,即变成小写字母d的ASCII码值再赋值给变量y;然后以数值形式输出变量x中的ASCII码值为98,再以字符形式输出变量y中的字符为d。

58 答案是 B选项A中字符’0’的ASCII码值为48,所以A的结果不为1;选项B中’\0’代表空值,空值NULL的ASCII码值为0所以结果为1;选项C中字符’1’的ASCII码值为49,所以结果不为1;选项D相当于用0-48结果也不为1。

59 答案是D如果要表示十六进制字符,则要用’\x’开头,所以选项A错误;如果要表示八进制,则’\0’开头,后面跟1~3位的八进制数,八进制数由0~7组成,不包含8,所以选项B错误;用单引号括起来的单个字符才是字符常量,所以C错误;而’\n’是转义字符,用来表示回车符。

60 答案是B用单引号括起来的单个字符,称为字符常量,所以选项B错误。

61 答案是C先将c1 变量中的字符的ASCII码值输出,即为65,将变量c2中字符的ASCII码值减2后输出,即为66。

62 答案是A我们知道异或运算,只有两个操作数不同,结果才为1。

所以0^1=1,1^1=0,由此可推理,任何数与1进行异或运算都得它的相反数;变量b中的高4位为1,所以要让变量a的高4位取反,即可让变量a和变量b进行异或运算。

63 答案是A变量c1和c2中的值相同,所以转换成二进制数后,对应的二进制位上的值也相同,当两值相同时,只有进行异或运算,结果才为0,所以c1^c2值为0。

所以本题的正确答案为A。

64 答案是A4|3转换成对应的二进制数即100|011=111再转换为十进制数即为7;而4&3转换成对应的二进制数即100&011=000,再转换为十进制数即为0;所以选择A。

65 答案是Dx/y的值为1,z的值也为1,1和1求反进行与运算,结果一定为0。

所以本题选择D。

66 答案是D2+x=00000010+10100111=10101001;~3=~00000011=11111100;所以就相当于10101001^11111100=01010101,所以选择D。

67 答案是Da=0x3转换为二进制数即为00000011;b=a|0x8转换为二进制数即为00000011|00001000=00001011即b=11,b<<1即00001011<<1=00010110即c=22,所以本题选择D。

相关文档
最新文档