您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页C语言例题解说

C语言例题解说

来源:飒榕旅游知识分享网
3-1符号常量的使用: #define PRICE 30 #include void main() { }

300Press any key to continue

3-2计算圆的周长和面积。#define IP 3.14 #include void main() {

double r,circum,area; //定义三个双精度变量用于保存半径,周长,面积 }

周长为6.280000,面积为9.859600Press any key to continue

r=1.0;

circum=r*2*IP; area=r*IP*IP;

printf(\"周长为%f,面积为%f\int sum,total; sum=10;

total=sum*PRICE; printf(\"%d\

注:符号常量:用一个标识符代表一个常量的符号(如:PRICE) 在作用区域中不能被改变,不能被赋值。 1.52变量

#include void main() {

int x; x=1;

}

float y; y=2.6;

printf(\"x=%d,y=%f\\n\");

注意:变量在使用前要先进行定义,本例改为: 定义多个同类型的变量: Int x=1, y=1, z=1; 而不是Int x=y=z=1。 字符:

1-8从键盘输入一个字符,分别输出它的ASCII值以及该字符: #include void main() { }

char ch;

printf(\"请输入一个字符:\"); scanf(\"%c\

printf(\"字符%c的ASCII码值为%d\

char为字符型变量(只能存放一个字符变量 请输入一个字符:h 字符h的ASCII码值为104Press any key to continue 3-6向字符变量赋予整数: #include void main()

{

char c1,c2;

scanf(\"%c%c\ c1=97; c2=98;

printf(\"%c %c\\n\ printf(\"%d %d\\n\

}

97 98 Press any key to continue

3-7大小写字母的转换。 #include void main() { char c1,c2; c1='a'; c2='b'; c1='a'-32; c2='b'-32;

printf(\"%c %c\

}

A BPress any key to continue、 注意: c1,c2是字符变量,用于存放数据。 字符数据的输入与输出:

1. putchar函数:其作用是向终端输出一个字符,一般形式为

putchar()

2. getchar函数:从终端输入一个字符,它没有参数,一般

形式为:getchar()

例:输入单个字符:

#include void main() {char c;

}

c=getchar(); putchar(c); putchar('\\n');

错误: char c; getchar()=c; putchar(getchar()); putchar(\"\\n\"); 格式字符:

1. o格式符:以八进制整数形式输出,(即输出值不带符号,

将符号也化成八进制); 2. x:以十六进制数形式输出,不输出负号;

3. u:用于输出unsigned型数据,以十进制形式输出; 4. c:用来输出一个字符; 5. s:用于输出一个字符串;

⑴ %ms输出字符串占m行,若字符串本身长度小于m,则左补空格;%-ms若串长小于m,字符串向左靠,右补空格;

⑵%m.ns输出占m列,但只取左端个n字符,此n个字符输

出在m列的右侧,左边补空格;⑶%-m.ns若n大于m,则m自动取n值.

例:#include void main() {

printf(\"%3s,%7.2s,%.4s,%5.3s\\n\\

}

CHINA, CH,CHIN,CHI

注:%.4s只指了n,自动使m=n,故占四列。

6. f:用于输出实数(单,双精度),以小数形式输出。 ⑴ %m.nf指定输出书据共占四列,有n位小数,若数值长度小于m,则左端补空格;⑵-%m.nf向左端靠,右端补空格。 7. e:以指数形式输出实数,

实例:(可改变字符类型逐一尝试)

#include void main() {

int a,b,c; double x,y,z; int u,n; char c1,c2;

scanf(\"%c%c\c1='a';c2='b'; c1='a'-32;c2='b'-32;

u=51274;n=128765; a=3;b=4;c=5;

printf(\" a=%d b= %d c= %d\\n\x=1.2;y=2.4;z=-3.6;

printf(\"x=%8f,y=%8f,z=%8f\\n\

printf(\"x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n\printf(\"u=%6d n= %d\\n\printf(\"%c or %d\\n\printf(\"%c or %d\\n\

a=3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 a or 65 B or 66

Press any key to continue

3-8强制类型转换: #include void main() {

float x; int y; x=4.5;

强制类型转化运算符: (类型名)(表达式) 如:(double)a (将a转换成double型) (int)(x+y) (将x+y的值转换成整型) (Float)(5%3) (将5除以3 的余数转换成float型) 注:表达式应用括号括起来 例如:(int)x+y 只是将x转化成整型,然后与y相加 }

y=(int)(x);

printf(\"%f\\n%d\\n\

4.500000 4

Press any key to continue

自增、自减运算符:

自增(++)、自减(--)运算符只能用于变量,不能用于常量或表达式,如5++或(a+b)++都是不合法的;

符号运算符与(++)运算符优先级相同,且为右结合性,相当于-(i++), 若有printf(“%d”,-(i++)),设i的值为3,则先取出的值,输出-i的值为-3,然后i增值为4,而不是先加1后,再加负号,输出-4. #include void main() {

int i,j,m,n; i=8; j=10; m=++i; n=j++;

printf(\"%d,%d,%d,%d\\n\}

9,11,9,10

Press any key to continue

易混淆: I,j的值已经改变。 例题1:输入三角形三边长,求三角形面积。

其中area=√s(s−a)(s−b)(s−c) s=(a+b+c)/2

#include #include void main() {

float a,b,c,s,area;

scanf(\"%f,%f,%f\ s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(\"a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\\n\ printf(\"%7.2f\\n\}

double a,b,c,s,area; s=(a+b+c)/2.0; area=sqr*s(s-a)*(s-b)*(s-c); printf(\"%f\例题:大小写字母的转化:

#include void main() { }

char c1,c2; c1=getchar(); c2=c1+32;

printf(\"%c\\n\

char A,a; printf(\"请输入一个大写字母:\"); scanf(\"%c,%c\a='A'+32; printf(\"%c\\n\

例题2:求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac>0.

#include #include void main() {

float a,b,c,p,q,disc,x1,x2; scanf(\"a=%f,b=%f,c=%f\p=-b/(2*a); disc=b*b-4*a*c; q=1/2*sqrt(disc)/a; x1=p+q; x2=p-q;

printf(\"x1=%3.2f\\nx2=%3.2f\\n\1,3,2 x1=-1.#J x2=-1.#J

例题3:

#include void main() { }

float c,F;

printf(\"输入一个摄氏温度:\"); scanf(\"%f%f\c=5*(F-32)/9;

printf(\"输出摄氏温度为:\

选择结构

1.输入两个实数,按有小到大的顺序输出; #include void main() { }

float a,b,t;

scanf(\"%f,%f\if(a>b) {t=a; a=b; b=t;}

printf(\"%5.2f,%5.2f\

2.输入三个数并比较其大小; #include void main() {

float a,b,c,t;

scanf(\"%f,%f,%f\if(a>b) {

t=a; a=b; b=t;

} //实现啊a,b的互换 if(a>c) {

t=a; a=c; c=t;

} //实现a,c的互换 if(b>c) {

t=b; b=c; c=t;

} //实现b,c的互换 printf(\"%5.2f,%5.2f,%5.2f\

错误:与内嵌if语句混淆: if() 3.有一个函数 #include void main() {

int x,y; scanf(\"%d\

{ If() 语句1 } ese 语句2 if(x>=0){ if(x>0)

y=1;

else

y=0;

else y=-1;}

printf(\"x=%d y=%d\}

条件运算符:

例:max=(a>b)?a:b;等同于if(a>b) max=a; else max=b; 结合方向为自右向左,例:a>b?a:c>d?c:d a>b?(c>d?c:d)

1.输入一个字符,若是大写字母,则转化为小写字母,否则不变,并输出字符。

#include void main() { char c1;

scanf(\"%c\

c1=(c1>='A'&&c1<='Z')?(c1+32):c1; printf(\"%c\\n\

}

2.判断一个数是闰年还是非闰年:

#include void main() {

int year,leap; scanf(\"%d\if(year%4==0)

if(year%100==0)

if(year%400==0)

leap=1;

此题还可换成: if(year%4=!0) leap=0; else If(year%100!=0) leap=1; else if(“year%!=400”) leap=0; Else 判断闰年的条件: ① 能被4整除,不能被100整除; ② 既能被100整除,又能被400整除。 注:两条件为并集的关系。 else

leap=0;

else

leap=1;

else

leap=0;

if(leap==1)

printf(\"%d是闰年\\n\

else

printf(\"%d不是闰年\\n\

If语句的嵌套实例:

复杂if语句嵌套

#include \"stdio.h\" void main() {

float a;

printf(\"请输入本月的月消费:\\n\"); scanf(\"%f\if(a==0) { }

else if(a<=500)

printf(\"中等消费\\n\"); printf(\"无消费\");

}

else if(a<=1000)

printf(\"高消费\\n\"); else

printf(\"输入错误\");

#include void main() {

float x; char y; scanf(\"%f\

scanf(\"%c\

if(x>=60) {

if(x<=69) {

printf(\"成绩等级为'D'\");}

else if(x<=79) {

printf(\"成绩等级为'C'\");}

else if(x<=)

{

printf(\"成绩等级为'B'\");}

}

else

{ printf(\"成绩等级为'A'\");}

else

printf(\"成绩等级为'E'\");

printf(\"成绩等级为%c\}

编写四则运算程序: #include \"stdio.h\" void main() {

float a,b,result; char c;

printf(\"四则运算小程序:\\n\"); 注意:输入第一个数后会按下回车键,用getchar消除回车键; 有函数void main(),或不能有”return 0”; 反则,int main()……有…………

printf(\"请输入第一个数:\\n\"); scanf(\"%f\getchar();

printf(\"请输入运算符号+-*/:\\n\");

scanf(\"%c\

printf(\"请输入第二个数:\\n\"); scanf(\"%f\switch(c) {

}

case'+':result=a+b; break;

case'-':result=a-b; break;

case'*':result=a*b; break;

case'/':result=a/b; break;

default:result=0; }

printf(\"%.2f%c%.2f=%f\\n\

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务