c语言解答网站(解释c语言)
本文目录一览:
有什么好的学习C语言的网站
专业论坛:bbs.csdn.net
爱好者论坛:bbs.programfan.com
c语言学习的资料下载:
C程序设计(谭浩强) :
C语言资料大全1.0 :
21天学通C语言第六版(PDG) :
C语言初学者入门讲座 :
C程序设计习题参考解答.rar :
C语言学习和精华文摘 :
C语言课程设计案例精编 :
C专家编程(中文版) :
C语言经典实例 :
C语言圣经(英文) :
ANSI C语言标准 :
高质量C/C++编程指南 :
C语言函数大全(语法着色版) :
想学好c语言,有什么好的网站吗
找一本好的参考书是必不可少的,推荐谭浩强的《C语言程序与设计》,还有配套的习题答案,叫《C语言设计题解也上机指导》。
你可以上去CSDN.net上面注册,里面有很多相关的资源可以下载,而且是免费的。我就是这个专业的人,上个学期没有学好,总结了经验,第一是自己不会利用网络资源来学习。CSDN这个网站很有名,我也是这个学期才开始了解到它。
另外的就是拼命的敲代码,无论是参考书的例题,还是习题,必须都上机敲敲,一步步地推敲。
还有,当你基本了解了C语言的语言结构了,会运用那么基本的语句,可以上去北大的acm网站上做做题,提高自己的能力。当然一开始,要做些容易的,通过高的题做。
北大acm的网站是
学习编程的同时,要学习调试程序,好好运用编译器的功能,这样就会慢慢地学到C语言的规律了。
c语言程序解答(在线等)?
根据题意:
1、项目序号应为唯一值,用自增变量填充。
2、时间使用struct tm结构体(考虑如需时间运算,可使用相关函数)。
3、自定义结构类型SIINFO,分别实现插入链表和打印链表两个功能。
4、由于这个演示程序执行完就结束程序了。所以链表我没有写free释放内存,如你后期扩充代码,自己写释放(除程序结束,malloc申请内存不会自动释放)。
下面是演示代码:
#include stdio.h
#include malloc.h
#include time.h
#define MS 4//最大类型个数
#define MN 20//名称最大字符长度
char stypes[MS][10]={"速度型","力量型","耐力型","对抗型"};//项目类别,自行扩展,对应修改MS常量
typedef struct SportsItemInfo//定义一个体育项目结构类型
{
int id;//项目序号,从数据结构考虑,该项不能重复,应设为自增从0开始(实际开发,这个值由数据库分配)。
char name[MN+1];//项目名称
int stype;//项目类(对应stypes行下标)
int n;//参赛人数
struct tm sDate;//竞赛时间
struct SportsItemInfo *next;
}SIINFO;
SIINFO *insert2List(SIINFO *p_sHead);//插入新数据,首次插入参数传NULL。参数:链表头节点地址(不是首节点)。成功返回头节点,失败返回NULL。
void selectFList(SIINFO *p_sHead);//查询链表
int main()
{
char c;
SIINFO *p_sHead=NULL,*stemp=NULL;
printf("新增体育项目:\n");
while(1)
{
stemp=insert2List(p_sHead);
if(!stemp)
{
printf("ERROR!\n");
return 1;
}
p_sHead=stemp;
printf("是否继续输入(Y/N):");
c=0;
while(c!='Y' c!='N')scanf("%c",c);
if(c=='N') break;
}
selectFList(p_sHead);
return 0;
}
void selectFList(SIINFO *pht)
{
int i=0;
if(pht)
{
printf("\n输出链表信息:\n");
while(pht-next)
{
printf("-----------项目%d---------\n",++i);
printf("项目序号:%d\n",pht-next-id);
printf("项目名称:%s\n",pht-next-name);
printf("项目类别:%s\n",stypes[pht-next-stype]);
printf("参赛人数:%d\n",pht-next-n);
printf("参赛时间:%04d-%02d-%02d %02d:%02d:%02d\n",pht-next-sDate.tm_year+1900,pht-next-sDate.tm_mon+1,pht-next-sDate.tm_mday,pht-next-sDate.tm_hour,pht-next-sDate.tm_min,pht-next-sDate.tm_sec);
printf("--------------------------\n");
pht=pht-next;
}
}
}
SIINFO *insert2List(SIINFO *p_sHead)
{
static int x=0;
static SIINFO *p_sTail=NULL;
int i;
SIINFO *p_new=NULL;
if(!p_sHead){
p_sHead=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_sHead)
return NULL;
p_sHead-next=NULL;
p_sTail=NULL;
}
p_new=(SIINFO*)malloc(sizeof(SIINFO));
if(!p_new)
return NULL;
p_new-next=NULL;
p_new-id=x++;
printf("--------------------------\n");
printf("项目名称:"),scanf("%s",p_new-name);
for(i=0,printf("项目类(");iMS-1;printf("%d、%s,",i,stypes[i]),i++);
printf("%d、%s):",i,stypes[i]);
p_new-stype=-1;
while(p_new-stype0 || p_new-stypeMS-1)scanf("%d",p_new-stype);
printf("参赛人数:"),scanf("%d",p_new-n);
printf("参赛时间(输入格式:年-月-日 时:分:秒):");
scanf("%d-%d-%d %d:%d:%d",p_new-sDate.tm_year,p_new-sDate.tm_mon,p_new-sDate.tm_mday,p_new-sDate.tm_hour,p_new-sDate.tm_min,p_new-sDate.tm_sec);
p_new-sDate.tm_mon--;//tm结构的月份是从0开始对应1月
p_new-sDate.tm_year=p_new-sDate.tm_year-1900;//tm结构的年份是实际年份-1900
if(!p_sHead-next)
p_sHead-next=p_new;
else
p_sTail-next=p_new;
p_sTail=p_new;
printf("--------------------------\n");
return p_sHead;
}
国内C语言学习网站有那些?
编程学习App推荐:1.W3Cschool(教程比较丰富,还能学习,有论坛区)
2.慕课(视频为主)
3.百度传课(也是以视频为主,可配合W3Cschool一起学习)