您的当前位置:首页正文

C语言的代码例子

来源:帮我找美食网


整数类型 int

字符类型 char

实数类型 float和double

算法 计算机语言表示的算法实例:

问题: 求12+22+···+502

#include

main()

{ int n,i,sun=0;

scanf(“%d”,&n); /* 输入变量n,控制问题规模*/

for(i=1,i<=n;i++)

sum+=i*i;

printf(“sum=%d\\n”,sum);

}

If语句实例

例:从标准输入设备接收一个字符,如果是字母,输出它的ASCII码,否

则输出不是字母的信息。

# include

main()

{int c;

c=getchar(); /*调入库函数getchar得到输入*/

if((c>=‘a’&&c<=‘z’) ‖(c>=‘A’&&c<=‘Z’)) /*判断是否为字母*/

printf(“%c ASCII code : %d \\n”,c,c); /*输出字母的ASCII码 */

else

printf(“%c is not letter \\ n”,c);

}

 例:编写程序,根据输入的学生成绩,给出相应的等级。90分以上等级为A,60

分以下等级为E,其余每10分一个等级。

# include

main()

{ float score;

char grade;

printf(“Enter score:”);

scanf(“%f”,&score);

if ( score>=90)

grade=‘A’;

else if ( score>=80)

grade=‘B’;

else if ( score>=70)

grade=‘C’;

else if ( score>=60)

grade=‘D’;

else

grade=‘E’;

Printf(“score: %f grade:%c\\n”,score,grade);

}

switch语句

switch (表达式)

{ case 常量表达式1:语句1

case 常量表达式2:语句2

...

case 常量表达式n:语句n

default : 语句n+1

}

2. switch语句的执行过程

标号的作用,只是指出选择转移的起点。

一方面允许多个case标号连接到同一段代码,提供代码共享的能力。

另一方面,又使得正常选择分支case标号后的语句,一定要加入break语句才能实现多分支选择的功能。

# include

main( )

{ int i,n,sum;

scanf(“%d”,&n);

sum=0;

i=1;

while(i<=n)

{ sum=sum+1;

i++;

}

printf(“sum=%d\\n”,sum);

}

3.4.2 do_while循环

1.语法

do

循环体

while (表达式);

括号、分号是必须的。循环体可以是一条语句或复合语句或空语句“;”,表示循环结构的开始和结束,在这种循环结构中要成对使用。

2. do_while循环的执行过程

(1)执行do后面的循环体。

(2)计算while后面括号中的表达式,当值为非0时,转去执行

do和while

(1);当值为0时,退出do_while循环。

do_while循环实例

# include

main( )

{ int i,n,sum;

scanf(“%d”,&n);

sum=0;

i=1;

do

{ sum=sum+1;

i++;

} while(i<=n);

printf(“sum=%d\\n”,sum);

}

3.4.3 for循环

1.语法

for (表达式1;表达式2;表达式3) 循环体

2. for循环的执行过程

(1)计算表达式1。/*表达式1通常为循环变量赋初值,使用赋值表达式和逗号表达式较多。*/

(2)计算表达式2,若其值非0,转(3);若为0,结束循环。/*表达式2控制循环条件*/

(3)执行循环体。

(4)计算表达式3,转(2)。

for循环语句实例

# include

main( )

{ int i,n,sum;

scanf(“%d”,&n);

for ( sum=0,i=1; i<=n; i++)

sum=sum+1;

printf(“sum=%d \\n”,sum);

}

例:写程序,输出下三角形状的乘法九九表。

#include

Main( )

{ int i,j;

for (i=1;i<=9;i++)

printf(“%4d”,i); /*打印表头*/

Printf(“%c”,’\\n’);

for (i=1;i<=50;i++)

printf(“%c”,’-’); /*打印表头底部的一

行横线*/

Printf(“%c”,’\\n’);

for (i=1;i<=9;i++) /*循环体执行一次打印

一行*/

{ for (i=1;j<=i;j++)

printf(“%4d”,i*j); /*循环体执行一次个数据*/

Printf(“%c”,’\\n’); /*每行尾换行*/

}

printf(“%c”,’\\n’);

}

函数数值传递效果示例

打印一 ,

#include

void swap(int,int);

main()

{ int x=10,y=20;

printf(“(1)x=%d y=%d \\n”,x,y); /*输出调用swap之前变量x和y的值*/

swap(x,y);

printf(“(4)x=%d y=%d \\n”,x,y); /*输出调用swap之后,x和y的值*/

}

swap(int a,int b)

{ int t;

printf(“(2)a=%d b=%d \\n”,a,b); /*输出形参a和b的值*/

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

printf(“(3)a=%d b=%d \\n”,a,b); /*输出交换a和b的值以后的各自的值*/

}

程序运行结果 (1) x=10 y=20

(2) a=10 b=20

(3) a=20 b=10

(4) x=10 y=20

带参数宏定义实例

#define MAX(x,y) ((x)>(y)?(x): (y))

#include

Main()

{ int a , b, c;

float x, y, z;

scanf(“%d%d”,&a,&b);

c=MAX(a, b);

scanf(“%f%f”,&x,&y);

z=MAX(x, y);

printf(“c=%d z=%f \\n”, c, z);

}

6.1.1 一维数组的定义

数组的维数是指表示数组使用的下标个数,如果数组中每个元素只带有一个下标,称这样的数组为一维数组。

定义形式为:

类型说明符 数组名[常量表达式];

类型说明符指出数组元素的数据类型,数组名是标识符,元素个数使用方括号和常量表达式。

讨论C语言数组大小的规定。

讨论如何理解数组名。

6.1.2 一维数组的引用

C语言中,一个数组不能整体应用,数组名是一个地址常量,不能对其赋值,只能使用数组中的元素。

方法: 数组名[下标]

讨论C语言使用下标的规定。

6.1.4 一维数组初始化

例: 解释下面数组定义和初始化的意义:

int a[6]={1,2,3,4,5,6}; /*定义6个元素的整型数组并赋初值1~6 */

int a[6]={1,2}; /*定义6个元素的整型数组并初始化前两个元素为1和

2,后4个元素赋初值0 */

int a[3]={1,2,3,4}; /*用于初始化的数据多于数组的定义,编译出错 */

int a[ ]={1,2,3,4,5,6}; /*定义6个元素的整型数组并赋初值1~6 ,数

组中没有元素个数信息,由花括号中的数据个数决定*/

一维数组实例

#include

main()

{ int i,num;

float score[]={87,90,85,98,65,80,74,67};

float sum=0.0;

num=sizeof(score)/sizeof(float); /*计算数组元素个数*/

for(i=0; isum+=score[i];

printf(“average: %.1f \\n”,sum/num); /*平均分有一位小数*/

}

6.2.5 二维数组实例

通过键盘给3*4的二维数组输入数据,然后分别按行和按列输出数组元素。

#include

main( )

{int a[3][4],i,j;

printf(“enter data by line: \\n”);

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf(“%d”,&a[i][j]);

printf(“output by line: \\n”);

for(i=0;i<3;i++)

{ for (j=0;j<4;j++)

printf(“%5d”, a[i][j]);

printf(“ \\n”);

}

printf(“output by column: \\n”);

for (j=0;j<4;j++)

{ for(i=0;i<3;i++)

printf(“%5d”, a[i][j]);

printf(“ \\n”);

}

}

程序运行结果如下:

enter data by line:

1 2 3 4 5 6 7 8 9 10 11 12

output by line:

1 2 3 4

5 6 7 8

9 10 11 12

Output by column:

1 5 9

2 6 10

3 7 11

4 8 12

6.3.1 字符数组

字符数组是元素数据类型是字符类型的一维数组。字符数组引用、存储、初始化的方法都与一维数组相同,只是要注意字符数组的元素是字符,有特殊的字面表示格式。

字符数组初始化的方法也和一维数组相同。

例:char s[5]={‘1’,’2’,’3’,’4’,’5’};

char s[5]={‘1’,’2’};

char s[]={‘1’,’2’,’3’,’4’,’5’};

初始化时没有赋值的元素值为空是编码为0的字符,叫空字符,用’\\0’表示。它即不是空格字符(32),也不是0字符(48)。

6.5数组作为函数的参数实例

#include

void strcopy ( char s1[ ], char s2[ ]);

main( )

{char s1[20],s2[6]=“China”;

strcopy(s1,s2);

puts(s1);

}

void strcopy (char s1[ ], char s2[ ])

{ int i=0;

while ( s2[i]!=‘\\0’)

{s1[i]=s2[i];

i++;

}

s1[i]=‘\\0’;

}

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

Top