C语言程序设计总结.docx

上传人:b****1 文档编号:313834 上传时间:2022-10-08 格式:DOCX 页数:17 大小:36.33KB
下载 相关 举报
C语言程序设计总结.docx_第1页
第1页 / 共17页
C语言程序设计总结.docx_第2页
第2页 / 共17页
C语言程序设计总结.docx_第3页
第3页 / 共17页
C语言程序设计总结.docx_第4页
第4页 / 共17页
C语言程序设计总结.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言程序设计总结.docx

《C语言程序设计总结.docx》由会员分享,可在线阅读,更多相关《C语言程序设计总结.docx(17页珍藏版)》请在冰豆网上搜索。

C语言程序设计总结.docx

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、 字符串常用函数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1