C语言的代码例子
- 格式:doc
- 大小:68.00 KB
- 文档页数:7
{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’;
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++)
float sum=0.0;
num=sizeof(score)/sizeof(float); /*计算数组元素个数*/
for(i=0; i<num; i++)
sum+=score[i];
printf(“average: %.1f\n”,sum/num); /*平均分有一位小数*/
}
6.2.5二维数组实例
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的值以后的各自的值*/
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 (表达式);
括号、分号是必须的。循环体可以是一条语句或复合语句或空语句“;”,do和while表示循环结构的开始和结束,在这种循环结构中要成对使用。
2 6 10
3 7 11
4 8 12
6.3.1字符数组
字符数组是元素数据类型是字符类型的一维数组。字符数组引用、存储、初始化的方法都与一维数组相同,只是要注意字符数组的元素是字符,有特殊的字面表示格式。
字符数组初始化的方法也和一维数组相同。
例:char s[5]={‘1’,’2’,’3’,’4’,’5’};
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.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}; /*用于初始化的数据多于数组的定义,编译出错*/
Printf(“%c”,’\n’); /*每行尾换行*/
}
printf(“%c”,’\n’);
}
函数数值传递效果示例
#include<stdio.h>
void swap(int,int);
main()
{ int x=10,y=20;
printf(“(1)x=%d y=%d \n”,x,y); /*输出调用swap之前变量x和y的值*/
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通常为循环变量赋初值,使用赋值表达式和逗号表达式较多。*/
通过键盘给3*4的二维数组输入数据,然后分别按行和按列输出数组元素。
#include <stdio.h>
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]);
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
printf(“%c ASCII code : %d \n”,c,c); /*输出字母的ASCII码*/
else
printf(“%c is not letter \ n”,c);
}
例:编写程序,根据输入的学生成绩,给出相应的等级。90分以上等级为A,60分以下等级为E,其余每10分一个等级。
# include <stdio.h>
sum+=i*i;
printf(“sum=%d\n”,sum);
}
If语句实例
例:从标准输入设备接收一个字符,如果是字母,输出它的ASCII码,否
则输出不是字母的信息。
# include <stdio.h>
main()
{int c;
c=getchar(); /*调入库函数getchar得到输入*/
if((c>=‘a’&&c<=‘z’)‖(c>=‘A’&&c<=‘Z’)) /*判断是否为字母*/
default :语句n+1
}
2. switch语句的执行过程
标号的作用,只是指出选择转移的起点。
一方面允许多个case标号连接到同一段代码,提供代码共享的能力。
另一方面,又使得正常选择分支case标号后的语句,一定要加入break语句才能实现多分支选择的功能。
# include <stdio.h>
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’;
char s[5]={‘1’,’2’};
char s[]={‘1’,’2’,’3’,’4’,’5’};
初始化时没有赋值的元素值为空是编码为0的字符,叫空字符,用’\0’表示。它即不是空格字符(32),也不是0字符(48)。
6.5数组作为函数的参数实例
#include<stdio.h>
void strcopy ( char s1[ ], char s2[ ]);
2. do_while循环的执行过程
(1)执行do后面的循环体。
(2)计算while后面括号中的表达式,当值为非0时,转去执行
(1);当值为0时,退出do_while循环。
do_while循环实例
# include <stdio.h>
main( )
{ int i,n,sum;
scanf(“%d”,&n);
定义形式为:
类型说明符数组名[常量表达式];
类型说明符指出数组元素的数据类型,数组名是标识符,元素个数使用方括号和常量表达式。
讨论C语言数组大小的规定。
讨论如何理解数组名。
6.1.2一维数组的引用
C语言中,一个数组不能整体应用,数组名是一个地址常量,不能对其赋值,只能使用数组中的元素。
方法:数组名[下标]
整数类型int
字符类型char
实数类型float和double
算法计算机语言表示的算法实例:
问题:求12+22+···+502
#include<stdio.h>
main()
{ int n,i,sun=0;
scanf(“%d”,&n); /*输入变量n,控制问题规模*/
for(i=1,i<=n;i++)
}
程序运行结果(1) x=10 y=20
(2) a=10 b=20