C语言程序设计习题集ppt课件.ppt
为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益C C C C程序设计习题程序设计习题程序设计习题程序设计习题1/19/20231为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益C C语言程序设计习题语言程序设计习题第一章第一章 程序设计基本概念程序设计基本概念 第二章第二章 C C程序设计的初步知识程序设计的初步知识 第三章第三章 顺序结构顺序结构 第四章第四章 选择结构选择结构 第五章第五章 循环结构循环结构 第六章第六章 字符型数据字符型数据 第七章第七章 函数函数 第八章第八章 指针指针 1/19/20232为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益C C语言程序设计习题语言程序设计习题第九章第九章 数组数组 第十章第十章 字符串字符串 第十一章第十一章 对函数的进一步讨论对函数的进一步讨论第十二章第十二章 C C语言中标识符的作用域语言中标识符的作用域 和存储类和存储类第十三章第十三章 编译预处理和动态存储分配编译预处理和动态存储分配第十四章第十四章 结构体、共用体和用户定义类型结构体、共用体和用户定义类型 第十五章第十五章 位运算位运算 第十六章第十六章 文件文件 1/19/20233为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 1.2 C语言源程序文件的后缀是语言源程序文件的后缀是 _,经过编译经过编译后后,生成文件的后缀是生成文件的后缀是 _,经过连接后,经过连接后,生成文生成文件的后缀是件的后缀是_。第一章第一章 程序设计基本概念程序设计基本概念 1.1 在在TURBO C环境中用环境中用RUN命令运行一个命令运行一个C程程序时,所运行的程序的后缀是序时,所运行的程序的后缀是 。.EXE1.3 结构化程序由结构化程序由 、和和 三三种基本结构组成种基本结构组成。.C.OBJ.EXE顺序顺序选择(分支)选择(分支)循环循环1/19/20234为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益第二章第二章 C程序设计的初步知识程序设计的初步知识 一一、选选 择择 题题 2.1 以下选项中正确的整型常量是以下选项中正确的整型常量是。A)12.B)-20 C)1,000 D)4 5 62.2 以下选项中正确的实型常量是以下选项中正确的实型常量是 A)0 B)3.1415 C)0.329*102 D).8712.3 以下选项中不正确的实型常量是以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-22.4 以下选项中不合法的用户标识符是以下选项中不合法的用户标识符是A)abc.c B)file C)Main D)PRINTF2.5 以下选项中不合法的用户标识符是以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim1/19/20235为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.6 C语言中运算对象必需是整型的运算符是语言中运算对象必需是整型的运算符是 A)%B)/C)!D)*2.7 可在可在C程序中用作用户标识符的一组标识符是程序中用作用户标识符的一组标识符是 A)void B)as_b3 C)For D)2c define _123 -abc DO WORD If case SIG关键字关键字不能有不能有-数字开头数字开头2.8 若变量已正确定义并赋值,符合若变量已正确定义并赋值,符合C语言语法的表达式语言语法的表达式是是A)a=a+7;B)a=7+b+c,a+C)int(12.3%4)D)a=a+7=c+b语句,不是表达式语句,不是表达式要求整型数要求整型数号前是变量号前是变量1/19/20236为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.10 以下叙述中正确的是以下叙述中正确的是)在)在C程序中无论整数还是实数,只要在允许的范围内程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。都能准确无误的表示。)C程序由主函数组成。程序由主函数组成。)C程序由函数组成。程序由函数组成。)C程序由函数和过程组成。程序由函数和过程组成。2.9以下叙述中正确的是以下叙述中正确的是)a是实型变量,是实型变量,C允许进行以下赋值允许进行以下赋值a=10,因此可,因此可以这样说:实型变量允许赋值整型值。以这样说:实型变量允许赋值整型值。)在赋值表达式中,赋值号左边既可以是变量也可以)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。是任意表达式。)执行表达式)执行表达式a=b后,在内存中后,在内存中a 和和 b存储单元中的原存储单元中的原有值都将被改变,有值都将被改变,a的值已由原值改变为的值已由原值改变为b 的值,的值,b 的值由的值由原值变为原值变为0。)已有)已有a=3,b=5。当执行了表达式。当执行了表达式 a=b,b=a 之后,之后,已使已使a 中的值为中的值为5,b 中的值为中的值为3。1/19/20237为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.11 TURBO C中中int 类型变量所占字节数是类型变量所占字节数是A)1 B)2 C)3 D)4 2.12 不合法的八进制数是不合法的八进制数是A)0 B)028 C)077 D)012.13 不合法的十六进制数是不合法的十六进制数是A)oxff B)0Xabc C)0 x11 D)0 x19二、填空题二、填空题2.14 若若k为为int整型变量且赋值整型变量且赋值11。请写出运算。请写出运算k+后表达后表达式的值式的值A)_和变量和变量k的值的值B)_。2.15 若若x为为double型变量,请写出运算型变量,请写出运算x=3.2,+x后表达式的后表达式的值值A)_和变量和变量x的值的值B)_。11124.24.21/19/20238为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.16 函数体由符号函数体由符号_开始,用符号开始,用符号_结束。函数体的结束。函数体的前面是前面是部分,其后是部分,其后是部分。部分。2.17 C语言中的标识符可分为语言中的标识符可分为_、和预、和预定义标识符三类。定义标识符三类。2.18 在在C语言程序中,用关键字语言程序中,用关键字_定义基本整型变定义基本整型变量,用关键字量,用关键字_定义单精度实型变量,用关键字定义单精度实型变量,用关键字_定义双精度实型变量。定义双精度实型变量。2.19 把把a1、a2定义成单精度实型变量,并赋初值定义成单精度实型变量,并赋初值1的的定义语句是定义语句是 。2.20 C程序中定义的变量,代表内存中的一个程序中定义的变量,代表内存中的一个 。定义说明定义说明执行语句执行语句关键字关键字用户标识符用户标识符intfloatdoublefloat a=1,b=1;不能用不能用float a=b=1;存储单元存储单元1/19/20239为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.21 表达式表达式3.5+1/2的计算结果是的计算结果是_。2.22 对以下数学式,写出三个等价的对以下数学式,写出三个等价的C语言表达式语言表达式_、。abb c c 2.23 表达式表达式s=10应当读做应当读做“_”。2.24 计算机中内存储器的最小存储单位称计算机中内存储器的最小存储单位称_,其中,其中能容纳的数是能容纳的数是_。2.25 通常一个字节包含通常一个字节包含_个二进制位。在一个字节中个二进制位。在一个字节中能存放的最大能存放的最大(十进制十进制)整数是整数是_,它的二进制数的形式是,它的二进制数的形式是_;最小;最小(十进制十进制)整数是整数是_,它的二进制数,它的二进制数的形式是的形式是_。.不是4.5!a*b/ca/c*bb/c*a条件:a,b,c是实数是实数S赋值为赋值为10bit(位)(位)12712701111111-128-12810000000(补码)(补码)1/19/202310为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.27 在在C语言中整数可用语言中整数可用_进制数、进制数、_进制数和进制数和_进制数三种数制表示。进制数三种数制表示。2.26 当计算机用两个字节存放一个整数时,其中能存放的最当计算机用两个字节存放一个整数时,其中能存放的最大大(十进制十进制)整数是整数是_、最小、最小(十进制十进制)整数是整数是_,它的,它的二进制数的形式是二进制数的形式是 。0111111111111111/100000000000000032767-3276810816三、上机改错题三、上机改错题(读者最好在读者最好在TURBO C环境下上机试环境下上机试一试,以便熟悉出错信息一试,以便熟悉出错信息)。2.28 请指出以下请指出以下C程序的错误所在程序的错误所在#include stdio.h ;main();/*main function*/float r,s;/*/*r is radius*/,/*s is area of circular*/*/r=5.0;s=3.14159*r*r;printf(“%fn”,s)“”运行结果:运行结果:78.5397491/19/202311为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.29 请指出以下请指出以下C程序的错误所在程序的错误所在#include stdio.h main /*main function*/float a,b,c,v;/*a,b,c are sides,v is volume of cube*/a=2.0;b=3.0;c=4.0 v=a*b*c;printf(“%fn”,v)();运行结果:运行结果:24.000000【2-28】(正确)#include “stdio.h”main()/*main function*/float r,s;/*r is radius,s is area of circular*/r=5.0;s=3.14159*r*r;printf(%fn,s);1/19/202312为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【2-29-2】(正确)#include main()/*main function*/float a,b,c,v;/*a,b,c are sides,v is volume of cube*/a=2.0;b=3.0;c=4.0;v=a*b*c;printf(%fn,v);1/19/202313为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益第三章第三章 顺序结构顺序结构 一、选择题一、选择题 3.1 3.1 若若a a、b b、c c、d d、都是、都是intint类型变量且初值为类型变量且初值为0 0,以下选项中不,以下选项中不正确的赋值语句是正确的赋值语句是 。A)a=b=c=d=100A)a=b=c=d=100;B)d+;C)c+b B)d+;C)c+b;D)d=(c=22)-(b+);D)d=(c=22)-(b+);3.2 以下选项中不是以下选项中不是C语句的是语句的是 。A)int i;i+;printf(“%dn”,i);B);C)a=5,c=10 D);3.3 以下合法的以下合法的C语言赋值语句是语言赋值语句是 。A)a=b=58 B)k=int(a+b);C)a=58,b=58 D)-i;3.4 以下程序的输出结果是以下程序的输出结果是 。A)0 B)1 C)3 D)不确定的值不确定的值 main()int x=10,y=3;printf(“%dn”,y=x/y);应为应为(int)(a+b);1/19/202314为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.5 若变量已正确说明为若变量已正确说明为int类型,要给类型,要给a、b、c输入数据,以输入数据,以下正确的输入语句是下正确的输入语句是 。A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,&a,%b,%c);D)scanf(“%d%d%d”,&a,&b,&c);3.6 若变量已正确说明为若变量已正确说明为float类型,要通过以下赋值语句给类型,要通过以下赋值语句给a赋予赋予10、b赋予赋予22、c赋予赋予33,以下不正确的输入形式是,以下不正确的输入形式是。A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33 scanf(“%f%f%f”,&a,&b,&c);3.7 若变量已正确定义,要将若变量已正确定义,要将a和和b中的数进行交换,下面不中的数进行交换,下面不正确的语句组是正确的语句组是。A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;1/19/202315为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.8 若变量已正确定义,以下程序段的输出结果是若变量已正确定义,以下程序段的输出结果是。)输出格式说明与输出项不区配,输出无定值输出格式说明与输出项不区配,输出无定值 B)5.170000 C)5.168000 D)5.169000 x=5.16894;printf(“%fn”,(int)(x*1000+0.5)/(float)1000);3.9 若有以下程序段,若有以下程序段,c3中的值是中的值是 。A)0 B)1/2 C)0.5 D)1 int c1=1,c2=2,c3;c3=c1/c2;3.10 若有以下程序段若有以下程序段,其输出结果是,其输出结果是A)0,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,-10int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%dn”,a,b,c);(int)(x*1000+0.5)=(int)(5169.44)=5169 5169/1000.0=5.1691/19/202316为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.11 当运行以下程序时,在键盘上从第一列开始输入当运行以下程序时,在键盘上从第一列开始输入9876543210(此处此处代表代表Enter),则程序的输出结果是,则程序的输出结果是。A)a=98,b=765,c=4321 B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0main()int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“na=%d,b=%f,c=%fn”,a,b,c);3.12 以下程序的输出结果是以下程序的输出结果是A)a=%2,b=%5 B)a=2,b=5C)a=%d,b=%d D)a=%d,b=%dmain()int a=2,b=5;printf(“a=%d,b=%dn”,a,b);输出输出1/19/202317为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.13 若若int类型占两个字节,则以下程序段的输出是类型占两个字节,则以下程序段的输出是。A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535int a=-1;printf(“%d,%un”,a,a);-补码:补码:11111111111111113.14 以下程序段的输出是以下程序段的输出是 A)*496 *B)*496*C)*000496*D)输出格式符不合法输出格式符不合法 int x=496;Printf(“*%-06d*n”,x);“*%06d*n”“*%06d*n”:输出输出*000496*3.15 以下程序段的输出是以下程序段的输出是 A)|3.1415|B)|3.0|C)|3|D)|3.|float a=3.1415;Printf(“|%6.0f|n”,a);3.16 以下程序段的输出是以下程序段的输出是 A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|printf(“|%10.5f|n”,12345.678);突破场宽!突破场宽!1/19/202318为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.17 以下程序段的输出是以下程序段的输出是A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.67*float a=57.666;pirntf(“%010.2fn”,a);3.18若从终端输入以下数据,要给变量若从终端输入以下数据,要给变量c赋以赋以283.19,则正确的,则正确的输入语句是输入语句是 A)scanf(“%f”,&c);B)scanf(“%8.4f”,&c);C)scanf(“%6.2f”,&c);D)scanf(“%8”,&c);283.1900scanf中禁用中禁用”%*.*f”!3.19 若变量已正确说明,要求用以下语句给若变量已正确说明,要求用以下语句给a赋予赋予3.12、给、给b赋赋予予9.0,则正确的输入形式是,则正确的输入形式是(代表空格代表空格)A)3.12 B)a=21.3 b=C)a=3.12,b=9 D)a=3.12,b=9 scanf(“a=%f,b=%f”,&a,&b);1/19/202319为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.20 以下程序的输出结果是以下程序的输出结果是 A)9 8 B)8 9 C)6 6 D)以上三个都不对以上三个都不对#include “math.h”main()double a=-3.0,b=2;printf(“%3.0f%3.0fn”,pow(b,fabs(a),pow(fabs(a),b);2|-3|,|-3|2二、填空题二、填空题3.21 若有以下定义,请写出以下程序段中输出语句执行后的若有以下定义,请写出以下程序段中输出语句执行后的输出结果。输出结果。(1)_(2)(3)_int i=-200,j=2500;printf(“(1)%d%d”,i,j);printf(“(2)i=%d,j=%dn”,i,j);printf(“(3)i=%dn j=%dn”,i,j);-200 2500-200 2500i=-200,j=2500i=-200,j=2500i=-200i=-200j=2500j=25001/19/202320为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.22 变量变量i、j、k已定义为已定义为int类型并有初值类型并有初值0,用以下语句进行,用以下语句进行输入时输入时:scanf(“%d”,&i);scanf(“%d”,&j);scanf(“%d”,&k);当执行第一个输入语句,从键盘输入:当执行第一个输入语句,从键盘输入:12.3 表示表示Enter键键则变量则变量i、j、k的值分别是的值分别是_、_、_。12003.23 复合语句在语法上被认为是复合语句在语法上被认为是_。空语句的形式是。空语句的形式是 。一条语句一条语句;3.24 C语句的最后用语句的最后用_结束。结束。;3.25 以下程序段,要求通过以下程序段,要求通过scanf语句给变量赋值,然后输出变语句给变量赋值,然后输出变量的值。写出运行时给量的值。写出运行时给k输入输入100,给,给a输入输入25.81,给,给x输入输入1.89234 时的三种可能的输入形式时的三种可能的输入形式_、_、_。int k;float a;double x;scanf(“%d%f%lf”,&k,&a,&x);pirntf(“k=%d,a=%f,x=%fn”,k,a,x);100 25.81 1.89234100 25.81 1.89234100100 25.81 1.89234 25.81 1.89234100100 25.81 25.81 1.89234 1.892341/19/202321为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.26 以下程序段的输出结果是以下程序段的输出结果是 。int x=0177;printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x);x=(0177)8=127=(0000000001111111)2=(007F)16x=127,x=127,x=177,x=7F,x=1273.27 以下程序段的输出结果是以下程序段的输出结果是。int x=0177;printf(“x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn”,x,x,x,x,x);x=127,x=127 ,x=$127 ,x=$000127,x=%06d3.28 以下程序段的输出结果是以下程序段的输出结果是 。double a=513.789215;printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a);a=513.789215,a=513.79 ,a=513.78921500,a=513.789215001/19/202322为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益三、编程题和改错题三、编程题和改错题3.29 以下程序多处有错。要按下面指定的形式输入数据和输以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。出数据时,请对该程序做相应的修改。main double a,b,c,s,v;printf(input a,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b;/*计算长方形面积*/v=a*b*c;/*计算长方体体积*/printf(“%d%d%d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);当程序执行时,屏幕的显示和要求输入形式如下:当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的此处的2.0 2.0 3.0是用户输入的数据是用户输入的数据 a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式此处是要求的输出形式 s=4.000000,v=12.0000001/19/202323为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【3-293-29】(正确正确)mainmain()()floatfloat a,b,c,s,v;a,b,c,s,v;printf(printf(input a,b,cinput a,b,c:););scanf(%scanf(%f f%f f%f f:,:,&a a,&b b,&c);c);s=a*b;s=a*b;v=a*b*c;v=a*b*c;printf(printf(a=a=%f,b=f,b=%f,c=f,c=%fnfn,a,b,a,b,c);c);printf(s=%f,v=%fn,printf(s=%f,v=%fn,s,vs,v););【3-293-29】(错误错误)mainmain double a,b,c,s,v;double a,b,c,s,v;printf(input a,b,c:n);printf(input a,b,c:n);scanf(“%d%d%d”,a,b,c);scanf(“%d%d%d”,a,b,c);s=a*b;s=a*b;v=a*b*c;v=a*b*c;printf(“%d%d%d”,a,b,c);printf(“%d%d%d”,a,b,c);printf(“s=%fn”,s,printf(“s=%fn”,s,“v=%dn”,v);“v=%dn”,v);当程序执行时,屏幕的显示和要当程序执行时,屏幕的显示和要求输入形式如下:求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的此处的2.0 2.0 3.0是用户输入的数据是用户输入的数据 a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式此处是要求的输出形式 s=4.000000,v=12.0000001/19/202324为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.30 编写程序,把编写程序,把560分钟换算成用小时和分钟表示,然后进分钟换算成用小时和分钟表示,然后进行输出。行输出。【参考答案】【参考答案】main(main()int h,m;int h,m;h=560/60;h=560/60;m=560%60;m=560%60;printf(%dh:%dm,h,m);printf(%dh:%dm,h,m);getch(getch(););3.31 编写程序,输入两个整数:编写程序,输入两个整数:1500和和350,求出它们的商数,求出它们的商数和余数并进行输出。和余数并进行输出。【参考答案】【参考答案】main()int m,n;printf(input m&n:);scanf(%d%d,&m,&n);printf(“n%d,%dn”,m/n,m%n);getch();1/19/202325为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.32 编写程序,读入三个双精度数,求它们的平均编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。进行四舍五入,最后输出结果。【参考答案】【参考答案】main(main()double x,y,z,s;double x,y,z,s;printf(input x,y,z:);printf(input x,y,z:);scanf(%lf%lf%lf,&x,&y,&z);scanf(%lf%lf%lf,&x,&y,&z);s=(x+y+z)/3.0;s=(x+y+z)/3.0;printf(nAverage=%6.1lfn,s);printf(nAverage=%6.1lfn,s);getch(getch(););1/19/202326为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.33 编写程序,读入三个整数给编写程序,读入三个整数给a、b、c,然后交换它们中,然后交换它们中的数,把的数,把a中原来的值给中原来的值给b,把,把b中原来的值给中原来的值给c,把把c中原来的中原来的值给值给 a。【参考答案】【参考答案】main(main()int a,b,c,t;int a,b,c,t;printf(Input a,b,c:);printf(Input a,b,c:);scanf(%d%d%d,&a,&b,&c);scanf(%d%d%d,&a,&b,&c);t=c;t=c;c=b;c=b;b=a;b=a;a=t;a=t;printf(na,b,c=%d,%d,%dn,a,b,c);printf(na,b,c=%d,%d,%dn,a,b,c);getch(getch(););1/19/202327为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益第四章第四章 选择结构选择结构一、选择题一、选择题一、选择题一、选择题4.1 4.1 下列运算符中优先级最高的运算符是下列运算符中优先级最高的运算符是A A)!)!B B)%C)-=C)-=D)&D)&单目运单目运算符算符4.2 下列运算符中优先级最低的运算符是下列运算符中优先级最低的运算符是 A)|B)!=C)=y=z,应使用的应使用的C语言表达式是语言表达式是 A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)4.4 设设 a、b 和和c 都是都是int 型变量,且型变量,且a=3,b=4,c=5;则以下;则以下的表达式中,值为的表达式中,值为0的表达式是的表达式是 A)a&b B)a=b C)a|b+c&b-c D)!(ab)&!c|1)1/19/202328为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.5 以下程序的输出结果是:以下程序的输出结果是:A)0 B)1 C)2 D)3 main()int a=2,b=-1,c=2;if(ab)if(b0)c=0;else c+=1;printf(“%dn”,c);4.6 以下程序的输出结果是以下程序的输出结果是:A)1 B)2 C)3 D)4 main()int w=4,x=3,y=2,z=1;printf(“%dn”,(wx?w:zy?z:x);z1/19/202329为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.7 若执行以下程序时从键盘上输入若执行以下程序时从键盘上输入3和和4,则输出结果是,则输出结果是 A)14 B)16 C)18 D)20 main()int a,b,s;scanf(“%d%d”,&a,&b);s=a;if(ab)s=b;s*=s;printf(“%dn”,s);341644.8 下面的程序片段所表示的数学函数关系是下面的程序片段所表示的数学函数关系是 。-1(x0)1(x0)0(x0)0(x0)-1(x0)0(x0)y=-1;if(x!=0)y=1;if(x0)y=1;else y=0;1/19/202330为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.9 4.9 运行以下程序后,输出运行以下程序后,输出 A)#B)&A)#B)&C)#&D)C)#&D)有语法错误不能通过编译有语法错误不能通过编译 main()main()int k=-3;int k=-3;if(k=0)printf(“*n”)if(k=0)printf(“*n”)else printf(“&n”)else printf(“&n”);1/19/202331为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.10 若若a和和b均是正整数型变量,以下正确的均是正整数型变量,以下正确的switch语句是语句是。)switch(pow(a,2)+pow(b,2)(注:调用求幂的数学函数注:调用求幂的数学函数)case 1:case 3:y=a+b;break;case 0:case 5:y=a-b;)switch(a*a+b*b);case 3:case 1:y=a+b;break;case 0:y=b-a;break;)switch a default:x=a+b;case 10:y=a-b;break;case 11:y=a*d;break;)switch(a+b)case10:x=a+b;break;case11:y=a-b;break;缺少圆括号缺少圆括号缺少空格缺少空格1/19/202332为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益二、二、二、二、填空题填空题填空题填空题4.11 C语言中用语言中用_表示逻辑值表示逻辑值“真真”,用,用_表示逻辑值表示逻辑值“假假”。非零非零零零4.12 C语言中的关系运算符按优先级别是语言中的关系运算符按优先级别是、_。,=,=,!=,!=4.13 C语言中的逻辑运算符按优先级别是语言中的逻辑运算符按优先级别是_、_、_。!&|4.14 C语言中的关系运算符和逻辑运算符的优先级别是语言中的关系运算符和逻辑运算符的优先级别是 _、_、_、_。!&|,=,=,!=,!=4.15 C语言中逻辑运算符语言中逻辑运算符_的优先级高于算术运算符。的优先级高于算术运算符。!4.16 将下列数学式改写成将下列数学式改写成C语言的关系表达式或逻辑表达式语言的关系表达式或逻辑表达式A)和和 B)_A)a=b 或或 a4a=b|a44.17 请写出以下程序的输出结果请写出以下程序的输出结果_。main()int a=100;if(a100)printf(“%dn”,a100);else printf(“%dn”,a0)B)!0 xc)b=a;a=c;c=b;3224.20 若变量巳正确定义,以下语句段的输出结果是若变量巳正确定义,以下语句段的输出结果是_。x=0;y=2;z=3;switch(x)case 0:switch(y=2)case 1:printf(“*”);break;case 2:printf(“%”);break;case 1:switch(z)case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);*#加一个加一个break,break,什么结果?什么结果?1/19/202334为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益三、三、三、三、编程题编程题编程题编程题4.21 4.21 请将以下语句改写成请将以下语句改写成switchswitch语句。语句。if(a30)m=1;if(a30)m=1;else if(a40)m=2;else if(a40)m=2;else if(a50)m=3;else if(a50)m=3;else if(a60)m=4;else if(am0)|(m1=m0)&(d1=d0)age=y1-y0;else age=y1-y0-1;printf(nThe student age is%d,age);getch();1/19/202336为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.25 有一函数:有一函数:x (-5x0)y=x-1(x=0)x+1(0 x-5)&(