新手来博客,请多多指教。
作为一名大二的学生,在大一的时候学习了C语言。但是现在已经忘记的差不多了,自己买了一本《C程序设计语言》,因为要参加一个C语言的比赛。现在想在博客中重新学习一下C语言。
C语言程序,都是由函数和变量组成的。
char 字符 short 短整型 long 长整型 double 双精度浮点
#define M N 把符号定义为一个特定的字符串,在结尾没有分号。
出现边界条件时,while语句与for语句有助于确保程序的合理性。
有关统计行数的程序
#include <stdio.h>
main()
{
int c,n1=0;
while((c=getchar())!=EOF)
if(c=='\n')
++n1;
printf("%d\n",n1);
}
这个程序真的很简单,就是统计一下有多少个换行符,然后输出统计数就是行数了。
统计行数,单词数与字符数的程序
#include <stdio.h>
#define IN 1 //在单词内
#define OUT 0 //在单词外
main()
{
int c,n1,nw,nc,state; //state是记录程序当前是否正位于一个单词内
state=OUT;
n1=nw=nc=0;
while((c=getchar())!=EOF)
{
++nc; //统计字符数
if(c=='\n')
++n1;
if(c==' '||c=='\n'||c=='\t')
state==OUT; //此时state不在单词内
else if (state==OUT)
{
state==IN; //state在单词中,并且单词数加1.
++nw;
}
}
printf("%d,%d,%d",n1,nw,nc); //代表含义分别为行数,单词数,字符数。
}
这个程序是运用数组来统计数字,空白字符,其他字符出现的次数
#include <stdio.h>
main()
{
int c,i,nwhite,nother;
int ndigit[10]
nwhite=nother=0;
for(i=0;i<10;++i)
ndigit[i]=0;
while((c=getchar())!=EOF)
if(c>='0'&&c<='9')
++ndigit[c-'0']
else if(c==' '||c=='\n'||c=='\t')
++nwhite;
else
++nother;
printf("digti=");
for(i=0;i<10;++i)
printf("%d",ndigti[i]);
printf(",white space=%d,other=%d\n",nwhite,nother);
}
虽然都是几个简单的小程序,但是我重新开始学嘛,对我来说难度还差不多的。
要是有哪位高手看出了我的错误,还望多多指教,谢谢大家啦。