❶ 求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语言入门折扣编程
#include<stdio.h>
int main(void)
{
while(1)
{
printf(" 请输入商品价格,无商品时请输入负数! ");
float price = 0;
float sum = 0;
while(1)
{
scanf("%f",&price);
if(price < 0) break;
sum += price;
}
if(sum > 1000)
{
printf("您可以享受折扣,应付的金额为%.2f元。 ",sum*0.955);
}
else
{
printf("您的消费还不满足折扣要求,应付的金额为%.2f元;您只需再消费%.2f元就可以享受折扣! ",sum,1000-sum);
}
}
return 0;
}
❸ 怎么自学C语言 入门
在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。
当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据类型、运算符、表达式、数组、/函等,这些是为了对C语言的基础有一个基础认知,扩展,整合;还会学到指针、联合体、结构体、枚举、位运算、预处理、文件等知识点,学这些是为了全面掌握面向过程设计、实练逻辑算法,拓展思维模式等过程。
学完了这些,还可能会讲到VS、VC++、C++、C和TC—认识开发环境和语言的区别。
这里只给大家介绍一个大概,如果有兴趣的话,可以和我私聊哦
第二阶段:上机实战训练
学完了这些理论知识后,就得将学到的知识点全部运用到实践中去。这样才能更好学习入门。分享不错裙的有软件视频资料分享
1、C++语言熟练,熟悉C++语法,包括面向对象的概念,模版等
这一阶段需要比较艰辛的过程,需要学习很多书,包括《C++ Programming Language》,《Effective C++》,《More Effective C++》,《Thinking in C++》,《C++对象模型》,《C++ 模版》,如果上述书籍已经很熟悉了,本人认为,在学习阶段,已经很不错了。该过程可以在大学完成,需要一到两年的时间,应为是纯理论的东西,只能算熟悉。在该过程中,需要做一些简单的程序。
2、C++做项目,使用C++做项目,需要比较多的其它库,比如UI库,还需要使用一些网络库等,这个时候,就可以看到C++的博大精深了,此时,光有C++语言知识是不够的,需要补充一些平台开发的知识,看看开源的C++项目。比如:Windows程序设计,C++网络编程,DirectX游戏开发,如果用C++做了两个以上的项目,那以及很不错了。
3、最高境界是精通,自然是量的积累才会有质地变化。
❹ C语言学习。。。。
您好!
第一题:
int x = 0177;
这条语句中的0代表的是8进制数177,转换成10进制:7+7×8+1×64=127。
所以
1,输出%3d的时候就是输出3位10进制数,
也就是输出127。
2,输出%6d的时候就是输出6位10进制数,所以先输出3个空格,
也就是输出 127。
3,输出%6o的时候就是输出6位8进制数,所以先输出3个空格,
也就是输出 177。
4,输出%6f的时候就是输出6位16进制数,127转换成16进制就是7f,所以先输出4个空格,
也就是输出 7f。
5,输出%6u的时候就是输出6位无符号10进制数,跟第2个一样,
也就是输出 127。
第二题:
1,c -= ++b; //先算++b结果是3,且b值为3,然后是c -= 3,结果是c值为-2
2,b *= a + c; //先算a+c结果是1,然后是b *= 1,结果是b值为3
3,然后是内联函数(这个好像是叫内联函数吧,有点忘记了),重新定义了b和c,所以内联函数中b和c是重新开辟了一块内存空间,与内联函数外的b和c不一样,内联函数结束时,内联函数中的b和c内存被释放。
❤c /= b * 2; //先算b * 2结果是10,然后是c /= 10,结果是c值为1
❤a -= c; //a值为2
❤输出a,b,c,就是输出2,5,1
❤a += --c; //先计算--c,结果是0,且c值为0,然后是a += 0,结果是a值为2
❤内联函数结束,b和c被释放,a仍然还是2,b和c又回到了内联函数开始之前,b值为3,c值为-2
4,输出a,b,c,就是输出2,3,-2
你哪里看不懂记得问我哦
❺ 有哪些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语言项目学习路线
一,UNIX下C语言的学习路线。
工具篇
“公欲善其事,必先利其器”。编程是一门实践性很强的工作,在以后的学习或工作中,将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具。
(一)操作系统
在UNIX或Linux系统中学习C很方便,所以在开始的学习旅程前请先选择一个UNIX或Linux操作系统。
目前可供个人免费使用的UNIX或Linux系统有FreeBSD、RedHat Linux、SUSE Linux等,而且在安装包中还提供很多实用的工具,如:gcc, make等。
如果您一直使用Windows,身边又没有多余的机器安装UNIX,则可以使用VMware,通过VMware安装虚拟系统。
(二)编译工具
目前绝大多数Unix或Lnux系统都提供CC或GCC编译器,最简单的cc命令格式如下:
cc -o hello hello.c
在unix shell环境中敲入上面的代码会将hello.c程序编译成可执行文件hello。
make 工具如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。
大部分UNIX和Linux程序都是通过运行make来编译的。make工具会读取一个包含指令的文件(这个文件的名字通常都是 makefile 或 Makefile,不过后文中统一称之为 “makefile”),并执行各种操作来编译程序。
(三)调试工具
最简单的调试工具:为程序添加打印语句
在对程序的运行机制有了一定的了解后,可以实用一些工具帮助进行调试,当然得学习一下这些工具得使用,如:dbx,gdb等。
还有一些内存工具可以帮查找内存泄漏或缓冲区溢出等一些问题,如:memwatch,yamd等
(四) 其他工具
1. vi或vim
Unix下文本编辑器。主要靠一堆命令来编辑文本文件,学Unix编程最好熟悉并熟练使用vi编辑器。
当然在实际工作中,可能需要一个集成编码环境或一个功能强大的图形化编辑工具。
2.netterm
最着名的网络终端软件之一,可以使用它方便的连接到主机系统中。
3.Secure shell
一个支持ssh协议得客户端工具,多数情况下用来连接linux系统。
书籍篇
“书是人类进步得阶梯”。学习一门新的知识,当然要选择几本适合自己得书籍,下面介绍一些我自己学习C语言使用过的书籍:
1.《C primer plus》
推荐理由:适合作为入门书和基本函数查询得参考资料。本书最新版为第五版,以ANSI C99为标准详细介绍了C语言。
2.《The C programming_Language》
推荐理由:C语言之父得作品权威性毋庸置疑。虽然书籍出版时间比较老,好像也没更新,不过仍不失为经典书籍,网上有这本书得英文电子版提供下载。
3.《C 专家编程》
推荐理由:本书可以帮助有一定经验的C程序员成为C编程方面的专家,最关键的是本书寓教于乐,充分享受编程的乐趣。
4.《C缺陷与陷阱》
推荐理由:书中所揭示的知识能帮助绕过C语言自身得陷阱和缺陷,减少代码中许多常见的Bug。
5.《unix环境高级编程》
推荐理由:既然是UNIX环境下C编程,就不得不说说UNIX编程书籍。Stevens先生的《unix环境高级编程》是竭力推荐的,也是案头必备(如果对网络编程有兴趣的,可以学习一下Stevens先生的《UNIX网络编程》两卷,如果觉得还不过瘾,可以再看看《TCP/IP详解》三卷)。
6.《计算机编程艺术》
推荐理由:算法大师得呕心沥血之作。计划出版五卷书,目前好像已出版3卷。对算法有兴趣得可以研究一下。
过程篇
1.学习C语法
语法的学习对于一个具有编程底子的来说,就很轻松了;即使以前没有学习过其他编程语言,我相信有2个星期,也能轻松搞定。
需要注意的是,不要太纠缠于语言的细节,比如:运算符优先级与结合性的问题等。
2.学习C标准库
ANSI C库把函数分为不同的组,每个组都具有与之相关的头文件。C语言标准库相对于其他语言,比如C++,Java来说是非常短小精悍的,但首先应着重对以下库进行学习:
ctype.h:字符处理
math.h:数学库
stdio.h:标准I/O库
stdlib.h:通用工具库
string.h:字符串处理
time.h:时间和日期
如果想了解完成的ANSI C库,可以购买相关的书籍,这些书籍一般会详细介绍每个函数的用户和一些注意点;
3.攻克C的难点
C语言声明:
C语言的声明确实觉得恐怖,比较晦涩难懂,而且声明的形式和使用的形式还类似。比如如下的声明恐怕就连很多熟悉C多年的程序员也不是一眼就能看出来的:
char * const * (*next)();
那么有没有一种好的记忆方法或规则来搞清楚呢,好像没有,如果有的话也不是这样折磨人了。不过可以看看《C专家编程》第三章的内容,或许会有所收获。
也只能多学多练了,所谓熟能生巧嘛,希望这个问题不要在你的心灵上留下阴影。
数组与指针:
数组与指针的关系,在标准中并没有作很详细的规定,而且好多C入门的书籍在这个问题上并没有给出很详细的说明,所以会给人造成很多误解。
对于这个问题,可以参考《C缺陷与陷阱》4.5节和《C专家编程》第4,9,10章,相信这里面的内容搞透彻,以后就不会再被这个问题搞迷惑。
指针与内存:
如果以后编写规模较大的程序,可能发现这个问题可能会是最大的烦恼,而且可能会是消耗最多调试时间的事项。
C版本的问题:
得特别小心该问题,最好不要的程序中混合使用不同版本C的特性,否则会带来很迷惑的问题。如果一定要用,最好清楚自己在做什么。
4. UNIX环境编程
学习了以上内容之后,就可以进行unix环境编程了。不过可能需要对操作系统理论有一点点的了解,这样学起来会比较轻松一些。
Unix环境编程,应该着重IO和进程两大块内容。《Unix环境高级编程》中对Unix环境编程有着非常详细且深入的论述,而且书中有大量实用性例子程序,不过可能得花上几个月得时间,好好啃一啃了。
在扎实掌握以上内容,不代表得C语言学习支路已经完成,相反,才刚刚开始。以后需要用学到得知识去解决大量不同实际问题,在不断得实践过程中,会近一步加深对C的理解。有了以上基础之后,会发现,在实践过程中需要的其他知识,会非常快速的掌握。
二,Windows程序员的学习路线
1.当然要熟悉下C语言了 入门可以选用潭浩强的 《C程序设计》(当然最好能读C Programming Language)特别要对其中的指针,结构体等东西一定要搞清楚了(要学好的很好至少要花费一个月时间) 为什么要从C开始呢:<1> C好学 <2> 大多数的操作系统核心部分是用C开发的 <3> C的效率高且语言成熟
2.在1的基础之上一定要认真学习一下数据结构 对C++程序员来说良好的数据结构可以让一个程序员很轻松的完成程序设计 糟糕的数据结构可以把一个程序员累死 推荐书籍:严蔚敏的《数据结构(C语言版)》或北京大学的一本中C++版的数据结构 书中说到的每个主体在程序设计中都会用到 认真学好会对的以后的C++程序设计有太多的好处 (3个月时间)
3.学好了2之后可以学习下《C++ PROGRAM DESIGN》这本书初步介绍了C++和如何使用C++写出Windows下的程序(要学好至少要花费3个月时间)
4.在3的基础之上可以读一本叫《Windows 95 程序设计》(它的最新版本是Programming Windows)这是一相Windows程序设计的领域的不朽之作(3个月时间) 通过2和3的学习已经成为了一个可以设计Windows程序的程序员了 要想更好的设计Windows程序设计 一定要借助框架结构不可 为什么:框架结构可以加快我们程序设计的速度 虽然使用框架使得我们的程序的效率低了那么一点 但随着当今计算机的运算能力的提升,不会感觉到这一点点的性能损失的反而会因为你使用的框架结构而使你的程序设计加快了速度 使用框架结构才算一个真正的VC++程序员
5.在4的基础之上可以看一些简单的MFC程序设计的书比如《Visual C++入门教程》之类的图书 这可以使你能写出一些带有通用控件的MFC程序 (1个月时间)
6.在5的基础之上已经可以很快开发一个软件了 但不了解MFC框架运行机制是很不好的 了解MFC的运行机制可以使以后的MFC程序设计工作做的更好 推荐书籍侯杰的《深入浅出MFC》 但这本书真的不适合初学者当你有了一定的开发经验以后这本书对来说确实很好 若很熟悉Windows下的SDK程序设计并打算或已经开始使用MFC进行软件开发 那这本书对来说再好不过了 (2个月时间)
7.在6的基础之上可以看下这本书《VC++技术内幕》由潘爱民译的 推荐看原着(3个月)
8.在以上基础之上为了更好的使用VC++这个工具 推荐看一下《VC++6.0宝典》(3个月) 从开发工具的角度讲这本书写的很好
9.为了更好的工作可以参考一下VC++程序设计百例
10.之后可以看一下《Windows核心编程》 这本书很好的讲解了Windows的编程 对你写系统程序很有好处的 推荐看原版
11.只了解其形不算真正的了解 之后还要认真的读一下Windows的内核源码 相信WRK 很容易找到的 可以配合《深入解析Windows操作系统》《Windows内核原理与实现》和《Windows内核情景分析》
12.其它一些东东《COM原理》(潘爱民) OpenGL D3D VC的数据库编程 图形图像 音视频处理和网络都要有所了解和会使用
13.要做到一个好的程序员一定要对驱动程序有所了解所以写一个文件驱动之类的东东是很有必要的
14.经过以上各步的学习完全成为一个优秀的Windows程序员了(前提是每一步要学好)
15.漏了一些重要的东东 编译原理 汇编及 组成原理 和设计模式等也是很重要的东东 只有学好了这些才能明白语言为什么要这样组织才能高效。
❼ 想学c语言,但不知如何开头,学习c语言的第一步是什么
c语言是很多人都想学习的内容,但是很多人都不知道如何开头。
总结
c言语作为一门编程言语,应该是每个软件开发人员都应该控制的,而对计算机专业的学生来说更是根底。假如你依照我上面说的步骤,把这些学问都控制的话,置信你的c言语可以到达一个较好的程度。
❽ c语言编程怎样入门
相对于其他编程语言,C语言还是比较难的。初学者需要注意一下几点:
一是学习顺序
先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。
二是学习方法
人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。
最后强调一点,很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。
❾ c语言使用什么软件,该如何使用
C语言作为一门古老的编程语言,应用范围非常广,至于编程的软件的话,其实就非常多了,下面我简单介绍几个不错的C语言编程软件,感兴趣的朋友可以自己尝试一下:
Dev-C++这个是Windows环境下一个轻量级、免费的C/C++集成开发环境,自带有TDM-GCC编译器、GDB调试器,可以直接编译运行C语言程序,轻快灵活,功能简洁,支持代码高显亮,没有自动语法提示和自动补全功能,对于初学者来说,非常锻炼人,纯手工编写代码,更能打好基础:
VC++6.0
这个软件的功能和Dev C++差不多,也是Windows环境下一个非常不错的C/C++开发环境,在早期的学习中,经常会用到这个软件,许多学校机房中都使用这个软件教学,可以直接编辑运行C语言程序,功能比较简单,没有任何提示功能,都是手写代码,现在来说,使用不多了,但对于初学者来说,也是一个不错的选择:
CodeBlocks
相比较前面2个软件,CodeBlocks的功能强大一些,开源、免费、跨平台,小巧灵活,支持代码高亮、语法检查、自动补全等功能,除此之外,还提供了许多现成的工程模板,可以快速创建控制台应用、Qt应用等,使用起来非常方便,也是一个非常不错的C语言编程软件:
VS Code
这是微软开源、免费、跨平台的一个代码编辑器,插件众多,生态环境良好,配置GCC编译器后,也可以直接编辑运行C语言程序(本身支持的编程语言也非常多),支持智能补全、语法提示、Git等功能,轻便灵活,使用起来非常不错,也很好学习和掌握:
VS 2017
这是一个专业的C/C++开发环境,也是个人和公司使用最多的IDE,项目管理、团队协作来说非常方便,集成的环境比较多,Python、VB、C#等,这个软件都能很好的兼容,自动补全、语法检查和提示功能这个软件都支持,整个软件比较大,运行起来电脑可能会比较卡,而且功能比较复杂,初学者来说,需要一段时间才能适应和基本掌握,但的确是一个值得学习和使用的IDE环境:
Vim
这也是一个非常经典的C语言编程环境,只不过在Linux环境下比较常用,免费、跨平台,插件扩展比较丰富,轻巧灵活,功能简洁,安装GCC编译器后,也可以直接编译运行C语言程序,对于在Linux环境下开发C来说,是一个非常不错的选择:
目前,就分享这6个不错的C语言编程软件吧,有Windows的,也有Linux的,对于初学者来说,完全可以满足日常开发和使用,当然,你也可以使用其他软件,像IDEA、Eclipse(安装插件)等,也可以,适合自己就行,网上也有相关资料可供参考,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
这个有好多,我先来说说我用过的有哪些?
我在Windows上一开始用的是 win-TC,这是一个新手软件。
他有了界面,能够使用鼠标,具有语法高亮,可以嵌入汇编等特点,对新手一些,拜托了不能用鼠标的困难。
我给你看看它的样子
我再来讲一个: dev-C++
这个软件也挺好的,是windows下一款开发c/c++的开发环境,使用gcc为编译器,遵循标准,功能比较强大,语法高亮,可以进行单步调试(这对排除错误很重要),进行断点设置等功能,遵循C标准,是一款很强大的开发工具。
我来给你看看它的样子
再来最有一个,他就是 VC++
微软的产品,编译器,链接器,运行,调试等功能于一体的强大开发工具,特点是功能十分强大,对于新手来说需要一段时间去摸索.
你自己考虑用哪个吧!
祝愿你c语言学的越来越好!
C语言只是一门计算机编程语言,具体使用什么软件,你应该指的是要是用什么样的集成开发环境(IDE)去编译。因为编辑C语言,可以说只要是能打字的就可以,记事本都可以,但是编译的常见的有Visual Studio,GNU gcc等一般的编译工具,但这仅限上层应用工具编译的C语言代码,也仅供上层应用使用,在嵌入式中最常用的是Keil,IAR这两款IDE,也有部分使用eclipse,Qt Creator。具体看MCU支持的开发环境,我接触过的有Visual C++,Visual studio,Keil,IAR,Atmel Studio,eclipse,
Simplicity Studio,ST Visual Develop,这些都是C语言的编程工具,使用的编译交叉工具。有些用来编写C语言的,我用过记事本,notepad++,Vim,sourceinsight,sublime等等。
我是Java软件工程师,用专业角度分享干货。在这里推荐三款软件,足以满足你学C语言的需求。
VC6.0是大部分科班出身的第一款编程软件。本人软件工程专业,大一就是使用这款软件入门C语言,当然这款软件也可以用来学习c加加。
既然是学院派软件,那自然有教科书选择它作为编程C语言入门的原因,简朴的界面,容易上手的操作方式。
缺点是Windows10安装有点麻烦,Windows7及以下可以兼容,而且官网也不对此软件进行维护了。
升级版VC,Visual Studio如果打算学C语言并且以后成为你谋生的工具,在Windows系统里首推VS,这款软件不是免费的但是有社区版,当然仔细找找可以弄到破解版本也不是难事。
VS是非常强大的编译软件,不仅仅可以写C语言以及其他带c的语言,还可以写Java等主流语言。个人用过2010版本写c加加,确实是不错的工具。
Linux系统必备,Vim以上两种是Windows用户必备的C语言学习软件,如果你想在Linux里掌握更加纯粹的编程方式,那么可以用Vim,这是简单而又经典的C语言编译工具。
当然它与前两款有所不同,写完以后没有按钮给你点击运行,你必须在Linux的命令行上编译运行,这对你掌握C语言的原理会有更好的帮助,顺便还能把Linux知识掌握一番,一箭双雕。
C语言使用的软件可以分为两种,一种是为懒人设计的可视化编辑工具:IDE,一种是”心中有剑“的无可视化编辑工具:文本。下面我来详细说说。
一、C语言可视化编程工具IDEIDE,全称叫做“Integrated Development Enviroment”(此处我擦把汗,还好英文没还给老师),中文名叫“集成开发环境”,关键字是“集成”。C语言IDE集成了C程序文件打开、保存、编译、运行、调试、工具等各种功能,所以叫做集成开发环境。
目前有很多种IDE,比较着名的有Visual Studio、Eclipse CDT、Dev-C++等,根据每人不同的爱好去选择。下面我大概说说Dev-C++主要功能。
1、新建一个C程序文件
开始编写C程序代码了,第一步当然是新建一个C程序代码了,在菜单“File”下找到“New”即可:
可以单独新建一个C程序代码文件,也可以新建一个项目。顺便说下,在“File”菜单下,还有诸多的其他功能,如打开已有的C语言程序代码、保存当前的C程序代码等,充分体现了IDE的“集成”概念。
2、编译运行一个C程序文件
写完一个C语言程序代码后,可以在“Execute”菜单下找到“Compile”和“Run”,也就是编译和运行的意思。
菜单“Execute”下的功能也是十分的丰富,有单独的编译、运行步骤,也有编译与运行的集成步骤,还有重新编译、C语言代码语法检查、参数设置、清空当前项目等诸多实用功能。
对于C语言初学者来说,Dev-C++是一个很不错的IDE编程环境。
二、C语言不可视化编程环境很多C语言编程高手从来不用IDE,你跟他说IDE,他会一脸茫然“那是个啥东西?”不少程序员编程直接打开文本文件,在文本文件上写好C语言程序代码,然后GCC编译,结束!这就是采用不可视化编程环境。
例如上面的那段C语言代码就写在一个文本文件里,程序员靠着眼力看下程序没有什么语法错误,然后直接GCC编译C程序代码文件,如下:
上图是使用GCC编译时使用的一些编译参数。可以看到相比较于IDE的一键式编译,手动编译需要自己指定编译头文件目录、编译C语言函数库路径等,比较麻烦。不过这也是手动编译的魅力所在,就是其乐无穷!
编译完了之后会生成一个C程序可执行文件,直接运行这个可执行文件即可。
使用C语言编写程序,有两种方式:一种是可视化编程环境,也就是我们常说的IDE(集成开发环境),一种是非可视化编程环境,纯手工活儿。至于哪一种更好因人而异,希望能帮助你找到适合自己的编程开发环境!
老话说:欲先善其事必先利其器,所以说对于学习一种程序语言,选择一个良好的工具是至关重要的!选择工具之前,首先对语言得有个起码的认识:
C语言的显着特点C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言的文件是由数据序列组成,可以构成二进制文件或文本文件。
常用的软件有一般常用IDE(集成开发环境)的有Microsoft Visual C++,Code::Blocks,Dev-C++,Watcom C++ ,Borland C++ Builder,Borland C++,GNU DJGPP C++ ,High C,Lccwin32 C Compiler 3.1,Turbo C,C-Free,win-tc 等等
对于新手小白来说可以选择Microsoft Visual C++,因为其特点是:界面友好,功能强大,尤其是调试也很方便。
安装的方法:(以下是网络安装经验,仅供参考)https://jingyan..com/article/4ae03de32997a63eff9e6b33.html另外推荐几个视频学习网站
网易云课堂;腾讯课堂;慕课网等
***希望对您有帮助,有不同想法,欢迎在下方评论留言!!! 码上有理友聚在这等着你
推荐VS2017
1、安装VS2017 IDE软件,不多说,安装guide一步步安装即可。
2、选择File-New-Project,选择Visual C++-general-Empty Project新建一个C++工程。
3、在右侧的Resource files 右击Add-New Item选择C++ File(.cpp)
4、书生意气风发的写入Hello world
代码如下:
#include “stdio.h”
#include
Int main()
{
printf("Hello World!”);
system(“pause”);
return 0;
}
学c语言难道不是应该找学习方法吗?找APP是不是方向错了,
就算有课程的APP大多都是收费的,不如网上搜集点学习资料,找别人做好的开源代码,学习别人的思想
学习编程最重要的是自己敲代码
推荐一款windows和linux下通用的开放源码的全功能c/c++集成开发环境:code::blocks
这是linux下的界面。
windows版可以汉化。
也可以使用Turbo c 3.0
❿ C语言入门
1、 DIP40双列直插;
2、 P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)
3、 电源VCC(PIN40)和地线GND(PIN20);
4、 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)
5、 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)
6、 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)
7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1
单片机内部I/O部件:(所胃学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)
1、 四个8位通用I/O端口,对应引脚P0、P1、P2和P3;
2、 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)
3、 一个串行通信接口;(SCON,SBUF)
4、 一个中断控制器;(IE,IP)
针对AT89S52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。
C语言编程基础正式内容:
1、 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。
2、 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
3、 ++var表示对变量var先增一;var—表示对变量后减一。
4、 x |= 0x0f;表示为 x = x | 0x0f;
5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。
6、 While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;}
一、常量
(1)无符号单字节数
(2)带符号单字节数
(3)无符号双字节数
(4)带符号双字节数
(5)浮点数,占用4个字节
二、变量
(1)无符号单字节数:unsigned char
(2)带符号单字节数:char
(3)无符号双字节数:unsigned int
(4)带符号双字节数:int
(5)浮点数,占用4个字节:float
(6)位变量:sbit
(7)数组:Arrary[ ][ ]
(8)联合体:union
union{
inti_Data;
unsigned char b_Data[2];
}u_int;
(9)结构体:struct
struct Stu_Channel_Info{
unsigned char Device_Info;
unsigned intDevice_ID;
unsigned intDevice_Time;
}Channel_Info[con_MaxNumber];
(10)指针:在C51语言中,我们尽量避免指针。
三、存储类型
code:指放到程序存储器中,不可变得常数 比如:unsigned char code x
data:指内部RAM低128字节空间 00~7FH比如:unsigned char data x
idata:指全部内部RAM空间00H~FFH。unsigned char idata x
bdata:指放到可位寻址区域20H~2FH中 unsigned char bdata x
pdata:指可用Ri寻址的区域,通常固定为外部RAM256字节unsigend char pdata x
xdata:指外部64KBRAM空间 unsiged char xdata x
四、关于运算符号
+:加法运算
-:减法运算
*:乘法运算
/:除法运算
%:取余数
<<:左移
>>:右移
=:等于
&:与操作
|:或操作
~:取反
&&:逻辑与
||:逻辑或
五、关于位操作
(1)口线位操作
sbit Left_Red P1^0表示用Left_Red来表示P1.0位
Left_Red = 0则表示将P1.0清零Left_Red = 1则表示将P1.0置位
(2)位变量的操作方法
unsigend char bdata Control_Port;// 声明一个可位寻址的字节变量
sbitOutput1 = Control_Port^1;// 引用该字节变量的某一位
sbitOutput2 = Control_Port^2;
sbitOutput3 = Control_Port^3;
则我们可以对Control_Port操作,也可以直接对其中定义好的位变量直接操作
六、关于外部端口的操作
#define LED_Address XBYTE[0xC400]固定LED_Address为0xC400地址
读该端口的方法:x = LED_Address;
写该端口的方法:LED_Address = x;LED_Address = 0x33; LED_Address = Arr[5];
七、外部RAM区的操作
unsigned char xdata Arr[20]; 表示声明了20个字节的外部RAM空间
写方法:Arr[1] = 1;
读方法:x = Arr[1];
unsigned char xdata Arr[20] _at_ 0x0000;表示这20个外部RAM的起始地址为0x0000
八、普通函数的书写方法:
void Delay( void ){
}
void Output( unsigned char x ){
}
unsigned char Input( void ){
}
unsigned char Key_Disp( unsigned char *P ){
}
九、中断服务函数的写法:
void p_Int0( void ) interrupt 0 using 0{
}
其中interrupt 0 表示第0号中断,即INT0中断
using0 表示中断服务程序中使用的工作组为0区。
十、常用语句
if (){}
else{}
for(;;; ) {}
while( ) {}
switch( ){
case:break;
case:barek;
default:break;
}
十一、书写规范
x = x + 1;
for( i = 1; i < 10; i++ ){
j = Arr[5] + i;
}
void Delay_10ms( void ){
unsigned char i;
for( i = 0; i < 100; i++ ) { }
}