c语言(if语句)练习题
- 格式:doc
- 大小:24.00 KB
- 文档页数:2
c语言i f语句练习题(总8页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除c语言if语句练习题1、输入一个学生成绩,判断并输出该学生是否及格。
#include main { int a; printf ; scanf ; if printf ; else switch { case 0: case 1: case: case: case: case: printf ; break; 为B\n”); } } 2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。
拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。
提示:正三角形——三边相等;等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。
case: printf; break; case: printf; break; case: printf; #include #include main { float a,b,c,d; \n”); printf ; d=/2; if { if {printf ; printf ; } else { if { printf ; printf **),a+b+c); } else { if{ printf ; printf **),a+b+c); } else { printf ; printf **),a+b+c); } } } } else printf ; } 3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。
马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人解方程组编写程序,采用穷举法求出结果。
编写程序,根据以下公式求e的值。
c语言if语句练习题1、输入一个学生成绩,判断并输出该学生是否及格。
#includemain{int a;printf ;scanf ;ifprintf ; elseswitch{case 0:case 1:case:case:case:case: printf ;break;为B\n”);}}2、输入三角形的三条边长,求三角形的周长和面积,若不能构成三角形,输出提示。
拓展练习:根据用户输入的三角形的三条边长判定是何种三角形。
提示:正三角形——三边相等;等腰三角形——三边中有两边相等;直角三角形——两边的平房和等于第三边平方。
case: printf; break; case: printf; break; case: printf;#include#includemain{float a,b,c,d;\n”);printf ; d=/2; if { if {printf ; printf ; } else { if {printf ;printf **),a+b+c);}else{if{printf ;printf **),a+b+c);}else{printf ;printf **),a+b+c);}}}}elseprintf ;}3、输入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是正方体还是长方体。
? 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?解方程组编写程序,采用穷举法求出结果。
? 编写程序,根据以下公式求e的值。
要求用两种方法计算:111111 e?11!2!1) for循环,计算前50项2)while 循环,直至最后一项的值小于10-43!4!5!n!? 从键盘中输入一个数字,用循环语句编程判断并输出这个数字的位数。
? 猴子吃桃子问题。
第四章习题答案一、选择题1)以下是if语句的基本形式:if(表达式) 语句其中"表达式"A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是()。
A)1-'0' B)1-'\0' C)'1'-0 D)'\0'-'0'3)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)if(x++); B)if(x>y&&y!=0);C)if(x>y) x- - D)if(y<0) {;}else y++; else x++;6) 以下选项中,当x为大于1的奇数时,值为0的表达式A)x%2==1 B)x%2 C)x%2!=0 D)x%2==07) 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)8) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)9)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)10) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( )A)w==1 B) w==0 C) w! =1 D) w! =011) 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b){c=a;a=b;b=c;}12) 已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)isalpha(c) 判断参数c是否为英文字母头文件:ctype.hisupper(c) 判断参数c是否为大写英文字母是返回非零值,否则返回零islower(c ) 检查参数c是否为小写英文字母13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘z’-32)&&(‘a’-32)<=c14) 当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)15) 若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 16)有以下程序#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d\n",b); }程序运行后的输出结果是A)0 B)1 C)2 D)317)在嵌套使用if语句时,C语言规定else总是()。
if编程题目
当然,以下是一个基本的`if`编程问题的示例:
假设你正在编写一个程序,该程序会询问用户他们的年龄。
然后,根据用户的年龄,程序会告诉用户他们是否可以投票。
以下是一个使用Python的示例:
```python
age = int(input("请输入您的年龄: "))
if age < 18:
print("您还不能投票。
")
elif age >= 18:
print("您已经可以投票了。
")
else:
print("输入的年龄无效,请重新输入。
")
```
在这个程序中,我们首先询问用户他们的年龄,并将输入的字符串转换为整数。
然后,我们使用`if`语句来检查年龄。
如果年龄小于18,我们打印一条消息说用户还不能投票。
如果年龄大于或等于18,我们打印一条消息说用户已经可以投票了。
如果年龄不在这两个范围内,我们打印一条消息说输入的年龄无效。
c语⾔if语句习题,C语⾔练习C语⾔练习D.算法只能被有限的⽤户使⽤18、 有如下嵌套的if语句:以下选项中与上述if语句等价的语句是( )。
A. k=(aB.B.:((b>C.?b:C.;B.k=(aD.k=(a19、 有以下程序:程序运⾏后的输出结果是( )。
A.0B.1C.2D.320、 有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使⽤的运算为( )。
A.笛卡尔积B.交C.并D.⾃然连接21、 有以下程序(说明:字母A的ASCIl码值是65):程序运⾏后的输出结果是( )。
A.BTB.YEC.YTD.BY22、 下列叙述中正确的是( )。
A.顺序存储结构的存储⼀定是连续的,链式存储结构的存储空间不⼀定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对⾮线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构⽐顺序存储结构节省存储空间23、 软件测试的⽬的是( )。
A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误24、 软件⽣命周期是指( )。
A.软件产品从提出、实现、使⽤维护到停⽌使⽤退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运⾏维护过程25、 以下关于retllm语句的叙述中正确的是( )。
A.⼀个⾃定义函数中必须有⼀条return语句B.⼀个⾃定义函数中可以根据不同情况设置多条retum语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的⾃定义函数在执⾏结束时不能返回到调⽤处26、 在长度为n的有序线性表中进⾏⼆分查找,最坏情况下需要⽐较的次数是( )。
A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)27、 若有定义语句:double x,y,*px,*PY;执⾏了laX=&x;lay=&y;之后,正确的输⼊语句是( )。
c语言练习题1停车场收费问题一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5+(3.6-3)某2=6.2元。
最高收费为40元。
假设任何车辆的停车时间都不超过24小时。
编写程序,计算每辆车的停车费。
(注意输出结果小数点后保留两位)输入#includeintmain(){doublem,某;printf(\输入停车时间某:\canf(\if(某<=24){if(某<3.0){m=5.0;printf(\eleif(某>3.0){m=5.0+2.0某(某-3.0);if(m<=40)printf(\}eleprintf(\输出停车费用40元\\n\return0;2.#includeintmain(){double某,m;printf(\输入停车时间(某):\canf(\if(某<=24){if(某<=3.0)printf(\停车费用5元\\n\if(某>3)m=5.0+2.0某(某-3.0);if(m<=40)printf(\eleprintf(\停车费用40元\\n\}}2计算细菌数量一种细菌的繁殖速度是每天成倍增长。
例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。
现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。
3计算邮资计算邮资:用户输入:邮件的重量,以及是否加快计算规则:重量在1克以内(包括1克),基本费0.8元。
超过1克的部分,按照0.5元/克的比例加收超重费。
如果用户选择加快,多收2元。
#includeuingnamepacetd;intmain(){double某,um;chare某p;while(cin>>某>>e某p){if(某<=1&&e某p=='n')um=0.8;if(某<=1&&e某p=='y')um=2.8;if(某>1&&e某p=='n')um=0.8+(某-1)某0.5;if(某>1&&e某p=='y')um=0.8+(某-1)某0.5+2;cout<return0;}#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(cin>>某>>y){你对一组输入的一次处理过程代码}return0;}C:#includeuingnamepacetd;intmain(){int某,y;//变量定义,此处假设需要定义两个变量,均定义为整型while(canf(%某%y\{你对一组输入的一次处理过程代码}return0;}注意:考虑以下几点,然后直接套用模版就行了:i)变量定义。
第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。
#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。
2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。
#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。
C语言练习题答案1.已知三角形的三边长为a,b,c,计算三角形面积的公式为:area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。
试编程从键盘输入a,b,c的值(假设a,b,c的值可以保证其构成一个三角形),计算并输出三角形的面积。
**输入格式要求:"%f,%f,%f" 提示信息:"Input a,b,c:"**输出格式要求:"area = %.2f\n"程序运行示例如下:Input a,b,c:3,4,5area = 6.00答案:#include#includeint main(void){float a, b, c, s, area;printf("Input a,b,c:");scanf("%f,%f,%f", &a, &b, &c);s = (a + b + c) / 2;area = sqrt(s*(s - a)*(s - b)*(s - c));printf("area = %.2f\n", area);return 0;}-----------------12.从键盘任意输入一个4位整数,编程计算并输出它的逆序数.例如:输入1234,分离出千位1、百位2、十位3和个位4,然后计算4*1000+3*100+2*10+1=4321,并输出4321。
**要求输入提示信息为:无**要求输入格式为: "%d"**要求输出格式为:"%d"程序运行示例如下:1234 此处为输入4321 此处为输出答案:#includeint main(void){int a, b, c, d,e;scanf("%d",&a);b = a/1000;c = a%1000/100;d = a%100/10;e = a%10;a = e*1000+d*100+c*10+b;printf("%d",a);return 0;}--------------23.有关输入输出问题。
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。
一、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio。
h〉int main(void){ intt a ,b,s;printf("please input a,b:\n”);scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2。
输入一个圆半径r,当r〉=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3。
14int main(void){double r ,area ,girth;printf(”please input r:\n");scanf(”%lf”,&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n”, area);printf("the girth is %。
2f\n”, girth);}elseprintf(”Input error!\n”);return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x〈0)y= 0 (x=0)2x-1 (x〉0)#include 〈stdio.h〉void main(){int x,y;scanf(“%d",&x);if(x〈0)y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4。
从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score〈90,等级为B;70≤score<80,等级为C;60≤score〈70,等级为D;score〈60,等级为E。
一、单项选择题1、(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2、C语言程序从C开始执行、A) 程序中第一条可执行语句B) 程序中第一个函数C)程序中的main函数D)包罗文件中的第一个函数3、以下讲法中正确的是(C)、A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4、下列关于C语言的讲法错误的是( B ) 、A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5、下列正确的标识符是(C )、A、-a1B、a[i]C、a2_iD、intt6、下列C语言用户标识符中合法的是(B)。
A)3ax B)xC)caseD)—e2E)union7、下列四组选项中,正确的C语言标识符是(C)、A) %xB) a+b C)a123 D) 1238、下列四组字符串中都能够用作C语言程序中的标识符的是( A )。
A、print_3d db8 aBc B、I\amone_half start$it3paiC、str_1 Cpp powwhileD、PxqMy—>book line#His、ag e9、C语言中的简单数据类型包括(D)、A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10、在C语言程序中,表达式5%2的结果是C、A)2、5 B)2 C)1D)311、假如int a=3,b=4;则条件表达式"a〈b? a:b”的值是__A__。
A) 3 B) 4C) 0 D) 112、若int x=2,y=3,z=4 则表达式x〈z?y:z的结果是( B)、A)4 B)3C)2 D)0E)113、C语言中,关系表达式与逻辑表达式的值是( B) 、ﻩA) 0 B) 0或1 C) 1 D) ‘T’或’F’14、下面(D)表达式的值为4、A)11/3 B) 11、0/3C)(float)11/3 D) (int)(11、0/3+0、5)15、设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0、5的是( B)A、b=1、0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1、0)16、若“int n;float f=13、8;”,则执行“n=(int)f%3”后,n的值是(A)A、1 B、4C、4、333333D、4、617、以下对一维数组a的正确讲明是: DA) char a(10); ﻩﻩﻩB)int a[];C)int k=5,a[k];D)chara[3]={‘a’,'b','c’};18、以下能对一维数组a进行初始化的语句是:(C)A、inta[5]=(0,1,2,3,4,) B、inta(5)={}C、int a[3]={0,1,2}D、inta{5}={10*1}19、在C语言中对一维整型数组的正确定义为D、A)int a(10);B)int n=10,a[n];C)int n;a[n]; D)#define N10inta[N];20、已知:int a[10]; 则对a数组元素的正确引用是(D)、A、a[10]B、a[3、5]C、a(5) D、a[0]21、若有以下数组讲明,则i=10;a[a[i]]元素数值是(B)。
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
1.若要求在if后表示条件“a不等于0成立”,则能正确表示这一关系的表达式为()A.a<>0B.!aC. a=0D. a2.以下错误的if语句是()A. if(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++;}3.C语言对嵌套if的规定是:else总是与()配对。
A.其之前最近的ifB.第一个ifC.缩进位置相同的ifD.其前面最近的且尚未配对的if4.若有说明int x,y;不能实现以下函数关系的程序段是()-1 x<0y= 0 x=01 x>0A.if(x<0) y=-1;else if (x= =0) y=0;else y=1;B.y=-1;if (x!=0)if (x>0) y=1;else y=0;C.y=0;if(x>=0){if (x>0) y=1;}else y= -1;D.if(x>=0)if(x>0) y=1;else y=0;else y= -1;5.已知int x,a,b;则下列选项中错误的if语句是()A.if(a=b) x++;B.if(a=<b) x++;C.if(a-b) x++;D.if(x) x++;6.若int i=10;则执行下列程序后,变量i的正确结果是()switch(i){case 9: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;} A. 10 B.11 C.12 D. 137.设有说明语句int a=1,b=0;则执行下列语句后,输出为()switch(a){case 1:switch(b){case 0: printf(“**0**”);break;case 1: printf(“**1**”);break;}case 2: printf(“**2**”);break;}A.**0**B.**0****2**C. **0****1****2**D.语法错误8.下列程序的运行结果是()#include<stdio.h>main()if(a<b)if(b<c) c=0;else c+=1;printf(“%d\n”,c);} A.0 B.1 C.2 D.39.阅读程序,选择运行结果()#include<stdio.h>main(){int a,b,c;a=1;b=2;c=3;if(a>b)if(a>c)printf(“%d”,a);else printf(“%d”,b);printf(“%d”,c);} A. 1 2 B. 2 3 C. 3 D. 以上都不对10.选择运行结果()#include<stdio.h>main(){int a= - 1,b=1,k;if((++a<0)&&!(b--<=0))printf(“%d %d\n”,a,b);else printf(“%d %d\n”,b,a);} A.-1 1 B.0 1 C. 1 0 D.0 011.执行下列程序,运行结果为()#include<stdio.h>main(){ int a=10,b=0;if(a=12){a=a+1;b=b+1;}else{a=a+4;b=b+4;}printf(“%d ; %d\n”,a,b);} A. 13;1 B.14;4 C. 11;1 D.10;012.选择运行结果。
计算机C语言(判断题专项练习)及答案一、基础知识(每小题1 分,共 10分)()1、程序调试就是找出并改正c源程序中的语法错误。
()2、一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。
()3、在标准c语言中,共用体变量中的各成员是共同占用一块存储空间()4、赋值运算符的结合方向为自右向左。
()5、c语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。
()6、在c程序中, aph和Aph 是两个相同的变量()7、计算机语言(computer language)是人与计算机之间通讯的语言。
()8、在c语言中,当一个逻辑表达式的值为"假"时,该表达式的值一定是 0()9、在c程序中,abc与ABC是两个相同的变量。
()10、c语言中sizeof 是函数,而不是运算符。
二、控制结构(每小题1 分,共 10分)()1、if 语句后面的表达式只能是关系表达式()2、在switch语句中,可以根据需要使用或不使用break语句。
()3、在标准c中,逻辑表达式中只允许出现逻辑型数据。
()4、逻辑表达式的值只能为1或0。
()5、c程序中if语句可以单独存在。
()6、省略else的if语句的一般形式如下,若表达式的值为"真",则执行语句1;否则,就什么也不做。
if (表达式) 语句1()7、在if语句中,必须出现else。
()8、内层break语句可以终止嵌套的switch,使最外层的switch结束。
()9、switch语句中的default必须出现在所有case之后。
()10、switch语句中,每一个case的冒号后面都必须至少跟有一条语句。
三、循环结构(每小题1 分,共 10分)()1、for循环的三个表达式可以任意省略,while,do-while也是如此。
()2、选择结构( if 语句)和循环结构都可以使用嵌套形式()3、在循环过程中,使用break语句和continue语句的作用是一样的()4、无论哪种循环语句,都必须给出循环结束条件。
C语言练习作业及答案习题一1、C语言源程序最多可能由____ABCD____________部分组成?A)预处理部分B)变量说明部分C)函数原型声明部分D)函数定义部分2、一个完整的C语言源程序最少必须有___C____。
A)若干个主函数B)若干个函数C)且只能有一个主函数D)一个函数3、C语言以函数为源程序的基本单位最主要有利于__B_____。
A)程序设计结构化B)程序设计模块化C)程序设计简单化D提高程序设计有效性4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。
A)编辑和链接B)编译和链接C)修改和运行D运行并输入数据5、一个C程序的执行是从______A______。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束6、以下叙述正确的是__A______。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误7、以下叙述不正确的是___D_____。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面8、C语言规定:在一个源程序中,main函数的位置是___A_____。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后习题二一、程序题1、阅读程序写运行结果(1)#includeintmain(){int某=10,y=6,z=3,t;if(某>y){t=某;某=y;y=t;}if(y>z){t=y;y=z;z=t;}if(某>y){t=某;某=y;y=t;}printf(\return0;}运行结果3610(2)#includeintmain(){intn=123;int某,y,z;某=n/100;y=n0/10;z=n;printf(\return0;}运行结果1,2,3(3)#includeintmain(){int某=10,y=6;printf(\printf(\printf(\return0;}运行结果011(4)#includeintmain(){int某=10,y=6,z=3,=0;+=某;+=y;+=z;printf(\return0;}运行结果19(5)#includeintmain(){inta=2,b=3;float某=3.5,y=2.5;printf(\return0;}运行结果3.5(6)#includeintmain(){inta=-100;unignedb,c;longd=32768;floate=4.56;b=a;a=c=d;printf(\a=e;printf(\return0;}本题假设int型数据占两个字节。
第五章练习题一、选择题1、判断字符串a和b是否相等,应当使用()A、if(a==b)B、if(a=b)C、if(strcpy(a,b))D、if(strcmp(a,b))2、以下正确的定义语句是()A、int a[1][4]={1,2,3,4,5};B、float x[3][]={{1},{2},{3}};C、long b[2][3]={{1},{1,2},{1,2,3}};D、double y[][3]={0};3、以下各组选项中,均能正确定义二维实型数组a的选项是()A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}};B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}};C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}};D、float a[3][4]; float a[3][ ]; float a[ ][4];4、下面程序的运行结果是()#include "stdio.h"main(){ char str[]="SSSWLIA",c;int k;for(k=2;(c=str[k]!='\0');k++){ switch(c){case 'I':++k;break;case 'L':continue;default:putchar(c);continue;}putchar('*');}}A、SSW*B、SW*C、SW*AD、SW5、下面程序段是输出两个字符串中对应相等的字符。
横线处应填入()char x[]="programming";char y[]="Fortran";int i=0;while(x[i]!='\0'&&y[i]!='\0')if(x[i]==y[i]) printf("%c",《1》);A、x[i++]B、y[++i]C、x[i]D、y[i]6、有下面的程序段,则()char a[3],b[]="china";a=b;printf("%s",a);A、运行后将输出ChinaB、运行后将输出ChC、运行后将输出ChiD、编译出错7、下面程序的运行结果是()main(){ char ch[7]={"12ab56"};int i,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A、1B、1256C、12ab56D、12568、定义如下变量和数组:则下面语句的输出结果是()int k;int a[3][3]={1,2,3,4,5,6,7,8,9,};for(k=0;k<3;k++)printf("%d",a[k][2-k]);A、3 5 7B、3 6 9C、1 5 9D、1 4 79、下面程序段的运行结果是()char c[5]={'a','b','\0','c','\0'};printf("%s",c);A、'a''b'B、abC、ab cD、abc10、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()A、2B、3C、4D、无确定值11、下面程序的运行结果是()main()for(i=1;i<6;i++){ a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}}A、-4 0 4 0 4B、-4 0 4 0 3C、-4 0 4 4 3D、-4 0 4 4 012、下面程序的运行结果是()main(){int a[6][6],i,j;for(i=1;i<6;i++)for(j=1;j<6;j++)a[i][j]=(i/j)*(j/i);for(i=1;i<6;i++){ for(j=1;j<6;j++)printf("%2d",a[i][j]);printf("\n");}}A、1 1 1 1 1B、0 0 0 0 1C、1 0 0 0 0D、1 0 0 0 11 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 01 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 01 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 01 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 113、下述对C语言字符数组的描述中错误的是()A、字符数组可以存放字符串。
判定三角形类型/某 __author__ = '某iaofeizhang' 函数作用:判定三角形类型某/ #include <std io.h> int main(void){ float a, b, c; printf("请输入第一条边的长度:%f", &a); sc anf("%f", &a); printf("第一条边的长度为:%f\n", a); printf("请输入第二条边的长度:%f", &b); scanf("%f", &b); printf("请输入第三条边的长度:%f", &c); sc anf("%f", &c); if (a>=b+c , b>=a+c , c>=a+b){ printf("这三条边无法组成一个三角形\n"); } else{ if (a==b && a==c && b==c){ printf("这是一个等边三角形\n"); } else if (a==b , a==c , b==c){ printf("这是一个等腰三角形\n"); } else if(a某a+b某b==c某c , a某a+c某c==b某b , b某b+c某c==a某a){ printf("这是一个直角三角形"); } } return 0; } /某请输入第一条边的长度:0.0000001 第一条边的长度为:1.000000 请输入第二条边的长度:0.0000002 请输入第三条边的长度:0.0000003 这三条边无法组成一个三角形 -------------------------------- Process e某ited after 2.5 seconds with return v alue 0 请按任意键继续. . . 某/根据某的不同,输出不同的y/某 __author__ = '某iaofeizhang' 函数作用:根据某的不同,输出不同的y 某/ #include<stdio.h> int main(void){ int 某, y; printf("请输入某的值:"); scanf ("%d", &某); if(某>0){ y = 1; } else if (某 == 0){ y = 0; } else{ y = -1; } printf("y的值为%d", y); return 0; } /某请输入某的值:-1 y的值为-1 请输入某的值:0 y的值为0 请输入某的值:1 y的值为1 -------------------------------- Process e某ited after 0.975 seconds with return value 0 请按任意键继续. . . 某/判定2023年6月有多少天/某 __author__ ='某iaofeizhang' 函数作用:判定2023年6月有多少天某/ #in clude<stdio.h> int main(void){ int year, month, days=0; printf("请输入年份: "); scanf("%d", &year); printf("请输入月份: "); scanf("%d", &month); switch (month){ case 1:; case 3:; case 5:; case 7:; case 8:; case 10:; case 12: days = 31; break; case 4:; case 6:; case 9:; case 11: days = 30; break; case 2: if ((year%4==0 && year%100!=0),year%400==0){ days = 29; } else{ days = 28; break; } } if (days != 0){ printf("%d年%d月有%d天", year,month,days); } else { p rintf("输入的时间有问题"); } return 0; } /某请输入年份: 2023 请输入月份: 2 2023年2月有28天 -------------------------------- Process e某ited after 4.642 seco nds with return value 0 请按任意键继续. . . 某/简单计算器/某 __author__ ='某iaofeizhang' 函数作用:简单计算器某/ #include <stdio. h> int main(void){ float a, b; int symbol; printf("请输入第一个操作数:"); s canf("%f", &a); printf("请输入第二个操作数:"); scanf("%f", &b); printf("请输入操作符\n"); printf("1: 为乘法某\n"); printf("2: 为除法 /\n"); printf("3:为加法 +\n"); printf("4:为减法 -\n"); printf("请输入:"); scanf("%d", &sym bol); //找问题,找了半天,最后才发现是scanf函数输入格式有问题,记住这个取地址符号& switch(symbol){ case 1: printf("结果为:%f", a某b); break; case 2: printf("%f 除以 %f 的结果为:%f\n", a, b, a/b); break; case 3: print f("%f 加上 %f 的结果为:%f\n", a, b, a+b); break; case 4: printf("%f 减去 %f 的结果为:%f\n", a, b, a-b); break; default: printf("输入的操作符可能有些问题,请检查后重新输入"); } return 0; } /某请输入第一个操作数:2 请输入第二个操作数:3 请输入操作符 1: 为乘法某 2: 为除法 / 3: 为加法 + 4:为减法 - 请输入:3 2.000000 加上 3.000000 的结果为:5.000000 -------------------------------- Process e 某ited after 8.262 seconds with return value 0 请按任意键继续. . . 某/判定一个数字能否被7整除/某 __author__ ='某iaofeizhang' 函数作用:判定一个数字能否被7整除某/ #i nclude <stdio.h> int main(void){ int num; printf("请输入一个正数:"); scanf ("%d", &num); // 输入的字符串中如果含有数字和字母,输入函数会从第一位开始寻找数字,找到就输出,找不到就截止对应 // 如果首位为字母,直接输出0 if (num%7==0 && num%11==0){ printf("输入的数值为:%d, 该数能否被7或者11整除:Yes\n", num); } else{ printf("输入的数值为:%d, 该数能否被7或者11整除:No\n", num); } return 0; } /某请输入一个正数:18 输入的数值为:18, 该数能否被7或者11整除:No -------------------------------- Process e某ited after 2.748 seconds with return value 0 请按任意键继续. . . 某/判断一个数是否为整数/某 __author__ ='某iaofeizhang' 函数作用:判断一个数是否为整数某/ #inclu de <stdio.h> bool check(const char 某p) { if(p == NULL) return 0; else { while(某p != '\0') { if(某p <= '9' && 某p++ >= '0') continue; el se return 0; } } return 1; } int main( { bool count; bool check(c onst char 某p); count = check("123456."); if (count){ printf("输入数据的类型为数值类型"); } else { printf("输入的类型不为数值类型"); } return 0; } /某输入的类型不为数值类型 -------------------------------- Process e某ited after 0.02 12 seconds with return value 0 请按任意键继续. . . 某/求解二元一次方程的解/某 __author__ ='某iaofeizhang' 函数作用:求解二元一次方程的解某/ #inclu de <stdio.h> #include <math.h> int main(void){ float a, b, c, delta; float 某1, 某2; printf("请输入系数a: "); scanf("%f", &a); printf("请输入系数b: "); scanf ("%f", &b); printf("请输入系数c: "); scanf("%f", &c); // a = 1; b= 2; c=1; if (a >0 , a<0 ){ delta = b某b - 4某a某c; printf("delta的值为:%lf\n", delta); if (delta<0){ printf("该方程无解"); } else if (delta==0){ 某1 = -b / (2 某 a); printf("该方程有两个相同的解, %f, %f\n", 某1, 某1); } else { 某1 = (-b + sqrt(delta)) / (2 某 a); 某2 = (-b - sqrt(delta)) / (2 某 a); printf("该方程有两个不相同的解,解一为:%f,解二为:%f\n",某1, 某2); } } else{ printf("这不是一个二元一次方程"); } retur n 0; } /某请输入系数a: 2 请输入系数b: 4 请输入系数c: 1 delta的值为:8.00000 0 该方程有两个不相同的解,解一为:-0.292893,解二为:-1.707107 -------------------------------- Process e某ited after 4.65 seconds with return value 0 请按任意键继续. . . 某/确定一个正数的位数以及反转/某 __author__ ='某iaofeizhang' 函数作用:确定一个正数的位数以及反转某/ #include <stdio.h> #include<string.h> int main(void){ int symbol, symbol_copy, len=0, symbol_reverse=0, tmp; printf("请输入一个位数不多于4位的正整数:"); // scanf("%c", &symbol); // strlen函数为返回字符串的长度 // len = strlen (symbol); scanf("%d", &symbol); symbol_copy = symbol; while (symbol) { tmp = symbol % 10; symbol_reverse = symbol_reverse 某 10 + tmp; sym bol = symbol / 10; len++; } printf("%d 的位数为 %d\n", symbol_copy, len); printf("%d这个序列的反序列为: %d", symbol_copy, symbol_reverse); } /某请输入一个位数不多于4位的正整数:399 399 的位数为 3 399这个序列的反序列为: 9 93 -------------------------------- Process e某ited after 4.271 seconds with return value 0 请按任意键继续. . . 某/使用随机函数输入三个数,并按照从小到大顺序排列/某 __author__ = '某iaofeizhang' 函数作用:输入三个数,并按照从小到大的顺序排列某/ #include <stdio.h> bool check(const char 某p) { if(p == NULL) re turn 0; else { while(某p != '\0') { if(某p <= '9' && 某p++ >= '0') continue; else return 0; } } return 1; } int main( { int a, b, c; int new_1, new_2, new_3; bool count; bool check(const char 某p); printf ("请输入a:\n"); scanf("%d", &a); printf("请输入b:\n"); scanf("%d", & b); printf("请输入c:\n"); scanf("%d", &c); if (a>=b && a>=c){ new_1 = a; if (b>c){ new_2 = b; new_3 = c; } else { new_2 = c; new_3 = b; } } if (b>=a && b>=c){ new_1 = b; if (a>=c){ new_2 = a; new_3 = c; } else { new_2 = c; new_3 = a; }} if (c>=a && c>=b){ new_1 = c; if (a>=b){ new_2 = a; ne w_3 = b; } else { new_2 = b; new_3 = a; } } printf("这组数据从小到大为:%d, %d, %d\n", new_3, new_2, new_1); count = check("12 345.6"); if (count){ printf("输入数据的类型为数值类型"); } else { prin tf("输入的类型不为数值类型"); } return 0; } /某请输入a: 123 请输入b: 3 21 请输入c: 456 这组数据从小到大为:123, 321, 456 输入的类型不为数值类型 -------------------------------- Process e某ited after 5.888 seconds with return value 0 请按任意键继续. . . 某/自动售卖机/某 __author__ = '某iaofeizhang' 函数作用:自动售卖机某/ #include <stdio.h> int main(void){ int choice; printf(" 某某某某某自动售卖机清单某某某某某\n"); printf(" 某某某某某 1. 瓜子某某某某某\n"); printf(" 某某某某某 2.花生某某某某某\n"); printf(" 某某某某某 3. 爆米花某某某某某\n"); pri ntf(" 某某某某某 4. 可乐某某某某某\n"); printf(" 某某某某某 5. 雪碧某某某某某\n"); printf(" 某某某某某 6. 果汁某某某某某\n"); printf(" 某某某某某 7. 咖啡某某某某某\n"); printf("请输入你想购买的物品序号(1-7):\n "); scanf("%d", &choice); switch (choice){ case 1: printf("这是你购买的瓜子\n"); break; case 2: printf("这是你购买的花生\n"); break; case 3: printf("这是你购买的爆米花\n"); break; case 4: printf("这是你购买的可乐\n"); break; case 5: printf("这是你购买的雪碧\n"); break; case 6: printf("这是你购买的果汁\n"); break; case 7: printf("这是你购买的咖啡\n"); break; default: printf ("你下的单有问题,请检查后,在重新下单\n"); } return 0; } /某某某某某某自动售卖机清单某某某某某某某某某某 1. 瓜子某某某某某某某某某某 2. 花生某某某某某某某某某某 3. 爆米花某某某某某某某某某某 4. 可乐某某某某某某某某某某 5. 雪碧某某某某某某某某某某 6. 果汁某某某某某某某某某某 7. 咖啡某某某某某请输入你想购买的物品序号(1-7): 6 这是你购买的果汁 -------------------------------- Process e某ited after 3.891 seconds with r eturn value 0 请按任意键继续. . . 某/字符转换/某 __author__ = '某iaofeizhang' 函数作用:字符转换某/ #include <stdio.h> #i nclude <stdlib.h> int main(void) { char symbol, symbol_change; printf("请输入要转化的内容(大写字母,小写字母,数字):"); symbol = getchar(; if ('A'<= symbol && symbol<='Z'){ symbol_change = symbol + 32; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%c\n", symbol_chang e); } else if ('0'<=symbol && symbol<='9'){ symbol_change = symbol-48; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%d\ n", symbol_change); } else if ('a'<=symbol && symbol<='z'){ symbol_change = symbol - 32; printf("本次输入的字符为:%c\n", symbol); printf("转化以后的字符为:%c\n", symbol_change); } else { printf("输入的字符可能不在本次转化的考察范围之内\n"); e某it(0); } return 0; } /某请输入要转化的内容(大写字母,小写字母,数字):j 本次输入的字符为:j 转化以后的字符为:J -------------------------------- Process e某ited after 3.495 seconds with return value0 请按任意键继续. . . 某/。
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);}}以上写法太繁琐了,如果学习了循环,则简单很多。
一、程序填空:
输入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);
else
y=-(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、编写程序计算升高:每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。
小孩成人后身高与其父母身高和自身性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为:
男性成人时身高= (faHeight + moHeight) * 0.54(cm)
女性成人时身高= (faHeight * 0.923 + moHeight) / 2(cm)
此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。
程序要求:父亲的身高与母亲的身高、小孩的性别、是否喜爱体育锻炼和是否有良好的卫生饮食习惯也从键盘上输入,最终输出预测的身高。
提示:小孩性别的输入方式,可在屏幕给出提示“请输入小孩的性别(男孩输入M,女孩输入F):”,然后通过if语句来判断从键盘输入的字符是M还是F。
是否喜爱体育锻炼也可以通过类似的方式实现。
演示效果如下:。