c语言if语句的练习测试题参考答案

合集下载

c语言if语句的练习题答案

c语言if语句的练习题答案

1、编写程序输入a和b,求a和b的余数和商。

#include<stdio.h>void main(){int a,b;scanf("%d%d",&a,&b);printf("商为%d 余数为%d",a/b,a%b);}2、输入一个整型数据,分别求出各位数字。

如:469,则个位数是9,十位数是6,百位数是4。

#include<stdio.h>void main(){ int a,m=0;int t,t1,t2,t3,t4;scanf("%d",&a);if(a<0||a>99999)printf("输入数据超出范围\n");else if (a>=0&&a<10){ m=1;printf("该数是%d位数,其个位数为%d\n",m,a);}else if(a>=10&&a<100){m=2;t=a%10;a=a/10;printf("该数是%d位数,其个位数为%d 十位数为%d\n",m,t,a);}else if(a>=100&&a<1000){m=3;t=a%10;t1=(a/10)%10;t2=a/100;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d\n",m,t,t1,t2);}else if(a>=1000&&a<10000){m=4;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d\n",m,t,t1,t2,t3);}else if(a>=10000&&a<100000){m=5;t=a%10;t1=a/10%10;t2=a/100%10;t3=a/1000%10;t4=a/10000;printf("该数是%d位数,其个位数为%d 十位数为%d 百位数为%d 千位数字为%d 万位数字为%d\n",m,t,t1,t2,t3,t4);}}以上写法太繁琐了,如果学习了循环,则简单很多。

C语言第6章 if语句的应用

C语言第6章 if语句的应用
所有的负数相加,最后输出所有的正数和、负数 和。
#include<stdio.h> void main( ) { int nsum=0,n=0,psum=0,p=0; int i,x; …
for(i=1;i<=10;i++) { printf("请输入10个整数中的第%d个数:",i); scanf("%d",&x); if(x>=0) { psum+=x; p++; } else{ nsum+=x; n++; } 续行符:\ } printf("\n有%d个正数,和为%d\n \ 有%d个负数 和为%d\n",p,psum,n,nsum 最大值
#include <stdio.h> void main( ) { int a, b, c, max; /* max中放最大值 */ printf("input a, b, c: "); scanf("%d%d%d", &a, &b, &c); input a, b, c: 2 10 6
while(x) { if(x>0) printf("输入的整数%d 是正数.\n",x); else printf("输入的整数%d 是负数.\n",x);
printf("\n 请输入一整数(输入0程序退出):"); scanf("%d",&x); } return 0;
}
例6.4 从键盘输入10个整数,把所有的正数相加,
ch6_6_5.c
else if(grade>=60) printf("你的成绩为及格!\n"); else printf("你的成绩为不及格!\n");

第5章if语句练习题

第5章if语句练习题

第五章if语句练习题1.以下不正确的if语句形式是______A)if(x>y&&x!=y);B)if(x= =y)x+=y;C)if(x!=y)scanf(“%d”,&x),else scanf(“%d,&y);D)if(x<y){x++;y++;}2.以下运算符中优先级最低的是(1),优先级最高的是(2)A) ?: B)&& C)+ D)! =3.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是_____ if(x>y)z=x;x=y;y=z;A)x=10,y=20,z=30 B)x=20,y=30,z=30C)x=20,y=30,z=10 D)x=20,y=30,z=204.以下if语句语法正确的是_____A)if(x>0)printf(“%f”,x)else printf(“%f”,-x);B)if(x>0){x=x+y;printf(“%f’,x);}else printf(“%f”,-x);C)if(x>0) {x=x+y;printf(“%f”,x);}else printf(“%f”,-x);D)if(x>0){x=x+y;printf(“%f,x);}else printf(“%f”,-x);5.请阅读以下程序:main( ){int a=5,b=0,c=0;if(a=b+c)printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序______A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出* * * D)输出$ $ $6.以下程序的运行结果是______main( ){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m--);}A) 4 B) 5 C) 6 D) 77.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______ if(a<b)if(c<d) x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A) 1 b) 2 c) 3 d) 68. 有一个函数关系见下表:下面程序段中能正确表示上面关系的是( ) A) y=x+1;if(x>=0)if(x==0)y=x;else y=x-1;b) y=x-1;if(x!=0)if(x>0)y=x+1; else y=x;c) if(x<=0)if(x<0)y=x-1;else y=x;else y=x+1;d)y=x;if(x<=0)if(x<0)y=x-1;else y=x+1;9.以下程序的输出结果是______main( ){int a=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(!ok1)a=1;elseif(ok2) a=10;a=-1;printf(“%d\n”,a);}A 1B 0C -1D 值不确定10.以下程序输出结果是_______main( ){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);A.3B.2C.1D.011.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与___配对.A.缩排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if12.以下不正确的语句为______A.if(x>y);B.if(x=y)&&(x! =0) x+=y;C,if(x! =y)scanf(“%d”,&x);else scanf(“%d”,&y);D.if(x<y){x++;y++;}12.阅读以下程序#include<stdio.h>main( ){float a, b;scanf(“%f”,&a); if(a<0.0)b=0.0;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0)b=1.0/a;else b=10.0;printf(“%f\n”,b);}若运行时输入2.0<回车>,则上面程序的输出结果是_____A)0.000000 B)0.500000 C)1.000000 D)0.25000013.若运行时输入:16<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){int year;printf(“Input you year:”);scanf(“%d”,&year);if(year>=18)printf(“you$4.5yuan/xiaoshi”);else printf(“your$3.0yuan/xiaoshi”);}14.若运行时输入:2<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){char class;printf(“enter 1for 1stclass post or 2 for 2nd post”);scanf(“%c”,&class);if(class= =’1’) printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”);}15.若运行时输入:4.4<回车>,则以下程序的运行结果是( ) #include<stdio.h>main( ){float costprice,sellingprice;printf(“enter cost price $:”);scanf(“%f”,&costprice);if(costprice>=5){sellingprice=costprice+costprice*0.25;printf(“selling price(0.25)$%6.2f”,sellingprice);} else{sellingprice=costprice+costprice*0.30;printf(“selling price(0.30)$%6.2f”,sellingprice);}} 16.以下程序的运行结果是( )main( ){ if(2*2= =5<2*2= =4) printf(“T”);else printf(“F”);}17.请阅读以下程序:main( ) {int t,h,m;scanf(“%d”,&t);h=(t/100)%12;if(h= =0)h=12;printf(“%d:”,h);m=t%100;if(m<10)printf(“0”);printf(“%d”,m);if(t<1200||t= =2400)printf(“AM”);else printf(“PM”);}若运行时输入:1605<回车>时,程序的运行结果是( )18.以下程序实现:输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在( )内填入正确的内容.标志运算a 面积c 周长b 二者均计算#define pi 3.14159main( ){char m;float r,c,a;printf(“input mark a c or b&&r\n”);scanf(“%c%f”,&m,&r);if( 1 ){a=pi*r*r;printf(“area is %f”,a);}if( 2 ){c=2*pi*r;printf(“circle is %f”,c);}if( 3 ){a=pi*r*r;c=2*pi*r;printf(“area&&circle are%f%f”,a,c);}}19.若运行时输入:5999<回车>,则以下程序的运行结果(保留小数后一位)是( ) main( ){int x;float y;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&x<=10000)y=54+0.3*x;printf(“%6.1f”,y);}20.以下程序实现输出x,y,z三个数中的最大者.请在( )添入正确内容.main( ){int x=4,y=6,z=7; int ( 1 )if( 2 )u=x;else u=y;if( 3 )v=u;else v=z;printf(“v=%d”,v);}21.以下程序实现:输入三个整数,按从大到小的顺序进行输出.请在( )内填入正确内容main( ){int x,y,z,c;scanf(“%d%d%d”,&x,&y,&z);if( 1 ){c=y;y=z;z=c;}if( 2 ){c=x;x=z;z=c;}if( 3 ){c=x;x=y;y=c;}printf(“%d,%d,%d”,x,y,z);}22.以下程序对输入的两个整数,按从大到小顺序输出.请在( )内填正确内容.main ( ){int x,y,z;scanf(“%d,%d,”,&x,&y);if( 1 ){z=x;(2)}printf(“%d,%d”,x,y);}23.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在( )填入正确内容#include “stdio.h”main( ){char c;c=getchar( );if(c>=’a’&&c<=’u’)( 1 )else if(c>=’v’&&c<=’z’)( 2 )putchar(c);}24.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在( )填正确内容main ( ){char ch;scanf(“%c”,&ch);if( 1 )ch=ch+32;else if(ch>=’a’&&ch<=’z’)(2)printf(“%c”,ch);}25.以下程序的运行结果是( ) main( ){int a,b,c;int s,w,t;s=w=t=0;a=-1,b=3,c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(“%d%d%d”,s,w,t);} 26.以下程序的运行结果是( ) main( ){int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(! b)if(! c)x=15;else x=25;printf(“%d\n”,d);}27.以下程序的运行结果是( ) #include<stdio.h>main( ){int x,y=1,z;if(y!=0)x=5;printf(“\t%d\n”,x);if(y= =0)x=4;else x=5;printf(“\t%d\n”,x);x=1;if(y<0)if(y>0)x=4;else x=5;printf(“\t%d\n”,x);}28.以下程序的运行结果是( ) #include<stdio.h>main( ){int x,y=-2,z=0;if((z=y)<0)x=4; else if(y= =0)x=5;else x=6;printf(“\t%d\t%d\n”,x,z);if(z=(y= =0))x=5;x=4;printf(“\t%d\t%d\n”,x,z);if(x=z=y)x=4;printf(“\t%d\t%d\n”,x,z);}29.阅读下面程序:main ( ){int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果t=4,输入量a和b应满足的条件是( )30.请阅读下面程序:main( ){int s ,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果s=1,t=5,输入量a和b应满足条件是( )31.下面程序根据以下函数关系,对输入的每个x值,计算出y值,在( )填正确内容main( ){int x,y;scanf(“%d,&x);if(1)y=x*(x+2); else if(2)y=2*x;else if(x<=-1)y=x-1;else( 3 );if(y!=-1)printf(“%d”,y);else printf(“error”);}32.下面程序根据以下函数关系,对输入的每个x值,计算出相应的y值.在( ) 填正确内容#include “math.h”main( ){int x,a;float y;scanf(“%d%d”,&x,&a);if( 1 )y=0;else if( 2 )y=sqrt(a*a-x*x);else y=x;printf(“%f”,y);}33.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,在( )填正确内容#include “math.h”main( ){float a,b,c,t,disc,twoa,term1,term2;printf(“enter a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if( 1 )if( 2 )printf(“no answer due to input error\n”);else printf(“the single root is%f\n”,-c/b);else{disc=b*b-4*a*c;twoa=2*a;terml=-b/twoa;t=abs(disc);term2=sqrt(t)/twoa;if(3)printf(“complex root\n real part=%fimag part=%f\n”, terml,term2);else printf(“real roots\n rootl=%froot2=%f\n”,terml+term2,term1-term2);}} 34.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在( )填正确内容.#include“math.h”main( ){float a,b,c; float s,area;scanf(“%f %f %f”,&a,&b,&c);if( [1] ){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“%f”,area);if( [2] )printf(“等边三角形”);else if( [3] )printf(“等腰三角形”);else if((a*a+b*b= =c*c)| |(a*a+c*c= =b*b)| |(b*b+c*c= =a*a) )printf(“直角三角形”);else printf(“一般三角形”);}else printf(“不能组成三角形”);}35. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的资料:重量(千克) 收费标准(元/公斤)wei<=10 0.8010<wei<=20 0.7520<wei<=30 0.70请在程序的[ ]内填入正确的内容.main( ){float len,wei,hei,wid,mon,r;scanf(“%f %f %f %f”,&len,&wid,&hei,&wei);if(len>1| |wid>1| |hei>1| |wei>30)[ 1 ];else if(wei<10) r=0.8;else if(wei<=20) r=0.75;else if(wei<=30)[ 2 ];if(r= =-1)printf(“error\n”):else {[ 3 ];printf(“%f”,mon);} }36.以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容.main( ){int y,f;scanf(“%d”,&y);if(y%400= =0) f=1;else if( [1] ) f=1;else [2] ;if(f)printf(“%d is”,y);else printf(“%d is not”,y);printf(“a leap year\n”);}37.有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容main( ){int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a<b){t=a;a=b;b=t;}if ([1]){t=c;c=d;d=t;}if(a<c){t=a;a=c;c=t;}if([2]){t=b;b=c;c=t;}if(b<d){t=b;b=d;d=t;}if(c<d){t=c;c=d;d=t;}printf(“%d %d %d %d\n”,a,b,c,d);}38.以下程序的运行结果是__main( ){int a=2,b=3,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“%d\n”,c);}39.编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上数字,否则输出两数之和.40.试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no41.编程序:根据以下函数关系,对输入的每个x值,计算出相应的y值42.编程实现:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一(1)能同时被3,5,7整除(2)能被其中两个数整除(要指出那两个数)(3)能被其中一个数整除(指出那一个)(4)不能被3,5,7任一个整除1、C2、(1)A (2)C3、B4、C5、D6、C7、B8、C9、C 10、B 11、A 12、B 12、B13、your$3.0yuan/xiaoshi14、2nd class postage is 14p15、selling price(0.30)$ 5.72 (注意:5.72前有2个空格)16、F17、4:05PM18、(1) m=='a' (2) m=='c' (3) m=='b'19、3635.4。

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。

选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。

选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。

因此,正确答案是A、C。

2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。

选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。

因此,正确答案是B。

3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。

选项C的`&&`是逻辑与运算符。

选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。

因此,正确答案是C。

二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。

解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。

```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。

因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。

国家开放大学C语言程序设计章节测试参考答案

国家开放大学C语言程序设计章节测试参考答案

国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。

(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。

(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。

(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。

(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。

(√)3.C语言中使用的字符常量,其起止标记符是()。

a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。

a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。

a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。

a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。

a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。

a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。

a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。

a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。

a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。

C语言第7次作业

C语言第7次作业

C语⾔第7次作业单选题:1、若要求在if后⼀对圆括号中表⽰a不等于0的关系,则能正确表⽰这⼀关系的表达式为________。

A.a < > 0B.!aC.a=0D.a!=0学⽣答案: C参考答案: D2、若变量都已经说明,则以下程序段输出为( )a=10;b=50;c=30;if (a > b) a=b; b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);A.a=10 b=50 c=10B.a=10 b=30 c=10C.a=50 b=30 c=10D.a=50 b=30 c=50学⽣答案: C参考答案: B3、以下程序的输出结果是main(){ int a= -1,b=1;if((++a < 0)&& ! (b-- < =0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A.-1 1B.0 1C.1 0D.0 0学⽣答案: B参考答案: C{ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a < b) s=b;s=s*s;printf("%d\n",s);}A.14B.16C.18D.20学⽣答案: C参考答案: B5、下⾯的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf("****");else printf("####");}A.有语法错误不能过通过编译B.输出****C.可能通过编译,但是不能通过连接,因⽽不能运⾏D.输出####学⽣答案: C参考答案: D6、请读程序:main(){ float x,y;scanf("%f",&x);if(x < 0.0) y=0.0else if((x < 5.0)&&(x!=2.0))y=1.0/(x+2.0);else if( x < 10.0) y=1.0/x;}若运⾏时从键盘上输⼊2.0(表⽰回车),则上⾯程序的输出结果是A.0.000000B.0.250000C.0.500000D.1.000000学⽣答案: B参考答案: C7、执⾏下⾯语句后的输出为( )int i= -1;if (i < =0)printf("****\n")else printf("%%%%\n")A.****B.%%%%C.%%%%CD.有语法错,不能执⾏学⽣答案: B参考答案: D8、在执⾏以下程序时,为了使输出结果为t=4,则给a和b输⼊的值应满⾜的条件是main( ){ int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a < 0)s=s+1;if(a > b)t=s+1;else if(a= =b)t=5;else t=2*s;printf("t=%d\n",t);}A.0 > a > bB.a=0 < b参考答案: D9、下列语句正确的是( )A.if(a > b > c) temp=aB.if((a=b) > 0) temp=aC.int a=b=c=4D.int a;scanf(%d,a)学⽣答案: C参考答案: B10、与 y=(x > 0?1:x < 0?-1:0);的功能相同的if语句是A.if(x > 0) y=1; else if(x < 0) y=-1; else y=0;B.if(x) if(x > 0) y=1; else if(x < 0) y=-1; else y=0;C.y=-1 if(x) y=1; else if(x==0) y=0; else y=-1;D.y=0 if(x > -0) if(x > 0) y=1; else y=-1;学⽣答案: B参考答案: A11、有如下程序main0{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2学⽣答案: B参考答案: Aif(x < 0.0) y=0.0;else if(x < 10.0) y=1.0/x; else y=1.0;printf("%f\n",y);}该程序的输出结果是A.0.000000B.0.250000C.0.500000D.1.000000学⽣答案: C参考答案: C13、有如下程序main(){ int a=2,b=-1,c=2;if(a < b)if(b<0) c=0;else c++printf("%d\n",c);}该程序的输出结果是A.0B.1C.2D.3学⽣答案: C参考答案: C14、若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A.switch(a+b); {case 1:y=a+b;break; case 0:y=a-b;break; case3:y=b-a,break; }B.switch(a*a+b*b) {case 3: case 1:y=a+b;break; }C.switch a {case c1:y=a-b;break; case c2:y=a*d;break; default:x=a+b; }D.switch(a-b) {default:y=a*b;break; case 4:x=a+b;break; case15、已知 int x=10,y=20,z=30;以下语句执⾏后x,y,z的值是if(x>y)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=20学⽣答案: C参考答案: B16、请阅读以下程序:main( ){int a=5,b=0,c=0;if(a==b+c) printf("***\n");else printf("$$$\n");}以上程序A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$学⽣答案: B参考答案: D17、读下列程序:#includemain(){float a,b,t;scanf(”%f,%f”,&a,&b);if(a>b){t=a;}prinff(”%5.2f,%5.2f'’,a,b);}运⾏时从键盘输⼊3.8和-3.4,则正确的输出结果是( )。

c语言if语句嵌套选择题

c语言if语句嵌套选择题

c语言if语句嵌套选择题当涉及到C语言的if语句嵌套,可能涉及一些选择题。

以下是一些可能的选择题,以及它们的中文回答:1.问题:下面的C代码中,if语句的执行情况是什么?```cint x=10;if(x>5){if(x<15){printf("A");}else{printf("B");}}else{printf("C");}```-回答:执行结果是"A"。

2.问题:下面的C代码中,if语句的执行情况是什么?```cint y=20;if(y>10){if(y>15){printf("D");}}else{printf("E");}```-回答:由于y大于10,但不大于15,所以不会输出任何内容。

3.问题:下面的C代码中,if语句的执行情况是什么?```cint a=5,b=8;if(a>0){printf("F");if(b>10){printf("G");}else{printf("H");}}```-回答:执行结果是"FG"。

这些问题旨在考察if语句的嵌套执行和条件判断的理解。

在解答这类问题时,需要注意每个if语句的条件以及它们的嵌套关系。

希望这些例子对你理解C语言中的if语句有所帮助。

c语言(if语句)练习题

c语言(if语句)练习题

一、程序填空:输入3个数分别是a 、b 、c 。

先将a 、b 中的较大致存入a 中、较小数存入b 中;再让a 与c 比较,将a 与c 中的较大数存在a 中,较小数存人c 中;最后比较b 与c ,将b 、c 中的较大数存入b 中,较小数存入c 中。

这样a 、b 、c 这3个数的序列即按从大到小排列。

#include <stdio.h>main(){int a,b,c,t;printf(“Input three integers:”);scanf(“%d,%d,%d ”, ); /*输入a ,b ,c3个整数*/if(a<b)/*交换a ,b 的值*/if(a<c)/*交换a ,c 的值*/if(b<c)/*交换b ,c 的值*/printf(“Big to small is:%d,%d,%d ”,a,b,c);}二、程序改错:下面的程序实现求解()()()2222100100x x f x x x ⎧->⎪=⎨--≤⎪⎩分析下列程序代码能否实现,如果程序中存在错误,请修改程序中的错误,然后运行修改后的程序。

#include <stdio.h>main(){int x,y;scanf(“%d ”,&x);if(x*x – 10>0);y = x*x;printf(“y= %d\n ”,y);elsey=-(x*x);printf(“y=%d\n ”,y);}三、编程题1、编写程序从键盘上输入两个整数,检查第一个数是否能被第二个数整除。

2、编写一个程序,输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。

(1)标准体重=身高-110;(2)超过标准体重5kg(即大于5kg)为过胖;(3)低于标准体重5kg(即小于5kg)为过瘦。

3、判断某一年是否是闰年:(1) 被4整除但不能被100整除; 或(2) 被400整除;4、编写程序计算升高:每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、编写程序输入&和b,求a和b的余数和商。

#include〈stdio. h>
void mainO
{
int a, b;
scanf (,z%d%d,z, &a, &b);
printf C商为%d 余数为%d", a/b, a%b);
}
2、输入一个整型数据,分别求出各位数字。

如:469,则个位数是9,十位数是6,百位数是4。

# iiiclude<stdio.h>
void main()
{iiit a,m=0;
mt t,tl,t2,t3,t4;
scanf(H%d,\&a);
if(a<0||a>99999)
pnntf(”输入数据超出范W\n");
else if (a>=0&&a<10)
{ m=l;
pmitf("该数是%<^位数,其个位数为%d\ii H,m,a);
}
else if(a>=10&&a<100)
{
111=2;
t=a%10;
a=a/10;
pnntf("该数是%d位数,其个位数为%d十位数为
}
else if(a>=100&&a<1000)
{
m=3;
t=a%10;
tl=(a/10)%10;
t2=a/100;
pruitf("该数是%d位数,其个位数为%d十位数%%d百位数为%d^i",m,t,tl,t2);
}
else if(a>=lOOO&&a<lOOOO)
{
m=4;
t=a%10;
tl=a/10%10;
t2=a/100%10;
t3=a/lOOO;
pmirff该数是%d位数,其个位数为%d十位数%%d百位数为%(1千位数字为%d\n f\m,t,t 1,t2 ,t3);
}
else if(a>=10000&&a< 100000)
{
m=5;
t=a%10;
tl=a/10%10;
t2=a/100%10;
t3=a/1000%10;
t4=a/10000;
pmitf(”该数是%<1位数,其个位数为%(1十位数为%(1百位数%%d千位数字%%d万位数字为%d\n f\m,t,t 1 ,t2,t3,t4);
}
}
以上写法太繁琐了,如果学习了循环,则简单很多。

#include〈stdio. h>
void mainO
{
int a, b;
int n=0;
scanf&a);
wh订己(a)//while (a!=0)
{ n++;//n用来统计数字a是几位数,n的初值必须为0
b=a%10;
a=a/10;//a/=10;
printf b) ;//输出a的各位数字
}
printfCa的位数为%d", n);〃此语句必须写在循坏体的外面
}
3、编程输入两个整型数据a和b,若a'+b‘的结果人于100,则输出a'+b'的值,否则输出a+b的结
果。

#include〈stdio. h>
void mainO
{
int a, b;
scanf (,z%d%d,z, &a, &b);
if (a*a+b*b>100)
printf(“%d\n", a*a+b*b);
else
printf(“%d\n", a+b);
} 〃还可以用一个变童来表示(4/的值
4、输入两个整数a和b,若a'-b‘小于0,则输出a~b的值,否则输出a'-b‘的结果。

#include〈stdio. h>
void mainO
int a, b;
scanf (,z%d%d,z, &a, &b);
if(a*a*a-b*b*b<0)
printf(“%d\n", a~b);
else
printf (,,%d\n,/, a*a-b*b*b);
}
5、输入两个整数a和b,若a-b的结果为奇数,则输出该值,否则输出提示信息。

#include〈stdio. h>
void mainO
{
int a, b;
scanf (,z%d%d,z, &a, &b);
if((a-b)%2!二0) //if((a~b)%2)
printf(“%d\n", a~b);
else
printf (“a-b的结果为不是奇数");
}
6、编程判断输入的数是否既是5又是7的倍数,如果是输出yes,否则输出n。

#include〈stdio. h>
void mainO
{
int a;
scanf&a);
if (a%7==0&&a%5==0) //辻(a%35==0)或者if (! (a%35))
printf (z,yes,z);
else
printf("no");
}
7、从键盘上输入一个表示年份的整数,判断该年份是否是闰年,判断后的结果显示在屏幕
上。

# iiiclude<stdio.h>
void main()
{
mt year;
scanfC%cf,&y 亡ar);
if(yeai-%4=0&&year% 100||yeai%400==0)
//if(year%4==0&&y 亡ar% 100 !=0| |yeai%400=0)
pnntf("%d 年是闰年!“,year);
else
printf(”%d 年不是闰年! M,year);
}//还可以用if~else的嵌套来实现
8、从键盘上输入一个字符,如果是人写字母,则转换成小写字母,如果是小写字母,转换
成人写字母,如果是数字字符,转换成该数字所对应的数值的平方。

否则原样输出。

# iiiclude<stdio.h>
void main()
{
char ch;
ch=getcharQ;// scaiif(n %c&ch);
if(ch>=,A,&&ch<=Z)
putchai(ch+=32);
else if(ch>=h&&ch<=Z)
putchai(ch-=32);
else if(ch>='0&&ch<=9)
{ mt a;
a=ch-O;〃用来求对应数字的平方,ch为字符,ch」O啲结果却为数值printf(” %d\n':
a);
}
else
pnntf(”您输入的是除字母和数字之外的其他字符!
}。

相关文档
最新文档