C语言教材习题答案 第4章学习资料_第1页
C语言教材习题答案 第4章学习资料_第2页
C语言教材习题答案 第4章学习资料_第3页
C语言教材习题答案 第4章学习资料_第4页
C语言教材习题答案 第4章学习资料_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

厦门大学本科生公共课《C程序设计基础》教材习题答案第四章选择结构主讲教师:林子雨E-mail:ziyulin@第1页/共7页选择题运行以下程序,如果从键盘上输入5,则输出结果是C5voidmain(){ intx;scanf("%d",&x);iIf(x<=5)printf("%d",x);elseprintf("%d",x++);}若执行以下程序时从键盘上输入9,则输出结果是C9main(){intn;scanf("%d",&n);if(++n<10)printf("%d\n",n);elseprintf("%d\n",--n);}若a、b、c1、c2、x、y均是整形变量,正确的switch语句是Dswitch(a-b){default:y=a*b;break;case3:case10:y=a-b;break;}若变量c为char类型,能正确判断出c为小写字母的表达式是D(c>='a')&&(c<='z')有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是Aa=2b=1有如下程序:main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是C0.500000若输入B,以下程序的运行结果为C>=60<60errormain(){ chargrade;scanf("%c",&grade);switch(grade){case'A':printf(">=85");case'B':case'C':print(">=60");case'D':printf("<=60");default:printf("error");}}}以下不正确的语句为Cif(x=y)&&(x!=0)x+=y;以下程序输出结果为B2main(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}以下程序输出结果为C、10main(){inta=-1,b=1,k;if((++a<0)&&(b--<=0)) printf(“%d%d\n”,a,b);else printf(“%d%d\n”,b,a);}当a=1,b=3,c=5时,执行下面一段程序后,x的值为B2if(a<b) if(c<d)x=1; elseif(a<c) if(b<d)x=2; elsex=3; elsex=6; elsex=7;有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为D1有如下程序段intscore=5;switch(score){ case5:printf("verygood!"); case4:printf("Good!"); default:printf("dataerror!");}程序输出结果为DVerygood!Good!Dataerror!有如下程序main(){ inta=10,b=4,c=3; if(a<b)a=b; if(a<c)a=c; printf("%d,%d,%d\n",a,b,c);}运行后的输出结果是D10,4,3下列关于switch语句和break语句的说法中,只有B在switch语句中可以根据需要使用或不使用break语句。是正确的。下列关于if语句的描述中,错误的是Cif语句中只能有不超过5个的elseif子句填空题以下程序实现将两个数从大到小输出。main(){ floata,b,t; scanf("%f%f",&a,&b); if(a<b) { t=a; a=b; b=t; } printf("%5.2f,%5.2f\n",a,b);}当a=1,b=2,c=3时执行下面语句后,a,b,c的值分别为322If(a>c)b=c;a=c;c=b;执行以下程序,当输入3时,输出结果是33=33intmain(){ intn; printf("Enteraninteger:"); scanf("%d",&n); if(n=33)printf("%d=33\n",n); elseprintf("%d!=33\n",n);}编程题输入一个整数,判别它是奇数还是偶数。#include<stdio.h>voidmain(){ intn; printf(“Pleaseenteroneinteger:”); scanf("%d",&n); if(n%2)printf("odd\n"); elseprintf("even\n");}从键盘输入一个字符,如果输入的是大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。#include<stdio.h>voidmain(){ charc; c=getchar(); if(c>='A'&&c<='Z')c-='A'-'a'; putchar(c);}从键盘输入一个考试分数,如果输入的分数是60分以下输出“不及格”,90分以上输出“优秀”,否则输出“合格”。#include<stdio.h>voidmain(){ intn;printf(“Pleaseenteroneinteger:”); scanf("%d",&n); if(n<60)printf("不及格\n"); elseif(n<90)printf("合格\n"); elseprintf("优秀\n");}从键盘输入一个考试分数,如果不在0~100之间,显示出错信息:“数据错误”,如果输入的分数是60分以下输出“不及格”,如果在60~69之间输出“及格”,如果在70~79之间输出“中”,如果在80~89之间,输出“良”,如果在90分以上输出“优”。(分别用if语句和switch语句)#include<stdio.h>voidmain(){ intn; printf(“Pleaseenteroneinteger:”);scanf("%d",&n); if(n<0&&n>100)printf("数据错误\n"); elseif(n<60)printf("不及格\n"); elseif(n<70)printf("及格\n"); elseif(n<80)printf("中\n"); elseif(n<90)printf("良\n"); elseprintf("优\n");}#include<stdio.h>#include<math.h>voidmain(){ intn; scanf("%d",&n); switch(n/abs(n)) { case-1:default:printf("数据错误\n");return; } switch(n/10) { case10: case9:printf("优\n");break; case8:printf("良\n");break; case7:printf("中\n");break; case6:printf("及格\n");break; case5: case4: case3: case2: case1: case0:printf("不及格\n");break; default:printf("数据错误\n"); }}求分段函数y=f(x)的值。f(x)=2x^3-1x<=-1x^21<x<=0;sqrt(x)0<x<=13x+2x>1#include<stdio.h>#include<math.h>voidmain(){ doublex,y; printf(“Pleaseenterx:”); scanf("%lf",&x); if(x<=-1)y=2*x*x*x-1; elseif(x<=0)y=x*x; elseif(x<=1)y=sqrt(x); elsey=3*x+2; printf("%lf",y);}输入某年某月某日,计算这一天是该年的第几天?#include<stdio.h>main(){ intday=0,y,m,d,i,ai,a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}}; printf("输入年月日:"); scanf("%d%d%d",&y,&m,&d); if(y%400==0||y%4==0&&y%100!=0) ai=1; else ai=0; if(m>12||d>a[ai][m-1]) { printf("输入错误!"); return; } for(i=0;i<m-1;i++) { day+=a[ai][i]; } day+=d; printf("这是该年的弟%d天\n",day);}输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(要求分别用if…elseif和switch语句编写)。#include<stdio.h>voidmain(){ charc; c=getchar(); switch(c) { case'':printf("空格");break; case'\n':printf("回车");break; case'0': case'1': case'2': case'3': case'4': case'5': case'6': case'7': case'8': case'9':printf("数字");break; default:print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论