C语言基础练习题(1-3).pdf

上传人:无*** 文档编号:90863253 上传时间:2023-05-18 格式:PDF 页数:57 大小:5.92MB
返回 下载 相关 举报
C语言基础练习题(1-3).pdf_第1页
第1页 / 共57页
C语言基础练习题(1-3).pdf_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《C语言基础练习题(1-3).pdf》由会员分享,可在线阅读,更多相关《C语言基础练习题(1-3).pdf(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序设计习题篇第 一 部 分C语 言基础知识1.1 选择题1.以下不是c语言的特点的是()。A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。A.abcl 23 B.n o.l C.1 23 D.ok3.正确的C语 言 标 识 符 是()oA._bu y _2 B.2_bu y C.?_bu y D.bu y?4.请选出可用作C语言用户标识符的组标识符()oA.void B.a3 b3 C.F or D.2adefin e 1 23 -abc D OWO R D IF C ase siz eof5.

2、下列符号中,不属于转义字符的是()。A.B.0 xA A C.t D.06.不属于C语言关键字的是()。A.in t B.break C.whil e D.charact er7.是C语言提供的合法关键字的是(A.F l oat B.sign ed C.in t eger D.C har8.以下不能定义为用户标示符的是()oA.scan f B.Void C.3 com D.in t9.一个C程序是由()。A.一个主程序和若干子程序组成B.个或多个函数组成C.若干过程组成D.若干子程序组成1 0.C语言程序的基本单位是()oA.程序行 B.语句 C.函数 D.字符1 1.下列说法中,错误的是(

3、A.每个语句必须独占一行,语句的最后可以是个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数1 2.以下说法中正确的是()。A.C 语言程序总是从第一个定义的函数开始执行B.在 C 语言程序中,要调用的函数必须在main()函数中定义C.C 语言程序总是从main()函数开始执行D.C 语言程序中的main()函数必须放在程序的开始部分13.C 编译程序是(A.C 程序的机器语言版本B.一组机器语言指令C.将 C 源程序编译成目标程序D.由

4、制造厂家提供的一套应用软件1 4.以下选项中,合法的用户标识符是()。A.long1 5.以下选项中,A.5E2.0B._2abc C.3dmax合法随实型常数是()oB.E-3 C.2E0D.A.datD.1.3E16.已知大写字母A 的 ASCH码值是6 5,小写字母a 的 ASCII码是9 7,则用八进制表示的字符常量,10是()。A.字符A B.字符a C.字符c17.以下选项中,合法转义字符的选项是()。A.B.018 C.,xab18.以下选项中,正确的字符常量是()。A.F B.,C.z Wz19.以下选项中可作为C 语言合法整数的是A.10110B B.0386 C.OXffa

5、20.下列变量定义中合法的是D.非法的常量D.1 abczD.D.x2a2A.short_a=l-.le-l;C.long do=0 xftiaL;B.double b=l+5e2.5;D.float 2_and=l-e-3;21.与数学式子9上x=”对应的C 语言表达式是()o2 x-lA.9*xAn/(2*x-l)B.9*x*n/(2*x-l)C.9*pow(x,n)*(l/(2*x-l)D.9*povv(n,x)/(2*x-l)22.若有代数式一丁,则不正确的C 语言表达式是)。A.a/c/d*b*3B.3*a*b/c/dC.3*a*b/c*d D.a*b/d/c*323.已知各变量的类

6、型说明如下:int m=8,n,a,b;unsigned long w=10;double x=3.14,y=0.12;则以下符合C 语言语法的表达式是()。A.a+=a-=(b=2)*(a=8)B.n=n*3=18C.x%3 D.y=float(m)24.以下符合C 语言语法的赋值表达式是()。A.a=9+b+c=d+9 B.a=(9+b,c=d+9)C.a=9+b,b+,c+9 D.a=9+b+=c+925.已知字母A 的 ASCH码为十进制数6 5,且 S 为字符型,则执行语句S=,A,+,6,,3,;后,S 中的值为()A.B.68 C.不确定的值 D.26.在 C 语言中,要求运算数

7、必须是整型的运算符是()oA./B.+C.*=D.%27.若有说明语句:chars=72%则变量s(2A.包含一个字符B.包含两个字符C.包含三个字符D.说明不合法,s 的值不确定28.若有定义:intm=7;float x=2.5,y=4.7;则次达式 x+m%3*(int)(x+y)%2/4 的 值 是()。A.2.500000 B.2.750000 C.3.500000 D.0.00000029.在 C 语言中,char型数据在内存中的存储形式是()。A.补码 B.反码 C.原码 D.A SC II码30.设变量x 为 float类型,m 为 int类型,则以下能实现将x 中的数值保留小

8、数点后两位,第三位进行四舍五入运算的表达式是()。A.x=(x*100+0.5)/100.0B.m=x*100+0.5,x=m/100.0C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.031.表达式13/3*sqrt(16.0)/8的数据类型是()。A.int B.float C.double D.不确定32.设以下变量均为int类型,则值不等于7 的表达式是()。A.(m=n=6,m+n,m+1)B.(m=n=6,m+n,n+1)C(m=6,m+1,n=6,m+n)D.(m=6,m+1,n=m,n+1)33.假设所有变量均为整型,则表达式(x=2,y=5,y+

9、,x+y)的 值 是()。A.7 B.8 C.6 D.234.已知s 是字符型变量,下面不正确的赋值语句是()。A.s=012;B.s=u+v;C.s=l+2;D.s=l+2;35.已知s 是字符型变量,下面正确的赋值语句是()oA.s=abc;B.s=0 8;C.s=xde;D.s=;36.若有以下定义,则正确的赋值语句是()oint x,y;float z;A.x=l,y=2,B.x=y=100C.x+;D.x=hit(z);37.设 x、y 均为float型变量,则不正确的赋值语句是()。A.-H-x;B.x*=y-2;C.y=(x%3)/10;38.下列语句中符合C 语言的赋值语句是(

10、)。A.a=7+b+c=a+7;C.a=7+b,b-H-,a+739.putchar函数可以向终端输出一个()。A.整型变量表达式值。C.实型变量值。40.以下程序段的输出结果是()。int a=12345;print1 2dn,a);A.12 B.34 C.1234541.若 x 和 y 均定义为in t型,z 定义为double型,()oA.scanf(%d%lx,%le,&x,&y,&z);B.scanf(2d*%d%lf ,&x,&y,&z);C.scanf(%x%*d%o,&x,&y);Do scanf(x%o%6.2f,&x,&y,&z);42.有如下程序段:int x l,x2;

11、char y l,y2;scanf(d%c%d%c,&x 1 ,&y 1 ,&x2,&y2);若要求x l、x2、y l、y 2 的值分别为10、20、代表空格)A.10Au20BC.10 u A u 20 u BD.x=y=0;B.a=7+b-H-=a+7;D.a=7+b,c=a+7;B.字符串D.字符或字符型变量值。D.提示出错、无结果以下不合法的scanf()函数调用语句为A、B,正确的数据输入是()。(注:uB.10u A20BD.10A20uB43.若变量已正确说明为float类型,要通过语句scanf(%f%f%f”,&a,&b,&c);给 a 赋予10.0,b 赋予22.0,c

12、赋予3 3.0,不正确的输入形式为()。A.10 B.10.0,22.0,33.022 回车33C.10.0 回车 D.10 22 回车22.0 33.0 回车,33 回车 44.有如下程序,若要求x l、x2、y l、y2的值分别为10、20、A、B,正确的数据输入是()。(注:u 代表空格)int xl,x2;char y l,y2;scanf(%d%d”,&xl,&x2);scanf(%c%c”,&yl,&y2);A.1020AB B.10 u 20 u ABCC.10u20D.10u20ABAB4 5.已有定义inta=-2;和输出语句:printf(%81x”,a);以下正确的叙述是

13、()。A.整型变量的输出格式符只有d 一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.1是格式符D.%8lx不是错误的格式符,其中数字8 规定了输出字段的宽度4 6.有如下程序段,对应正确的数据输入是()ofloat x,y;scanf(f%f,&x,&y);printf(a=%f,b=%f,x,y);A.2.04v回京,B.2.04,5.67v回车,5.67 回车,C.A=2.04,B=5.67v回车 D.2.055.67V回车47.有如下程序段,从键盘输入数据的正确形式应是()o (注:代表空格)float x,y,z;scanf4x=%d,y=%d,z=%d,&a,&y,&

14、z);A.123 B.x=l,y=2,z=3C.1,2,3 D.x=l u y=2 口 z=348.以下说法正确的是()oA.输入项可以为一个实型常量,如 scanf(%f,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如 scanf(a=%d,b=5d);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(4.2f,&f);D.当输入数据时,必须指明变量的地址,如 scanf(%f,&f);49.根据定义和数据的输入方式,输入语句的正确形式为:()。(注:u 代表空格)已有定义:float x,y;数据的输入方式:1.23v回车,4.5 回车A.scan(

15、,&x,&y);C.scanf(zz%3.2fu%2.1f,z,&x,&y);50.根据下面的程序及数据的输入和输出形式,#include stdio.hmain()char sl,s2,s3;输入语句;printf(,z%c%c%c,z,sl,s2,s3);)输入形式:A u B u C v 回车,输出形式:A u BA.scanf(%c%c%c,&s 1 ,&s2,&s3);B.scanf(,z%c u%u c%cz/,&sl,&s2,&s3);C.scanR%c,%c,%c”,&sI,&s2,&s3);D.scanf(c%c”,&sl,&s2,&s3);51.以下程序的执行结果是:()o

16、#include stdio.hmain()int x=2,y=3;printf(x=%d,y=%dn,x,y);A.x=%2,y=%3C.x=2,y=352.以下程序的输出结果是()。(注:#include stdio.hB.scanf(%f%f”,&x,&y);D.scanf(%3,2f%2.1 fz,&x,&y);程序中输入语句的正确形式应该为()(注:代表空格)B.x=%d,y=%dD.x=%d,y=%dU代表空格)main()printR nstringl=%15s*,“programming);printf(nstring2=%-5s*,9,boy);printf(string3=

17、%2s*,girl);A.string 1 =programming u u u u*string2=boy*string3=gi*B.string 1=u u u u programming*string2=boy u u*string3=gi*C.string 1 =programming u u u u*string2=u u boy*string3=girl*D.string 1=u u LJ u programming*string2=boy u u*string3=girl*53.根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是()。#include stdi

18、o.hmain()int a;float b;输入语句输出语句)输入形式:lu2.3v回车 (注:口代表空格)输出形式:a+b=3.300A.scanf(%d%f,&a,&b);B.scanR%d%3.1 f,&a,&b);printf(na+b=%5.3f,a+b);printf(na+b=%f,a+b);C.scanR%d,%f,&a,&b);D.scanf(%d%f”,&a,&b);print na+b=%5.3 fz,a+b)printf(na+b=%f ,a+b);54.阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()。#include stdio.hmain()i

19、nt a,b;scanR d%d,&a,&b);printf(a+b=%dn ,a+b);A.a+b=46 B.有语法错误C.a+b=12 D.不确定值55.若有定义:intx,y;charsl,s2,s3;并有以下输出数据:(注:口代表空格)1 u 2V回车U uV uW v 回车则能给x 赋给整数1,给 y 赋给整数2,给 s i 赋给字符U,给 s2赋给字符V,给 s3 赋给字符W 的正确程序段是()oA.scanfi(x=%dy=%d,&x,&y);s 1 =getchar();s2=getchar();s3=getchar();B.scanf(%d%d,&x,&y);sl=getch

20、ar();s2=getchar();s3=getchar();C.scanfit%d%d%c%c%c,&x,&y,&sI,&s2,&s3);D.scanf(%d%d%c%c%c%c%c%c,&x,&y,&sl,&s 1 ,&s2,&s2,&s3,&s3);1.2 填空题i .c 语 言 的 符 号 集 包 括、。2.结 构 化 设 计 中 的 三 种 基 本 结 构 是、o3.C 语 言 源 程 序 文 件 的 后 缀 是,经过编译后生成文 件 的 后 缀 是,经过链接 后 生 成 文 件 的 后 缀 是。4.C 语 言 的 关 键 字 都 用 大 写 或 小 写 。5.一个函数由两部分组成,

21、它们是、。6.函 数 体 一 般 包 括、。7.C 语言是通过 来进行输入和输出的。8.以 下 程 序 的 执 行 结 果。#include“stdio.hmain()short i=-l,j=l;printfi(z,dec:%d,oct:%o,hex:%x,unsigned:%unz,i,i,ij);printf(加c:%d,oct:%o,hex:%x,unsigned:%un,j,j,j,j);)9.以下程序的执行结果是 o#include stdio.hmain()char s=b;printfi(zzdec:%d,oct:%o,hex:%x,ASCII:%cnZA,s,s,s,s);1

22、0.以下程序的执行结果是 o (注:U代表空格)#include stdio.hmain()float pi=3.1415927;printf(f,%.4f,%4.3f,%10.3f,pi,pi,pi,pi);printf(,n%e,%.4e,%4.3e,%10.3e/z,pi,pi,pi,pi);)11.以下程序的执行结果是:。#include“stdio.hmain()char c=c+5;printfif c=%cn,z,c);)12.以下程序输入1口2 口 3 后 的 执 行 结 果 是。(注:口代表空格)#include stdio.hmain()int ij;char k;scar

23、ify%d%c%d ,&i,&k,&j);printf(zzi=%d,k=%c,j=%dnz,i,k,j);13.有以下程序,若输入9876543210后的执行结果是;若输入为:98 u 76 u 543210后 的 执 行 结 果 是;若输入为:987654 u 3210后的执行结果为:。(注:u代表空格)#include stdio.hmain()int xl,x2;char yl,y2;scanf(2d%3d%3c%c,&xl,&x2,&yl,&y2);printf(,z x l=%d,x2=%d,y 1=%c,y2=%cn ,x,y);)14.若x和y均为int型变量,则以下语句的功能

24、是 ox+=y;y=x-y;x-=y;15.有-输入函数scanf(d,k);则不能使float类型变量k得 到 正 确 数 值 的 原 因 是:。16.有如下程序段,输入数据:12345ffl678后,u的 值 是【程,v的 值 是【程。in t u;flo at v;scanf(3d%f”,&u,&v);1.3 答案及部分解析选择题答案1.B2.B3.A4.B5.B6.D7.B8.D9.B10.C11.A12.C13.C14.B15.C16.A17.A18.C19.C20.A21.C22.C23.A24.B25.A26.D27.A28.A29.D30.B31.C32.C33.B34.B35

25、.C36.C37.C38.D39.D40.C41.D42.A43.B44.D45.D46.A47.B48.D49.B50.A51.D52.D53.A54.D55.D14.解析:C语言规定标识符只能由字母、数字和下划线三种字符组成,且第-一个字符必须为字母或下划线。而且不能与C语言规定的关键字同名。关键字如:auto,break,case,char,const,continue,default,do,double,else,entry,extern,for,float,goto,if,int,int,long,register,return,short,signed,sizeof,static,

26、struct,unsigned,while,switch,typedef,void,volatile,unior这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。15.解析:用指数形式表示一个实型常数时,E或e之前必须有数字,且E后面指数必须为整数。16.解 析:H 01为转义字符,相对应一个ASCII码字符。(101)8=(65)10=A.17.解 析:转 义 字 符 的 特 征 是 以 开 头,其后跟一些字符,如1I,1,,,”,也,等代表一些特殊的含义,而 后如跟数字,可以为八进制或者十六进制,将其转换为对应的ASCH码值,

27、就可以得出对应的字符。后跟八进制的写法:0n n,或者n n,表示“0”或 者“”后只能跟1或 3 位 07 之间的数字;“”后跟十六进制的写法:x n n,或者n n,表 示“x”或 者“”后只能跟1 或 2 位 09 及 af(A-F)之间的字符。选项B 的错误在于8 不是八进制;而选项C 的错误在于没有“V;选项D 的错误在于超长(多了一位)。2 1.解析:B 的错误在于赋值语句的左侧只能为一个简单变量,如:n=3*(n=18);C的错误在于运算符只能适用于整型数据,D 的错误在于作类型转换时,应将类型加上括号,即为:y=(float)m3 1.解析:逗号表达式的最终结果为最右端的表达式

28、(即x+y)的值,其运算顺序是从左自右的。第三个表达式y+,其隐含有两步操作:先取y 的原值,再执行产y+1运算;而本题中,虽然没有将y 赋给某个变量(取其原值),但还是一定会执行加运算的。因而,经过第三个表达式,y 已经自加为6,故 x+y的值为8,相对应得表达式最终结果为8。若本题改为:(x=2,y=5,z=y+,x+z),则其结果应为7。二.填空题答案1.A 案:,文 字 母、数字、一些有特定含义的标点符号2.答案:顺序结构、选择结构、循环结构3.答案:C,OBJ,EXE4.答案:小写5.答案:函数说明部分和函数体6.答案:变量定义部分和执行部分7.答案:输入和输出函数8.答案:dec:

29、-l,oct:l77777,hex:flfff,unsigned:65535dec:1,oct:1 ,hex:1,unsigned:19.答案:dec:98,oct:142,hcx:62,ASCII:b10.答案:3.141593,3.1416,3.142,u u u u u 3.1423.141593e+00,3.1416e+00,3.142e+00,u u3.142e+00(注:由于c编译系统不同,我们上机使用的机器,其第二个printf语句实际结果为:3.14159e+00,3.142e+00,3.14e+00,u u 3.14e+00,即:小数点后取 5 位。)11.答案:c=h12.

30、答案:i=l,k=t_ij=213.答案:第一种情况的执行结果:xl=98,x2=765,yl=4,y2=l第二种情况的执行结果:xl=98,x2=76,yl=u,y2=3第三种情况的执行结果:xl=98,x2=765,yl=4,y2=214.答案:交换x 和 y 的值15.答案:(1)格式符应为:f;(2)变量前边未加取地址符&,即应为scanf(%f,&k);16.答案:1 123 2 45.000000第二部分选择结构 10第二部分选择结构2.1 选择题1.已有定义:intx=3,y=4,z=5;则表达式!(x+y)+z-l&y+z/2 的值是()。A.6 B.0 C.2 D.12.设

31、a=5,b=6,c=7,d=8,m=2,n=2,则执行(m=ab)&(n=cd)后 n 的 值 为()A.1 B.2 C.3 D.43.设 x、y 和 z 都是int类型变量,且 x=3,y=4,z=5,则下面的表达式中,值为0 的表达式为()o4.A.&y C.x|y+z&y-z为了避免嵌套的if-else语句的二义性,B.x=yD.!(xy)&!z|l)C 语言规定else总 是 与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if5.逻辑运算符两侧运算对象的数据类型()。A.只能是0 或 1B.只能是0 或非0 正数C.只能是

32、整型或字符型数据D.可以是任何类型的数据6.以下关于运算符优先顺序的描述中正确的是()。A.关系运算符 算术运算符 赋值运算符 逻辑与运算符B.逻辑与运算符 关系运算符 算术运算符 赋值运算符C.赋值运算符 逻辑与运算符 关系运算符 算术运算符D.算术运算符 关系运算符 赋值运算符 逻辑与运算符7.下列运算符中优先级最高的是()。A.B.&C.+D.!=8.选择出合法的if语 句(设 intx,a,b,c;)()。A.if(a=b)c+;B.if(a=vb)C+;C.if(ab)c+;D.if(a=b)c+;9.能正确表示“当 x 的取值在-58,-40 和 40,58 范围内为真,否则为假”

33、的表达式是()。A.(x=-58)&(x=40)&(x=-58)|(x=40)|(x=-58)&(x=40)&(x=-58)|(x=40)|(x=58)1 0.判断char型变量s 是否为小写字母的正确表达式是()。第二部分选择结构 11 11.12.13.A.r az=s=a)&(s=af)&(s=s)若希望当X的值为奇数时,表达式的值为“真”,X的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。A.x%2=l B.!(x%2=0)C.!(x%2)D.x%2已知 x=45,y=a,z=0;则表达式(x=z&y v z,|!y)的值是 O。A.0 B.语法错C.1 D.“假”

34、指出下列程序段所表示的逻辑关系是()。if(ab)if(c=d)x=10;elsex=-10;10a 。且c=dA.x=b月.c 工d 10 a b 且c=dB.x=b1 0 a b 且c=dC.x=l1-10 a b.c d10a b 月.c=D.x=-1 0c手d-114.有一函数:y=01x 0A.if(x0)y=l;else if(x=0)y=0;else y=-1;B.y=0;if(x0)y=l;else if(x=0)if(x0)y=l;else y=-1;D.if(x=0)if(x0)y=l;else y=0;else y=-1 1 5.执行以下语%J后,y 的值为()。第二部分

35、选择结构 12int x,y,z;x=y=z=O;+x|+y&+z;A.0 B.1C.2D.不确定值1 6.已知inta=l,b=2,c=3;以下语句执行后a,b,c的值是()。if(ab)c=a;a=b;b=c;A.a=l,b=2,c=3C.a=2,b=3,c=l17.请阅读以下程序:该 程序()。#include stdio.hmain()int x=-10,y=5,z=0;if(x=y+z)printf(*n );else printfi$n);A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出*D.输出$18.以下程序的运行结果是()。#include stdio.hmai

36、n()int a=l;if(a+)prin氓dn,a);else printf(%dn,a-);A.0 B.1B.a=2,b=3,c=3D.a=2,b=3,c=2C.2 D.319.当 a=l,b=2,c=4,d=3时,执行完下面一段程序后x 的 值 是()。if(ab)if(cd)x=l;elseif(ac)if(bd)x=2;else x=3;else x=4;else x=5;A.1 B.2 C.3 D.420.执行以下程序段后,变量x,y,z的值分别为()。int a=l,b=0,x,y,z;x=(a=b+)?a:+b;y=a-H-;z=b;A x=0,y=0,z=0 B.x=-l,y

37、=-1,z=1C.x=0,y=l,z=0 D.x=-l,y=2,z=121.若 a、b、c、d、w 均为int类型变量,则执行下面语句后的w 值 是()。a=l;b=2;c=3;d=4;第二部分选择结构 13w=(ab)?a:b;w=(wc)?w:c;w=(wb?ac?a:c:b);A.5 B.4 C.6 D.不确定23.若 a、b、c l、c2 x、y 均为整型变量,正确的switch语 句 是()。A.switch(a+b);B.switch a case 1:y=a+b;break;case cl:y=a-b;break;case 0:y=a-b;case c2:x=a*d;break;

38、break;default:x=a+b;)C.switch(a*a+b*b)D.switch(a-b)case 3:default:y=a*b;break;case 1:y=a+b;break;case 3:x=a+b;break;case 3:y=b-a;break;case 10:case 11:y=a-b;break;24.i)执行下列程序,输入为3 的数出结果是()。#include stdio.hmain()int k;scanf(d,&k);switch(k)case 1:printR%dn,k+);case 2:printR dn,k+);case 3:printH dn,k+)

39、;case 4:printf(%dn,k+);break;default:printfCFuinNn);A.3 B.4 C.3 D.45 425.假定等级和分数有以下对应关系:等级:A 分数:85100等级:B 分数:6084等级:C 分数:6 0 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是()。A.switch(grade)case A:printfif 85-100nZ A);第二部分选择结构 14case z Bz:printf(z,60-84n);case Cz:printf(,z60nzz);default:printf(fZgrade is error!nz

40、,);)B.switch(grade)case f Af:printf(85-100n);break;case r Bz:printf(,z60-84n);case f Cf:printfi(z,60n,z);default:printfif grade is error!n,A);)C.switch(grade)case z Az:printf(z,85-100n);break;case Bz:printf(60-84n);break;case r Cr:printv60n);default:printf(,grade is error!n);D.switch(grade)case r Cf

41、:printf(z/60nz,);break;case Bz:printf(z,60-84n);break;default:p rin tf grade is error!n);break;case z Az:printf(85-100n);26.有如下程序,写出该执行结果()。/include stdio.hmain()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;print%fn,y);A.0.000000 B.0.25000027.以下程序的运行结果是()o#include stdio.hmain()int a=

42、2,b=-l,c=2;if(ab)if(b50)printf(d,a);if(a40)printf(d,a);if(a30)printf(d,a);)2.设 intx=9,y=8;表达式x=y+l的结果是。3.定义 int x,y;执行 y=(x=l,+x,x+2);后,y 的值是。4.定义 int x=10,y,z;执行 y=z=x;x=y=z;后,x 的结果是5.设 int a=l,b=2,c,d,e;执行c=(-a+)+(+b);d=(b-)+(+a)-a;e=(a/(+b)-(a/(-a);请问a,b,c,d,e的结果是:。6.设 int a=2,b=3,c,d,e,f;执行c=(a+

43、=b);d=(a=-H-b);e=(a!=b);f=(-H-ab);请问a,b,c,d,e,f的结果是:。7.以下程序的运行结果是 o#include“stdio.hmain()(int a,b,c,s,w,t;s=w=t=0;a=-1;b=3;c=3;if(c0)s=a+b;if(a0)if(c0)w=a-b;else t=c;printR d%d%d,s,w,t);第二部分选择结构 17 8.以 下 程 序 的 运 行 结 果 是,#include stdio.hmain()int a,b,c,d,e;a=c=1;b=20;d=100;if(!a)d=d+;else if(!b)if(d)

44、d=d;else d=d-;printf(dnn,d);9.以下程序的运行结果是#include stdio.hmain()(int a,b=250,c;if(c=b)0)a=4;else if(b=0)a=5;else a=6;printf(t%dt%dn ,a,c);if(c=(b=0)a=5;printf(t%dt%dn ,a,c);if(a=c=b)a=4;printR t%dt%dn ,a,c);)10.下面程序根据以下函数关系,对输入的每个X值,计 算 出 y 值。请 在 内填空。Xy2x=10 x(x+2)-lx=21/xX=-1x-1#include“stdio.hmain()

45、int x,y;scanf(d,&x);if(1 )y=x*(x+2);else if(2)y=l/x;else if(x=,af&chc)【2】;printf(min=%dn,z,min);)16.以下程序实现这样的功能:商店卖西瓜,10斤以上的每斤0.15元,8 斤以上的每斤0.3元,6 斤以上的每斤0.4元,4 斤以上的每斤0.6元,4 斤以下的每斤0.8元,从键盘输入西瓜的重量和顾客所付钱数,则输出应付款和应找钱数。请 在【】内填入正确内容。#include stdio.hmain()float weight,money,rate;printR the paid money of th

46、e client is:);第二部分选择结构-20scanf(%f ,&money);printfthe weight of the watennelon is:);scanf(f ,&weight);if(11)rate=0.15;else if(weight8)rate=0.3;else if(weight6)2 ;else if(weight4)rate=0.6;3rate=0.8;printsthe account payable of the watermelon is weight*rate);printsz,the change for client is%fnzinoney-w

47、eight*rate);17.以 下 程 序 段 的 运 行 结 果 是#include stdio.hmain()(char chl=,a,ch2=A;switch(ch 1)case a:switch(ch2)case A,:printf(good!n);break;case z Bz:printf(,Abad!nzz);break;)case bf:printf(,zjoken,z);)18.根据以下函数关系,对输入的每个x 值,计算出相应的y 值。请 在【】内填入正确内容。Xyx000=x10X10=x201020=xb的值为假时,便已经确定整个表达式的值为假,所以不必再继续判断第二个

48、表达式的逻辑值。由于没有执行第二个表达式n=cd,所 以 n 的值switch(ch)case a:从此处向下执行case hz:因为没有break语句A default:vl+;J v l=v l+1=1case O:v2+;.|v 2 =v 2 +1=1第二 部 分 选择结构当继续输入h 时,switch语句的执行情况为:23从此处向卜 执行switch(ch)case a:case hz:default:vl-H-;case O:v2-H-;因为没有break语句v l =v l +1 =2v 2 =v 2 +1 =2重复上述过程,输入5 个有效字符,则 v l 和 v2执行5 次自加操

49、作,所以:vl=5,v2=5二.填空题答案1.答 案:585858解析:虽然三个if语句按照嵌套方式书写,但是程序仍然是依顺序运行的,会分别对每一个 if 的条件表达式进行判断,若其条件表达式为真,就执行其后的语句,否则,不执行。2.答案:1解析:注意该表达式是关系表达式的双等号,所以其结果只能为1或 0。3.答案:44.答案:15.答案:在 Turbo C 编译系统下,结果为a=2,b=3,c=2,d=3,e=-l;若在Visual C+下,结果为 a=2,b=3,c=2,d=3,e=0。解析:在Turbo C 编译系统下,解题过程如下:第一个赋值 语 句“c=(a+)+(+b);可分解为如

50、下的几个语句:6=。+1c =-a+Z?=b=2 +l =3,c =-l +3 =2,=l +l =2。=。+1此时 a=2,b=3,c=2o第二个赋值语句“d=(b)+(+a)a;可分解为如卜 的几个语句:=+1d b-aa =a=2 +l =3,d =3 +3 3 =3,/?=3 1 =2b=b-此时 a=3,b=2,c=2,d=3o第三个赋值语句“e=(a/(+b)(a/(-a);”中山于自加、自减运算符的优先级高于其它运算符,故先运算+和-,令 a=2,b=3,然后该等式中a 的值都取2 参与运算,故该等式等价与:e=2/32/2;”,因此e 的值等于0。此时 a=2,b=3,c=2,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁