C语言初学者必懂的100个范例程序

时间:2019-05-11 22:55:27下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言初学者必懂的100个范例程序》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言初学者必懂的100个范例程序》。

第一篇:C语言初学者必懂的100个范例程序

经典C语言程序第一例

【程序1】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码: main(){ int i,j,k;printf(“n”);for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++)for(k=1;k<5;k++){ if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/ printf(“%d,%d,%dn”,i,j,k);} }

经典C语言程序第二例

【程序2】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于

40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。2.程序源代码: main(){ long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf(“%ld”,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;else

bonus=bonus10+(i-1000000)*0.01;printf(“bonus=%d”,bonus);}

经典C语言程序第三例

【程序3】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析:

2.程序源代码: #include “math.h” main(){ long int i,x,y,z;for(i=1;i<100000;i++){ x=sqrt(i+100);/*x为加上100后开方后的结果*/ y=sqrt(i+268);/*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/ printf(“n%ldn”,i);} }

经典C语言程序第四例

【程序4】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码: main(){ int day,month,year,sum,leap;printf(“nplease input year,month,dayn”);scanf(“%d,%d,%d”,&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/ { case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf(“data error”);break;} sum=sum+day;/*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;else leap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf(“It is the %dth day.”,sum);}

经典C语言程序第五例

【程序5】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

2.程序源代码: main(){ int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if(x>y){t=x;x=y;y=t;} /*交换x,y的值*/ if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/ if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/ printf(“small to big: %d %d %dn”,x,y,z);}

经典C语言程序第六例

【程序6】

题目:用*号输出字母C的图案。

1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。2.程序源代码:

#include “stdio.h” main(){ printf(“Hello C-world!n”);printf(“ ****n”);printf(“ *n”);printf(“ * n”);printf(“ ****n”);}

经典C语言程序第七例

【程序7】

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。不同字符,图形不一样。2.程序源代码:

#include “stdio.h” main(){ char a=176,b=219;printf(“%c%c%c%c%cn”,b,a,a,a,b);printf(“%c%c%c%c%cn”,a,b,a,b,a);printf(“%c%c%c%c%cn”,a,a,b,a,a);printf(“%c%c%c%c%cn”,a,b,a,b,a);printf(“%c%c%c%c%cn”,b,a,a,a,b);}

经典C语言程序第八例

【程序8】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。2.程序源代码:

#include “stdio.h” main(){ int i,j,result;printf(“n”);for(i=1;i<10;i++){ for(j=1;j<10;j++){ result=i*j;printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左对齐,占3位*/ } printf(“n”);/*每一行后换行*/ } }

经典C语言程序第九例

【程序9】

题目:要求输出国际象棋棋盘。

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

2.程序源代码:

#include “stdio.h” main(){ int i,j;for(i=0;i<8;i++){ for(j=0;j<8;j++)if((i+j)%2==0)printf(“%c%c”,219,219);else printf(“ ”);printf(“n”);} }

经典C语言程序第十例

【程序10】

题目:打印楼梯,同时在楼梯上方打印两个笑脸。

1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。2.程序源代码:

#include “stdio.h” main(){ int i,j;printf(“11n”);/*输出两个笑脸*/ for(i=1;i<11;i++){ for(j=1;j<=i;j++)printf(“%c%c”,219,219);printf(“n”);} }

经典C语言程序第十一例

【程序11】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....2.程序源代码: main(){ long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf(“%12ld %12ld”,f1,f2);if(i%2==0)printf(“n”);/*控制输出,每行四个*/ f1=f1+f2;/*前两个月加起来赋值给第三个月*/ f2=f1+f2;/*前两个月加起来赋值给第三个月*/ } }

经典C语言程序第十二例

【程序12】

题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.程序源代码: #include “math.h” main(){ int m,i,k,h=0,leap=1;printf(“n”);for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;} if(leap){printf(“%-4d”,m);h++;if(h%10==0)printf(“n”);} leap=1;} printf(“nThe total is %d”,h);}

经典C语言程序第十三例

【程序13】

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数

本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码: main(){ int i,j,k,n;printf(“'water flower'number is:”);for(n=100;n<1000;n++){ i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){ printf(“%-5d”,n);} } printf(“n”);}

经典C语言程序第十四例

【程序14】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。2.程序源代码:

/* zheng int is divided yinshu*/ main(){ int n,i;printf(“nplease input a number:n”);scanf(“%d”,&n);printf(“%d=”,n);for(i=2;i<=n;i++){ while(n!=i){ if(n%i==0){ printf(“%d*”,i);n=n/i;} else break;} } printf(“%d”,n);}

经典C语言程序第十五例

【程序15】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。2.程序源代码: main(){ int score;char grade;printf(“please input a scoren”);scanf(“%d”,&score);grade=score>=90?'A':(score>=60?'B':'C');printf(“%d belongs to %c”,score,grade);}

经典C语言程序第十六例

【程序16】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。2.程序源代码: main(){ int a,b,num1,num2,temp;printf(“please input two numbers:n”);scanf(“%d,%d”,&num1,&num2);if(num1{temp=num1;num1=num2;num2=temp;} a=num1;b=num2;while(b!=0)/*利用辗除法,直到b为0为止*/ { temp=a%b;a=b;b=temp;} printf(“gongyueshu:%dn”,a);printf(“gongbeishu:%dn”,num1*num2/a);}

经典C语言程序第十七例

【程序17】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为'n'.2.程序源代码:

#include “stdio.h” main(){char c;int letters=0,space=0,digit=0,others=0;printf(“please input some charactersn”);while((c=getchar())!='n'){ if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c==' ')space++;else if(c>='0'&&c<='9')digit++;else others++;} printf(“all in all:char=%d space=%d digit=%d others=%dn”,letters, space,digit,others);}

经典C语言程序第十八例

【程序18】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时

共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码: main(){ int a,n,count=1;long int sn=0,tn=0;printf(“please input a and nn”);scanf(“%d,%d”,&a,&n);printf(“a=%d,n=%dn”,a,n);while(count<=n){ tn=tn+a;sn=sn+tn;a=a*10;++count;} printf(“a+aa+...=%ldn”,sn);}

经典C语言程序第十九例

【程序19】

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。

1.程序分析:请参照程序<--上页程序14.2.程序源代码: main(){ static int k[10];int i,j,n,s;for(j=2;j<1000;j++){ n=-1;s=j;for(i=1;i { if((j%i)==0){n++;s=s-i;k[n]=i;} } if(s==0){ printf(“%d is a wanshu”,j);for(i=0;i printf(“%d,”,k[i]);printf(“%dn”,k[n]);} } }

经典C语言程序第二十例

【程序20】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 1.程序分析:见下面注释 2.程序源代码: main(){ float sn=100.0,hn=sn/2;int n;for(n=2;n<=10;n++){ sn=sn+2*hn;/*第n次落地时共经过的米数*/ hn=hn/2;/*第n次反跳高度*/ } printf(“the total of road is %fn”,sn);printf(“the tenth is %f metern”,hn);}

经典C语言程序第二十一例

【程序21】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。2.程序源代码: main(){ Int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1;day--;} printf(“the total is %dn”,x1);}

经典C语言程序第二十二例

【程序22】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。2.程序源代码: main(){ char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i='x';i<='z';i++)for(j='x';j<='z';j++){ if(i!=j)for(k='x';k<='z';k++){if(i!=k&&j!=k){if(i!='x'&&k!='x'&&k!='z')printf(“order is a--%ctb--%ctc--%cn”,i,j,k);} } } }

经典C语言程序第二十三例

【程序23】

题目:打印出如下图案(菱形)* *** ****** ******** ****** *** * 1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。2.程序源代码: main(){ int i,j,k;for(i=0;i<=3;i++){ for(j=0;j<=2-i;j++)printf(“ ”);for(k=0;k<=2*i;k++)printf(“*”);printf(“n”);} for(i=0;i<=2;i++){ for(j=0;j<=i;j++)printf(“ ”);for(k=0;k<=4-2*i;k++)printf(“*”);printf(“n”);} }

经典C语言程序第二十四例

【程序24】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。2.程序源代码: main(){ int n,t,number=20;float a=2,b=1,s=0;for(n=1;n<=number;n++){ s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/ } printf(“sum is %9.6fn”,s);}

经典C语言程序第二十五例

【程序25】

题目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加变成了累乘。2.程序源代码: main(){ float n,s=0,t=1;for(n=1;n<=20;n++){ t*=n;s+=t;} printf(“1+2!+3!...+20!=%en”,s);}

经典C语言程序第二十六例

【程序26】

题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!2.程序源代码:

#include “stdio.h” main(){ int i;int fact();for(i=0;i<5;i++)printf(“40:%d!=%dn”,i,fact(i));} int fact(j)int j;{ int sum;if(j==0)sum=1;else sum=j*fact(j-1);return sum;}

经典C语言程序第二十七例

【程序27】

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。1.程序分析: 2.程序源代码:

#include “stdio.h” main(){ int i=5;void palin(int n);printf(“40:”);palin(i);printf(“n”);} void palin(n)int n;{ char next;if(n<=1){ next=getchar();printf(“n:”);putchar(next);} else { next=getchar();palin(n-1);putchar(next);} }

经典C语言程序第二十八例

【程序28】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。2.程序源代码: age(n)int n;{ int c;if(n==1)c=10;else c=age(n-1)+2;return(c);} main(){ printf(“%d”,age(5));}

经典C语言程序第二十九例

【程序29】

题目:给一个不多于5位的正整数,要求:

一、求它是几位数,二、逆序打印出各位数字。1.程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数002班赵鑫提供)2.程序源代码: main(){ long a,b,c,d,e,x;scanf(“%ld”,&x);a=x/10000;/*分解出万位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出个位*/ if(a!=0)printf(“there are 5, %ld %ld %ld %ld %ldn”,e,d,c,b,a);else if(b!=0)printf(“there are 4, %ld %ld %ld %ldn”,e,d,c,b);else if(c!=0)printf(“ there are 3,%ld %ld %ldn”,e,d,c);else if(d!=0)printf(“there are 2, %ld %ldn”,e,d);else if(e!=0)printf(“ there are 1,%ldn”,e);}

经典C语言程序第三十例

【程序30】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

1.程序分析:同29例 2.程序源代码: main(){ long ge,shi,qian,wan,x;scanf(“%ld”,&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf(“this number is a huiwenn”);else printf(“this number is not a huiwenn”);}

经典C语言程序第三十一例

【程序31】

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。2.程序源代码:

#include void main(){ char letter;printf(“please input the first letter of somedayn”);while((letter=getch())!='Y')/*当所按字母为Y时才结束*/ { switch(letter){case 'S':printf(“please input second lettern”);if((letter=getch())=='a')printf(“saturdayn”);else if((letter=getch())=='u')printf(“sundayn”);else printf(“data errorn”);break;case 'F':printf(“fridayn”);break;case 'M':printf(“mondayn”);break;case 'T':printf(“please input second lettern”);if((letter=getch())=='u')printf(“tuesdayn”);else if((letter=getch())=='h')printf(“thursdayn”);else printf(“data errorn”);break;case 'W':printf(“wednesdayn”);break;default: printf(“data errorn”);} } }

经典C语言程序第三十二例

【程序32】

题目:Press any key to change color, do you want to try it.Please hurry up!1.程序分析: 2.程序源代码:

#include void main(void){ int color;for(color = 0;color < 8;color++){ textbackground(color);/*设置文本的背景颜色*/ cprintf(“This is color %drn”, color);cprintf(“Press any key to continuern”);getch();/*输入字符看不见*/ } }

经典C语言程序第三十三例

【程序33】

题目:学习gotoxy()与clrscr()函数 1.程序分析: 2.程序源代码:

#include void main(void){ clrscr();/*清屏函数*/ textbackground(2);gotoxy(1, 5);/*定位函数*/ cprintf(“Output at row 5 column 1n”);textbackground(3);gotoxy(20, 10);cprintf(“Output at row 10 column 20n”);}

经典C语言程序第三十四例

【程序34】

题目:练习函数调用 1.程序分析: 2.程序源代码:

#include void hello_world(void){ printf(“Hello, world!n”);} void three_hellos(void){ int counter;for(counter = 1;counter <= 3;counter++)hello_world();/*调用此函数*/ } void main(void){ three_hellos();/*调用此函数*/ }

经典C语言程序第三十五例

【程序35】

题目:文本颜色设置 1.程序分析: 2.程序源代码:

#include void main(void){ int color;for(color = 1;color < 16;color++){ textcolor(color);/*设置文本颜色*/ cprintf(“This is color %drn”, color);} textcolor(128 + 15);cprintf(“This is blinkingrn”);}

经典C语言程序第三十六例

【程序36】

题目:求100之内的素数 1.程序分析: 2.程序源代码:

#include #include “math.h” #define N 101 main(){ int i,j,line,a[N];for(i=2;i

经典C语言程序第三十七例

【程序37】

题目:对10个数进行排序

1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。2.程序源代码: #define N 10 main(){int i,j,min,tem,a[N];/*input data*/ printf(“please input ten num:n”);for(i=0;ia[j])min=j;tem=a[i];a[i]=a[min];a[min]=tem;} /*output data*/ printf(“After sorted n”);for(i=0;i

经典C语言程序第三十八例

【程序38】

题目:求一个3*3矩阵对角线元素之和

1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。2.程序源代码: main(){ float a[3][3],sum=0;int i,j;printf(“please input rectangle element:n”);for(i=0;i<3;i++)for(j=0;j<3;j++)scanf(“%f”,&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf(“duijiaoxian he is %6.2f”,sum);}

经典C语言程序第三十九例

【程序39】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1.程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。2.程序源代码: main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf(“original array is:n”);for(i=0;i<10;i++)printf(“%5d”,a[i]);printf(“n”);printf(“insert a new number:”);scanf(“%d”,&number);end=a[9];if(number>end)a[10]=number;else {for(i=0;i<10;i++){ if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;temp1=temp2;} break;} } } for(i=0;i<11;i++)printf(“%6d”,a[i]);}

经典C语言程序第四十例

【程序40】

题目:将一个数组逆序输出。

1.程序分析:用第一个与最后一个交换。2.程序源代码: #define N 5 main(){ int a[N]={9,6,5,4,1},i,temp;printf(“n original array:n”);for(i=0;i

经典C语言程序第四十一例

【程序41】

题目:学习static定义静态变量的用法 1.程序分析: 2.程序源代码:

#include “stdio.h” varfunc(){ int var=0;static int static_var=0;printf(“40:var equal %d n”,var);printf(“40:static var equal %d n”,static_var);printf(“n”);var++;static_var++;} void main(){int i;for(i=0;i<3;i++)varfunc();}

经典C语言程序第四十二例

【程序42】

题目:学习使用auto定义变量的用法 1.程序分析: 2.程序源代码:

#include “stdio.h” main(){int i,num;num=2;for(i=0;i<3;i++){ printf(“40: The num equal %d n”,num);num++;{ auto int num=1;printf(“40: The internal block num equal %d n”,num);num++;} } }

经典C语言程序第四十三例

【程序43】

题目:学习使用static的另一用法。1.程序分析: 2.程序源代码:

#include “stdio.h” main(){ int i,num;num=2;for(i=0;i<3;i++){ printf(“40: The num equal %d n”,num);num++;{ static int num=1;printf(“40:The internal block num equal %dn”,num);num++;} } }

经典C语言程序第四十四例

【程序44】

题目:学习使用external的用法。1.程序分析: 2.程序源代码:

#include “stdio.h” int a,b,c;void add(){ int a;a=3;c=a+b;} void main(){ a=b=4;add();printf(“The value of c is equal to %dn”,c);}

经典C语言程序第四十五例

【程序45】

题目:学习使用register定义变量的方法。1.程序分析: 2.程序源代码: void main(){ register int i;int tmp=0;for(i=1;i<=100;i++)tmp+=i;printf(“The sum is %dn”,tmp);}

经典C语言程序第四十六例 【程序46】

题目:宏#define命令练习(1)1.程序分析: 2.程序源代码:

#include “stdio.h” #define TRUE 1 #define FALSE 0 #define SQ(x)(x)*(x)void main(){ int num;int again=1;printf(“40: Program will stop if input value less than 50.n”);while(again){ printf(“40:Please input number==>”);scanf(“%d”,&num);printf(“40:The square for this number is %d n”,SQ(num));if(num>=50)again=TRUE;else again=FALSE;} }

经典C语言程序第四十七例

【程序47】

题目:宏#define命令练习(2)1.程序分析: 2.程序源代码:

#include “stdio.h” #define exchange(a,b){ /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上“"*/

int t;t=a;a=b;b=t;} void main(void){ int x=10;int y=20;printf(”x=%d;y=%dn“,x,y);exchange(x,y);printf(”x=%d;y=%dn“,x,y);}

经典C语言程序第四十八例

【程序48】

题目:宏#define命令练习(3)1.程序分析: 2.程序源代码: #define LAG > #define SMA < #define EQ == #include ”stdio.h“ void main(){ int i=10;int j=20;if(i LAG j)printf(”40: %d larger than %d n“,i,j);else if(i EQ j)printf(”40: %d equal to %d n“,i,j);else if(i SMA j)printf(”40:%d smaller than %d n“,i,j);else printf(”40: No such value.n“);}

经典C语言程序第四十九例

【程序49】

题目:#if #ifdef和#ifndef的综合应用。1.程序分析: 2.程序源代码:

#include ”stdio.h“ #define MAX #define MAXIMUM(x,y)(x>y)?x:y #define MINIMUM(x,y)(x>y)?y:x void main(){ int a=10,b=20;#ifdef MAX printf(”40: The larger one is %dn“,MAXIMUM(a,b));#else printf(”40: The lower one is %dn“,MINIMUM(a,b));#endif #ifndef MIN printf(”40: The lower one is %dn“,MINIMUM(a,b));#else printf(”40: The larger one is %dn“,MAXIMUM(a,b));#endif #undef MAX #ifdef MAX printf(”40: The larger one is %dn“,MAXIMUM(a,b));#else printf(”40: The lower one is %dn“,MINIMUM(a,b));#endif #define MIN #ifndef MIN printf(”40: The lower one is %dn“,MINIMUM(a,b));#else printf(”40: The larger one is %dn“,MAXIMUM(a,b));#endif }

经典C语言程序第五十例

【程序50】

题目:#include 的应用练习1.程序分析: 2.程序源代码: test.h 文件如下: #define LAG > #define SMA < #define EQ == #include ”test.h“ /*一个新文件50.c,包含test.h*/ #include ”stdio.h“ void main(){ int i=10;int j=20;if(i LAG j)printf(”40: %d larger than %d n“,i,j);else if(i EQ j)printf(”40: %d equal to %d n“,i,j);else if(i SMA j)printf(”40:%d smaller than %d n“,i,j);else printf(”40: No such value.n“);}

经典C语言程序第五十一例

【程序51】

题目:学习使用按位与 &。

1.程序分析:0&0=0;0&1=0;1&0=0;1&1=1 2.程序源代码:

#include ”stdio.h“ main(){ int a,b;a=077;b=a&3;printf(”40: The a & b(decimal)is %d n“,b);b&=7;printf(”40: The a & b(decimal)is %d n“,b);}

经典C语言程序第五十二例

【程序52】

题目:学习使用按位或 |。

1.程序分析:0|0=0;0|1=1;1|0=1;1|1=1 2.程序源代码:

#include ”stdio.h“ main(){ int a,b;a=077;b=a|3;printf(”40: The a & b(decimal)is %d n“,b);b|=7;printf(”40: The a & b(decimal)is %d n“,b);}

经典C语言程序第五十三例

【程序53】

题目:学习使用按位异或 ^。

1.程序分析:0^0=0;0^1=1;1^0=1;1^1=0 2.程序源代码:

#include ”stdio.h“ main(){ int a,b;a=077;b=a^3;printf(”40: The a & b(decimal)is %d n“,b);b^=7;printf(”40: The a & b(decimal)is %d n“,b);}

经典C语言程序第五十四例

【程序54】

题目:取一个整数a从右端开始的4~7位。程序分析:可以这样考虑:(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)(3)将上面二者进行&运算。2.程序源代码: main(){ unsigned a,b,c,d;scanf(”%o“,&a);b=a>>4;c=~(~0<<4);d=b&c;printf(”%on%on“,a,d);}

经典C语言程序第五十五例

【程序55】

题目:学习使用按位取反~。1.程序分析:~0=1;~1=0;2.程序源代码:

#include ”stdio.h“ main(){ int a,b;a=234;b=~a;printf(”40: The a's 1 complement(decimal)is %d n“,b);a=~a;printf(”40: The a's 1 complement(hexidecimal)is %x n“,a);}

经典C语言程序第五十六例

【程序56】

题目:画图,学用circle画圆形。1.程序分析: 2.程序源代码: /*circle*/ #include ”graphics.h“ main(){int driver,mode,i;float j=1,k=1;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,”“);setbkcolor(YELLOW);for(i=0;i<=25;i++){ setcolor(8);circle(310,250,k);k=k+j;j=j+0.3;} }

经典C语言程序第五十七例

【程序57】

题目:画图,学用line画直线。1.程序分析: 2.程序源代码:

#include ”graphics.h“ main(){int driver,mode,i;float x0,y0,y1,x1;float j=12,k;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,”“);setbkcolor(GREEN);x0=263;y0=263;y1=275;x1=275;for(i=0;i<=18;i++){ setcolor(5);line(x0,y0,x0,y1);x0=x0-5;y0=y0-5;x1=x1+5;y1=y1+5;j=j+10;} x0=263;y1=275;y0=263;for(i=0;i<=20;i++){ setcolor(5);line(x0,y0,x0,y1);x0=x0+5;y0=y0+5;y1=y1-5;} }

经典C语言程序第五十八例

【程序58】

题目:画图,学用rectangle画方形。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:

#include ”graphics.h“ main(){int x0,y0,y1,x1,driver,mode,i;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,”“);setbkcolor(YELLOW);x0=263;y0=263;y1=275;x1=275;for(i=0;i<=18;i++){ setcolor(1);rectangle(x0,y0,x1,y1);x0=x0-5;y0=y0-5;x1=x1+5;y1=y1+5;} settextstyle(DEFAULT_FONT,HORIZ_DIR,2);outtextxy(150,40,”How beautiful it is!“);line(130,60,480,60);setcolor(2);circle(269,269,137);}

经典C语言程序第五十九例

【程序59】

题目:画图,综合例子。1.程序分析: 2.程序源代码:

# define PAI 3.1415926 # define B 0.809 # include ”graphics.h“ #include ”math.h“ main(){ int i,j,k,x0,y0,x,y,driver,mode;float a;driver=CGA;mode=CGAC0;initgraph(&driver,&mode,”“);setcolor(3);setbkcolor(GREEN);x0=150;y0=100;circle(x0,y0,10);circle(x0,y0,20);circle(x0,y0,50);for(i=0;i<16;i++){ a=(2*PAI/16)*i;x=ceil(x0+48*cos(a));y=ceil(y0+48*sin(a)*B);setcolor(2);line(x0,y0,x,y);} setcolor(3);circle(x0,y0,60);/* Make 0 time normal size letters */ settextstyle(DEFAULT_FONT,HORIZ_DIR,0);outtextxy(10,170,”press a key“);getch();setfillstyle(HATCH_FILL,YELLOW);floodfill(202,100,WHITE);getch();for(k=0;k<=500;k++){ setcolor(3);for(i=0;i<=16;i++){ a=(2*PAI/16)*i+(2*PAI/180)*k;x=ceil(x0+48*cos(a));y=ceil(y0+48+sin(a)*B);setcolor(2);line(x0,y0,x,y);} for(j=1;j<=50;j++){ a=(2*PAI/16)*i+(2*PAI/180)*k-1;x=ceil(x0+48*cos(a));y=ceil(y0+48*sin(a)*B);line(x0,y0,x,y);} } restorecrtmode();}

经典C语言程序第六十例

【程序60】

题目:画图,综合例子。1.程序分析: 2.程序源代码:

#include ”graphics.h“ #define LEFT 0 #define TOP 0 #define RIGHT 639 #define BOTTOM 479 #define LINES 400 #define MAXCOLOR 15 main(){ int driver,mode,error;int x1,y1;int x2,y2;int dx1,dy1,dx2,dy2,i=1;int count=0;int color=0;driver=VGA;mode=VGAHI;initgraph(&driver,&mode,”“);x1=x2=y1=y2=10;dx1=dy1=2;dx2=dy2=3;while(!kbhit()){ line(x1,y1,x2,y2);x1+=dx1;y1+=dy1;x2+=dx2;y2+dy2;if(x1<=LEFT||x1>=RIGHT)dx1=-dx1;if(y1<=TOP||y1>=BOTTOM)dy1=-dy1;if(x2<=LEFT||x2>=RIGHT)dx2=-dx2;if(y2<=TOP||y2>=BOTTOM)dy2=-dy2;if(++count>LINES){ setcolor(color);color=(color>=MAXCOLOR)?0:++color;} } closegraph();}

经典C语言程序第六十一例

【程序61】

题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析: 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 2.程序源代码: main(){int i,j;int a[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

经典C语言程序第六十二例

【程序62】

题目:学习putpixel画点。1.程序分析: 2.程序源代码:

#include ”stdio.h“ #include ”graphics.h“ main(){ int i,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);}

经典C语言程序第六十三例

【程序63】

题目:画椭圆ellipse 1.程序分析: 2.程序源代码:

#include ”stdio.h“ #include ”graphics.h“ #include ”conio.h“ main(){ int x=360,y=160,driver=VGA,mode=VGAHI;int num=20,i;int top,bottom;initgraph(&driver,&mode,”“);top=y-30;bottom=y-30;for(i=0;i

经典C语言程序第六十四例

【程序64】

题目:利用ellipse and rectangle 画图。1.程序分析: 2.程序源代码:

#include ”stdio.h“ #include ”graphics.h“ #include ”conio.h“ main(){ int driver=VGA,mode=VGAHI;int i,num=15,top=50;int left=20,right=50;initgraph(&driver,&mode,”“);for(i=0;i

经典C语言程序第六十五例

【程序65】

题目:一个最优美的图案。1.程序分析: 2.程序源代码:

#include ”graphics.h“ #include ”math.h“ #include ”dos.h“ #include ”conio.h“ #include ”stdlib.h“ #include ”stdio.h“ #include ”stdarg.h“ #define MAXPTS 15 #define PI 3.1415926 struct PTS { int x,y;};double AspectRatio=0.85;void LineToDemo(void){ struct viewporttype vp;struct PTS points[MAXPTS];int i, j, h, w, xcenter, ycenter;int radius, angle, step;double rads;printf(” MoveTo / LineTo Demonstration“);getviewsettings(&vp);h = vp.bottomvp.left;xcenter = w / 2;/* Determine the center of circle */ ycenter = h / 2;radius =(h(int)(sin(rads)* radius * AspectRatio);angle += step;/* Move to next increment */ } circle(xcenter, ycenter, radius);/* Draw bounding circle */ for(i=0;i

经典C语言程序第六十六例

【程序66】

题目:输入3个数a,b,c,按大小顺序输出。1.程序分析:利用指针方法。2.程序源代码: /*pointer*/ main(){ int n1,n2,n3;int *pointer1,*pointer2,*pointer3;printf(”please input 3 number:n1,n2,n3:“);scanf(”%d,%d,%d“,&n1,&n2,&n3);pointer1=&n1;pointer2=&n2;pointer3=&n3;if(n1>n2)swap(pointer1,pointer2);if(n1>n3)swap(pointer1,pointer3);if(n2>n3)swap(pointer2,pointer3);printf(”the sorted numbers are:%d,%d,%dn“,n1,n2,n3);} swap(p1,p2)int *p1,*p2;{int p;p=*p1;*p1=*p2;*p2=p;}

经典C语言程序第六十七例

【程序67】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。1.程序分析:谭浩强的书中答案有问题。2.程序源代码: main(){ int number[10];input(number);max_min(number);output(number);} input(number)int number[10];{int i;for(i=0;i<9;i++)scanf(”%d,“,&number[i]);scanf(”%d“,&number[9]);} max_min(array)int array[10];{int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p*max)max=p;else if(*p<*min)min=p;k=*max;l=*min;*p=array[0];array[0]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;} output(array)int array[10];{ int *p;for(p=array;p

经典C语言程序第六十八例

【程序68】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 1.程序分析: 2.程序源代码: main(){ int number[20],n,m,i;printf(”the total numbers is:“);scanf(”%d“,&n);printf(”back m:“);scanf(”%d“,&m);for(i=0;iarray;p--)*p=*(p-1);*array=array_end;m--;if(m>0)move(array,n,m);}

经典C语言程序第六十九例

【程序69】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。1.程序分析: 2.程序源代码: #define nmax 50 main(){ int i,k,m,n,num[nmax],*p;printf(”please input the total of numbers:“);scanf(”%d“,&n);p=num;for(i=0;i

经典C语言程序第七十例

【程序70】

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。1.程序分析: 2.程序源代码: main(){ int len;char *str[20];printf(”please input a string:n“);scanf(”%s“,str);len=length(str);printf(”the string has %d characters.“,len);} length(p)char *p;{ int n;n=0;while(*p!=''){ n++;p++;} return n;}

经典C语言程序第七十一例

【程序71】

题目:编写input()和output()函数输入,输出5个学生的数据记录。1.程序分析: 2.程序源代码: #define N 5 struct student { char num[6];char name[8];int score[4];} stu[N];input(stu)struct student stu[];{ int i,j;for(i=0;i

经典C语言程序第七十二例

【程序72】

题目:创建一个链表。1.程序分析: 2.程序源代码: /*creat a list*/ #include ”stdlib.h“ #include ”stdio.h“ struct list { int data;struct list *next;};typedef struct list node;typedef node *link;void main(){ link ptr,head;int num,i;ptr=(link)malloc(sizeof(node));ptr=head;printf(”please input 5 numbers==>n“);for(i=0;i<=4;i++){ scanf(”%d“,&num);ptr->data=num;ptr->next=(link)malloc(sizeof(node));if(i==4)ptr->next=NULL;else ptr=ptr->next;} ptr=head;while(ptr!=NULL){ printf(”The value is ==>%dn“,ptr->data);ptr=ptr->next;} }

经典C语言程序第七十三例

【程序73】

题目:反向输出一个链表。1.程序分析: 2.程序源代码:

/*reverse output a list*/ #include ”stdlib.h“ #include ”stdio.h“ struct list { int data;struct list *next;};typedef struct list node;typedef node *link;void main(){link ptr,head,tail;int num,i;tail=(link)malloc(sizeof(node));tail->next=NULL;ptr=tail;printf(”nplease input 5 data==>n“);for(i=0;i<=4;i++){ scanf(”%d“,&num);ptr->data=num;head=(link)malloc(sizeof(node));head->next=ptr;ptr=head;} ptr=ptr->next;while(ptr!=NULL){printf(”The value is ==>%dn“,ptr->data);ptr=ptr->next;}}

经典C语言程序第七十四例

【程序74】

题目:连接两个链表。1.程序分析: 2.程序源代码:

#include ”stdlib.h“ #include ”stdio.h" struct list { int data;struct list *next;};typedef struct list node;typedef node *link;link delete_node(link pointer,link tmp){if(tmp==NULL)/*delete first node*/ return pointer->next;else { if(tmp->next->next==NULL)/*delete last node*/ tmp->next=NULL;else /*delete the other node*/ tmp->next=tmp->next->next;return pointer;} } void selection_sort(link pointer,int num){link tmp,btmp;int i,min;for(i=0;idata;btmp=NULL;while(tmp->next){if(min>tmp->next->data){min=tmp->next->data;btmp=tmp;} tmp=tmp->next;

第二篇:什么语言才能懂

什么语言才能让你懂?

李孝杰 中文一班

***9

《小孩不笨》这部影片里多种语言混乱夹杂,英语华语马来语乃至地方方言,与此相对应的,人与人之间很多时候难以理解对方的话,而这,不仅仅是语言的不同,而是各方面的不能沟通。

语言上的障碍是不能互相理解的一方面。作为新加坡的华人,他们更熟悉英语乃至马来语,有两个场景是对此的诠释:一个是华文课上,老师讲到“稀饭”这个词,学生表示不能理解,但是老师拒绝用英语解释,因为“我以前上英文的时候,老师也没有用华文来解释。”而对于校长的老师应该与时俱进的要求,华文老师表示不能接受。这就不单单是语言障碍的问题,他们有共同熟悉的语言——英语,却不能以其为桥梁,使对方走进自己熟悉的世界,而是以对方陌生的方式,为其挖掘了一条无法跨越的鸿沟,更多的时候,他们不是无法沟通,而是根本就没有耐心听对方在说什么,是从没有过沟通。否则一个自己出钱给学生买字典,牺牲休息时间给学生补习的老师,不但没有得到预想的提高成绩的效果,反而被学生厌弃,这不是很不合逻辑的吗?只因为他们之间的沟通是无效的,他们的“门”已经关了,完全不能走进对方的世界。另一个场景便是在校长的办公室里,关于授之以渔还是授之以鱼的讨论,因为校长不能理解话中的含义而使谈话进入尴尬的境界。这是不同文化背景之间的隔阂,就比如我们和西方人说蛇年出生的人比较聪慧,而他们的第一反应会说不是天蝎座比较聪明吗?这样的问题无所不在,可是这不是关键,只要耐心解释,用大家都能理解的语言,这反而是增进了解的话题,缓解僵持的突破点,而如果这些不同成了沟通障碍,只能说沟通的双方并没有他们表现出来的那么想交流,他们,也不过是想让对方听自己说话而已。

所以,所谓的语言障碍只是沟通问题中很少很少的一个症结点,是为自己的烦躁缺少耐心找的借口,因为很多时候,沟通不仅仅是通过语言,而是通过心。电影里面很多矛盾产生的原因也并不是语言的不同,而是没有全身心的投入。

表现之一便是父母与孩子之间的代沟。

就像影片名字一样,孩子并不笨,每个孩子都有一个自己的世界,他们在自己喜欢的领域恣意驰骋,用自己的聪明才智为自己的世界镀上金色的光辉。杰利的细心上善解人意,学谦在博客上面表现的才华以及在电脑方面的天赋,成才对武术的执着,如果以多元智力论来说,他们不是笨孩子,甚至他们都不是平常的孩子,可是不论父母还是老师,他们看到的却只有成绩。他们整日要求的,也只是卷子上的分数。如果他们能更用心的关注孩子,能认可他们除了成绩以外的才华,能像那个胖阿姨一样适时给予鼓励,那么拥有这么聪明可人的孩子会是多么快乐自豪的事情。可惜的是他们只能看到成绩,而他们给予孩子的,也只有物质。

杰利曾经用黯淡的声音说:“我有爸爸妈妈,可是我的生活和孤儿差不多。哥哥就是不喜欢我,所以很多事情,我都是自己想办法。”显然,丰裕的生活下,杰利并不是理所当然的开心,从一个一无所知的孩子成长到无所不知的人才,他需要有人不是给他指引,给他帮助,可是当 ——《小孩不笨》观后感

杰利反复拨不通父母的电话,当那唯一用以交流的纸条又被震落在地上的时候,当杰利说印象中的爸爸只是一个黑漆漆的影子的时候,显然,他们成长的道路上本应像路标一般给予指引的人不在,孩子们只能独自探索,只能在小的时候,就开始体会一个人的孤单。

电影中杰利关于怀孕闹的那个乌龙,似乎是一个笑点,很多人在这里放松紧绷的神经,可是我看到的却只有少年的无奈。

被同学戏弄的杰利只是想知道孩子是怎么来的,可是这时候看不到爸爸的影子,妈妈只是用几个字贴在冰箱上,淡漠的说长大了自然就知道,奶奶用难懂的方言说垃圾桶捡来的,佣人也用哄小孩子的语气说垃圾桶捡来的,哥哥们有自己青春期的困惑,这个时候,能给与帮助的还有谁呢?似乎教授知识的老师是最值得信赖的人,可是老师也因为尴尬而恼怒,气愤是说再见„„

成长的道路很长,一个人探索很孤单,所以我们犯错误是不是情有可原?小女孩吃了过多的黄梨肚子疼,学校找了家长,爸爸妈妈才知道“我”又闯祸了,他们终于能把目光从工作转移到了“我”身上,“我们”也终于有了语言的交流,可是,“我”得能到的只是不问缘由的谩骂„„

此外,教育过程中的一些方法也值得深思。

父母要孩子吃饭的时候不能接电话而自己却接电话,面对孩子指责的目光又随意的用谎话遮掩,这直接毁坏了在孩子心目中的形象,使孩子丧失对父母的信任感;杰利父亲在指导作业时候的敷衍了事,以及随意的责备,很多时候是孩子自卑的根源;妈妈在看到孩子买的礼物的时候不问根源的随口谴责,也许对于她只是一种习惯,可是孩子却从小,在亲人这里,就感觉不到成功的喜悦。可能他们的方法只是对上一代的沿袭,就像华文老实说我的老师教我英文的时候没有用华文翻译,就像成才的爸爸说我的爸爸这是这么把我从小打到大,也许他们当年也都怨恨过,可是一旦自己到了那个位置,又会不自居的借用自己曾经怨恨的方法,因为他们不知道除此以外,还能用什么方式。他们没得到过的,他们不知道怎么给予。

影片中也有对此尝试的该给,比如华文老师对得了12分的晶晶的鼓励,比如成才爸爸尝试着对成才说我爱你,试图通过送给他书包表示自己的关怀,可能,电影里,成功了,也可能,没有。就像教育部规定的公开鞭打学生,这是对传统教育制度的沿袭,可是在今天的教育体制下,关于鞭打是不是适合体罚学生,尤其是公开场合的体罚,有没有考虑他们的尊严。这引起了广泛讨论。一个人关于“我妈鞭打我,学校鞭打我,监狱鞭打我爸,这是什么,从小训练吗?”的质问让校长哑然,“学校如果没有办法改变身边人对受刑者的看法,就没有权利公开鞭打学生。”更是对制定此规矩者的警醒。也许,那些自上一辈流传下来的方法早就不适合现在,世界早就变了,对象也已经改变,相对应的教育制度,不论是学校教育还是家庭教育,都应该有新的方式出现。

同样,学校教育也应该与时俱进。纵然父母把孩子交给学校想抛开一切责任是不对的,但就目前的教育形式,自小学开始到大学,学生在校时间几乎占据了所有时间的三分之二,这在孩子个人的成长力同样是不可替代的黄金时期。所以学校的责任不仅仅是简单的教授一些知识,同样有培养孩子性格,指引他们成长的作用。但是现在的学校同样是只能看见成绩而看不见人,这样应该是教育改革首先要面对的问题。

然后,除了父母与孩子,还有相同文化中的人彼此之间的不理解。杰利爸爸妈妈吵架后无

人先道歉,因为他们认为冷战谁先开口,谁就输了,孩子都知道大人常逼我们讲对不起,自己讲却好像会死一样。另外对于开除成才和鞭打学谦的处分的一节,成才的爸爸和学谦的妈妈讲着对对方完全不利的话却不自知,因为他们完全沉静在自己的思维里,而丝毫没有顾及身边的人。

整个电影中矛盾重重,夫妻的争吵,兄弟之间的漠不关心,父母子女之间的冷漠。以及匆忙的人们互相之间的隔阂,如此种种,必然会有很坏的结果:成才和学谦去偷东西,去抢劫,杰利也偷了别人的钱,虽然剧中他们有各自的理由,并且最终大团圆的结局给了他们光明的未来,可是这些取自现实中的情节,却真的很难有电影中的结局。

到底什么语言才能沟通呢?其实能交流的不是语言,是心。心理学家皮亚杰认为,儿童总是积极的,理性的试图学习。可是他们的积极是有限度的,杰利处于勤奋感对自卑感的儿童晚期,他们渴望通过成功取得成就,体验随之带来的胜任感,可是他的成功得不到认可,学谦则是青少年时期,是自我感对统一感混乱时期,他们在学校和社会实践中,通过扮演不同角色,形成人格,社会,职业方面的自我认同感。这是一种关于自己在社会中扮演什么样的地位,将来准备成为什么样的人,以及怎么样成为理想中人等一系列感觉。但是,同样的他的行为得不到认可,无法取得不同角色的统一。这是一个本应该有人指导的时期,否则很容易在慌乱中走进歧途,就像电影里面的孩子。

加德纳的多元智力理论中,智力并不是单一的,创造力高也是智力高的一种表现,所以,不论学谦成才还是杰利,他们都是聪明的,只是他们得不到关注,得不到认同,所以,博客中,学谦写下杨学谦死了,现实里,他已经绝望,那扇门,是真的关闭了。他们结交那些坏人人不是偶然,因为在那里会有人听他们说话,赏识他们平时不被重视的才华,并且有兄弟间的关爱。就像现在的传销,很多人被吸引不是因为本身多么的邪恶贪婪,而只是渴望一点温暖。

太多的负面强化,没有对孩子的表扬,看不到他们的优点,不懂的称赞别人,无法用自身的行为给孩子一个很好的榜样,太多太多的事情已经深深的隔阂了人与人之间的距离,很多人也都丢失了打开别人心扉的那把钥匙,太多次的问“我不知道要说什么语言你才能听得懂”,却仍旧不能走进别人的世界。

那么多现实的问题在电影里忽然转折成了大团圆,可是,屏幕前的我们,要怎么解决生活中的沟通障碍,我们是不是很久以前,就已经不被人听懂?

第三篇:求职必懂的英文

able 有才干的,能干的adaptable 适应性强的active 主动的,活跃的aggressive 有进取心的ambitious 有雄心壮志的amiable 和蔼可亲的amicable 友好的analytical 善于分析的apprehensive 有理解力的aspiring 有志气的,有抱负的audacious 大胆的,有冒险精神的capable 有能力的,有才能的careful 办理仔细的candid 正直的competent 能胜任的constructive 建设性的cooperative 有合作精神的creative 富创造力的dedicated 有奉献精神的dependable 可靠的diplomatic 老练的,有策略的disciplined 守纪律的dutiful 尽职的well--educated 受过良好教育的efficient 有效率的energetic 精力充沛的expressivity 善于表达faithful 守信的,忠诚的frank 直率的,真诚的generous 宽宏大量的genteel 有教养的gentle 有礼貌的humorous 有幽默

impartial 公正的independent 有主见的industrious 勤奋的ingenious 有独创性的motivated 目的明确的intelligent 理解力强的learned 精通某门学问的logical 条理分明的methodical 有方法的modest 谦虚的objective 客观的precise 一丝不苟的punctual 严守时刻的realistic 实事求是的responsible 负责的sensible 明白事理的sporting 光明正大的steady 踏实的systematic 有系统的purposeful 意志坚强的sweet-tempered 性情温和的temperate 稳健的tireless 孜孜不倦的学会 society

协会 association

研究会 research society

会长 president

副会长 vice-president

理事 director

学术活动 academic activities

社会活动 social activities

学生会 student council

会员/资格 membership

秘书长 secretary-general

My salary requirement is in the $100,000-$120,000range with appropriate benefits.I would be

willing to relocate for the right opportunity.◆The salary required is 12,000 per month, living in the house.◆I am quite willing to start with a small salary.◆I am willing to serve on trial for some months at a small salary.◆I got five thousand and five hundred per month.(完)

介绍特长常用语

求职信结尾处常用语

◆ I should appreciate the privilege of an interviews.I may be reached by letter at the address given above, or by telephone at 1234651.◆ I feel that a personal meeting would give us the opportunity to discuss your shout-and long-term objectives and my ability to direct your organization towards successfully achieving those goals.◆ I should be glad to have a personal interview, and can furnish references if desired.◆ Thank you for your consideration.◆ I will contact you in a few days to arrange a meeting for further discussion.In the interim, should you require additional information, I may be reached at 6666666 between 11:00AM and 6:00PM.◆ I welcome the opportunity to meet with you to further discuss my qualifications and your needs.Thank you for your time and consideration.◆ I have enclosed a resume as well as a brief sample of my writing for your review.I look forward to meeting with you to discuss further how I could contribute to your organization.◆ Thank you for your attention to this matter.I lood forward to speaking with you.◆ The enclosed resume describes my qualifications for the position advertised.I would welcome the opportunity to personally discuss my qualifications with you at your convenience.◆ I would welcome the opportunity for a personal interviews with you at your convenience.◆ I feel confident that given the opportunity, I can make an immediate contribution to Any Corporation.I would appreciate the opportunity to meet with you to discuss your requirements.I will call your office on Friday, to schedule an appointment.Thank you for your consideration.◆ I look forward to speaking with you.◆ I can be reached at the telephone number listed above.I would appreciate any leads you could give me.Again, I very much enjoyed our conversation.(完)

◆Over eleven years of extensive computer/electronics experience.Versed in both digital and analog electronics with specific emphasis on computer hardware/software.Special expertise in system and component evaluation.Network supervisor responsible for installing/maintaining Arc net LAN system.Proficient in assembly and C programming languagesL.Excellent communication skills including written, verbal and interpersonal.IBM: Word Perfect, Word for Windows;Macintosh: Microsoft Word, File Maker.◆AT&T and Compaq PC's with Samna program;data entry, CRT, typing(55wpm)

◆Macintosh: PageMaker, Word.IBM and Macintosh.Lotus 1-2-3 and Microsoft Word.◆Maclntosh:Pagemaker,Word.IBM:WordPerfect,Excel and rBase.◆Proficient in Microsoft Word,WordPerfect,Lotus 1-2-3,and Quark.Working knowledge of the French language.◆Typing(60 wpm), Shorthand(60-70 wpm), WANG Word Processing, knowledge of other word processing systems.Fluency in German, good verbal and written communications skills.◆Systems: Lexitron, PTS100, IBM Personal Computer

Software: WordStar, Accounting Plus, Symphony, Lotus 1-2-3, WordPerfect, DOS, Microsoft Word

◆At school I won a scholarship and the first prize in speech contest.◆I have received an ordinary English education, and have a slight knowledge of Spanish.I took a Spanish course in college.◆I can write shorthand at the rate of 120 words per minute, and typewriting at 55 words English.◆At school I won a scholarship and the first prize in speech contest.(完)

第四篇:C语言必背18个经典程序(写写帮整理)

C语言必背18个经典程序

1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include “stdio.h” main(){int i,j,result;for(i=1;i<10;i++)

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

{

result=i*j;

printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左对齐,占3位*/

}

printf(“n”);/*每一行后换行*/

} system(“pause”);}

2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main(){ long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++)

{ printf(“%12ld %12ld”,f1,f2);

if(i%2==0)printf(“n”);/*控制输出,每行四个*/

f1=f1+f2;/*前两个月加起来赋值给第三个月*/

f2=f1+f2;/*前两个月加起来赋值给第三个月*/

} }

3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。*/ #include “math.h” main(){

int m,i,k,h=0,leap=1;

printf(“n”);

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

{ k=sqrt(m);

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

if(m%i==0)

{leap=0;break;}

if(leap)

/*内循环结束后,leap依然为1,则m是素数*/

{printf(“%-4d”,m);h++;

if(h%10==0)

printf(“n”);

}

leap=1;

}

printf(“nThe total is %d”,h);

system(“pause”);}

4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

找出1000以内的所有完数。*/ main(){

static int k[10];

int i,j,n,s;

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

{

n=-1;

s=j;

for(i=1;i

{if((j%i)==0)

{ n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{printf(“%d is a wanshu: ”,j);

for(i=0;i

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

printf(“%dn”,k[n]);

} } system(“pause”);

}

5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,请在空白处完善程序。*/ main(){ int a[4][4],b[4][4],i,j;

/*a存放原始数组数据,b存放旋转后数组数据*/

printf(“input 16 numbers: ”);/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/

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

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

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

b[3-j][i]=a[i][j];

}

printf(“array b:n”);

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

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

printf(“%6d”,b[i][j]);

printf(“n”);

}

system(“pause”);}

6、/*编程打印直角杨辉三角形*/ main(){int i,j,a[6][6];for(i=0;i<=5;i++)

{a[i][i]=1;a[i][0]=1;} for(i=2;i<=5;i++)

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

a[i][j]=a[i-1][j]+a[i-1][j-1];for(i=0;i<=5;i++)

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

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

printf(“n”);} system(“pause”);}

7、/*通过键盘输入3名学生4门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/ #include #include main(){ float a[4][5],sum1,sum2;

int i,j;

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

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

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

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

{ sum1=0;

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

sum1+=a[i][j];

a[i][4]=sum1/4;

}

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

{ sum2=0;

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

sum2+=a[i][j];

a[3][j]=sum2/3;

}

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

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

printf(“%6.2f”,a[i][j]);

printf(“n”);

} system(“pause”);}

8、/*完善程序,实现将输入的字符串反序输出,如输入windows 输出swodniw。*/ #include main(){ char c[200],c1;

int i,j,k;

printf(“Enter a string: ”);

scanf(“%s”,c);

k=strlen(c);

for(i=0,j=k-1;i

{ c1=c[i];c[i]=c[j];c[j]=c1;}

printf(“%sn”,c);

system(“pause”);}

指针法: void invert(char *s){int i,j,k;char t;k=strlen(s);for(i=0,j=k-1;i

{ printf(“cannot open the filen”);

exit(0);

}

printf(“input str:n”);gets(str);

printf(“n%s”,str);

fprintf(fp,“%s”,str);invert(str);

printf(“n%s”,str);

fprintf(fp,“n%s”,str);

fclose(fp);}

9、/*下面程序的功能是从字符数组s中删除存放在c中的字符。*/ #include main(){ char s[80],c;

int j,k;

printf(“nEnter a string: ”);

gets(s);

printf(“nEnter a character: ”);

c=getchar();

for(j=k=0;s[j]!= '';j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= '';

printf(“n%s”,s);

system(“pause”);}

10、/*编写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小

排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中*/ #include void sort(int *x,int n){ int i,j,k,t;for(i=0;i

if(x[j]>x[k])k=j;

if(k!=i)

{

t=x[i];

x[i]=x[k];

x[k]=t;

} } } void main(){FILE *fp;

int *p,i,a[10];

fp=fopen(“p9_1.out”,“w”);

p=a;printf(“Input 10 numbers:”);for(i=0;i<10;i++)

scanf(“%d”,p++);p=a;sort(p,10);for(;p

fprintf(fp,“%d ”,*p);}

system(“pause”);

fclose(fp);}

11、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列*/

main()

{ int a[10]={0,12,17,20,25,28,30};

/*a[0]为工作单元,从a[1]开始存放数据*/

int x , i, j=6;

/*j为元素个数*/

printf(“Enter a number: ”);

scanf(“%d”,&x);

a[0]=x;

i=j;

/*从最后一个单元开始*/

while(a[i]>x)

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

}

/*将比x大的数往后移动一个位置*/

a[++i]=x;

j++;

/*插入x后元素总个数增加*/

for(i=1;i<=j;i++)printf(“%8d”,a[i]);

printf(“n”);

system(“pause”);}

12、/*编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中*/ #include replace(char *s,char c1,char c2){ while(*s!='')

{ if(*s==c1)

*s=c2;

s++;

} } main(){ FILE *fp;

char str[100],a,b;

if((fp=fopen(“p10_2.out”,“w”))==NULL)

{ printf(“cannot open the filen”);

exit(0);

}

printf(“Enter a string:n”);

gets(str);

printf(“Enter a&&b:n”);

scanf(“%c,%c”,&a,&b);printf(“%sn”,str);fprintf(fp,“%sn”,str);replace(str,a,b);printf(“The new string is----%sn”,str);fprintf(fp,“The new string is----%sn”,str);fclose(fp);system(“pause”);}

13、/*在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置,不存在则返回-1。*/ main(){char s1[6]=“thisis”;char s2[5]=“is”;printf(“%dn”,search(s1,s2));system(“pause”);} int search(char s1[],char s2[]){int i=0,j,len=strlen(s2);while(s1[i]){ for(j=0;j=len)return i;else i++;} return-1;}

14、/*用指针变量输出结构体数组元素。*/ struct student { int num;char *name;char sex;int age;}stu[5]={{1001,“lihua”,'F',18},{1002,“liuxing”,'M',19},{1003,“huangke”,'F',19},{1004,“fengshou”,'F',19},{1005,“Wangming”,'M',18}};main(){int i;struct student *ps;printf(“Num tNametttSextAgetn”);

/*用指针变量输出结构体数组元素。*/ for(ps=stu;psnum,ps->name,ps->sex,ps->age);/*用数组下标法输出结构体数组元素学号和年龄。*/ for(i=0;i<5;i++)printf(“%dt%dtn”,stu[i].num,stu[i].age);system(“pause”);}

15、/*建立一个有三个结点的简单链表:*/ #define NULL 0 struct student { int num;char *name;int age;struct student *next;};void main(){ struct student a,b,c,*head,*p;a.num=1001;a.name=“lihua”;a.age=18;/* 对结点成员进行赋值

*/ b.num=1002;b.name=“liuxing”;b.age=19;c.num=1003;c.name=“huangke”;c.age=18;head=&a;

/* 建立链表,a为头结点

*/ a.next=&b;b.next=&c;c.next=NULL;p=head;

/* 输出链表

*/ do{ printf(“%5d,%s,%3dn”,p->num,p->name,p->age);p=p->next;}while(p!=NULL);system(“pause”);}

16、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*/ #include #include #include main(){ char s[100];

int i,j,n;

printf(“输入字符串:n”);

gets(s);

n=strlen(s);

for(i=0,j=n-1;i

if(s[i]!=s[j])

break;

if(i>=j)printf(“是回文串n”);

else

printf(“不是回文串n”);

system(“pause”);}

17、/*冒泡排序,从小到大,排序后结果输出到屏幕及文件myf2.out*/ #include void fun(int a[],int n){int i,j,t;for(i=0;i<=n-1;i++)

for(j=0;j

if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;} } main(){int a[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;FILE *f;if((f=fopen(“myf2.out”,“w”))==NULL)

printf(“open file myf2.out failed!n”);fun(a,10);for(i=0;i<10;i++)

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

fprintf(f,“%4d”,a[i]);

} fclose(f);system(“pause”);}

18、编写函数countpi,利用公式 1121231213353573

253749

计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。

#include double countpi(double eps)

/*eps为允许误差*/

{

int m=1;

double temp=1.0,s=0;

while(temp>=eps)

{ s+=temp;

temp=temp*m/(2*m+1);

m++;

}

return(2*s);

} main(){FILE *fp;

double eps=1e-5,pi;

if((fp=fopen(“p7_3.out”,“w”))==NULL)

{ printf(“cannot open the filen”);

exit(0);

}

pi= countpi(eps);

printf(“pi=%lfn”,pi);fprintf(fp,“pi=%lfn”,pi);fclose(fp);system(“pause”);}

* * * *

* * * * *

*

* *

*

* *

*

* *

*

*

*

*

*

* *

第五篇:写给c语言初学者的心得体会

写给c语言初学者的心得体会

本人小女孩一个,初步来到网络世界的时候,觉得发现什么都很好奇,什么都爱问一下,别人总叫你菜鸟,什么的...记得多年前我认识了某

个男孩,他在15天之内把c语言入门了,当然,那时候我还不知道c语言

是什么东西,直到看见一篇文章,<你是否适合做一个程序员?>我才

想学c语言,既然选择了要学这一科..我觉得应该给新手们一点建议,当然,我现在也还没掌握到它,不过我这篇文章是鼓励新学c语言的新

手们不要放弃c语言.今天早上,xxxx(我的好友)来找我,说c语言太难学了,我当时就想,其

实我和他是一起时间学的吧,他学的时候我也是刚刚在学,所以我们

基本学的时候是同一个时间,当然...男孩当然比女孩强多了,他现在

掌握的比我多,我掌握的不够好,可能是因为领悟性比较差,也大概是他 的拍拖(初恋)了,所以没有时间学c语言,打听一下,原来他是因为c语言

是无法在段期掌握的,所以也不能令他赚到钱,他的想法是想现在学简

单的c#先,其实c#也是比较难度的,因为它是.net里面的,不过我想他

不该放弃掉c语言的,因为自从我学到c语言之后,总结一下吧..它可以培

养一个人的耐性,因为学习c语言的人,必须要静心,这是对新手来说是一

个也算是工程学的吧,必须要克服的一个难关,最好在心无杂念下去学习

c语言是最好不过的了,为什么有些人不能在两三年内入门?为什么有些

人可以在几个月内掌握入门?老实说...想要自己驾驭于它就必须要让它

怕你,你要让它知道你是在啃它,你要知道你买本书是拿来啃的,一下子啃

是没可能的,你是否羡慕别人那么高手?对..你也可以做到的,我不是在推

广大家必须去学习c语言,但是这是我学c语言的心得,一旦学了就不要放弃 ,我也试过放弃,放弃几天,c语言就连最基本的代码都写不出来了,有很多人

问:我想学c语言,需要什么具备条件么?“有的人会回答:英文,数学.也有人

回答:没有基础也可以学.我个人认为始终要学点英文.毕竟我现在知道的一

件事是目前国内没有一种语言比得上国外的,为什么外国人写的程序精度,密度比我们国内写的程序大而又小巧?为什么我们学每一门语言都有英文的

?老兄..我来告诉你,你去学易语言,再去找份工作,你看看有没人知道是什么来 的,我不是歧视易语言,因为我也会易语言,不过初学者100个人基本都会半途

而废的有一大半的,不学c语言不重要,你想要开发程序,掌握一门就够了,不需

要太多,现在用cmd脚本学命令也很牛..别看不起脚本语言,其实那些也可以写

程序的,假如学到一半的菜鸟,就例如我的那位朋友,可以说他基本学会了一半

吧,但是却说放弃,我个

人认为这样的话那么他学什么语言都不会有耐性的,学

什么都一样会半途而废的,还有,学习它不要想着他能为你赚多少钱.你适合当程序员吗 你知道编程序是怎么回事吗?(以下是我见过不错的一篇文章)

1、程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)

2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白点就是,在你没有找到乐趣以前,它很枯燥)

3、你有对新技术追求的热情吗?你有刨根问底的探索精神吗?(热情绝对是最重要的!你仔细思考一下自己的性格适合当程序员吗?)

4、当程序员决不是什么好差事,时刻需要学习,需要思考。(直到你成为那个可以引导别人去学习和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)

5、程序员的未来很迷茫。(但我认为关键看你自己!我希望你是一个有追求的人,不仅仅是混碗饭吃。因为真正的乐趣在于创造;如果你能改变软件业的历史,那才是英雄;不想成为Bill Gates,不想成为Dennis Ritchie和 Bjarne Stroustrup,我会说你没有追求。有个关于程序员未来的笑话,也许你还没听过,你该听一听,摘抄如下:

一个程序员对自己的未来很迷茫,于是去问上帝。

“万能的上帝呀,请你告诉我,我的未来会怎样?”

上帝说“我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的”

于是他去问Lippman。

Lippman说“程序员的未来就是驾驭程序员”

这个程序员对这个未来不满意,于是他又去问上帝。

“万能的上帝呀,请你告诉我,我的未来会怎样?”

上帝说“我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的”

于是他去问Gates。

Gates说“程序员的未来就是榨取程序员”

这个程序员对这个未来不满意,于是他又去问上帝。

“万能的上帝呀,请你告诉我,我的未来会怎样?”

上帝说“我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的”

于是他去问侯捷。

侯捷说“程序员的未来就是诱惑程序员”

这个程序员对这个未来不满意,于是他又去问上帝。

“万能的上帝呀,请你告诉我,我的未来会怎样?”

上帝摇摇头“唉,我的孩子,你还是别当程序员了”)

6、当程序员还是很有乐趣的。(当你学到新知识时,当你有新的思想见解时,当你有新的产品问世时,和知己探讨你的成果时„我问你,觉得这些是乐趣吗?)

7、当程序员不易也不难。(世间事有难易乎?为之„

;不为„。你有决心和信心吗?)

8、你真的要当程序员?是你自己的想法?

9、你舍得花钱买书吗?(读好书绝对是学习编程的最佳捷径。你一定会说,现在电脑书籍真他XX的贵,没法子,谁让知识和技术在人家的脑袋,在人家的书里呢;等你写书时可以把价格定低一点,记着还有好多没钱但想买书的兄弟很困难呀。要舍得买书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好就买下,记住要读,别光买不看。)

10、我告诉你,程序就是:任何有目的的、预想好的动作序列,它是一种软件。

11、编程序就是编写程序。

12、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,你可以继续寻找别的出路了。)

(三)一个程序员应该具备的基础知识和概念

1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)

2、机器语言和微指令集的概念。

3、程序的概念。

4、汇编语言是低级语言但不是机器语言。

5、高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是PRC软件业的英雄,你也写一门语言,最好不用英语)

6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的)

7、HTML、XML等是标识性语言。

8、Prolog是人工智能语言。

9、操作系统OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手)

10、Windows编程说白了就是Windows API的调用。(PRC的程序员很多只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder)

11、VC++、VB、BC、BCB、Delphi、VF等都只是编程的工具和环境,不是编程语言。

12、面向结构的设计概念。

13、面向对象的概念。(好好理解,兄弟,这个东西还是很重要的)

14、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)

15、数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如Orcle,SQL,DB2,DyBase等)

16、了解网络概念。

17、了解多媒体概念。

18、熟悉和掌握数据结构和基本算法。

19、是不是要求太高了,别着急慢慢来,进步在不知不觉之中。(一旦开始学习,一个月以后你就会有一个基

本的概念;两个月以后你就会感觉自己有了全面的基础知识;当你知道编程序是怎么回事时,说明你已经入门了。也有很多人编了很多年程序还没有入门呢,你不会希望自己步其后尘吧。要有信心和耐心。沉不住气怎么能成大事?!)

(四)教材推荐

――-推荐的教材主要还是针对概念来的,最好选用名校的教学用书。

1、《计算机组成原理》(熟悉)

2、《数据结构》(掌握)

3、《操作系统》(了解->熟悉)

4、《The C language》(掌握)

5、《编译原理》(了解原理)

6、《汇编语言》(了解)

7、《计算机网络》(了解)

8、《软件工程》(了解)

9、《关系数据库》(熟悉)

10、《The C++Languege 》(掌握)

11、《面向对象设计》(掌握;结合C++学习)

(五)一些经验和体会

1、真正的程序员用C++;(一位专家说的)

2、动手去编程序;

3、动脑去思考;

4、要有良好的编程风格;

5、读书,读好书,尽量读原版书!(我反复强调这一点,读书要有选择,坚持读好书,名家出的经典书,不要浪费实践在一些粗制滥造的书上面;坚持博览群书)

6、有自己的学习计划;

7、总结自己的经验教训;(准备一个笔记本,记录错误和心得)

8、不要怕学新东西;

9、要有软件工程的思想;

10、善于发现问题,然后去寻找答案;

11、向高手请教;(要虚心直到你成为高手)

12、和同行交流;(不善于交流肯定不行)

13、懂得软件的实质,不要被千变万化的表象所迷惑;

14、真正要学习用的是编程语言和方法,不是什么库,什么类,什么工具;(学用那些什么库都比较简单,但光会这些库,我觉得还远远不够)

15、学习wiodows编程主要是学习windows OS和win32 API;

16、有空了解一下嵌入式开发;

17、有空了解一下PDA软件开发;

18、了解一下.NET框架和C#语言,也许它是你新的衣食父母;

19、要有耐心,不要作浮躁的人; 20、对程序加注释,并保留你的老程序;

21、学到的东西越多,了解的越多,你就越接近专家;

22、有空去逛逛CSDN,那里有你很多知己;

23、要有信心成为一个优秀的程序;

(六)一些好书的推荐

1、《The C Programming language》(Keinighan & Dennis Ritchie 1988)

2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)

3、《Inside The C++ Object Model》(lippmans)

4、《Effective C++》(同上)

5、《More Effective C++》(同上)

6、《Exceptional c++》

7、《C++面向对象高效编程》

8、《设计模式》

9、《Thinking In C++》

10、《The Standard C++ Bible》(一般推荐)

11、《

The Art of Computer Programming 》

12、《Programming Windows》(Charles Petzold)

13、《VC++5.0技术内幕》

14、《MFC 深入浅出》

15、《软件需求》

16、《Advanced Windows》

17、《C++ primer》

18、《win32程序员参考手册》

19、《用TCP/IP进行网际互连》

20、《COM 本质论》

(七)学习计划

――-这个学习计划是我个人定的,也共享给大家参考一下,共同进步吧。《计算机组成原理》

2、《操作系统》

3、《数据结构》

4、《汇编语言》

5、《 C 》

6、《 C++ 》

7、《VC 技术内幕》

8、《Programming Windows》

9、《深入浅出MFC》

10、《Advanced Windows》

11、《Inside The C++ Object Model》

12、《Thinking in C++》

13、《Effective C++》

14、数据库

15、网络1、16、嵌入式OS和编程

17、硬件单片机

18、.NET和C#

19、软件工程

20、UNIX和Linux

程序员意味

着要编程序.你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨.他们是靠头脑真真正正靠实力写程序赚钱的,所以我觉得程序员是一份永远都可以一边工作,一边学习的职业,c语言也不能说太难,只要静下心来肯去学,下定决心了,还有..假如你有不耐

烦的坏习惯的话,最好看多点譬如这样的程序代码,你就知道c语言++--什么得有多令你不

耐烦恼了..(不好意思,这是我个人认为的)所以我今天晚上就会写这篇文章的,希望能给初学

者们一个我学了c语言之后的心得体会,也别象我朋友那样要放弃,买了那本书,无论多厚.都要

啃下去,我是一个曾经被别人说过我是不该学c语言的那块料的,当然..我不是因为这句话去生

气,把怒火化为当是自己的鼓励,时时刻刻记住你为什么要学习它?你为什么不学习其它的?这

样,你就会知道一个程序员的生活是多么的无聊了.那你看到这里,你还想什么呢?想学就去该学 的,在这里我推荐你们买书的时候记得买老潭(潭浩强------清华大学教授牛淫)的书,买本学习本,花不了多少钱,我记得是30多块,不过我第一次买的时候买错了,买了一本入门后的高级程

序员学习的,所以我在这里推荐一下,希望大家别象我这么傻..5555,还有,买多少书,一定要看完 ,别只买了就不看.还有一些天天黑站的人,他们以为这样是在提高自己的技术证明是没有差,觉得

很神气,其实不是的,你学到这些入侵网站的,学习ddos,学习远程控制,盗QQ,刷四钻,对你将来有

什么好处的呢?假如你认为你可以把这些传授给自己的儿子学的话,那你可以学吧,世界第一黑客

——凯文.米特尼克被公认为世界第一黑客,你们想一下,年仅15岁的米特尼克闯入了“北美空中

防务指挥系统”的主

机内,和另外一些朋友翻遍了美国指向前苏联及其盟国的所有核弹头的数据

资料,然后又悄无声息地溜了出来,Kevin的黑客生涯到其后来入狱时差不多就有15年之久。他 的作案时间之长、作案次数之多、破坏力之大,他的技术之精、经历之传奇,都让全世界为之震

惊,也使电脑警察们汗颜„„有什么用么?你说一下他的头脑如果不入狱的话这15年里可以赚到

多少钱?可以学到什么东西?还是你根本就想进去看看里面是什么样的?还是你也想学一下”越狱"?

我觉得,有机会去了解一下什么是windows的核心技术,什么是linux的核心技术才好,不学的话你

永远不知道它是什么来的,学了的话你起码会成熟很多,只要你知道你曾经是会玩嗅探,是会入侵,知

道有这么一回事就可以了,不需要去证明什么技术.总结.选定一门你想学的语言就啃定它,别放弃,永远也不要觉得自己懂一点就算是程序员了,你写出的程序就可以知道你是不是程序员了...当你学到知道每一个c语言里面的单词,知道了它们的作用之后,你可以允许你告诉你,你成功了.

下载C语言初学者必懂的100个范例程序word格式文档
下载C语言初学者必懂的100个范例程序.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    写给Unix_C语言初学者的话(合集五篇)

    写给C语言初学者的话来自-(ldap)(尊重作者)前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码......

    《我们懂个X》读后感(精选五篇)

    河南师范大学马克思主义基本原理概论情绪上瘾论学院:化学与环境科学学院 班级:10级化学三班 姓名:谭方林学号:1003114212情绪上瘾论爱情不是因为爱上了对方,而是爱上见到对方的情......

    高考志愿填报必懂名词术语

    高考志愿填报必懂名词术语 根据我们国家教育现状看,归纳总结不同批次高校毕业生未来发展前景特点。一本院校靠名气:考生综合素质较高,无论将来从事什么工作和职业,都能得心应手......

    2012年司法考试,必懂“八大问题”

    2012年司法考试,必懂“八大问题” 复习司法考试,必须搞懂“八大问题”。一般来说,非法律专业的本科毕业生、法律大专毕业生缺乏的是比较有系统的法律知识训练,以及坚实的法理基......

    神经外科医生必懂的问题

    学员问答 一 颅骨钻孔成功后,刺破硬脑膜有何技巧及注意事项 ?若刺破的硬膜裂隙远小于软通道外径时而软通道管在硬质钢针的导引下强行通过时,是否会导致硬膜与颅骨分离? 二 颅骨......

    三懂三会必背内容

    加油站员工必须背诵内容 一、什么事三懂、三会、三违 三懂:火灾危险性、预防措施、扑救方法 三会:会报警、会使用消防器材、会扑灭初期火灾 三违:违章作业、违章指挥、违反劳动......

    预算员必须要懂的一些技巧

    预算员必须要懂的一些技巧 1.如何积累经验? 个人有个人的做法。实际操作必不可少。实际操作过程中,最主要的是把定额计算规则记熟了。之后的 事就是找规律了,之后用EXCEL制表,......

    实习生必懂的规矩[五篇模版]

    1.每天早上最少提前10分钟到办公室。上班不迟到,少请假。 2.在任何地方,碰到同事、熟人都要主动打招呼,要诚恳。 3.进入办公室应主动整理卫生,即使有专职清洁工,自己的办公桌也要......