您好,欢迎光临有路网!
C语言程序设计
QQ咨询:
有路璐璐:

C语言程序设计

  • 作者:侯占军 赵晓霞主编,胡晓旭 郭瑞波 孙鹏飞副主编
  • 出版社:清华大学出版社
  • ISBN:9787302499268
  • 出版日期:2019年03月01日
  • 页数:0
  • 定价:¥39.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书结合作者多年的计算机教学经验编写而成,在内容选择和文字表述上力求通俗易懂、突出**、图文并茂,使学生易于接受。注重培养学生分析问题、解决问题的能力,本书的主要内容包括C语言概述、C语言程序设计初步知识、简单程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、编译预处理、结构体与共用体、位运算、文件。书中每章配有适量练习,使学生能更好地巩固和应用所学知识。 本书适合作为大专院校非计算机专业的程序设计课程教材,也可以作为程序员的自学参考书。
    文章节选
    第5章循环结构程序设计

    教学目标
     掌握循环结构的构成;
     掌握循环控制变量的使用;
     熟练掌握三种基本的循环控制语句;
     熟练掌握一重循环的构建方法,学会构建二重循环;
     理解含有多重循环的程序。


    5.1循环结构程序设计的概念

    循环结构(又称重复结构)是程序设计中一种很重要的基本结构。在实际问题中,常常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
    C语言提供了while语句、dowhile语句和for语句实现循环结构。

    5.2while语句

    5.2.1while语句的一般格式
    由while语句构成的循环也称“当”循环,其一般形式为:

    while(表达式)循环体;

    说明:
    (1) while是C语言的关键字。
    (2) while后一对圆括号中的表达式,可以是C语言中任意合法的表达式,由它来控制循环体是否执行。
    (3) 在语法上,要求循环体可以是一条简单的可执行语句; 若循环体内需要多个语句,应该用大括号括起来,组成复合语句。
    5.2.2while语句的执行过程
    while语句的流程图如图51所示,其特点是先判断、后执行,若条件不成立,有可能一次也不执行。其具体执行过程如下。


    图51while语句的流程图

    (1) 计算while后一对圆括号中表达式的值。当值为非零时,执行步骤(2); 当值为零时,执行步骤(4)。
    (2) 执行循环体中语句。
    (3) 转去执行步骤(1)。
    (4) 退出while循环。
    由以上叙述可知,while后一对圆括号中表达式的值决定了循环体是否执行,因此,进入while循环后,一定要有能使此表达式的值变为0的操作; 否则,循环将会无限制地进行下去。
    注意: 不要把由if语句构成的选择结构与由while语句构成的循环结构混同起来。若if后条件表达式的值为非0,其后的if子句只执行一次; 而while后条件表达式的值为非0时,其后的循环体中的语句将重复执行,而且在设计循环时,通常应在循环体内改变条件表达式中有关变量的值,使条件表达式的值*终变成0,以便能及时退出循环。


    图52例51的流程图

    【例51】编写求1 2 3 … 100的值的程序。
    分析: 这是一个求100个数的累加和的问题。所加的加数从1变化到100,可以看到加数是有规律变化的,后一个加数比前一个加数增1,**个加数为1,*后一个加数为100,因此可以在循环中使用一个整型变量i,每循环一次使i增1,一直循环到i的值超过100,用这个办法就解决了所需的加数问题; 但是要特别注意的是,变量i需要有一个正确的初值,在这里它的初值应当设定为0。
    下面要解决的问题是求累加和。设用一个变量sum来存放这100个数的和值,可以先求0 1的值并将其放在sum中,然后把sum中的数加上2再存放在sum中,以此类推,这和人们心算的过程没有什么区别,sum代表着人们脑中累加的那个和数,不同的是心算的过程由人们自己控制。在这里,sum累加的过程要放在循环中,由计算机来判断所加的数是否已经超过100,加数则放在变量i中,并在循环过程中一次次增1,具体流程图如图52所示。
    以下就是求累加和的典型算法。

    main()

    { int i,sum=0;/*sum的初值为0*/

    i=1;

    while(i<=100) /*当i小于或等于100时执行循环体*/

    {

    sum=sum i;

    i ;

    } /*在循环体中累加一次,i增1*/

    printf("sum=%d\n",sum);

    }

    运行结果为:

    sum=5050

    注意:
    (1) 如果在**次进入循环时,while后圆括号内表达式的值为0,循环一次也不执行。在本程序中,如果i的初值大于100,将使表达式i<=100的值为0,循环体也不执行。
    (2) 在循环体中一定要有使循环趋向结束的操作,以上循环体内的语句i 使i不断增1,当i>100时,循环结束。如果没有i ;这一语句,则i的值始终不变,循环将无限进行。
    (3) 在循环体中,语句的先后位置必须符合逻辑,否则将会影响运算结果,例如,若将上例中的while循环体改写如下:

    while(i<=100)

    {i ; /*先计算i ,后计算sum的值*/

    sum=sum i; }

    运行后,将输出:

    sum=5150

    在运行的过程中,少加了**项的值1,而多加了*后一项的值101。
    目录
    目录 第1章概述 1.1C语言的发展及主要特点 1.1.1C语言的发展史 1.1.2C语言的主要特点 1.2C程序设计相关知识 1.2.1程序设计的基本概念 1.2.2C程序结构 1.2.3标准库简介 1.3C语言上机过程 1.3.1Turbo C集成环境的使用 1.3.2程序调试方法 1.4案例分析 本章小结 习题1 第2章C语言程序设计初步知识 2.1标识符、常量和变量 2.1.1标识符 2.1.2常量和变量 2.2简单数据类型 2.2.1整型数据 2.2.2实型数据 2.2.3字符型数据 2.3运算符和表达式 2.3.1算术运算符及其表达式 2.3.2自加、自减运算符 2.3.3赋值运算符与赋值表达式 2.3.4关系运算符和逻辑运算符 2.3.5问号运算符及表达式 2.3.6不同类型数据间的转换 2.3.7逗号运算符及其表达式 2.3.8运算符的优先顺序 2.4案例分析 本章小结 习题2 第3章简单程序设计 3.1算法 3.1.1算法的概念 3.1.2算法的描述 3.2结构化程序设计 3.2.1基本结构 3.2.2程序设计举例 3.3C语言基本语句 3.4C语言中数据的输入输出 3.4.1格式输入与输出 3.4.2字符数据的输入输出 3.5案例分析 本章小结 习题3 第4章选择结构程序设计 4.1if语句 4.1.1单分支if语句 4.1.2双分支if语句 4.1.3多分支if语句 4.1.4if语句的嵌套 4.2switch语句 4.3案例分析 本章小结 习题4 第5章循环结构程序设计 5.1循环结构程序设计的概念 5.2while语句 5.2.1while语句的一般格式 5.2.2while语句的执行过程 5.3dowhile语句 5.3.1dowhile语句的一般格式 5.3.2dowhile语句的执行过程 5.4for语句 5.4.1for语句的一般格式 5.4.2for语句的执行过程 5.5循环结构嵌套 5.6break语句和continue语句 5.6.1break语句 5.6.2continue语句 5.7案例分析 本章小结 习题5 第6章数组 6.1一维数组 6.1.1一维数组的定义 6.1.2一维数组的初始化 6.1.3数组元素的引用 6.1.4一维数组案例分析 6.2二维数组 6.2.1二维数组的定义 6.2.2二维数组的初始化 6.2.3二维数组元素的引用 6.2.4二维数组的应用 6.2.5多维数组 6.3字符数组与字符串 6.3.1字符数组的定义和初始化 6.3.2字符串 6.3.3字符数组的输入输出 6.3.4字符串处理函数 6.3.5案例分析 本章小结 习题6 第7章函数 7.1模块化程序设计的概念 7.2库函数 7.2.1C语言常用库函数 7.2.2标准库函数的调用 7.3函数的定义和调用 7.3.1函数的定义 7.3.2函数的调用 7.4函数的返回值及其类型 7.5函数调用时参数间的传递 7.5.1变量、常量、数组元素作为函数参数 7.5.2数组名作为函数参数 7.6函数的嵌套调用 7.7函数的递归调用 7.8局部变量和全局变量 7.8.1局部变量 7.8.2全局变量 7.9静态存储变量和动态存储变量 7.9.1静态存储变量 7.9.2动态存储变量 7.10内部函数和外部函数 7.10.1内部函数 7.10.2外部函数 7.11案例分析 本章小结 习题7 第8章指针 8.1指针的基本概念 8.2指针和指针变量 8.2.1指针变量的定义 8.2.2指针变量的赋值 8.2.3指针变量的引用 8.2.4指针变量作为函数参数 8.3指针和数组 8.3.1指针与一维数组 8.3.2指针与二维数组 8.3.3指针与字符串 8.3.4指向数组的指针作为函数参数 8.4指针数组 8.5函数的指针和返回指针值的函数 8.5.1函数的指针 8.5.2返回指针值的函数 8.6案例分析 本章小结 习题8 第9章编译预处理 9.1宏定义 9.1.1不带参数的宏定义 9.1.2带参数的宏定义 9.2文件包含 9.3条件编译 9.4案例分析 本章小结 习题9 第10章结构体与共用体 10.1结构体类型 10.1.1结构体类型的定义 10.1.2结构体类型变量的使用 10.1.3结构体数组 10.1.4指向结构体变量的指针 10.1.5链表 10.2共用体 10.3案例分析 本章小结 习题10 第11章位运算 11.1位运算符 11.1.1取反运算符 11.1.2移位 11.1.3按位与运算符 11.1.4按位或运算符 11.1.5异或运算符 11.2位运算符的运算功能 11.3案例分析 本章小结 习题11 第12章文件 12.1文件概述 12.2文件指针 12.3文件的打开与关闭 12.3.1文件打开函数fopen 12.3.2文件关闭函数fclose 12.4文件的读写 12.4.1字符读写函数fgetc和fputc 12.4.2字符串读写函数fgets和fputs 12.4.3数据块读写函数fread和fwtrite 12.5文件的随机读写 12.5.1文件定位 12.5.2文件的随机读写 12.6案例分析 本章小结 习题12 附录AASCII字符表 附录BC库函数 附录CC语言常用出错信息 参考文献

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外