c语言1-6章
《C语言》章节列表

第1章程序设计和C语言1第2章算法——程序的灵魂16第3章最简单的C程序设计——顺序程序设计第4章选择结构程序设计85第5章循环结构程序设计114第6章利用数组处理批量数据1426.1怎样定义和引用一维数组1426.1.1怎样定义一维数组1436.1.2怎样引用一维数组元素1446.1.3一维数组的初始化1456.1.4一维数组程序举例1466.2怎样定义和引用二维数组1486.2.1怎样定义二维数组1496.2.2怎样引用二维数组的元素1506.2.3二维数组的初始化1516.2.4二维数组程序举例1526.3字符数组1546.3.1怎样定义字符数组1546.3.2字符数组的初始化1556.3.3怎样引用字符数组中的元素1556.3.4字符串和字符串结束标志1566.3.5字符数组的输入输出1596.3.6使用字符串处理函数1616.3.7字符数组应用举例165习题168第7章用函数实现模块化程序设计1707.1为什么要用函数1707.2怎样定义函数1727.2.1为什么要定义函数1727.2.2定义函数的方法1737.3调用函数1747.3.1函数调用的形式1747.3.2函数调用时的数据传递1757.3.3函数调用的过程1777.3.4函数的返回值1787.4对被调用函数的声明和函数原型1797.5函数的嵌套调用1827.6函数的递归调用1847.7数组作为函数参数1927.7.1数组元素作函数实参1937.7.2数组名作函数参数1947.7.3多维数组名作函数参数1977.8局部变量和全局变量1997.8.1局部变量1997.8.2全局变量2007.9变量的存储方式和生存期2047.9.1动态存储方式与静态存储方式2047.9.2局部变量的存储类别2057.9.3全局变量的存储类别2087.9.4存储类别小结2127.10关于变量的声明和定义2147.11内部函数和外部函数2157.11.1内部函数2157.11.2外部函数215习题218第8章善于利用指针2208.1指针是什么2208.2指针变量2228.2.1使用指针变量的例子2228.2.2怎样定义指针变量2238.2.3怎样引用指针变量2248.2.4指针变量作为函数参数2268.3通过指针引用数组2308.3.1数组元素的指针2308.3.2在引用数组元素时指针的运算2318.3.3通过指针引用数组元素2338.3.4用数组名作函数参数2378.3.5通过指针引用多维数组2458.4通过指针引用字符串2558.4.1字符串的引用方式 2558.4.2字符指针作函数参数2598.4.3使用字符指针变量和字符数组的比较263 8.5指向函数的指针2668.5.1什么是函数指针2668.5.2用函数指针变量调用函数2668.5.3怎样定义和使用指向函数的指针变量268 8.5.4用指向函数的指针作函数参数2708.6返回指针值的函数2748.7指针数组和多重指针2778.7.1什么是指针数组 2778.7.2指向指针数据的指针2808.7.3指针数组作main函数的形参2828.8动态内存分配与指向它的指针变量2858.8.1什么是内存的动态分配2858.8.2怎样建立内存的动态分配2858.8.3void指针类型 2878.9有关指针的小结288习题291第9章用户自己建立数据类型2939.1定义和使用结构体变量2939.1.1自己建立结构体类型2939.1.2定义结构体类型变量 2959.1.3结构体变量的初始化和引用2979.2使用结构体数组3009.2.1定义结构体数组3009.2.2结构体数组的应用举例3019.3结构体指针3039.3.1指向结构体变量的指针3039.3.2指向结构体数组的指针3049.3.3用结构体变量和结构体变量的指针作函数参数306 9.4用指针处理链表3099.4.1什么是链表 3099.4.2建立简单的静态链表3109.4.3建立动态链表3119.4.4输出链表3159.5共用体类型3179.5.1什么是共用体类型3179.5.2引用共用体变量的方式3189.5.3共用体类型数据的特点3199.6使用枚举类型3239.7用typedef声明新类型名326习题330第10章对文件的输入输出33110.1C文件的有关基本知识33110.1.1什么是文件33110.1.2文件名33210.1.3文件的分类33210.1.4文件缓冲区33310.1.5文件类型指针33310.2打开与关闭文件33510.2.1用fopen函数打开数据文件33510.2.2用fclose函数关闭数据文件33710.3顺序读写数据文件33810.3.1怎样向文件读写字符33810.3.2怎样向文件读写一个字符串34110.3.3用格式化的方式读写文件34410.3.4用二进制方式向文件读写一组数据34510.4随机读写数据文件34910.4.1文件位置标记及其定位34910.4.2随机读写 35210.5文件读写的出错检测353习题354第11章常见错误分析355附录370附录A在Visual C++ 6.0环境下运行C程序的方法370附录B常用字符与ASCII代码对照表377附录CC语言中的关键字378附录D运算符和结合性378附录EC语言常用语法提要380附录FC库函数384参考文献390第4章选择结构程序设计854.1选择结构和条件判断854.2用if语句实现选择结构874.2.1用if语句处理选择结构举例874.2.2if语句的一般形式 894.3关系运算符和关系表达式914.3.1关系运算符及其优先次序914.3.2关系表达式924.4逻辑运算符和逻辑表达式924.4.1逻辑运算符及其优先次序934.4.2逻辑表达式944.4.3逻辑型变量964.5条件运算符和条件表达式974.6选择结构的嵌套1004.7用switch语句实现多分支选择结构1024.8选择结构程序综合举例106习题112第5章循环结构程序设计1155.1为什么需要循环控制1155.2用while语句实现循环1165.3用do…while语句实现循环1185.4用for 语句实现循环1215.5循环的嵌套1255.6几种循环的比较1265.7改变循环执行的状态1265.7.1用break语句提前终止循环1275.7.2用continue语句提前结束本次循环1285.7.3break语句和continue语句的区别1295.8循环程序举例132习题141第6章利用数组处理批量数据1436.1怎样定义和引用一维数组1436.1.1怎样定义一维数组1446.1.2怎样引用一维数组元素1456.1.3一维数组的初始化1466.1.4一维数组程序举例1476.2怎样定义和引用二维数组1496.2.1怎样定义二维数组1506.2.2怎样引用二维数组的元素1516.2.3二维数组的初始化1526.2.4二维数组程序举例1536.3字符数组1556.3.1怎样定义字符数组1556.3.2字符数组的初始化1566.3.3怎样引用字符数组中的元素156 6.3.4字符串和字符串结束标志1576.3.5字符数组的输入输出1606.3.6使用字符串处理函数1626.3.7字符数组应用举例166习题169第7章用函数实现模块化程序设计171 7.1为什么要用函数1717.2怎样定义函数1737.2.1为什么要定义函数1737.2.2定义函数的方法1747.3调用函数1757.3.1函数调用的形式1757.3.2函数调用时的数据传递1767.3.3函数调用的过程1787.3.4函数的返回值1797.4对被调用函数的声明和函数原型181 7.5函数的嵌套调用1837.6函数的递归调用1857.7数组作为函数参数1937.7.1数组元素作函数实参1937.7.2数组名作函数参数1957.7.3多维数组名作函数参数1987.8局部变量和全局变量2007.8.1局部变量2007.8.2全局变量2017.9变量的存储方式和生存期2057.9.1动态存储方式与静态存储方式205 7.9.2局部变量的存储类别2067.9.3全局变量的存储类别2097.9.4存储类别小结2137.10关于变量的声明和定义2157.11内部函数和外部函数2167.11.1内部函数2167.11.2外部函数216习题219第8章善于利用指针2218.1指针是什么2218.2指针变量2238.2.1使用指针变量的例子2238.2.2怎样定义指针变量2248.2.3怎样引用指针变量2258.2.4指针变量作为函数参数2278.3通过指针引用数组2328.3.1数组元素的指针2328.3.2在引用数组元素时指针的运算2338.3.3通过指针引用数组元素2348.3.4用数组名作函数参数2398.3.5通过指针引用多维数组2478.4通过指针引用字符串2578.4.1字符串的引用方式 2578.4.2字符指针作函数参数2618.4.3使用字符指针变量和字符数组的比较265 8.5指向函数的指针2688.5.1什么是函数指针2688.5.2用函数指针变量调用函数2688.5.3怎样定义和使用指向函数的指针变量270 8.5.4用指向函数的指针作函数参数2728.6返回指针值的函数2768.7指针数组和多重指针2798.7.1什么是指针数组 2798.7.2指向指针数据的指针2828.7.3指针数组作main函数的形参2848.8动态内存分配与指向它的指针变量2878.8.1什么是内存的动态分配2878.8.2怎样建立内存的动态分配2878.8.3void指针类型 2898.9有关指针的小结290习题293第9章用户自己建立数据类型2959.1定义和使用结构体变量2959.1.1自己建立结构体类型2959.1.2定义结构体类型变量 2979.1.3结构体变量的初始化和引用2999.2使用结构体数组3029.2.1定义结构体数组3029.2.2结构体数组的应用举例3049.3结构体指针3059.3.1指向结构体变量的指针3059.3.2指向结构体数组的指针3069.3.3用结构体变量和结构体变量的指针作函数参数3089.4用指针处理链表3119.4.1什么是链表 3119.4.2建立简单的静态链表3129.4.3建立动态链表3139.4.4输出链表3179.5共用体类型3199.5.1什么是共用体类型3199.5.2引用共用体变量的方式3209.5.3共用体类型数据的特点3219.6使用枚举类型3259.7用typedef声明新类型名328习题332第10章对文件的输入输出33310.1C文件的有关基本知识33310.1.1什么是文件33310.1.2文件名33410.1.3文件的分类33410.1.4文件缓冲区33510.1.5文件类型指针33510.2打开与关闭文件33710.2.1用fopen函数打开数据文件33710.2.2用fclose函数关闭数据文件33910.3顺序读写数据文件34010.3.1怎样向文件读写字符34010.3.2怎样向文件读写一个字符串34310.3.3用格式化的方式读写文件34610.3.4用二进制方式向文件读写一组数据34710.4随机读写数据文件35110.4.1文件位置标记及其定位35110.4.2随机读写 35410.5文件读写的出错检测355习题356第11章常见错误分析374附录390附录A在Visual C++ 6.0环境下运行C程序的方法390 附录CC语言中的关键字398附录D运算符和结合性398附录EC语言常用语法提要400附录FC库函数404参考文献410。
大一c语言章节知识点

大一c语言章节知识点第一章:基本概念和数据类型C语言的历史背景C语言的特点和优势关键字和标识符数据类型及其表示范围变量的定义和声明常量的定义和分类运算符的分类和优先级第二章:运算符和表达式算术运算符和表达式逻辑运算符和表达式位运算符和表达式赋值运算符和表达式关系运算符和表达式条件运算符和表达式运算符的优先级和结合性第三章:控制语句顺序结构选择结构(if语句、switch语句)循环结构(for循环、while循环、do-while循环)循环控制语句(break、continue、goto)嵌套控制语句第四章:数组和字符串数组的定义和初始化数组的访问和操作多维数组字符数组和字符串的处理字符串的输入和输出第五章:函数和递归函数的调用和返回函数的参数传递(值传递、地址传递)递归函数的原理与应用递归和迭代的比较第六章:指针指针的定义和声明指针与数组的关系指针的运算(指针的加减、指针的比较)指针与字符串的处理函数指针和指针数组第七章:结构体和共用体结构体的定义和初始化结构体中成员的访问和操作结构体的嵌套和对齐枚举类型的定义和应用第八章:文件操作文件的打开和关闭文件的读写操作(字符型文件、二进制文件)文件指针的位置控制文件的随机访问和更新第九章:动态内存管理内存分配与释放的概念malloc函数和free函数的使用calloc函数和realloc函数的使用动态分配二维数组的操作第十章:预处理指令宏定义的使用条件编译指令的应用文件包含指令的作用错误指示和行控制指令无论是在学习C语言的过程中,还是在实际应用中,以上这些章节知识点都是非常重要的。
掌握这些知识点,将帮助你深入了解C语言的基本原理和常用功能,为编写高效、健壮的程序奠定扎实基础。
在学习过程中,请务必理解并实践每个章节的知识点,并结合实际案例进行练习和应用,以加深对C语言的理解和应用能力。
祝你在学习C语言的道路上取得优异的成绩!。
C语言程序设计(1-6章)

C语言程序设计第1章概论1.1 C语言有哪些主要特点?其主要用途是什么?1.2 程序设计语言的主要构成要素有哪些?1.3 程序设计语言的实现都有哪些方法?1.4 程序设计语言按照实现方法可分为哪几种类型?1.5 为什么要学习程序设计语言?1.6 将C语言和你所掌握的高级语言做一比较。
1.7 C程序的主要构成单位是什么?1.8 C语言的保留字和特定字有何区别?1.9 下面哪些是合法的C语言一般标识符?std-sex, Std-num, 2.13, _2.13, name, int, Int, var-num, yes_or_no, select, File_name, _DATA, define, a+c, new, ok?1.10 C程序从编辑到执行要经过哪些步骤?1.11 C函数主要由哪几部分构成?复合语句在C语言中是用什么标界的?又称为什么?1.12 填空。
1 . 一个C程序是由若干个函数构成的,其中必须有一个函数。
2 . 一个C语句最少应包含一个。
1.13 单项选择。
1. C语言程序的基本单位是( )。
(1) 子程序 (2) 程序 (3) 过程 (4) 函数2. 合法的C语言标识符是( )。
(1) _a1 (2) a+b (3) 3abc (4) AB,CD答案:1.1C语言主要用于编写系统软件,其主要特点如下:①语言简洁,紧凑,使用灵活②运算符丰富③具有数据类型构造和流控结构能力④语言生成的代码质量高⑤可移植性好⑥语言语法限制不严格,程序设计自由度大1.2程序设计语言的主要构成要素有:①数据。
②运算(操作)③控制结构④存储答理⑤固运算环境。
1.3 程序设计语言的实现方法主要有:1. 翻译或编译。
2. 软件模拟(软件解释)。
1.4 程序设计语言的按照实现方法有编译型和解释型两种。
1.5略 1.6 略1.7 C程序的主要构成单位是函数。
1.8 C程序的保留字和特定字的区别是,保留字不能用来表示用户自定义的对象,而特定字却不受此限(尽管不提倡这样做)。
计算机基础2C语言1-6章复习题目

1.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。
2.以下4个选项中,不能被看作是一条语句的是( ) 。
A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;下列程序执行后的输出结果是。
#include <stdio.h>void main(){int x= 'f';printf("%c",'A'+(x-'a'+1));}若变量c为char类型,能正确判断出c为大写字母的表达式是。
A) 'A'<=c<= 'Z' B) (c>= 'A')||(c<= 'Z')C) ('A'<=c) and ('Z'>=c) D) (c>= 'A')&&(c<= 'Z')有以下程序#include <stdio.h>void main(){char c1='1',c2='2';c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);}当运行时输入:a<回车> 后,以下叙述正确的是______。
A)变量c1被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量c1被赋予字符a,c2中仍是原有字符2D)变量c1被赋予字符a,c2中将无确定值有以下程序void main( ){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是______。
第一章 C语言基本知识

第二章 顺序结构
【考点1】运算符、表达式、语句
运算对象加运算符构成表达式,表达式加分号构成表达式语句,运算对象可以是表达式、常量、变量。如赋值运算符加运算对象构成赋值表达式,赋值表达式加分号又可构成赋值语句。
【考点2】运算符的优先级和结合顺序
【考点3】存储形式
计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是它的地址。
【考点4】注释
是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点4】条件运算
是唯一的三目运算符,格式为:表达式1?表达式2:表达式3。表达式1值为非0时,整个表达式值为表达式2的值,表达式1值为0时,整个表达式值为表达式3的值。
口诀:真前假后
【考点5】switch语句
格式及执行过程详见教材P33,要注意每条case后有没有break语句的区别。还要注意switch后小括号里面的表达式不能为实型,case后表达式不能有变量。
【考点3】指针变量的初始化
指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,如果不指向任何数据就赋“空值”NULL。
【考点4】指针变量的引用
&是取地址符,*是间接访问运算符,它们是互逆的两个运算符。在指针变量名前加间接访问运算符就等价它所指向的量。
【考点5】指针的运算
C语言程序设计教学课件1- C语言语法基础

(add函数)
1.2 数据的基本类型及其表现形式
1.2 数据的基本类型及其表现形式
1.2.1 常量和变量
1、常量 在程序执行过程中,其值不发生改变的量称为常量。
根据书写方式,常量可分为直接常量和符号常量。 (1)直接常量:如 4、23;1.23; 'a'、'b';''CHINA''等 (2)符号常量:用#define指令,指定一个标识符代表一个常量。
2)若同时定义多个同类型的变量,定义格式:
类型标识符 变量名1,变量名2,变量名3,…;
例如:int i, j, k;
//同时定义三个基本整型变量i、j、k
定义变量后,系统将根据变量的类型给变量分配对应大小的内存空间,用于存储
该变量。 例如: short int i; //定义短整型变量i
i = 10;
1.1 C语言程序的特点
产生于20世纪70年代的C语言是国际上广泛流行的计算机高级编程语言 ,C语言具有的优点包括:①灵活的语法和丰富的运算符;②模块化和结构 化的编程手段,程序可读性好;③可以直接对硬件进行操作,能够实现汇编 语言的大部分功能;④生成的目标代码质量高,程序执行效率高,C语言一 般只比汇编程序生成的目标代码效率低10%~20%;⑤用C语言编写的程序 可移植性好(与汇编语言相比),基本上不做修改就能用于各种型号的计算 机和各种操作系统。
②原样输出的字符,在显示中起提示作用。
(2)输出列表:是需要输出的一些数据,可以是常量、变量或表达式。 多个数据之间要用逗号隔开。
使用printf函数时,要求格式控制字符串中必须含有与输出项一一对应的格 式符,并且类型要匹配。printf函数也可以没有输出项。
C语言第1章 程序设计和C语言

00000101
00000001
00000000
能直接被机器识别和执行的用二进制代码描述的指令称
为机器指令,机器指令的集合称为机器语言。由于它更靠 近机器,也称为低级语言
早期编程语言只有机器语言,由于它难于记忆和掌握, 因此少数人能参与到编程的工作中。
目前我们主要使用高级语言编程,但也必须翻译为机器 语言才能被机器识别和执行整。理课翻件 译工作由编译软件实现。
➢ 不同的部分是本程序的精华处 ➢ 解题思路:
设置3个变量 ➢ a和b用来存放两个整数
printf(”sum is %d\n”,sum); ➢ sum用来存放和数
return 0;
用赋值运算符“=”把结果传
}
送给sum
整理课件
一个C程序概貌
1.每个C程序前面都有一些固定语句,暂且称 为程序头
#include <stdio.h> //预处理命令
来 每个C语言程序应该至少有一个主函数,也就是有一个名 称为main的函数
#include <stdio.h> int main( ) { 主函数类型
printf (”This is a C program.\n”); return 0; }
整理课件
理解3:
C程序的细胞是函数,每个函数都有函数的类型,函数的 名称和函数体,函数体放在一对{ ...函数体...}中间定界起
#include <stdio.h>
int main( )
{ int a,b,sum; a = 123; b = 456;
变量a,b,sum的声明 提供数据
变量为数据 提供在内存 存储的空间
sum = a + b; 数据处理
C语言程序设计学习指导(第2版) 1-6

第一章概述一、选择1.C2.B3.C4.D5.D6.A7.B8.C9.A 10.B 11.C 12.D 13.B 14.B第二章数据类型一、选择1.D2.A3.C4.D5.A6.B7.A8.B9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C第三章运算符和表达式一、选择1.A2.D3.D4.D5.D6.A7.C8.C9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B第四章输入和输出一、选择1.C2.D3.C4.C5.C6.B7.B8.C9.D 10.D 11.D 12.D 13.B 14.A15.B 16.B二、编程1.double fun(double m){ float n;n=(5.0/9.0)*(m-32);return n; }2. char fun(char c){c=c+32;return c;}3.double fun(int m){ double y=0;y=sin(m)*10;return(y);}4.float fun ( float h ){return (long)( h * 100 + 0.5 )/ 100.0;}第五章选择结构一、选择1.D2. B3.A4.C5.C6.B7.B8.A9.C 10.C 11.D 12.A 13.D 14.A15.A 16.B 17.D 18.C 19.A 20.A 21.A 22.B 23.A 24. D二、编程1.int fun(int n){int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;else return 0;}2.double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}3.int fun(int x){ int k;k=x*x;if((k%10==x)||(k%100==x))return 1;elsereturn 0;}第六章循环结构一、选择1.C2.A3.A4.B5.C6.B7.C8.A9.D 10.B 11.A 12.C 13.C 14.A15.D 16.D 17.D 18.A 19.C 20.A 21.C 22.B 23.B 24.C 25.A 26.D二、填空1.位置 1:r!=0 【或】 0!=r 【或】 r位置 2:r=m%n 【或】 r=m-m/n*n位置 3:n位置 4:gcd,lcm 【或】 n,lcm2.位置 1:k=0位置 2:n%10 【或】 n-n/10*10 【或】 n-10*(n/10)位置 3:while(n>0) 【或】 while(0<n) 【或】 while(n!=0) 【或】 while(0!=n)位置 4:printf("\n")3.位置 1:x!=0 【或】 x位置 2:else 【或】 else if(x%2==1) 【或】 else if(x%2!=0) 【或】 if(x%2)位置 3:scanf("%d",&x)位置 4:av2=s2/j4.位置 1:n=0位置 2:i<=300 【或】 i<300 【或】 300>=i 【或】 300>i位置 3:i%7==0||i%17==0 【或】 !(i%7)||!(i%17) 【或】 !(i%17)||!(i%7) 【或】 !(i%7&&i%17) 【或】 i%17==0||i%7==0位置 4:n%5==0 【或】 !(n%5) 【或】 n/5*5==n5.位置 1:s=0位置 2:i+=2 【或】 i=i+2 【或】 i=2+i 【或】 i++,i++位置 3:j<=i 【或】 i>=j 【或】 j<i+1 【或】 i+1>j 【或】 j<1+i 【或】 1+i>j位置 4:f=f*j 【或】 f=j*f三、改错1.位置 1:#include "math.h" 【或】 #include <math.h>位置 2:float s=0,t=1,p=1; 【或】 float s=0,p=1,t=1; 【或】 float p=1,s=0,t=1; 【或】float p=1,t=1,s=0; 【或】 float t=1,p=1,s=0; 【或】 float t=1,s=0,p=1;位置 3:while(fabs(t)>1e-4) 【或】 while(0.0001<fabs(t)) 【或】 while(1e-4<fabs(t)) 【或】 while(fabs(t)>0.0001)位置 4:printf("pi=%f\n",s*4); 【或】 printf("pi=%f\n",4*s);2.位置 1:printf("%8.0f",f1); 【或】 printf("%f",f1); 【或】 printf("%8f",f1);位置 2:for(i=1;i<20;i++) 【或】 for(i=1;20>i;i++) 【或】 for(i=2;i<=20;i++) 【或】for(i=2;20>=i;i++) 【或】 for(i=1;i<=19;i++) 【或】 for(i=1;19>=i;i++)位置 3:f1=f2;位置 4:f2=f3;3.位置 1:long k=1;位置 2: scanf("%ld",&n);位置 3: n/=10; 【或】 n=n/10;4.位置 1:scanf("%d",&n);位置 2:for(i=1;i<=n;i++) 【或】 for(i=1;n>=i;i++) 【或】 for(i=1;i<n+1;i++) 【或】for(i=1;n+1>i;i++)位置 3:s+=1.0/t; 【或】 s=s+1.0/(float)t; 【或】 s=1.0/(float)t+s; 【或】 s=s+1.0/t; 【或】 s=1.0/t+s; 【或】 s+=1.0/(float)t; 【或】 s+=1.0/(double)t; 【或】s=s+1.0/(double)t; 【或】 s=1.0/(double)t+s;5.位置 1:sum=1.0; 【或】 sum=1;位置 2:s2=1.0; 【或】 s2=1;位置 3:for(k=4;k<=n;k++) 【或】 for(k=4;n>=k;k++) 【或】 for(k=4;k<n+1;k++) 【或】for(k=4;k<1+n;k++) 【或】 for(k=4;n+1>k;k++) 【或】 for(k=4;1+n>k;k++)6.位置 1:t=1; 【或】 t=1.0;位置 2:t=t*j; 【或】 t=j*t; 【或】 t*=j;位置 3:s=s+t; 【或】 s=t+s; 【或】 s+=t;位置 4:printf("jiecheng=%f\n",s);四、编程1.int fun(int n){ int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;}2.int fun(int n){int i,s=0;for (i=2;i<n;i++)if (n%i==0) s=s+i;return (s);}3.double fun(int n){int i,s=0;for (i=1;i<n;i++)if (i%3==0 && i%7==0) s=s+i; return (sqrt(s));}4.gcd(int n,int m){int r,t;if(n<m) { t=n;n=m;m=t;}r=n%m;while(r!=0){ n=m;m=r;r=n%m;}return(m);}5.double fun(int n){int i,j=0;double s=0;for (i=3;i<=n;i++){ for (j=2;j<i;j++)if (i%j==0) break;if (j==i) s=s+sqrt(i); }return s;}6.long fun (long s,long t){long sl=10;t = s % 10;while(s > 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;}}7.double fun(int n){double m=1.0;int i;double p=1.0;for(i=1;i<=n;i++){p=p*i;m=m+1.0/p;}return (m);}9.int fun(int n){int i,k;for(i=n+1;;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)return(i);}10.int fun(int s)int x1=0,x2=1,m=0;while (s>m){m=x1+x2;x1=x2;x2=m;}return m;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我和一个朋友自己编写的书后习题答案附题目列出的所有程序均在Dev C++ 4.9上编译成功,没有语法错误。
第一章概述习题1.5编写一个C语言程序,要求输出以下信息:***************How are you !***************#include <stdio.h>int main(){printf(“***************\n”);printf(“How are you !\n”);printf(“***************\n”);return 0;}习题1.6编写一个C语言程序,从键盘输入x,y,z三个变量,并输出其中的最小值。
#include <stdio.h>int main(){/* 定义整型变量 */int x,y,z,min;/* 输入*/printf(“请输入 x,y,x:”);scanf(“%d,%d,%d”,&x,&y,&z);/* 判断最小值 */min=x; if(y<min)min=y;if(z<min)min=z;/* 输出 */printf(“最小的数:%d\n”,min);return 0;}作者:songfei发表时间:2007-9-9 1:35:00第1楼第三章算法和基本程序设计习题3.4编写程序,输入三角形的3个边长a,b,c,求三角形的面积area。
其中,S=(a+b+c)/2。
#include <math.h>#include <stdio.h>int main(){float a,b,c,area,s;printf("请输入 a,b,c:");scanf("%f,%f,%f",&a,&b,&c);s =(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("面积:%f\n",area);return 0;}习题3.5编写程序,输入四个数,并求出它们的平均值。
#include <stdio.h>int main()int a,b,c,d;float average;printf(“请输入 a,b,c,d :”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);average =(a+b+c+d)/4.0;printf(“平均值: %f\n”,average);return 0;}习题3.6从键盘上输入一个整数,分别输出它的个位数,十位数和百位数。
#include <stdio.h>int main(){int x,y,z,num;printf("请输入一个数:");scanf("%d",&num);/* 分离个位,十位,百位的方法 */x=num%10;y=(num/10)%10;z=(num/100)%10;printf("个:%d\n十:%d\n百:%d\n",x,y,z);return 0;}习题3.7从键盘上输入一个大写字母,并将其转换成小写字母并输出。
#include <stdio.h>int main(){char c;printf("请输入一个字母:");scanf("%c",&c);printf("转换后:%c\n",c+32);return 0;}作者:songfei发表时间:2007-9-9 1:36:00第2楼第四章选择分支结构程序设计习题4.2输入四个数a、b、c、d,把这四个置由小到大输出。
#include <stdio.h>int main(){int a,b,c,d;int t; /* 临时变量 */printf(“请输入 a,b,c,d:”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);if(a>b) {t=a;a=b;b=t;} /*数据交换方法 */ if(a>c) {t=a;a=c;c=t;}if(a>d) {t=a;a=d;d=t;}if(b>c) {t=b;b=c;c=t;}if(b>d) {t=b;b=d;d=t;}if(c>d) {t=c;c=d;d=t;}printf(“结果:%d,%d,%d,%d\n”,a,b,c,d);return 0;}习题4.3编程序按下式计算y的值,x的值由键盘输入。
#include <stdio.h>int main(){double x,y;printf("请输入 x:");scanf("%lf",&x);/* 多个if…else嵌套 */ if(x>=0&&x<20)y=5*x+11;elseif(x<40)y=sin(x)+cos(x);elseif(x<60)exp(x)-1;elseif(x<80)y=log(x+1);else y=0;printf("y=%lf\n",y);return 0;}习题4.4用条件表达式的嵌套来完成此题:学习成绩≥90分的同学用A表示,70~89分之间的用B表示,60~69分之间用C 表示,60分以下的用D表示。
#include <stdio.h>int main(){int mark;char res;printf(“请输入成绩:”);scanf(“%d”,&mark);if(mark>=90) res=’A’;else if(mark>=70) res=’B’;else if(mark>=60) res=’C’;else res=’D’;printf(“结果 : %c\n”,res);return 0;}习题4.5计算器程序。
用户输入运算数和四则运算符,输出运算结果。
#include <stdio.h>int main(){int a,b;float res;char t;printf(“请输入运算符(+ - * /):”);scanf(“%c”,&t);printf(“请输入 a,b:”);scanf(“%d,%d”,&a,&b);switch (t){case‘+’ : res=a+b;break;case‘-‘ : res=a-b;break;case‘*’ : res=a*b;break;case‘/’ : res=(float)a/b;break;}printf(“结果:%f”,res);return 0;}习题4.6企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万的部分,可提成5%;40万到60万之间时,高于40万的部分,可提成3%;60万到100万之间时,高于60万的部分可提成1.5%,高于100万时,超过100万的部分按1%提成。
从键盘输入当月的利润,求应发放的奖金总数。
#include <stdio.h>int main(){long i,sum;printf("请输入利润 I:");scanf("%ld",&i);if(i<100000)sum=i*0.1;else if(i<200000)sum=10000+(i-100000)*0.075;else if(i<400000)sum=17500+(i-200000)*0.05;else if(i<600000)sum=27500+(i-400000)*0.03;else if(i<1000000)sum=33500+(i-600000)*0.015;else sum=39500+(i-1000000)*0.01;printf("奖金总数:%ld\n",sum);return 0;}作者:songfei发表时间:2007-9-9 1:38:00第3楼第五章循环结构程序设计习题5.1编写一个程序,计算-32768~+32768之间的任意整数(由键盘输入)中个位奇数的平方和。
#include <stdio.h>int main(){int n,ge,shi,bai,qian,wan,sum=0;printf("请输入一个数:\n");scanf("%d",&n);ge=n%10; /* 分离各位数 */shi=n/10%10;bai=n/100%10;qian=n/1000%10;wan=n/1000;if(ge%2==1) sum+=ge*ge;if(shi%2==1) sum+=shi*shi;if(bai%2==1) sum+=bai*bai;if(qian%2==1) sum+=qian*qian;if(wan%2==1) sum+=wan*wan;printf("总合是 %d\n",sum);return 0;}习题5.2编写程序,判断从键盘输入的整数X的正负性和奇偶性。
#include <stdio.h>int main(){int n,data;printf("请输入一个数:\n");scanf("%d",&n);if(n>=0) printf("X 是正数\n");else printf("X 是负数\n");if(n%2==1) printf("X 是奇数\n");else printf("X 是偶数\n");return 0;}习题5.3鸡兔问题:鸡兔共30只,脚共有90个。
编写一个程序,求鸡、兔各有多少只。
#include <stdio.h>int main(){int i,j;/* 枚举法(穷举法) */for(i=0;i<=30;i++){j=30-i;if(2*i+4*i==90)printf("鸡:%d\n兔:%d\n",i,j);}return 0;}习题5.4编写一个程序,求s=1+(1+2)+(1+2+3)+ …… +(1+2+3+4+ …… +n) 的值。