《c程序设计》课后答案

  • 更新时间:
  • 3502人关注
  • 点击下载

给大家带来的是关于C语言相关的课后习题答案下载,介绍了关于C程序设计、C语言方面的内容,由曾浦和 网友提供,本资源目前已被445人关注,高等院校C语言类教材综合评分为:9.8分

资源详情相关推荐
《c程序设计》封面
  • 出版社:清华大学出版社
  • 作者:谭浩强、李玲玲
  • 大小:1.97 MB
  • 类别:C语言
  • 热度:126
  • C语言实用之道
  • C语言经典编程282例
  • 数据结构(C语言版)
  • 《全国计算机等级考试教程:二级C语言程序设计》考试模拟软件
  • C语言程序设计(第2版)
  • 本书以能力培养为目标,程序设计为主线,C语言语法规则为载体,将培养程序设计能力融入学习程序没计语言的过程。

    本书分为11章,主要内容包括C程序设计基础、基本数据类型及运算、简单C程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、构造数据类型、位运算、文件等。书中所有例程均基于visualC++ 6.0平台编写和调试(特殊注明的除外)。除了丰富的例程,各章还配备了相应的练习题,便于读者学习、巩固和稳步提高。

    本书的编写者全部是多年从事一线教学的教师,内容编排依据实际的教学经验,力求概念准确、通俗易懂、循序渐进、深入浅出、重点突出、语言简练、实用性强和便于自学。阅读本书无须具备其他程序设计语言和程序设计的知识。

    本书可作为高等学校非计算机专业C语言程序设计类课程的教材,也可作为计算机等级考试的辅导用书和工程技术人员学习C语言的自学用书。

    目录

    • 第1章 C程序设计基础
    •  1.1 程序设计概述
    •   1.1.1 程序设计的概念
    •   1.1.2 程序设计方法
    •   1.1.3 程序设计语言及其发展
    •  1.2 C语言概述
    •   1.2.1 C语言的发展
    •   1.2.2 C语言的特点
    •   1.2.3 C语言的应用
    •  1.3 C程序的组成
    •   1.3.1 简单程序举例
    •   1.3.2 C程序的组成特点
    •   1.3.3 C程序的书写规范
    •  1.4 C程序设计的一般步骤
    •  1.5 C语言程序开发调试环境
    •   1.5.1 VisuaIC++6.0简介
    •   1.5.2 VisuaIC++6.0下开发调试C程序的方法与步骤
    •  1.6 小结
    •  1.7 练习
    • 第2章 基本数据类型及运算
    •  2.1 C语言的构成元素
    •   2.1.1 构成元素概述
    •   2.1.2 字符集
    •   2.1.3 标识符
    •  2.2 C语言的数据类型
    •   2.2.1 数据类型概述
    •   2.2.2 整型
    •   2.2.3 浮点型
    •   2.2.4 字符型
    •  2.3 常量
    •   2.3.1 符号常量
    •   2.3.2 r整型常量
    •   2.3.3 浮点型常量
    •   2.3.4 字符常量
    •   2.3.5 字符串常量
    •  2.4 变量
    •   2.4.1 变量的概念
    •   2.4.2 变量定义
    •   2.4.3 变量初始化
    •   2.4.4 变量赋值
    •  2.5 运算符和表达式
    •   2.5.1 运算符概述
    •   2.5.2 算术运算符和算术表达式
    •   2.5.3 赋值运算符和赋值表达式
    •   2.5.4 逗号运算符和逗号表达式
    •  2.6 数据类型转换
    •   2.6.1 自动转换
    •   2.6.2 强制类型转换
    •  2.7 小结
    •  2.8 练习
    • 第3章 简单C程序设计
    •  3.1 算法
    •   3.1.1 算法的概念
    •   3.1.2 算法的特性
    •   3.1.3 算法设计的要求
    •   3.1.4 算法的描述
    •  3.2 C语句概述
    •  3.3 C语言的输入输出
    •   3.3.1 输入输出概述
    •   3.3.2 格式输出函数printf
    •  ……
    • 第4章 选择结构
    • 第5章 循环结构
    • 第6章 数组
    • 第7章 函数
    • 第8章 指针
    • 第9章 构造数据类型
    • 第10章 位运算
    • 第11章 文件
    • 附录
    • 参考文献
    展开阅读
    精选笔记1:C语言实现医院管理系统

    20小时49分钟前回答

    这个是C语言学完后的一个程序实践的内用。编写一个医院病人管理系统。这个程序有一些BUG,要操作得当,否则可能结果有问题。不过作为作业应付一下还是有模有样的。

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    typedef struct patient
    {
     char ID[10];
     char name[10];
     char bingli[300];
     int cost[3];
     struct patient * next;
    }node1;
    typedef struct storage
    {
     int amount[3];
     int price[3];
    }node2;
    node2 init(node2 temp)
    {
     
     temp.amount[0]=20;
     temp.amount[1]=20;
     temp.amount[2]=10;
     temp.price[0]=5;
     temp.price[1]=9;
     temp.price[2]=16;
     return temp;
    }
    void mainmeun()
    {
     printf("\n");
     printf(" 健康是快乐的源泉\n");
     printf("********************************\n");
     printf("1.注册新病人信息\n");
     printf("2.查询病人信息\n");
     printf("3.写病历\n");
     printf("4.病人消费\n");
     printf("5.列出所有病人信息\n");
     printf("6.载入所有病人信息\n");
     printf("7.保存\n");
     printf("8.查询药品库存\n");
     printf("9.离开\n");
     printf("*********************************\n");
    }
    node1 * create(node1 *p1)
    {
     node1 *p;
     p=(node1 *)malloc(sizeof(node1));
     printf("请输入病人ID\n");
     scanf("%s",p->ID);
     
     while(p1->ID&&strcmp(p1->ID,p->ID))
     {
     p1=p1->next;
     }
     if(p1==NULL)
     {
     printf("请输入病人姓名\n");
     scanf("%s",p->name);
     strcpy(p->bingli,"0");
     p->cost[0]=0;
     p->cost[1]=0; 
     p->cost[2]=0;
     p->next=NULL;
     printf("已注入您的信息\n");
     return p;
     }
     else 
     {
     printf("输入病人ID以存在,注册失败\n");
     return p;
     }
    }
    node1 * insert(node1 * head,node1 *p)
    {
     node1 *p1; 
     if(head==NULL)
     {
     head=p;
     p->next=NULL; 
     }
     else
     {
     p1=head;
     while(p1->next)
     {
     p1=p1->next; 
     }
     p1->next=p;
     p->next=NULL; 
     }
     return(head);
    }
    void search(node1 *p1)
    {
     int sum;
     char a[10];
     printf("请输入病人ID\n");
     scanf("%s",a);
     while(p1->ID&&strcmp(p1->ID,a))
     {
     p1=p1->next;
     }
     if(p1)
     {
     printf("ID:%s\n",p1->ID);
     printf("姓名:%s\n",p1->name);
     printf("病例:%s\n",p1->bingli);
     printf("消费记录:\n");
     if(p1->cost[0])
     printf("巴米尔\t%d\n",p1->cost[0]);
     if(p1->cost[1])
     printf("感冒灵\t%d\n",p1->cost[1]);
     if(p1->cost[2])
     printf("病毒灵\t%d\n",p1->cost[2]);
     sum=p1->cost[0]*5+p1->cost[1]*9+p1->cost[2]*16;
     printf("总费用\t%d\n",sum);
     }
     else
     printf("该病人没有注册\n");
     
     
    }
    void bingli(node1 *p)
    {
     char a[10];
     char bingli[300];
     char enter[5]=":\n";
     printf("请输入病人ID\n");
     scanf("%s",a);
     while(p->ID&&strcmp(p->ID,a))
     {
     p=p->next;
     }
     if(p==NULL)
     {
     printf("无该病人信息\n");
     }
     else
     {
     printf("请写病例:\n");
     scanf("%s",bingli);
     strcpy(p->bingli,bingli);
     strcat(p->bingli,enter);
     }
    }
    node2 buy(node1 *p,node2 temp)
    {
     char i[10];
     printf("请输入病人ID\n");
     scanf("%s",i);
     while(p->ID&&strcmp(p->ID,i))
     {
     p=p->next;
     }
     
     while(1)
     {
     int a,b,c,d;
     printf("1.购买巴米尔\n");
     printf("2.购买感冒灵\n");
     printf("3.购买病毒灵\n");
     printf("0.退出\n");
     scanf("%d",&a);
     switch(a)
     {
     case 1:
     do
     {
     printf("现有库存%d\n",temp.amount[0]);
     printf("购买巴米尔数量:");
     scanf("%d",&b);
     temp.amount[0]=temp.amount[0]-b;
     p->cost[0]+=b*5; 
     }while(b>20);
     break;
     case 2:
     do
     {
     printf("现有库存%d\n",temp.amount[1]);
     printf("购买感冒灵数量:");
     scanf("%d",&c);
     temp.amount[1]=temp.amount[1]-c;
     p->cost[1]+=c*9;
     }while(c>20);
     break;
     case 3:
     do
     {
     printf("现有库存%d\n",temp.amount[2]);
     printf("购买病毒灵数量:");
     scanf("%d",&d);
     temp.amount[2]=temp.amount[2]-d;
     p->cost[2]+=d*16;
     }while(d>=10);
     break;
     case 0:
     return temp;
     }
     }
     
    }
    void list(node1 *p)
    {
     
     if(p==NULL)
     printf("尚无病人信息\n");
     else
     { 
     do{
     printf("病人ID:%s\n",p->ID);
     printf("病人姓名:%s\n",p->name);
     
     printf("病人病例:%s\n",p->bingli);
     
     printf("购买巴米尔费用:%d\n",p->cost[0]);
     
     printf("购买感冒灵费用:%d\n",p->cost[1]);
     
     printf("购买病毒灵费用:%d\n",p->cost[2]);
     printf("\n");
     p=p->next; 
     }while(p!=NULL);
     }
    }
    node1 * load(node1 *p)
    { 
     char ID[10],name[10],bingli[300];
     int cost0,cost1,cost2;
     FILE *fp;
     fp=fopen("information.txt","r");
     int n=0;
     node1 *p1,*p2;
     
     while(!feof(fp))
     {
     n++;
     p1=(node1 *)malloc(sizeof(node1));
     fscanf(fp,"%s",ID);
     fscanf(fp,"%s",name);
     fscanf(fp,"%s",bingli);
     fscanf(fp,"%d",&cost0);
     fscanf(fp,"%d",&cost1);
     fscanf(fp,"%d",&cost2);
     
     strcpy(p1->ID,ID);
     strcpy(p1->name,name);
     strcpy(p1->bingli,bingli);
     p1->cost[0]=cost0;
     p1->cost[1]=cost1;
     p1->cost[2]=cost2;
     p1->next=NULL; 
     
     if(n==1)
     {
     p=p1;
     p2=p1;
     }
     
     else
     {
     p2->next=p1;
     p2=p1;
     
     }
     }
     
     fclose(fp);
     
     return p;
    }
    void save(node1 *p)
    {
     FILE *fp;
     fp=fopen("information.txt","w");
     if(p!=NULL)
     do{
     fprintf(fp,"%s\n",p->ID);
     fprintf(fp,"%s\n",p->name);
     fprintf(fp,"%s\n",p->bingli);
     fprintf(fp,"%d\n",p->cost[0]);
     fprintf(fp,"%d\n",p->cost[1]);
     fprintf(fp,"%d\n",p->cost[2]);
     p=p->next;
     }while(p!=NULL);
     fclose(fp);
    }
    void liststock(node2 temp)
    {
     printf("药品\t数量\t价格\t\n");
     printf("巴米尔\t%d\t%d\t\n",temp.amount[0],temp.price[0]);
     printf("感冒灵\t%d\t%d\t\n",temp.amount[1],temp.price[1]);
     printf("病毒灵\t%d\t%d\t\n",temp.amount[2],temp.price[2]);
     
    }
    chose()
    {
     node1 *head=NULL,*p;
     node2 temp;
     temp=init(temp);
     while(1)
     {
     mainmeun();
     int a;
     scanf("%d",&a);
     switch(a)
     {
     case 1:
     p=create(head);
     head=insert(head,p);
     break;
     case 2:
     search(head);
     break;
     case 3:
     bingli(head);
     break;
     case 4:
     temp=buy(head,temp);
     break;
     case 5:
     list(head);
     break;
     case 6:
     head=load(head);
     break;
     case 7:
     save(head);
     break;
     case 8:
     liststock(temp);
     break;
     case 9:
     printf("谢谢使用\n");
     return(0);
     default:
     printf("输入有误,重新输入\n");
     break;
     }
     }
    }
    void main()
    {
     chose();
    }

    运行时的截图,由于模块太多,就看看主页面吧。

    更多学习资料请关注专题《管理系统开发》。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    展开阅读

    C语言相关资源

    • 数据结构习题与解析(C语言版)

      数据结构习题与解析(C语言版)

      本书是针对清华大学出版社出版的《数据结构》(秦玉平和马靖善主编)一书编写的辅导教材。本书对教材中的所有习题都做了分析和解答,题目分为单选题、判断题、算法填空题、计算操作题和算法设计题五种类型。针对教学重点和难点,根据教材内容给出了十六组实验题目。另外,本书给出了程序员考试和研究生入学考试的样题和答案,便于学生的复习。本书内容丰富,讲解通俗易懂,具有很强的实用性。 目录 第1章 概述 1. 1 基本概念 1. 1. 1 数据结构

      大小:1.17 MB数据结构

      立即下载
    • C语言程序设计

      C语言程序设计

      《普通高等教育精品教材国家精品课程主讲教材:C语言程序设计(第2版)》是为将C语言作为入门语言的程序设计课程编写的以培养学生程序设计基能力为目标的教材。教材以程序设计为主线,以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合相关的语言知识的介绍。全书主要包括3方面的内容:基内容(数据表达、数据处理和流程控制)、常用算法和程序设计风格,以及C语言应用中的一些处理机制。涉及数据类型

      大小:98.1 KBC语言

      立即下载
    • C语言程序设计(第3版)

      C语言程序设计(第3版)

      本书是为将C语言作为入门语言的程序设计课程编写的以培养学生程序设计基本能力为目标的教材。本书以程序设计为主线,以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合相关的语言知识的介绍。全书主要包括3方面的内容:基本内容(数据表达、数据处理和流程控制),常用算法和程序设计风格,以及C语言应用中的一些处理机制(编译预处理和命令行参数等)。为了满足读者对在线开放学习的需求,对读者在

      大小:61.2 KBC语言

      立即下载
    • 数据结构(C语言版)

      数据结构(C语言版)

      《数据结构(C语言版 第2版)/21世纪高等学校计算机规划教材》 在选材与编排上,贴近当前普通高等院校数据结构课程的现状和发展趋势,符合新研究生考试大纲,内容难度适度,突出实用性

      大小:38.6 MB数据结构

      立即下载
    • C语言程序设计教程

      C语言程序设计教程

      本书介绍利用C语言进行计算机程序设计的基本知识。全书共分13章,详细介绍了C语言的基本概念、输入和输出、选择结构、循环结构、数组、函数、编译预处理、指针、结构体与共用体、文件等内容,同时介绍了面向对象程序设计语言C++的基本概念和数据结构的基本内容。另外,每章配有大量例题和习题,便于读者巩固所学知识,掌握程序设计的基本方法与编程技巧。. 本书力求概念叙述准确、严谨,语言简练通俗,条理清晰易读。本书可作为高等院校

      大小:120 KBC语言

      立即下载
    • 嵌入式Linux C语言应用开发教程

      嵌入式Linux C语言应用开发教程

      大小:240 MBLinux

      立即下载

    学习笔记

    10小时52分钟前回答

    C语言编写简单的定时关机程序

    写一个定时关机的小程序,可以立即关闭计算机,也可以一段时间后关闭计算机。 这里主要考察system()命令。 代码实现: #includestdio.h#includestring.h#includestdlib.hint main(){ char cmd[20]="shutdown -s -t "; char t[5]="0"; int c; system("title C语言关机程序"); //设置cmd窗口标题 system("mode con cols=48 lines=25"); //窗口宽度高度 system("color f0"); //可以写成 red 调出颜色组 system("date /T"); system("TIME /T"); printf("----------- C语言关机程序 -----------\n"); printf("1.实现10分钟内的定时关闭计算机\n"); printf("2.立即关闭计算机\n"); printf("3.注销计算机\n"); printf("0.退出系统\n"); printf("-------------------------------------\n"); scanf("%d", switch(c) { case 1: printf("您想在多少……

    10小时25分钟前回答

    C语言实现程序开机自启动

    程序比较简单,用到了C语言获得自身路径和系统路径,修改注册表项等,某些函数不理解可以查看MSDN #includestdio.h#includewindows.hchar *GetFilename(char *p) //得到一个路径的纯文件名{ int x=strlen(p); char ch='\\'; char *q=strrchr(p,ch); return q;}int main(){ char *filepath; char modlepath[256]; char syspath[256]; //打开酷狗应用 filepath="C:\\Program^ Files\\KuGou\\KGMusic\\KuGou.exe"; system(filepath); //将程序移动到系统目录下 GetModuleFileName(0,modlepath,256); //获得自身路径 GetSystemDirectory(syspath,256); //得到系统路径 int ret=CopyFile(modlepath,strcat(syspath,GetFilename(modlepath)),1);//复制,CopyFile的第二个参数是目标文件名 if(ret) { printf("%s has been copyed to sys dir %s\n",modlepath,sysp……

    4小时31分钟前回答

    C语言中对字母进行大小写转换的简单方法

    C语言tolower()函数:将大写字母转换为小写字母 头文件: #include ctype.h 定义函数: int toupper(int c); 函数说明:若参数 c 为小写字母则将该对应的大写字母返回。 返回值:返回转换后的大写字母,若不须转换则将参数c 值返回。 范例:将s 字符串内的小写字母转换成大写字母。 #include ctype.hmain(){ char s[] = "aBcDeFgH12345;!#$"; int i; printf("before toupper() : %s\n", s); for(i = 0; i sizeof(s); i++) s[i] = toupper(s[i]); printf("after toupper() : %s\n", s);} 执行结果: before toupper() : aBcDeFgH12345;!#$after toupper() : ABCDEFGH12345;!#$ C语言tolower()函数:将大写字母转换为小写字母 头文件: #include stdlib.h 定义函数: int tolower(int c); 函数说明:若参数 c 为大……