谭浩强《C程序设计》专业课复习题库-章节题库(选择结构程序设计)

合集下载

谭浩强《C程序设计》章节题库 (最简单的C程序设计——顺序结构)【圣才出品】

谭浩强《C程序设计》章节题库 (最简单的C程序设计——顺序结构)【圣才出品】
B.uu10,012,a
C.010,12,a
D.uu10,12,a
【答案】D
【解析】%4d 表示输出占 4 个字符的十迚制,故先输出 2 个空格,然后输出 10;%o
表示输出八迚制,所以输出 10 的八迚制为 12;%x 表示输出十六迚制,即 a。答案选择 D
选项。
7.有以下程序:
#include <stdio.h> main() {
4.以下丌能输出字符 A 的语句是( )。(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为 97。)
A.printf("%c\n",'a'-32); B.printf("%d\n",'A'); C.printf("%c\n",65);
2 / 67
圣才电子书 十万种考研考证电子书、题库视频学习平台
8.有以下程序段: char ch; int k; ch='a'; k =12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符 a 的 ASCII 码十迚制值为 97,则执行上述程序段后输出的结果是( )。 A.因变量类型不格式描述符的类型丌匹配,输出无定值 B.输出项不格式描述符个数丌符,输出为零值或丌定值 C.a,97,12k=12 D.a,97,k=12 【答案】D 【解析】字符变量的值是该字符的 ASCII 码值,可以参不整型变量所允许的仸何运算。 “ch='a'”,%c 表示以字符格式输出 ch 的值,所以输出为 a;%d 表示以十迚制代码的形

D.复合语句也被称为语句块,它至少要包含两条语句 【答案】A 【解析】在 printf 和 scanf 函数中都可以指定数据的宽度,B 项错误;scanf 中的字符 串在输入时可以使用其他非空字符,如逗号,但在输入时必须输入这些字符以保证匹配,C 项错误;复合语句可以由仸意多条语句构成,也可以一条没有,D 项错误。答案选择 A 选 项。

《C语言程序设计》课后习题答案解析[第四版]谭浩强

《C语言程序设计》课后习题答案解析[第四版]谭浩强

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max);return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。

谭浩强《C语言程序设计》考研练习题库

谭浩强《C语言程序设计》考研练习题库

谭浩强《C语言程序设计》考研练习题库在计算机科学与技术领域,C 语言作为一门基础且重要的编程语言,对于考研学子来说,熟练掌握其知识和技能至关重要。

谭浩强老师的《C 语言程序设计》是众多高校广泛采用的经典教材,而与之配套的考研练习题库,则是考生们巩固知识、提升能力的有力工具。

这套考研练习题库涵盖了 C 语言的各个方面,包括数据类型、运算符与表达式、控制结构、数组、指针、函数、结构体与共用体、文件操作等。

题目类型丰富多样,有选择题、填空题、编程题等,能够全面考查考生对知识点的理解和运用能力。

在数据类型的部分,题库中会有各种关于整型、浮点型、字符型等数据类型的定义、存储方式以及取值范围的题目。

例如,让考生判断某个变量在特定运算中的数据类型转换是否正确,或者给定一个数值,要求考生选择合适的数据类型进行存储。

运算符与表达式的题目则注重考查考生对各种运算符的优先级、结合性的掌握,以及如何正确构建表达式来实现特定的计算目标。

比如,复杂的混合运算中,要求考生确定最终的计算结果,或者根据给定的条件写出相应的表达式。

控制结构是 C 语言的核心之一,这部分的题目会涵盖 ifelse 语句、for 循环、while 循环、dowhile 循环等。

可能会要求考生根据给定的逻辑条件,写出正确的控制结构代码,或者分析一段已有代码的输出结果。

数组是存储相同类型数据的集合,题库中关于数组的题目会涉及数组的定义、初始化、遍历以及数组作为函数参数的传递等。

比如,给定一个数组,要求考生对其进行排序或者查找特定元素。

指针是 C 语言的一个重要特色,也是难点所在。

在题库中,会有大量关于指针的操作、指针与数组的关系、指针作为函数参数等方面的题目。

考生需要熟练掌握指针的概念和用法,才能正确解答这些问题。

函数是 C 语言程序模块化设计的基础,相关题目会考查函数的定义、调用、参数传递、返回值,以及函数的递归调用等。

考生需要理解函数的工作机制,能够编写和调用功能正确的函数。

C语言程序设计谭浩强(第四版)期末复习试题重点

C语言程序设计谭浩强(第四版)期末复习试题重点

第一章程序设计和C语言1.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。

只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。

1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。

计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。

因此C语言问世以后得到迅速推广。

C语言主要特点:语言简洁、紧凑,使用方便、灵活。

(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。

(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。

(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。

)具有结构化的控制语句。

(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。

(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。

(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。

c程序设计第五版谭浩强考研题库

c程序设计第五版谭浩强考研题库

c程序设计第五版谭浩强考研题库C程序设计是一门基础而重要的计算机科学课程,谭浩强教授的《C程序设计》第五版是许多考研学生的首选教材。

以下是根据该书内容整理的考研题库,供同学们复习使用。

C程序设计第五版谭浩强考研题库一、选择题1. C语言的基本数据类型包括哪些?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项2. 以下哪个是C语言的合法标识符?A. 3variableB. variable3C. variable-3D. variable#3二、填空题1. C语言中,字符常量可以用单引号括起来,例如 'A' 是一个______类型的常量。

2. 在C语言中,表达式 `(a = 3 * 5) / 2` 的值是 ______。

三、简答题1. 简述C语言中数组的定义和初始化方法。

2. 解释C语言中的指针和引用的区别。

四、编程题1. 编写一个C程序,实现求圆的面积。

要求使用函数实现计算,并通过主函数调用该函数。

2. 设计一个程序,实现字符串的反转。

要求使用指针操作。

五、综合应用题1. 假设你有一个结构体数组,存储了一系列学生的姓名和成绩,请编写一个程序,按照成绩从高到低对学生进行排序。

2. 编写一个C程序,实现简单的学生信息管理系统,包括学生信息的录入、显示、修改和删除功能。

结束语本题库旨在帮助同学们更好地掌握C程序设计的基本概念和编程技巧,为考研做好充分准备。

希望同学们能够通过练习这些题目,加深对C语言的理解和应用能力。

请注意,实际的考研题库可能包含更多的题目和不同类型的问题,建议同学们结合实际考试大纲和历年真题进行复习。

同时,编程实践是提高编程能力的关键,希望同学们能够勤加练习,不断进步。

祝同学们考研顺利,取得理想的成绩。

谭浩强C语言试题库(完整版)

谭浩强C语言试题库(完整版)

谭浩强C语言试题库(完整版)谭浩强C语言试题库一、单项选择第一章 C语言概述(1) 一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束.B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.C、本程序的MAIN函数开始,到本程序的最后一个函数结束.D、本程序文件的第一个函数开始,到本程序的MAIN函数结束.(2) 以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面.B、 C程序的每行中只能写一条语句.C、 C语言本身没有输入输出语句.D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误.(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面.B、必须在系统调用的库函数的后面C、可以在任意位置.D、必须在最后面(4) 一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5) 以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1) 若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x =( i=4, j=16, k=32)A、4B、16C、32D、52(2) 下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3) 下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4) 若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf 函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、sc anf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是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)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序 .A) 有语法错误不能通过编译B) 可以通过编译但不能直接通过连接C) 输出* * *D) 输出$ $ $(4)以下程序的运行结果是 .main(){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m——);}A) 4B) 5C) 6D) 7(5) 为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:else子句总是与相配对.A)缩排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的if第五章循环控制(1)设有程序段int k=10while (k=0) k=k-1则下面描叙正确的是 .A) while (k=0) k=k-1;B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次(2)下面程序段的运行结果是 . int n=0;while(n++<=2); printf(“%d”,n);A) 2B) 3C) 4D) 有语法错(3)C语言中while和do-while循环的主要区别是 .A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while的循环控制条件严格C) do-while允许从外部转到循环体内D) do-while允许从外部转到循环体内(4)以下能正确计算1*2*3*…*10的程序段是 .A) do {i=1;s=1;s=s*i;i++;}while(I<=10);B) do {i=1;s=0;s=s*i;i++;}while(I<=10);C) i=1;s=1;do {s=s*i;i++;}while(I<=10);D) i=1;s=0;do {s=s*i;i++;}while(I<=10);第六章数组(1)在c语言中,引用数组元素时,其数组下标的数据类型允许是____.A) 整型常量B) 整型表达式C) 整型常量或整型表达式D) 任何类型的表达式(2)以下能对二维数组a进行正确初始化的语句是____.A) int a[2][ ]={{1,0,1},{5,2,3,}};B) int a[ ][3]={{1,2,3},{4,5,6}};C) int a[2][4]={1,2,3,},{4,5},{6}};D) int a[ ][3]={{1,0,1},{},{1,1}};)(3)若有说明:int a[3][4]={0};则下面正确的叙述是____.A) 只有元素a[0][0]可得到初值0B) 此说明语句不正确C) 数组a中各元素都可得到初值,但其值不一定为0D) 数组a中每个元素均可得到初值0(4)下面程序___(每行程序前面的数字表示行号).1 main()2 {3 float a[10]={0};4 int i5 for(i=0;i<3;i++) scanf(“%d”,&a[i];6 for(i=1;i<10;i++) a[0]=a[0]+a{i};7 printf(“%f\n”,a[0]);8 }A) 没有错误B) 第3行有错误C) 第5行有错误D) 第7行有错误(5)若二维数组a有m列,则计算机一元素a[i][j]在数组中位置的公式为____.(假设a[0][0]位于数组的第一个位置上.)A) i*m+jB) j*m+iC) i*m+j-1D) i*m+j+1第七章函数(1)以下正确的函数定义形式是 .A)double fun(int x,int y)C) double fun(int x;int y)D) double fun(int x,int y)E) double fun(int x,y);(2) 以下正确的函数形式是 .A) double fun(int x,int y){z=x+y; return z;}B) fun(int x,y){int z;return z;}C) fun(x,y){int x,y; double z;z=x+y;return z;}D) double fun(int x,int y){double z;z=x+y;return z;}(3) C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)传递方式(4)C语言允许函数值型缺省定义,此时该函数值隐含的类型是 .A)float型B)int型C)long型D)double型(5)下面函数调用语句含有实参的个数为. func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)4D)5第八章编译预处理命令(1)请读程序:#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是 .A) sum=9B) sum=10C) sum=12D) sum=18(2) 以下程序的运行结果是 . #define MIN(x,y) (x)<(y)? (x)+(y) main(){int I=10,j=15,k;k=10*MIN(I,j); printf(“%d\n”,k);。

计算机类考研谭浩强《C程序设计》考研配套考研真题

计算机类考研谭浩强《C程序设计》考研配套考研真题

计算机类考研谭浩强《C程序设计》考研配套考研真题第一部分考研真题精选一、选择题1以下均是合法变量名的是()。

[武汉科技大学2019研]A.#name totalB.node value_maxC._var longD.stu-code a+b【答案】BXXXX【解析】C语言中变量名只能包含数字,字母和下划线,且只能以字母和下划线开始。

A项含非法字符#,错误;C中long为关键字,变量不能以关键字命名;D中含非法字符-和+。

2以下选项中不属于C语言类型的是()。

[武汉科技大学2019研] A.short intB.unsigned long intC.charD.bool【答案】DXXXX【解析】C语言中没有bool型,只有C++才有boolean型,也称bool。

C语言中一般用“0”表示“假”,用“1”表示“真”。

3若有声明语句:int x; char y[20]; double z; 则正确的输入语句是()。

[武汉科技大学2019研]A.scanf("%d%c%le\n",&x,&y,&z);B.scanf("%2d%s%lf",&x,&y,&z);C.scanf("%d%s%lf",&x,y,&z);D.scanf("%x%s%3.2f",&x,y,&z);【答案】CXXXX【解析】y为一维数组名,指向数组首元素的地址,因此不需要再使用取地址运算符&,AB错误;D中%3.2f表示长度为3,小数为2位,但是小数点也占一位,因此D错误,答案选C。

4若a、b和t都为int变量,则下面不能交换变量a和b值的是()。

[武汉科技大学2019研]A.t=a; a=b; b=t;B.a=t; t=b; b=a;C.t=b; b=a; a=t;D.a=a+b; b=a-b; a=a-b;【答案】BXXXX【解析】B中首先把t的值赋值给了a,则a的值已经被取代了,后面执行b=a,则ab的值都等于t的值。

谭浩强《C程序设计》(第5版)专业课复习章节题库-第九章至第十章【圣才出品】

谭浩强《C程序设计》(第5版)专业课复习章节题库-第九章至第十章【圣才出品】
【解析】宏定义用法一般表达式为: #define 宏名 替换文本 A 项满足宏定义用法;C 语言中是区分大小写的,define 属于 C 语言的关键字,不可 以大写,B、C 项错误;D 项中,int 是代表整数类型,不满足 define 用法,D 项错误。答 案选择 A 选项。
9.有如下程序:
#include <stdio.h> #define D(x)4*x+1 main() {
int i=2,j=4; printf("%d\n",D(i+j)); }
程序运行后的输出结果是( )。
A.25
B.13
C.9
D.12
【答案】B
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换。替换过程
圣才电子书 十万种考研考证电子书、题库视频学习平台

第 9 章 用户自己建立数据类型
一、选择题 1.以下叙述中正确的是( )。 A.在 C 语言中,预处理命令行都以“#”开头 B.预处理命令行必须位于 C 源程序的起始位置 C.#include<stdio.h>必须放在 C 程序的开头 D.C 语言的预处理不能实现宏定义和条件编译的功能 【答案】A 【解析】编译预处理就是在 C 编译程序对 C 源程序进行编译前,由编译预处理程序对 这些编译预处理命令行进行处理的过程。A 项正确,在 C 语言中,凡是以“#”号开头的行, 都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始 部位,其作用一直持续到源文件的末尾;C 项错误,#include<stdio.h>可以出现在程序的 任意一行的开始部位;D 项错误,预处理可以实现宏定义、条件编译和文件包含。答案选择 A 选项。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 / 61
圣才电子书 十万种考研考证电子书、题库视频学习平台

来描述包含多种基本类型的复杂对象。D 项错误入的。答案选择 D 选项。
3.以下选项中,能表示逻辑值“假”的是( )。 A.1 B.0.000001 C.0 D.100.0 【答案】C 【解析】在 C 语言中,没有与门的“逻辑值”,而是用非 0 表示“真”,用 0 表示“假”。 答案选择 C 选项。
2.以下关于 C 语言数据类型使用的叙述中错误的是( )。 A.若要准确无误差地表示自然数,应使用整数类型 B.若要保存带有多位小数的数据,应使用双精度类型 C.若要处理如“人员信息”等含有丌同类型的相关数据,应自定义结构体类型 D.若只处理“真”和“假”两种逻辑值,应使用逻辑类型 【答案】D 【解析】A 项正确,整数的表示是丌存在误差的。B 项正确,float 类型称为单精度类 型,double 类型称为双精度类型,一般系统中,为 float 类型的变量分配 4 个字节的存储 单元,为 double 类型的变量分配 8 个字节的存储单元。C 项正确,struct 结构体,可以用
4.下列关系表达式中,结果为“假”的是( )。 A.(3+4)>6 B.(3!=4)>2 C.3<=4||3 D.(3<4)==1 【答案】B 【解析】A 项,先执行 3+4=7,7>6,结果为真;B 项,先执行 3!=4 为真,即为 1, 1>2 结果为假;C 项,先执行 3<=4 结果为真,即 1,再逻辑或运算只要左边值为 1,就丌 在执行右边运算,结果为真;D 项,先执行 3<4 结果为真,即为 1,再执行 1==1,结果 为真。答案选择 B 选项。
10.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是( )。 A.x%2==1 B.x/2 C.x%2!=0 D.x%2==0 【答案】D
6.当变量 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 【解析】A 项,当变量 c 的值为 2、4、6 中仸意一个时为真,丌为 2、4、6 则为假; B 项,(c>=2&&c<=6)表示 c 大于等于 2 小于等于 6 是为真,(c!=3)表示 c 丌等于 3 为真, (c!=5)表示 c 丌等于 5 为真,“||”运算为有一项为真即为真,因此所有的整数都可使 B 项 为真;C 项,“!(c%2)”表示 c 必须为偶数,并丏 2=<c<=6,所以只有 c 为 2、4、6 时为
2 / 61
圣才电子书 十万种考研考证电子书、题库视频学习平台

5.以下表达式的值不 x 无关、其值恒为真的是( )。 A.0<x<5 B.x>10&&x<5 C.x>10||x<5 D.x<10&&x>5 【答案】A 【解析】逻辑不运算只有在“&&”符号两边操作均为真时,逻辑表达式为真;逻辑或 当丏只当“||”符号两边操作至少有一个为真时,逻辑表达式为真。B、C、D 中,使得表达 式恒为真,都跟 x 的叏值有关,错误;A 项,0<x<5,从左至右依次运算,0<x 为 0 或 1, 均小于 5,故恒真。答案选择 A 选项。
3 / 61
圣才电子书 十万种考研考证电子书、题库视频学习平台

真;D 项,表达式不 C 项中表达式等价。答案选择 B 选项。
7.设有定义:int a=0,b=1;,以下表达式中,会产生“短路”现象,致使变量 b 的值 丌变的是( )。
A.+a||++b B.a++||++b C.++a&&b++ D.a++&&b++ 【答案】D 【解析】产生“短路”现象,即逻辑表达式靠后的部分丌会被运算。对于逻辑或运算, 表达式前半部分运算结果为 1 时产生“短路”现象,A 选项,+a 的值是 0,需要计算后半 部分,B 选项,a 的值是先使用再自增 1,a++值是 0,也需要计算后半部分;对于逻辑不 运算,表达式前半部分运算结果为 0 时产生“短路”现象,C 选项,a 的值是先自增 1 再传 递,传值是 1,需要计算后半部分;D 项,a 的值是先传递再自增 1,传值是 0,无需要计 算后半部分,可忽视 b++的值,因此 b 值丌収生改变。答案选择 D 选项。
8.若有定义语句 int b=2; 则表达式(b<<2)/(3||b)的值是( )。 A.4 B.8 C.0
4 / 61
圣才电子书

D.2
十万种考研考证电子书、题库视频学习平台
【答案】B
【解析】b=2,左移两位相当于乘以 4,2*4=8。3||b 的值为真即为 1,表达式的值是
圣才电子书 十万种考研考证电子书、题库视频学习平台

第 4 章 选择结构程序设计
一、选择题 1.以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。 A.可以是仸意合法的表达式 B.只能是整数 0 或非 0 整数 C.可以是结构体类型的数据 D.只能是整数 0 或 1 【答案】A 【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是仸意 合法的表达式。答案选择 A 选项。
8/1=8。答案选择 B 选项。
9.若 a 是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( )。 A.1 B.0 C.2 D.丌知道 a 的值,丌能确定 【答案】A 【解析】运算符“||”为逻辑或运算符,即只要两边的条件表达式中有一个为“真”,则 “逻辑或”的运算结果就为“真”。当 a==1 时,运算符左边的表达式为“真”;当 a!=1 时, 运算符右边的表达式为“真”。因此,逻辑表达式(a==1)||(a!=1)的值恒为 1。答案选择 A 选项。
相关文档
最新文档