欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>三、C程序的初步设计

三、C程序的初步设计

2023-06-09 08:19:25 收藏本文 下载本文

“智慧家长课堂李”通过精心收集,向本站投稿了9篇三、C程序的初步设计,下面是小编为大家整理后的三、C程序的初步设计,仅供参考,大家一起来看看吧。

三、C程序的初步设计

篇1:三、C程序的初步设计

本课介绍C语言程序设计的基本方法和基本的程序语句,

从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来实现这些程序结构。 本章介绍这些基本语句及其应用,使读者对C程序有一个初步的认识, 为后面各章的学习打下基础。

C程序的语句

C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。

C语句可分为以下五类:

1.表达式语句

2.函数调用语句

3.控制语句

4.复合语句

5.空语句

1.表达式语句

表达式语句由表达式加上分号“;”组成。其一般形式为: 表达式; 执行表达式语句就是计算表达式的值。例如: x=y+z; 赋值语句y+z; 加法运算语句,但计算结果不能保留,无实际意义i++; 自增1语句,i值增1

2.函数调用语句

由函数名、实际参数加上分号“;”组成。其一般形式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。(在第五章函数中再详细介绍)例如printf(“C Program”);调用库函数,输出字符串。

3.控制语句

控制语句用于控制程序的流程, 以实现程序的各种结构方式。

它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类:

(1) 条件判断语句

if语句,switch语句

(2) 循环执行语句

do while语句,while语句,for语句

(3) 转向语句

break语句,goto语句,continue语句,return语句

4.复合语句

把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如

{

x=y+z;

a=b+c;

printf(“%d%d”,x,a);

}

是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。

5.空语句

只有分号“;”组成的语句称为空语句。 空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如 while(getchar!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。

赋值语句

赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式; 赋值语句的功能和特点都与赋值表达式相同,

它是程序中使用最多的语句之一。 在赋值语句的使用中需要注意以下几点:

1.由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式 变量=(变量=表达式); 是成立的,从而形成嵌套的情形。其展开之后的一般形式为: 变量=变量=…=表达式;

例如:

a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:

e=5;

d=e;

c=d;

b=c;

a=b;

2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。

3.在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值

4.注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。

下述语句是合法的: if((x=y+5)>0) z=x; 语句的功能是,若表达式x=y+5大于0则z=x。下述语句是非法的: if((x=y+5;)>0) z=x; 因为=y+5;是语句,不能出现在表达式中。

数据输出语句

本小节介绍的是向标准输出设备显示器输出数据的语句。在C语言中,所有的数据输入/输出都是由库函数完成的。 因此都是函数语句。本小节先介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上。在前面的例题中我们已多次使用过这个函数。

一、printf函数调用的一般形式

printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长整型输出,“%c”表示按字符型输出等。后面将专门给予讨论。

非格式字符串在输出时原样照印,在显示中起提示作用。 输出表列中给出了各个输出项, 要求格式字符串和各输出项在数量和类型上应该一一对应。

void main()

{

int a=88,b=89;

printf(“%d %d\n”,a,b);

printf(“%d,%d\n”,a,b);

printf(“%c,%c\n”,a,b);

printf(“a=%d,b=%d”,a,b);

}

a<--8,b<--89

printf(“%d %d\n”,a,b);

篇2:C语言数字钟程序

void clock(int t);

void main

{

int t,i,j,n;

for(t=0;t<10;t++)

{

clock(t);

sound(590);

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

{

delay(100000000);

}

nosound();

for(n=0;n<6;n++)

{

delay(100000000);

}

for(j=8;j<=18;j++)

{

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

{

gotoxy(i,j);

putchar(0);

}

}

}

}

void clock(int t)

{

int i,j;

textcolor(11);

if(t==0)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(51,8+i);

cprintf(“%c”,14);

}

for(j=0;j<11;j+=10)

{

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

{

gotoxy(59-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==1)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

}

if(t==2)

{

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

{

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

{

gotoxy(60-j*8,8+i+j*5);

cprintf(“%c”,14);

}

}

for(j=0;j<11;j+=5)

{

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

{

gotoxy(60-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==3)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

for(j=0;j<11;j+=5)

{

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

{

gotoxy(59-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==4)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(52,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(59-i,13);

cprintf(“%c”,14);

}

}

if(t==5)

{

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

{

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

{

gotoxy(52+j*8,8+i+j*5);

cprintf(“%c”,14);

}

}

for(j=0;j<11;j+=5)

{

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

{

gotoxy(60-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==6)

{

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

{

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

{

gotoxy(52+j*8,8+i+j*5);

cprintf(“%c”,14);

}

}

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

{

gotoxy(52,13+i);

cprintf(“%c”,14);

}

for(j=0;j<11;j+=5)

{

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

{

gotoxy(60-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==7)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(59-i,8);

cprintf(“%c”,14);

}

}

if(t==8)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(52,8+i);

cprintf(“%c”,14);

}

for(j=0;j<11;j+=5)

{

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

{

gotoxy(59-i,8+j);

cprintf(“%c”,14);

}

}

}

if(t==9)

{

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

{

gotoxy(60,8+i);

cprintf(“%c”,14);

}

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

{

gotoxy(52,8+i);

cprintf(“%c”,14);

}

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

{

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

{

gotoxy(59-i,8+j*5);

cprintf(“%c”,14);

篇3:C程序习题打印杨辉三角

打印出以下的杨辉三角形(要求打印10行)

每一行的第一个和最后一个都是1,而中间元素是由表达式 a[i][j] =a[i-1][j-1] + a[i-1][j] 计算出来,因为要使用上面的数据,这样我们想到了用二维数组进行数据的存储。代码如下:

#include

#define N 10

int main(int argc, int *argv[])

{

int i,j;

int a[N][N] = {0};

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

{

a[i][0] = 1;

printf(“%3d ”,a[i][0]);

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

{

if (i == j)

{

a[i][j] = 1;

}

else

{

a[i][j]= a[i-1][j-1] + a[i-1][j];

}

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

}

printf(“\n”);

}

system(“pause”);

return 0;

}

篇4:模糊控制算法c程序

模糊控制算法c程序

#include

#include

#define PMAX 100

#define PMIN -100

#define DMAX 100

#define DMIN -100

#define FMAX 100 /*语言值的`满幅值*/

int PFF[4]={0,12,24,48};

/*输入量D语言值特征点*/

int DFF[4]={0,16,32,64};

/*输出量U语言值特征点*/

int UFF[7]={0,15,30,45,60,75,90};

/*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/ /*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */

int rule[7][7]={

//误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差

{-6,-6,-6,-5,-5,-5,-4,}, // -3

{-5,-4,-4,-3,-2,-2,-1,}, // -2

{-4,-3,-2,-1, 0, 1, 2,}, // -1

{-4,-3,-1, 0, 1, 3, 4,}, // 0

{-2,-1, 0, 1, 2, 3, 4,}, // 1

{ 1, 2, 2, 3, 4, 4, 5,}, // 2

{ 4, 5, 5, 5, 6, 6, 6}}; // 3

/**********************************************************/ int Fuzzy(int P,int D) /*模糊运算引擎*/

{

int U; /*偏差,偏差微分以及输出值的精确量*/

unsigned int PF[2],DF[2],UF[4]; /*偏差,偏差微分以及输出值的隶属度*/

int Pn,Dn,Un[4];

long temp1,temp2;

/*隶属度的确定*/

/*根据PD的指定语言值获得有效隶属度*/

if(P>-PFF[3] && P

{

if(P

{

Pn=-2;

PF[0]=FMAX*((float)(-PFF[2]-P)/(PFF[3]-PFF[2])); }

else if(P

{

Pn=-1;

PF[0]=FMAX*((float)(-PFF[1]-P)/(PFF[2]-PFF[1])); }

else if(P

{

Pn=0;

PF[0]=FMAX*((float)(-PFF[0]-P)/(PFF[1]-PFF[0])); }

else if(P

{

Pn=1; PF[0]=FMAX*((float)(PFF[1]-P)/(PFF[1]-PFF[0])); }

else if(P

{

Pn=2; PF[0]=FMAX*((float)(PFF[2]-P)/(PFF[2]-PFF[1])); }

else if(P

{

Pn=3; PF[0]=FMAX*((float)(PFF[3]-P)/(PFF[3]-PFF[2])); }

}

else if(P

{

Pn=-2; PF[0]=FMAX;

}

else if(P>=PFF[3])

{

Pn=3; PF[0]=0;

}

PF[1]=FMAX-PF[0];

if(D>-DFF[3] && D

{

if(D

{

Dn=-2;DF[0]=FMAX*((float)(-DFF[2]-D)/(DFF[3]-DFF[2])); }

else if(D

{

Dn=-1;

DF[0]=FMAX*((float)(-DFF[1]-D)/(DFF[2]-DFF[1])); }

else if(D

{

Dn=0;

DF[0]=FMAX*((float)(-DFF[0]-D)/(DFF[1]-DFF[0])); }

else if(D

{

Dn=1;

DF[0]=FMAX*((float)(DFF[1]-D)/(DFF[1]-DFF[0])); }

else if(D

{

Dn=2; DF[0]=FMAX*((float)(DFF[2]-D)/(DFF[2]-DFF[1])); }

else if(D

{

Dn=3; DF[0]=FMAX*((float)(DFF[3]-D)/(DFF[3]-DFF[2])); }

}

else if(D

{

Dn=-2;

DF[0]=FMAX;

}

else if(D>=DFF[3])

{

Dn=3;

DF[0]=0;

}

DF[1]=FMAX-DF[0];

/*使用误差范围优化后的规则表rule[7][7]*/

/*输出值使用13个隶属函数,中心值由UFF[7]指定*/ /*一般都是四个规则有效*/

Un[0]=rule[Pn-1+3][Dn-1+3];

Un[1]=rule[Pn+3][Dn-1+3];

Un[2]=rule[Pn-1+3][Dn+3];

Un[3]=rule[Pn+3][Dn+3];

if(PF[0]

UF[0]=PF[0];

else

UF[0]=DF[0];

if(PF[1]

UF[1]=PF[1];

else

UF[1]=DF[0];

if(PF[0]

UF[2]=PF[0];

else

UF[2]=DF[1];

if(PF[1]

UF[3]=PF[1];

else

UF[3]=DF[1];

/*同隶属函数输出语言值求大*/

if(Un[0]==Un[1])

{

if(UF[0]>UF[1])

UF[1]=0;

else

UF[0]=0;

}

if(Un[0]==Un[2])

{

if(UF[0]>UF[2])

UF[2]=0;

else

UF[0]=0;

}

if(Un[0]==Un[3])

{

if(UF[0]>UF[3])

UF[3]=0;

else

UF[0]=0;

}

if(Un[1]==Un[2])

{

if(UF[1]>UF[2])

UF[2]=0;

else

UF[1]=0;

}

if(Un[1]==Un[3])

{

if(UF[1]>UF[3])

UF[3]=0;

else

UF[1]=0;

}

if(Un[2]==Un[3])

{

if(UF[2]>UF[3])

UF[3]=0;

else

UF[2]=0;

}

/*重心法反模糊*/

/*Un[]原值为输出隶属函数标号,转换为隶属函数值*/ if(Un[0]>=0)

Un[0]=UFF[Un[0]];

else

Un[0]=-UFF[-Un[0]];

if(Un[1]>=0)

Un[1]=UFF[Un[1]];

else

Un[1]=-UFF[-Un[1]];

if(Un[2]>=0)

Un[2]=UFF[Un[2]];

else

Un[2]=-UFF[-Un[2]];

if(Un[3]>=0)

Un[3]=UFF[Un[3]];

else

Un[3]=-UFF[-Un[3]];

temp1=UF[0]*Un[0]+UF[1]*Un[1]+UF[2]*Un[2]+UF[3]*Un[3]; temp2=UF[0]+UF[1]+UF[2]+UF[3];

U=temp1/temp2;

return U;

}

void main

{

int a=0,e,ec;

/*int nowpoint,p1,p2=1;

FILE *in,*out;

in=fopen(

out=fopen(

while(1)

{

//fscanf(in,

//e=0-nowpoint;

//ec= p1-p2;

printf(

scanf(

printf(

scanf(

a=Fuzzy(e,ec);

//fprintf(out,

//printf(

printf(

//p2=p1;

}

//fclose(in);

//fclose(out);

}

篇5:C程序开发经典实例7

【程序61】

题目:打印出杨辉三角形(要求打印出10行如下图)

1.程序分析:

1

11

121

1331

14641

15101051

2.程序源代码:

main()

{

inti,j;

inta[10][10];

printf(“\n”);

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

{

a[i][0]=1;

a[i][i]=1;

}

for(i=2;i<10;i++)

for(j=1;j<10;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

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

{

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

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

printf(“\n”);

}

}

【程序62】

题目:学习putpixel画点,

1.程序分析:

2.程序源代码:

#include“stdio.h”

#include“graphics.h”

main()

{

inti,j,driver=VGA,mode=VGAHI;

initgraph(&driver,&mode,“”);

setbkcolor(YELLOW);

for(i=50;i<=230;i+=20)

for(j=50;j<=230;j++)

putpixel(i,j,1);

for(j=50;j<=230;j+=20)

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

putpixel(i,j,1);

}

【程序63】

题目:画椭圆ellipse

1.程序分析:

2.程序源代码:

#include“stdio.h”

#include“graphics.h”

#include“conio.h”

/*欢迎访问C++Builder研究-www.ccrun.com*/

main()

{

intx=360,y=160,driver=VGA,mode=VGAHI;

intnum=20,i;

inttop,bottom;

initgraph(&driver,&mode,“”);

top=y-30;

bottom=y-30;

for(i=0;i

{

ellipse(250,250,0,360,top,bottom);

top-=5;

bottom+=5;

}

getch();

}

【程序64】

题目:利用ellipseandrectangle画图,

1.程序分析:

2.程序源代码:

#include“stdio.h”

#include“graphics.h”

#include“conio.h”

main()

{

intdriver=VGA,mode=VGAHI;

inti,num=15,top=50;

intleft=20,right=50;

initgraph(&driver,&mode,“”);

for(i=0;i

{

ellipse(250,250,0,360,right,left);

ellipse(250,250,0,360,20,top);

rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));

right+=5;

left+=5;

top+=10;

}

getch();

}

【程序65】

题目:一个最优美的图案。

1.程序分析:

2.程序源代码:

#include“graphics.h”

#include“math.h”

篇6:c语言初级小程序

1.打印100-200之间的素数:

#include

#include

int main

{

int i,a;

for(i=101;i<200;i++)

{for(a=2;a<=sqrt(i);a++)

if(i%a==0)

break;

if(i%a!=0)

printf(“%d\n”,i);

}

return 0;

}

2.输入乘法口诀:

#include

int main()

{

int i,j;

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

{

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

printf(“%d*%d=%d ”,j,i,j*i);

printf(“\n”);

}

return 0;

}

3.判断1000-之间的闰年:

#include

int main()

{

int i;

for(i=1000;i<=2000;i++)

if((i%4==0&&i%100!=0)||i%400==0)

printf(“%d\n”,i);

return 0;

}

篇7:四、C程序的 数组

数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

本章介绍数值数组和字符数组,其余的在以后各章陆续介绍。数组类型说明 在C语言中使用数组必须先进行类型说明。 数组说明的一般形

式为: 类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。

例如:

int a[10]; 说明整型数组a,有10个元素。

float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20]; 说明字符数组ch,有20个元素。

对于数组类型说明应注意以下几点:

1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。

2.数组名的书写规则应符合标识符的书写规定。

3.数组名不能与其它变量名相同,例如:

void main()

{

int a;

float a[10];

……

}

是错误的。

4.方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。

5.不能在方括号中用变量来表示元素的个数, 但是可以是符号常数或常量表达式。例如:

#define FD 5

void main()

{

int a[3+2],b[7+FD];

……

}

是合法的。但是下述说明方式是错误的。

void main()

{

int n=5;

int a[n];

……

}

6.允许在同一个类型说明中,说明多个数组和多个变量。

例如: int a,b,c,d,k1[10],k2[20];

数组元素的表示方法

数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。 下标表示了元素在数组中的顺序号。数组元素的一般形式为: 数组名[下标] 其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。例如,a[5],a[i+j],a[i++]都是合法的数组元素。 数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只能逐个地使用下标变量, 而不能一次引用整个数组。 例如,输出有10 个元素的数组必须使用循环语句逐个输出各下标变量:

for(i=0; i<10; i++) printf(“%d”,a[i]); 而不能用一个语句输出整个数组,下面的写法是错误的: printf(“%d”,a);

void main()

{

int i,a[10];

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

a[i++]=2*i+1;

for(i=9;i>=0;i--)

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

printf(“\n%d %d\n”,a[5.2],a[5.8]);

}

本例中用一个循环语句给a数组各元素送入奇数值,然后用第二个循环语句从大到小输出各个奇数,

在第一个 for语句中,表达式3省略了。在下标变量中使用了表达式i++,用以修改循环变量。当然第二个for语句也可以这样作, C语言允许用表达式表示下标。 程序中最后一个printf语句输出了两次a[5]的值, 可以看出当下标不为整数时将自动取整。数组的赋值给数组赋值的方法除了用赋值语句对数组元素逐个赋值外, 还可采用初始化赋值和动态赋值的方法。数组初始化赋值数组初始化赋值是指在数组说明时给数组元素赋予初值。 数组初始化是在编译阶段进行的。这样将减少运行时间,提高效率。

初始化赋值的一般形式为: static 类型说明符 数组名[常量表达式]={值,值……值}; 其中static表示是静态存储类型, C语言规定只有静态存储数组和外部存储数组才可作初始化赋值(有关静态存储,外部存储的概念在第五章中介绍)。在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔。例如: static int a[10]={ 0,1,2,3,4,5,6,7,8,9 }; 相当于a[0]=0;a[1]=1...a[9]=9;

C语言对数组的初始赋值还有以下几点规定:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如: static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。 例如给十个元素全部赋1值,只能写为: static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为: static int a[10]=1;

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如: static int a[5]={1,2,3,4,5};可写为: static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。 这时可用循环语句配合scanf函数逐个对数组元素赋值。

void main()

{

int i,max,a[10];

printf(“input 10 numbers:\n”);

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

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

max=a[0];

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

if(a[i]>max) max=a[i];

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

}

本例程序中第一个for语句逐个输入10个数到数组a中。 然后把a[0]送入max中。在第二个for语句中,从a[1]到a[9]逐个与max中的内容比较,若比max的值大,则把该下标变量送入max中,因此max总是在已比较过的下标变量中为最大者。比较结束,输出max的值。

void main()

{

int i,j,p,q,s,a[10];

printf(“\n input 10 numbers:\n”);

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

篇8:C语言程序课程设计心得体会

在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。

虽然在上个学期中,我们已经学习了《c语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。

c语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。

在我们小组有解决不了的.问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。

这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。

在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!

当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有时会出现主菜单的死循环;在一次程序运行中,只能行使一种权限,要想再行使另一种权限,就只能退出程序,然后再运行程序。

三周的小学期即将结束,时间虽短,但是我收获了很多。最后,谢谢老师和同学们的指导,更要感谢我们小组成员之间的合作与交流。

篇9:C语言程序课程设计心得体会

在设计打字游戏的过程中,通过我们小组各成员之间的相互讨论和合作,我们完成了打字练习的程序设计。在这个学期中,我们已经学习了《C语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。

C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。

在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!

一学期的学习成果,都体现在了这次打字游戏的设计过程中。这个学期,我学得不算认真,一开始做感觉力不从心,但在几个同学的帮助和努力下,我翻阅课本,询问ACM大神,绞尽脑汁的情况下做完这个程序设计,我的自信一下子提高了。尽管对于有些人这种程序会很简单,可对我这个C语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!

【三、C程序的初步设计】相关文章:

1.科目三考试内容及合格标准c

2.C/C++中利用空指针(NULL),提高程序运行效率

3.城市网格化管理系统平台初步设计

4.c语言学习方法

5.c语言面试题

6.c程序设计心得体会

7.c教学设计

8.c语言实验报告

9.小学英语词汇c

10.口腔生理学术语(C)

下载word文档
《三、C程序的初步设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部