C语言程序设计总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言程序设计总结
一、C 语言程序的基本结构
#include “ stdio.h ”
void main()
{
定义变量;
程序实现;
输出结果; printf
}
、变量的定义
1.整型:int a , b, s=0; ( 可以在定义的同时为变量进行赋值) 长整型:long
无符号整型(非负整数) :unsigned
2.单精度实型:float x, y, z=1.0 ;
3.双精度实型:double l,m;
4. 字符型:char c1= ' Ac'2=,';b '
三、变量的赋值
1.直接赋值:a=10 ; // 用赋值号“ = ”将右侧的值赋给左侧的变量
2.赋表达式的值:a=3+7;
3. 赋另外一个变量的值:a=s; // 把s 的值赋给a
变量的输入:
输入一个变量:scanf( “% d”, &a);
输入多个变量:scanf( “%d%d%d ”,&a, &b, &c);
int--%d float--%f char--%c double--%lf 字符串--%s
变量的输出:
输出一个提示语句:printf( “xxxxxx ”); 输出一个回车:printf( “\n ”);
输出一个变量:printf( “xxx is %d ”,a); 输出多个变量:printf( “xxxx%d, xxxx%d ”,a,b); 练习:1.输入圆的半径,求圆的周长。
四、常用流程控制语句
分支语句:根据条件执行相应的语句
条件的形式:a大于0 写成a>0
a小于0 写成a<0
a等于0 写成a==0 (注意,用两个=)
a大于等于0并且小于等于10 写成a>=0 && a<=10
a小于0或者a大于10 写成a<0 || a>10
(一)单分支if语句(如果满足某个条件,就做某件事情,不满足就向下执行。)
if(条件)
{执行语句;}
(二)双分支if 语句(如果满足某个条件,就做某件事情,否则就做另外一件事情。)
if(条件)
{执行语句1; }
else
{执行语句2; }
(三)多分支if语句(满足哪一个条件,就做相应的语句。)
if(条件1)
{执行语句1; }
else if(条件2)
{执行语句2; }
else if(条件3)
{执行语句3;}
else if(条件4)
{执行语句4; }
else
{执行语句5; }
(四)if的嵌套(根据具体情况对if~else~语句进行灵活的运用)
其格式如下:
if(条件1)
if(条件2)
{执行语句a; }
else
{执行语句b; }
else
if(条件3)
{执行语句c; }
else
{执行语句d; }
(五)多分支语句switch (根据switch后的值,执行相对应的case语句,此语句了解即可, 因为它的作用完全可以用多分支if来实现)
switch (表达式)
{
case 值1: {语句1; break;}
case 值2:{语句2; break;}
case 值3: {语句4; break;}
case 值n: {语句n; break;}
default: {语句n+1;}
}
练习:
2. 某自助餐厅规定,浪费食物在20克以下的,每克罚款2元;如浪费超过20 克,
则超过的部分每克加罚1元。编程求罚款金额。
3. 从键盘输入正方形的边长,如果边长大于零则求出该正方形的周长和面积,否则
提示输入错误。
4. 输入3个数x,y,z,求其中的最小值。
5. 输入3个数x,y,z,将其中最大值放在x中,最小值放在z中,中间值放在y中,
然后输出x,y,z。
(五)使用break 可以强制退出循环,其用法必须配合 if 来使用:
例如:for (i=0;i<100;i++)
{
if(条件) {
break; }
练习:
1. 编程求出公式s=1-1/3 + 1/5- 1/7+…1/101的值并输出
2. 编程输出如下图形:
3. 编程打印九九乘法表
4.
编程打印出2016年1月份的日历
注意:1月份的总天数是31天,其中1日是星期五。
日历如下:
-一- -二
三四 五 六 日
1
2
3
4 5
6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
void mai n() {
int i,n,d; //i 是循环变量,n 代表总天数,d 代表星期;
n=31; //n 代表一个月的天数
d=5; //d 代表星期,星期一为1,星期五为5,星期日为7
printf(" 一二三四五六日\n"); // 一个汉字占两个字符的位置for(i=1;i for(i=1;i<=n;i++,d++) { printf("%3d",i); if(d%7==0) { printf("\n"); } } } 5. 在第4 题的程序上进行修改,如果输入任意一个月的总天数及该月第一天的星期(1代表星期日,2代表星期一……以此类推),能否打印出该月日历 6. 计算x 的n 次方(x 为双精度,n 为非负整数) void main() { double x,s; unsigned n,i; s=1; printf(" 请输入x 和n:"); scanf("%lf%u",&x,&n); for(i=1;i<=n;i++) { s=s*x; } printf("jieguo is %.2lf",s); }