C语言-第4章 选择结构程序设计.doc

上传人:飞****2 文档编号:52765382 上传时间:2022-10-23 格式:DOC 页数:10 大小:61KB
返回 下载 相关 举报
C语言-第4章 选择结构程序设计.doc_第1页
第1页 / 共10页
C语言-第4章 选择结构程序设计.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《C语言-第4章 选择结构程序设计.doc》由会员分享,可在线阅读,更多相关《C语言-第4章 选择结构程序设计.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第4章 选择结构程序设计注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。弄明白这两个知识点,就能够以不变应万变了。一、单项选择题1. 在C语言中,能代表逻辑值真的是 。 A) true B)大于0的数 C)非0整数 D)非0的数2. 表示关系x=y=z的c语言表达式为 。A) (x=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z) D) (x=y)&(y=10 or a=0|a=10 &a=10a=04、判断char型变量c1是否为大写字母的表达式为 。 A)A=c1=A) & (c1=Z) C)(A=c1) D)(c1=A)& (c1=Z)

2、5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为 。 A) A=c=A& c=Z C)A=c=A & c0&b&c0”的值是 。A)1 B)0 C)-1 D)出错7. 设a为整型变量,则不能正确表达数学关系10a15的C语言表达式是 。A)10a10&a15 D)!(a=15)8. 为表示逻辑表达式79X79 )&( X79 )!=( X90 ) C) 79X79 )|( X0) y+; else y+=y;A)20 B)11 C)9 D)0解析:此类题目可以自行编写下述测试程序进行调试验证。#include void main().printf(y

3、=%dn,y); 11. 假定所有变量均已正确定义,则下列程序段运行后x的值是 。a=b=c=0; x=35; if(!a) x-; else if(b); if(c) x=3; else x=4;A)34 B)4 C)35 D)312. C语言对嵌套if语句的规定是:else语句总是与 配对。A) 其之前最近的if B) 第一个ifC) 缩进位置相同的if D) 其之前最近的且尚未配对的if13. 在C语言语句中,用来决定分支流程的表达式是 。A)可用任意表达式 B)只能用逻辑表达式或关系表达式C)只能用逻辑表达式 D)只能用关系表达式14. C语言中用 表示逻辑“真”。A) true B)

4、 整数值1 C)非零整数值 D) false15. 若k是int型变量,且有下面的程序段, 输出结果是 。int k; k= -3;if (k=0) printf(“#”) ;else printf(“&”);A)# B)& C)#& D)有语法错误,无输出结果16. main() int x=0,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(“a=%d,b=%dn”,a,b);该程序的输出结果是 。A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=217. 以下程序的输出结果是:( )

5、main() int x=-10,y= 1,z=1; if(xy) if(yb)a=b ;b=c ;c=a ;printf(a=%2d b=%2d c=%2dn,a,b,c) ;A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=5019. 若int i=10; 执行下列程序后,变量i的正确结果是 。 switch ( i ) case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; A)13 B)12 C)11 D)10二、阅读程序,写出运行结果

6、1.#include main() int a=1,b=3,c=5;if (c=a+b) printf(yesn);else printf(non);运行结果为:no2. #include main() int a=12, b= -34, c=56, min;min=a; if(minb) min=b; if(minc) min=c;printf(min=%d, min);运行结果为:min=-343.#include main() int x=2,y= -1,z=5; if(xy)if(y0) z=0;else z=z+1; printf(“%dn”,z); 运行结果为: 54. #incl

7、ude main()int a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(a=%d b=%d c=%dn,a,b,c);运行结果为:a=10 b=30 c=105. #include main() float a,b,c,t;a=3;b=7;c=1;if(ab) t=a;a=b;b=t;if(ac) t=a;a=c;c=t;if(bc) t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);运行结果为:1.00,3.00,7.006. #include main()int a=2;float num=3.12,x;if(num

8、4) x=2*num*a;printf(result is %fn,x);运行结果为:result is 12.7.#includemain( ) char c=A; if (0=c ) &(c=9) printf(“YES”);elseprintf(“NO”);运行结果为:NO8#include main ( ) float c=3.0 , d=4.0;if ( cd ) c=5.0;else if ( c=d ) c=6.0;else c=7.0; printf ( “%.1fn”,c ) ;运行结果为:7.09. #include main() int a=0,b=1,c=0,d=20;

9、if(a) d=d-10;else if(!b)if(!c) d=15;else d=25;printf(d=%dn,d);运行结果为:d=2010.#include main() int a=2,b=3,c=1;if (ab)if (ac)printf (“%dn”,a);else printf (“%dn”,c);printf (“over!n”); 运行结果为: over!11.#include main()int m;scanf(%d, &m);if (m = 0) if (m%2 = 0)printf(%d is a positive evenn, m);elseprintf(%d

10、is a positive oddn, m); else if (m % 2 = 0) printf(%d is a negative evenn, m);else printf(%d is a negative oddn, m);若键入9,则运行结果为:-9 is a negative odd12.#include main( ) char ch; ch=getchar( ); switch(ch) case A : printf(“%c”,A); case B : printf(“%c”,B); break; default: printf(“%sn”,”other”); 当从键盘输入字母

11、A时,运行结果为:AB13. #include main( ) int a=1,b=0; scanf(“%d”,&a);switch(a) case 1: b=1;break;case 2: b=2;break;default : b=10;printf(%d, b);若键盘输入5,运行结果为:1014.#include main ( ) int i=0,j=0,k=6; if(+i0)|(+j0) k+; printf(%d,%d,%dn,i,j,k);运行的结果为: 1,0,7三、编程题1、输入两个数,输出较大的数。#includeint main() int a,b; printf(“P

12、lease input two numbers:”); scanf(“%d%d”,&a,&b); if(ab)printf(“%dn”,a); elseprintf(“%dn”,b); return 0; 2、输入一个整数,判断其奇偶性。#include void main()int m; scanf(%d, &m); if (m%2 = 0)printf(%d is a evenn, m); elseprintf(%d is a oddn, m); 3、输入一个字符,如果是大写英文字母,将其转换为小写字母并输出,如果不是,则原样输出。 #include int main ( ) char c

13、1; c1=getchar(); if(c1=A&c1=Z) c1=c1+32; putchar(c1); return 0; 4、输入三个数,按照从小到大的顺序输出。 #include int main() float a,b,c,t;scanf(“%f%f%f”,&a,&b,&c);if(ab) t=a;a=b;b=t;if(ac) t=a;a=c;c=t;if(bc) t=b;b=c;c=t;printf(%f,% f,%f,a,b,c);5、函数y=f(x)表示如下,编程实现输入一个x值,输出y值。 2x+1 (x0) #includevoid main() int x,y; scan

14、f(“%d”,&x); if(x0)y=2*x-1; if(x=0) y=0; printf(“%d”,y); 6、编一程序每个月根据每个月上网时间计算上网费用,计算方法如下: 要求当输入每月上网小时数,显示该月总的上网费用。#includevoid main() int hour; float fee; printf(“please input hour:n”); scanf(“%d”,&hour); if(hour=10) fee=30; else if(hour=50) fee=3*hour; else fee=hour*2.5; printf(“The total fee is %f”

15、,fee);7、神州行用户无月租费,话费每分钟0.6元,全球通用户月租费50元,话费每分钟0. 4元。输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。 #includevoid main() float t,szx,qqt; printf(“请输入您的通话时间:”); scanf(“%f,”,&t); szx= 0.6*t; qqt=50+0.4*t; if (szxqqt) printf(“建议使用全球通”); else printf(“建议使用神州行);8、运输公司对用户计算运输费用。路程(s km)越远,每吨千米运费越低。标准如下: s 250 没有折扣 250s 500

16、 2折扣 500s 1000 5折扣 1000s 2000 8折扣 2000s 3000 10折扣 3000s 15折扣 #include int main() double s,w,p,cost,t; /s、w、p、t、cost分别表示路程、重量、单价、折扣、费用 printf(please enter price,weight,distance:); scanf(%lf%lf%lf,&p,&w,&s); if(s0|w0|p=3000) t=0.15; else if(s=2000)t=0.10; else if(s=2000)t=0.10; else if(s=1000)t=0.08;e

17、lse if(s=500)t=0.05;else if(s=250)t=0.08; else t=0; cost=p*w*s*(1-t); printf(“cost=%10.2fn”,cost); return 0; 9、要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为7084分,C等为6069分 ,D等为 60分以下 。成绩的等级由键盘输入。#include int main() char grade; scanf(%c,&grade); printf(Your score:); switch(grade) case A: printf(85100n);break; case B: printf(7084n);break; case C: printf(6069n);break; case D: printf(60n);break; default: printf(enter data error!n); return 0;

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com