当前位置:首页 » 编程语言 » c语言小项目开发
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言小项目开发

发布时间: 2022-09-10 12:18:21

c语言能做什么项目

C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现在以下三个方面:
其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。[3]
其二,简洁性。9 类控制语句和32个KEYWORDS是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同 时还能够支持高级编程,避免了语言切换的繁琐。[3]
其三,结构完善。C语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显着优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。

Ⅱ 求一份C语言小项目的代码,要求150行以上,很急!

我给个我写的吧,不过不完全符合要求。子函数只有7个,但有两个宏,其中一个可以换成函数。其实如果把测试改成自动的,可以超过10个,你可以自己改一改。

项目名称:UTF8StringEscaper。在Github上可以搜到,不过其实只是个单文件的小程序。代码参考了leptjson。

项目概述:此程序可以将输入的UTF8文本进行转义,例如如果手动输入 1 2 这四个字符,可以输出 1(换行)2。

采用的C语言技术,这怎么好写呢?:注释、转义序列、预处理器、指针、inline

/*测试用例:
hello,world

u4F60u597D u4E16u754C
uD869uDEA5
你好//win下失败

uqweru1234
u0068uqwer
auDFFFa
auD800a
ym
uD800u0068
uD800uqwer
*/

#include<assert.h>
#include<stdbool.h>
#include<stdio.h>
#include<stdlib.h>

#ifdefined__clang__&&!(definedWIN32||definedlinux||definenix)
#defineWIN32
#endif

#definemovenext(ch,p)(ch=*p++)
voidParse(constchar*p);
intParseUnicode(constchar**pp);
intParseHex(constchar*num);
(unsignedshorthigh,unsignedshortlow);
voidEncodeUTF8(unsignedcodePoint);

intmain(void)
{
#ifdefWIN32
system("chcp65001");
#endif

charinput[BUFSIZ];
printf(" ¥>");
while(gets(input)!=NULL)//读到EOF时返回NULL
{
Parse(input);
printf(" ¥>");
}

return0;
}

#defineHandleEscape(ch,escaped)
casech:
putchar(escaped);
break
voidParse(constchar*p)
{
charch;
while(movenext(ch,p)!='')
{
switch(ch)
{
case'\'://需要转义
switch(movenext(ch,p))
{
HandleEscape('"','"');
HandleEscape('\','\');
HandleEscape('b','');
HandleEscape('f','f');
HandleEscape('n',' ');
HandleEscape('r',' ');
HandleEscape('t',' ');
//case'/'://斜杠的转义是可选的

case'u':
{
intcodePoint=ParseUnicode(&p);
if(codePoint==-1)//ParseHex失败
{
printf(" Error!");
return;
}
EncodeUTF8(codePoint);
break;
}
default://不支持的转义
//putchar('\');
putchar(ch);
break;
}
break;
default://无需转义
putchar(ch);
break;
}
}
}

(unsignedshortsurrogate){returnsurrogate>=0xD800&&surrogate<=0xDBFF;}
(unsignedshortsurrogate){returnsurrogate>=0xDC00&&surrogate<=0xDFFF;}
intParseUnicode(constchar**pp)
{
constchar*p=*pp;
inthigh=ParseHex(p);//跳过字符u
unsignedcodePoint;
if(high==-1)//解析失败
return-1;

//解析成功
p+=4;//移过xxxx
codePoint=high;

if(IsHighSurrogate(high)&&(*p)=='\'&&(*(p+1))=='u')//解析低代理项
{
intlow=ParseHex(p+2);//移过u
if(IsLowSurrogate(low))//ParseHex失败或不是低代理项时仍编码当前码点,其余的留给下一轮解析
{
p+=6;//移过uxxxx
codePoint=GetCodePointFromSurrogatePare(high,low);
}
}

*pp=p;
returncodePoint;
}

intParseHex(constchar*num)//解析uxxxx中的4个16进制字符
{
inthex=0;//本来用ushort即可,但出错时需要返回-1

for(inti=0;i<4;i++)//只解析xxxx
{
charch=*num++;
hex<<=4;
if(ch>='0'&&ch<='9')
hex|=ch-'0';
elseif(ch>='A'&&ch<='F')
hex|=ch-'A'+10;
elseif(ch>='a'&&ch<='f')
hex|=ch-'a'+10;
else
return-1;//非16进制字符
}
returnhex;
}

(constunsignedshorthigh,constunsignedshortlow)
{
return0x10000+(high-0xD800)*0x400+(low-0xDC00);
}

voidEncodeUTF8(constunsignedcodePoint)
{
if(codePoint<=0x007F)
putchar((char)(codePoint));
elseif(codePoint<=0x07FF)
{
putchar((char)(0xC0|((codePoint>>6)&0xFF)));
putchar((char)(0x80|(codePoint&0x3F)));
}
elseif(codePoint<=0xFFFF)
{
putchar((char)(0xE0|((codePoint>>12)&0xFF)));
putchar((char)(0x80|((codePoint>>6)&0x3F)));
putchar((char)(0x80|(codePoint&0x3F)));
}
elseif(codePoint<=0x10FFFF)
{
putchar((char)(0xF0|((codePoint>>18)&0xFF)));
putchar((char)(0x80|((codePoint>>12)&0x3F)));
putchar((char)(0x80|((codePoint>>6)&0x3F)));
putchar((char)(0x80|(codePoint&0x3F)));
}
else
assert(0);//不可能发生
}

Ⅲ 怎么用C语言开发软件

语言本身是一种工具,真正要开发软件还是需要掌握系统提供的API和具体的开发模式。
C语言在Linux可以开发出不错的程序,如果是Windows的话,建议再学学C++,再看看一些关于Win32和MFC的书;

给你推荐几本:《Windows程序设计》蓝皮的,初学Windows编程比较不错
《Windows核心编程》这本是国外写的,再深入的话可以看看
Linux嘛:可以看看《Unix/Linux编程实践教程》,深入的话看《UNIX环境高级编程》

Ⅳ 求小项目,锻炼C语言编程能力

o{ぅf╓Μyエ┠uo{ぅq啶ivdj瑭 (8)有少0数公5司经常要硕士j以7上p的人m搞嵌入i式,主要是基于g嵌入f式的难度。但C语言是所有编程语言中1的强者,单片7机、DSP、类似ARM的种种芯片0的编程都可以4

Ⅳ 求C语言130行左右代码的小项目入门级就行

//////洗牌-发牌////////
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
structPOKER
{
intnum;//A:1,J:11,Q:12,K:13小王:14大王:15
intcolor;//黑1,红2,梅3,方4
}s[54];

voidoutput(intmode,intnum)//mode为0时表示显示整副牌,为1时表示发牌
{//mode为1时:num的值表示每位玩家发多少张牌
if(mode==1&&(num<1||num>13))
{
printf(" 设置每位玩家的牌数出错!");
return;
}
inti,player_count=1;
for(i=0;i<54;i++)
{
if(mode==1)
{
if(i%num==0)
{
if(player_count>4)
{
return;
}
printf(" 玩家%d:",player_count);
player_count++;
}
}
if(s[i].num==14)
{
putchar(1);
}
elseif(s[i].num==15)
{
putchar(2);
}
else
{
switch(s[i].num)
{
case1:putchar('A');break;
case11:putchar('J');break;
case12:putchar('Q');break;
case13:putchar('K');break;
default:printf("%d",s[i].num);
}
switch(s[i].color)
{
case1: putchar(6);break;
case2:putchar(3);break;
case3:putchar(5);break;
case4:putchar(4);break;
default:printf("");
}
}
printf("");
}
}

voidxipai()
{
inti,num,color;
memset(s,0,sizeof(structPOKER)*54);
intcount=0;
while(count<54)
{
num=rand()%15+1;
color=rand()%4+1;
intflag_skip=0;
for(i=0;i<54;i++)
{
if((s[i].num==num&&s[i].color==color)||(s[i].num==14&&num==14)||(s[i].num==15&&num==15))
{
flag_skip=1;
break;
}
}
if(flag_skip==1)
{
continue;
}
while(1)
{
i=rand()%54;
if(s[i].num==0)
{
s[i].num=num;
s[i].color=color;
count++;
break;
}
else
{
continue;
}
}
}
}

intmain()
{
intc,num=13;
srand((unsigned)time(0));
xipai();
while(1)
{
printf(" 已洗好,请选择:(1:全部显示2:发牌3:洗牌)");
fflush(stdin);
scanf("%d",&c);
if(c==1)
{
output(0,0);
}
elseif(c==3)
{
xipai();
}
elseif(c==2)
{
printf(" 每位发几张:(1--13)");
while(1)
{
fflush(stdin);
scanf("%d",&num);
if(num>0&&num<14)
{
break;
}
else
{
printf(" 输入错误,请重新输入 每位发几张:(1--13)");
}
}
output(1,num);
}
}
return0;
}

Ⅵ 我想用C语言开发一个小项目

很小的游戏,你可以试试猫捉老鼠,请尽量使用图片进行制作。猫捉老鼠的难度还是挺简单的,你可以试试对你生活中有帮助的,例如解方程,解应用题。
我现在正在开发一个游戏,类似于打砖块,但有四个板都能动,就像SHATTER一样。但还是得看自己的爱好,你喜欢什么就做什么。
如果LZ不嫌弃的话,就点一下我下面的最佳答案吧:)

Ⅶ 有哪些c语言的小项目适合新手练习的,几百到几千行的那种

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以网络一下:)Kernighan和Ritchie的《TheCProgrammingLanguage》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《PointersonC》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《CTrapsandPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《ExpertCProgramming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。Unix/Linux还是Windows,这是个很大的问题不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如VisualStudio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的VisutalC++工具栏按钮就可以开始写Hello,World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。所以我建议初学者应该以VisualC++6.0(不是VisualC++.NET)或者DevC++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。VisualC++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC2.0作为实验环境,这是相当不可取的,原因其一是TC2.0对C标准几乎没有支持,其二是TC2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.0编译出32位程序,不过那过于复杂了)。等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。书已选定,环境配置完成,正所谓万事俱备,只欠你自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a=b==c、(a=b)==c和a=(b==c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。例子之后就是习题了,我建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。也许你认为这样学习太慢,其实不然。学得细致就不用走回头路,等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,我早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,你还要具体情况具体分析。

Ⅷ 怎么用C语言做项目

所谓项目,在一定的时间内,利用有限的资源和时间,完成特定的目的,这就是项目。

Turbo C 是一种工具,它有它擅长的地方,也有它不擅长的地方

我98年接过一个项目,用TC开发,结果失败,前前后后写了10000多行代码,只完成了一个图形化界面的部分,当时Win 95已经出来了,我写了一个学期的东西,人家用VB一下午就出来了。

但是我也知道TC是完全可以做项目的,我毕业后找工作,一家软件公司差点就要我了,他们就是用TC做项目的,写驱动程序,TC+汇编

写了这么多,不知你看明白了没有,TC能不能做项目,答案是肯定的。至于你要代码,我只能说,要到的可能性不大。因为项目的特性之一就是独特性,每一个项目都有它自己的特点,别人的代码给你也用不上,最多只是起个学习作用。但是对于别人来说,那是职业道德问题,哪个公司的源代码也不会允许拿给外人的。

Ⅸ 用C语言写一个小程序,麻烦大家了

//记得多给点分哦,很难写的。
//C
#include<stdio.h>
intstrnmerge(char*str,intn,charconst*s1,charconst*s2){
while(n>0){
if(!(*s1)&&!(*s2))break;
if(*s1&&n>0){
*str++=*s1++;
--n;
}
if(*s2&&n>0){
*str++=*s2++;
--n;
}
}
*str='';
}
intmain(){
chars1[]="aaaa";
chars2[]="bbbbbbbbb";
charstr[100];
strnmerge(str,10,s1,s2);
printf("s1=%s ",s1);
printf("s2=%s ",s2);
printf("str=%s ",str);
return0;
}

//C++
#include<iostream>
usingnamespacestd;
intstrnmerge(char*str,intn,charconst*s1,charconst*s2){
while(n>0){
if(!(*s1)&&!(*s2))break;
if(*s1&&n>0){
*str++=*s1++;
--n;
}
if(*s2&&n>0){
*str++=*s2++;
--n;
}
}
*str='';
}
intmain(){
chars1[]="aaaa";
chars2[]="bbbbbbbbb";
charstr[100];
strnmerge(str,10,s1,s2);
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2<<endl;
cout<<"str="<<str<<endl;
return0;
}

Ⅹ 请问一下C语言编写项目整体流程是什么样子的

一般是:需求调查 设计 编写代码 测试 试运行 然后就是不断的维护。一般所有用程序编写的项目,其步骤相差不大,仅在不同的程序语言用处不同,其细节处理不同而已,宏观上基本相同。
每种程序实现的功能,有一些其它程序语言也能实现,看自己怎么做。