C语言程序设计总结.docx
- 文档编号:313834
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:17
- 大小:36.33KB
C语言程序设计总结.docx
《C语言程序设计总结.docx》由会员分享,可在线阅读,更多相关《C语言程序设计总结.docx(17页珍藏版)》请在冰豆网上搜索。
C语言程序设计总结
C语言程序设计总结
一、C语言程序得基本结构
#include“stdio.h”
void main()
{
定义变量;
程序实现;
输出结果;printf
}
二、变量得定义
1.整型:
inta,b,s=0; (可以在定义得同时为变量进行赋值)
ﻩ长整型:
long
无符号整型(非负整数):
unsigned
2。
单精度实型:
floatx,y,z=1。
0 ;
3。
双精度实型:
doublel,m;
4、字符型:
charc1='A’, c2='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-—%cdouble——%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;}
elseif(条件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。
循环语句:
在条件成立时重复执行一组语句
(一)当型循环 while
while(条件)
{
循环体
}
例如:
求1+2+3+…100
int n=1,s=0;
while(n〈=100)
{
s=s+n;
n=n+1;
}
(二)直到型循环do~while
do
{
循环体
}while(条件);
例如:
求1+2+3+…100
int n=1,s=0;
do
{
s=s+n;
n=n+1;
}while(n<=100);
(三)知起至型循环for
for(循环变量初值;循环变量范围;步长)
{
循环体
}
例如:
求1+2+3+…100
intn=1,s=0;
for(n=0;n<=100;n++)
{
s=s+n;
}
(四)循环得嵌套
for(i=1;i〈n;i++)
{
……
for(j=1;j<m;j++)
{
……
}
……
}
说明:
1.假设某同学参与“打气球游戏",该同学可以打5局,每局可以打10枪、这里得每局10枪就相当于内循环得次数; 5局就相当于5个10枪,也就就是外循环得次数。
2.这5*10枪不就是一次性打完得,而且每一枪都要记就是哪一局得哪一枪打出来得成绩,哪一局对应得就是i,哪一枪对应得就是j、
(五)使用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ﻩ23
4ﻩ56ﻩ789ﻩ10
11ﻩ12131415ﻩ1617
1819ﻩ20ﻩ21222324
2526ﻩ27ﻩ28ﻩ29ﻩ3031
voidmain()
{
int i,n,d;//i就是循环变量,n代表总天数,d代表星期;
ﻩn=31;//n代表一个月得天数
d=5;//d代表星期,星期一为1,星期五为5,星期日为7
ﻩprintf(”一 二三四 五六日\n");//一个汉字占两个字符得位置
for(i=1;i<d;i++) //开始日期之前用空格占位,每个日期对应3个空格
ﻩprintf("");
ﻩ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为非负整数)
voidmain()
{
ﻩdoublex,s;
unsignedn,i;
ﻩs=1;
ﻩprintf("请输入x与n:
");
scanf("%lf%u",&x,&n);
for(i=1;i〈=n;i++)
{
s=s*x;
}
ﻩprintf("jieguois%.2lf”,s);
}
ﻬ四、数组
一维数组
1、一维数组:
名字相同且带有下标得一组变量
2、 定义形式:
类型名 数组名[长度]
例如:
inta[10]//a数组中包含有10个整型变量,名字分别就是a[0]、a[1]、a[2]……a[9]
这里每一个a[n]都就是一个普通得整数变量
3、一维数组得初始化:
定义数组得时候就给每个数组元素赋值
inta[5]={2,4,6,8,10};
4。
对a数组中得每一个元素依次进行操作(访问)得方法如下:
int i;
for(i=0;i〈9;i++)
{
…a[i]…
}
例如:
●通过键盘输入给a数组中得每个元素赋值
●将a数组中每一个元素都扩大2倍
●统计a数组中奇数得个数
●求a数组中得最大值
●把a数组得元素进行逆置
●把a数组中得元素进行右移
练习:
1.从一维数组中查找x,并返回x所在得位置,否则提示没有找到。
2.求fibonacci数列得第n项。
3.求任意一个数得1.2~1、6倍存入数组。
4.数组中存入10个数并进行循环左移
二维数组
1. 二维数组:
名称相同且带有2个下标得一堆变量,逻辑上可瞧成n行m列得二维表格、
2.定义形式:
类型名数组名[行长度][列长度]
例如:
inta[3][4]
这里a数组中包含有3*4=12个数组元素,这12个元素得名字分别就是:
a[0][0]ﻩa[0][1]ﻩa[0][2]a[0][3]
a[1][0]ﻩa[1][1]ﻩa[1][2]ﻩa[1][3]
a[2][0]a[2][1]a[2][2]ﻩa[2][3]
3.二维数组得初始化:
inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
4。
对a中数组元素得访问,需要定义2个下标变量i与j,a[i][j]代表第i行第j列得元素。
按行得顺序访问:
inti,j;
for(i=0;i〈3;i++){
for(j=0;j<4;j++){
…a[i][j]…
}
}
按列得顺序访问:
inti,j;
for(j=0;j<4;j++){
for(i=0;i<3;i++){
…a[i][j]…
}
}
例如:
●为二维数组中得每一个元素赋值
●将二维数组转置输出(行变列,列变行)
●求每行得平均值
●求每列得总与
●求列上得最小值
5.行列相等得二维数组叫做矩阵,对矩阵得操作有:
●求主对角线得与
●求次对角线得平均值
●输出该矩阵得上半三角元素
练习:
1.对一个3*4得数组,求列上得平均值
2.求一个3*3矩阵得主、次对角线得平均值
3.利用数组输出以下图形
字符串
1、 字符串:
字符型得一维数组,可以存储一串字符,并以’\0’做为结束标志。
2.字符串得输入与输出
charstr1[20],str2[20],str3[20];
gets(str1);//字符串得输入
scanf(“%s”,str2); //字符串得输入
puts(str1); //字符串得输出;
printf(“%s”,str2);//字符串得输出;
3.对字符串得访问:
如有chars1[20];int n;
字符串得长度:
n=strlen(s1);
第一个字符:
s1[0];
最后一个字符:
s1[n—1]
‘\0’得位置:
s1[n]
从第一个字符访问到最后一个字符:
chars1[20];
inti;
gets(s1);
for(i=0;s[i]!
=0;i++)
{
…s[i]…;
}
从最后一个字符访问到第一个字符:
char s1[20];
inti;
gets(s1);
for(i= strlen(s1)—1;i>=0;i--)
{
…s[i]…;
}
4、 字符串常用函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 总结