300Press any key to continue
3-2计算圆的周长和面积。#define IP 3.14 #include 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 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 char ch; printf(\"请输入一个字符:\"); scanf(\"%c\ printf(\"字符%c的ASCII码值为%d\ char为字符型变量(只能存放一个字符变量 请输入一个字符:h 字符h的ASCII码值为104Press any key to continue 3-6向字符变量赋予整数: #include { 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 printf(\"%c %c\ } A BPress any key to continue、 注意: c1,c2是字符变量,用于存放数据。 字符数据的输入与输出: 1. putchar函数:其作用是向终端输出一个字符,一般形式为 putchar() 2. getchar函数:从终端输入一个字符,它没有参数,一般 形式为:getchar() 例:输入单个字符: #include } 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 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 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 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 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 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 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 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 float c,F; printf(\"输入一个摄氏温度:\"); scanf(\"%f%f\c=5*(F-32)/9; printf(\"输出摄氏温度为:\ 选择结构 1.输入两个实数,按有小到大的顺序输出; #include float a,b,t; scanf(\"%f,%f\if(a>b) {t=a; a=b; b=t;} printf(\"%5.2f,%5.2f\ 2.输入三个数并比较其大小; #include 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 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 scanf(\"%c\ c1=(c1>='A'&&c1<='Z')?(c1+32):c1; printf(\"%c\\n\ } 2.判断一个数是闰年还是非闰年: #include 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 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务