首页系统c语言程序设计教程 c语言程序设计怎么自学

c语言程序设计教程 c语言程序设计怎么自学

编程之家2024-06-07183次浏览

一、c语言设计

#include<stdio.h>#include<string.h>#include<stdlib.h>#include"conio.h"#defineLENsizeof(structstudent)typedefstructstudent{charnum[10];charname[10];intmath,english,computer;inttotal;structstudent*next;}student,*LinkList;voidLogin();voidweixiu();voidmenu();intOpen(LinkListL);voidprintstart();voidWrong();voidNofind();voidprintc();voidgetinf(LinkListL);voidorderbyzongfen(LinkListL);voiddeleteall(LinkListL);voidDeveloper();voidSort(LinkListL);voidSave(LinkListL);LinkListdingwei(LinkListL,charfindmess[],charnameornum[]);LinkListL;intmain(void){

c语言程序设计教程 c语言程序设计怎么自学

Login();

return0;}

/*---------------------------------------------------输入学生成绩并计算-----------------------------------------------------*/voidgetinf(LinkListL){LinkListr,s;r=(LinkList)malloc(LEN);printf("请输入学号:");scanf("%s",r->num);printf("请输入姓名:");scanf("%s",r->name);printf("请输入数学成绩:");scanf("%d",&r->math);printf("请输入英语成绩:");scanf("%d",&r->english);printf("请输入电脑成绩:");scanf("%d",&r->computer);r->total=r->math+r->english+r->computer;

s=L->next;L->next=r;r->next=s;printf("追加记录成功!\n");}

/*------------------------------该函数用于定位连表中符合要求的接点,并返回该指针---------------------------*/LinkListdingwei(LinkListL,charfindmess[],charnameornum[]){LinkListr;if(strcmp(nameornum,"num")==0){r=L->next;while(r!=NULL){if(strcmp(r->num,findmess)==0)returnr;r=r->next;}r=NULL;returnr;}elseif(strcmp(nameornum,"name")==0){r=L->next;while(r!=NULL){if(strcmp(r->name,findmess)==0)returnr;r=r->next;}r=NULL;returnr;}elsereturn0;}

/*---------------------------------------------删除记录--------------------------------------------------*/voiddeleteall(LinkListL){

c语言程序设计教程 c语言程序设计怎么自学

charch;

printf("确定您要清除文件里所有学生的信息,这样就无法恢复数据了(YorN)\n");getchar();scanf("%c",&ch);if(ch=='y'||ch=='Y'){L->next=NULL;printf("文件里学生成绩信息已经被清除!\n");}elsereturn;}

/*-------------------------------------------------排序记录------------------------------------------------------------*/voidSort(LinkListL){LinkListp,r,s;p=L;

r=p->next;s=p->next->next;while(s!=NULL){while(s->total<p->next->total)p=p->next;if(p->next==s){printf("排序已完成!\n");return;}else{r->next=s->next;s->next=p->next;p->next=s;s=r->next;p=L;}}printf("排序成功!\n");

}/*---------------------------------------------------------排名---------------------------------------------------*/

voidorderbyzongfen(LinkListL)

c语言程序设计教程 c语言程序设计怎么自学

{LinkListp;

p=L;if(p->next!=NULL){printstart();printc();for(p=p->next;p!=NULL;p=p->next)printf("%3s\t%3s\t%5d\t%9d\t%5d\t%7d\n",p->num,p->name,p->math,p->english,p->computer,p->total);printstart();}elseNofind();}

/*-----------------------------------------------------------打开文件--------------------------------------------------------*/intOpen(LinkListL){FILE*fp;LinkListp1,p2;charchoose;intcount=0;

p1=L;p1->next=NULL;fp=fopen("E:\\student_score","rb");if(fp==NULL){printf("\n=====>提示:文件还不存在,是否创建?(y/n)\n");scanf("%c",&choose);if(choose=='y'||choose=='Y'){fp=fopen("E:\\student_score","wb");printf("文件已创建,请按回车键关闭,然后重新打开软件\n");getchar();getchar();exit(0);}elseexit(0);}

p2=(LinkList)malloc(LEN);while(fread(p2,LEN,1,fp)){p2->next=NULL;p1->next=p2;p1=p2;p2=(LinkList)malloc(LEN);count++;}p2->next=NULL;fclose(fp);

return1;}/*-----------------------------------------------------保存文件----------------------------------------------------*/voidSave(LinkListL){FILE*fp;LinkListp1;charchoose;if(L->next==NULL){printf("没有可以保存的信息!\n");return;}printf("确认保存?(y/n)\n");getchar();scanf("%c",&choose);getchar();if(choose=='y'||choose=='Y'){fp=fopen("E:\\student_score","wb");p1=L;p1=p1->next;

while(p1){if(fwrite(p1,LEN,1,fp)==1){p1=p1->next;}elsebreak;}fclose(fp);printf("保存成功!\n");}elseprintf("没有保存!\n");}

voidweixiu(){printf("\n\n\n");printf("\n**************************************************************");printf("\n");printf("\n欢迎使用成绩管理系统.本系统尚在试用阶段,有问题请与我联系!");printf("\n");printf("\n我的qq是365549735");printf("\n**************************************************************");}

/*----------------------------------------------------界面函数-------------------------------------------*/voidLogin(){system("color5f");charch[23];inti=0;charmima[45];L=(LinkList)malloc(LEN);intsel,count=0;weixiu();printf("\n\n\n");printf("\n请选择您的登陆方式(1:管理员2:普通用户)");scanf("%d",&i);switch(i){case1:

system("cls");weixiu();printf("\t\t\t\t用户名:");scanf("%s",ch);printf("\t\t密码:");scanf("%s",mima);if(strcmp(mima,"123456")==0&&strcmp(ch,"何涛")==0){getchar();printf("\n按回车返回主菜单\n");getchar();system("cls");}else{printf("您的用户名或密码有误,无法登陆!\n");exit(0);

}menu();Open(L);

for(scanf("%d",&sel);sel!=0;system("cls"),menu(),scanf("%d",&sel)){switch(sel){case1:getinf(L);count++;Save(L);getchar();printf("\n按回车返回主菜单\n");getchar();break;case2:Sort(L);orderbyzongfen(L);getchar();printf("\n按回车返回主菜单\n");getchar();break;

case3:deleteall(L);getchar();printf("\n按回车返回主菜单\n");getchar();count--;break;

case4:Developer();getchar();printf("\n按回车返回主菜单\n");getchar();break;case5:printf("谢谢使用!有问题可以与我联系\n\t\tqq810097972\n");exit(0);break;default:Wrong();getchar();printf("\n按回车返回主菜单\n");getchar();}}break;

case2:system("cls");Open(L);printf("\n\t\t\t\t1:按高分排序并显示\n\t\t\t\t2:制作人员\n\t\t\t\t3:退出系统\n");printf("请选择你要的操作:");

for(scanf("%d",&sel);sel!=0;system("cls"),menu(),scanf("%d",&sel)){switch(sel){

case1:Sort(L);orderbyzongfen(L);getchar();printf("\n按回车返回主菜单\n");getchar();break;

case2:Developer();getchar();printf("\n按回车返回主菜单\n");getchar();break;case3:printf("谢谢使用!有问题可以与我联系\n\t\tqq810097972\n");exit(0);break;default:Wrong();getchar();printf("\n按回车返回主菜单\n");getchar();}}break;break;}

printf("\n|************************************************************|");

}voidmenu(){printf("\n\t\t\t\t欢迎进入成绩管理系统\t\t\t\n\n\t\t1:输入学生成绩并计算\n\t\t2:按高分排序并显示\n\t\t3:删除数据\n\t\t4:制作人员\n\t\t5:退出系统\n\n选择您要进入的菜单,请输入功能号(0~5):");//主界面)

}voidprintstart(){printf("\n-------------------------------------------------------------------\n");}voidWrong(){printf("提示:输入错误!\n");}voidNofind(){printf("提示:没有找到该学生!\n");}

voidDeveloper(){printf("\n\n\n\t\t\t\t\t制作人员:\n\t\t\t\t\t\t------何涛\n\n\n");}

voidprintc(){printf("学号\t姓名\t数学成绩英语成绩电脑成绩总分\n");

二、c语言程序设计老是不会咋办

C语言学了很久还是不会写程序,我认为学习方法需要改进。

我建议你不要花过多的时间去做题。先把课本浏览一遍,知道个大概,就开始写程序。写程序不是做课本的练习题,你要自己想一个项目来做,你想实现什么功能就写相应的程序。写程序的过程中一定会发现很多错误,参考你的课本把错误改正。等你写完你的项目,你就学会C语言了。

三、c语言程序设计怎么自学

主要涉及四个方面的学习与训练。

1).学习并理解C语言的语法和语义。

在C语言中:

语法:规定了C语言中各种符号集中各种符号的结合方式,规定了各种表达式、语句、函数乃至程序结构等的构造规则。

语义:构成C语言的各种符号的含义。

只有正确理解了C语言的语法和语义,才有可能正确地进行程序设计,才有可能读懂别人编写的程序。

对语法语义的掌握程度根据初学者的专业和目标有不同要求:

非计算机专业:知其然即可,即学会如何使用即可;

计算机专业:知其然亦知其所以然,不仅要会使用,而且要学会C语言的形式化描述,学会分析语法成分的合理性、类型的抽象性等。为有朝一日设计新的程序语言奠定坚实的基础。

2).学习并掌握一些基本数据结构和常用算法的设计

C语言对硬件有很强的操纵能力没在大多数情况下可以替代汇编语言。因此,要学好用好C语言,需要对字符、整型变量、数组元素在内存中的存储形式,对补码及对字节中的位操作做到熟练掌握。深刻理解各类指针及所指对象的声明、使用及其物理含义。结构、结构数组、联合、链表、栈、队列、图及其相应的对动态存储分配都要熟练掌握。

另外,文本是C语言的基本研究对象,对文本操作的各种算法都要熟练掌握。以及其余各种算法原理学习代码实现。

3).熟悉集成开发环境

现在常用IDE有codeblocks、DevC++、Visualstudio等。

4).熟悉库函数

在C语言中,编译系统提供了一些标准的库函数,如I/O的标准库函数、字符串处理的标准库函数、数学计算的标准库函数等。学习者只需知道这些标准库函数的功能、调用方式、返回何种结果,并且能够在自己的程序中调用这些标准库函数即可,而完全没有必要自己去编写这些函数。但是,计算机专业的优秀学生还应具备编写这些库函数的能力。

angla,angela歌曲移动宽带为什么这么卡(探究移动宽带卡顿的原因)