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;}。
c语言复习题(1~6章) (2)
注意:超纲题不需要做!1、C语言提供合法的数据类型关键字是( )A)Double B)short C)integer D)Char2、对于下列各字符串,请选取择正确的标识符( )。
A)Boo B)for C)5abc D)I like C3、下列不属于字符型常量的是()A)‘A’B)“B”C)‘\n’ D)‘D’4、下面四个选项中,均是正确的八进制数或十六进制数的选项是。
A)-10 0x8f -011 B) 010 -0x11 0xf1C) 0abc -017 0xc D) 0a12 -0x123 -0xa5、若有定义:int a = 7; float x = 2.5 , y = 4.7 ;则表达式x + a % 3 * (int) (x + y) % 2/4 的值是A) 2.750000 B) 0.00000 C) 3.5000006、已知ch是字符型变量,下面不正确的赋值语句是。
A)ch = 5 + 9; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6';7、错误的转义字符是 ( )A)'\091' B)'\\' C)'\0' D)'\''8、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ( )A)2,1,2 B)2,0,3 C)2,2,3 D)2,1,39、在C语言中,错误的常数是 ( )A)1E+0.0 B)5. C)0xaf D)0L10、下列正确的标识符是:A)12ab B)float C)aw~1e D)b6ty11、对y在[3,23]和[100,200]范围内为真的确表达式为:A)(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)B)(y>=3)||(y<=23)||(y>=100)||(y<=200)C)(y>=3)&&(y<=23)||(y>=100)&&(y<=200)D)(y>=3)||(y<=23)&&(y>=100)||(y<=200)12、在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置13、8以下能正确地定义整型变量a,b和c并为其赋初值5的语句是A)int a=b=c=5;B)int a,b,c=5;C)int a=5,b=5,c=5;D)a=c=b=5;14、C语言中,long类型的数据占字节数为()A) 1 B) 2 C) 4D) 815、下列为合法的用户标识符为()A) _98B) P#d C) a* D) void16、如果x为float类型变量,则以下语句输出为()x=213.82631;printf(“%4.2\n”,x);A) 宽度不够,不能输出B) 213.82 C) 213.82631 D) 213.8317、在C语言中,合法的字符常量是( )A)'\084' B)'\x43' C)'ab' D)"\0"18、不能正确表示ab除以cd的C语言表达式是()A) a*b/c*d B) a/(c*d)*b C)a*b/c/d D) a*b/(c*d)19、以下不符合C语言语法的赋值语句是(D)A) i++; B) i=i=5; C) k=(2*4,k*4); D) y=float(i);20、若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(D)A) float B) int C) char D) double21、下列程序的输出结果是#include<stdio.h>main(){float x,y;scanf("%f",&x);if(x<0.0)y=0.0;else if((x<5.0)&&(x!=2))y=1.0/(x+2.0);else if(x<10.0)y=1.0/x;else y=10.0;printf("%f\n",y) ; }输入:2.0A)0.000000 B)0.250000 C)0.5000000 D)1.00000022、下列程序的输出结果是main(){int m=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n",m--) ; }A)7 B)6 C)5D)423、下列程序的输出结果是main(){int a=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a); }A)-1 1 B)0 1 C)1 0D)0 024、下列程序的输出结果是main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;elsex=-1;print("%d\n",x);}A)-1B)0 C)10 D)225、下列程序的输出结果是main(){int a,b,c,x;a=b=c=0;x=35;if(!a) x--;else if(b);if(c)x=3;elsex=4;print("%d\n",x) ; }A)34 B)4C)35 D)326、下列程序的输出结果是2 main(){int a=2,b=-1,c=2;if (a<b)if(b<0)c=0;elsec+=1;printf("%d\n",c) ; }27、下列程序的输出结果是103 main(){int a=-1,b=4,k;k=(a++<0)&&(!(b--<=0));printf("%d%d%d\n",k,a,b) ; } 28、下列程序的输出结果是004 main(){int a=-1,b=4,k;k=(++a<0)&&(!(b--<=0));printf("%d%d%d\n",k,a,b) ; } 29、下列程序的输出结果是#include<stdio.h>main(){int x=1,y=0,a=0,b=0;switch(x){case 1 : switch(y){ case 0:a++;break;case 1:b++;break;}case 2 : a++;b++;break ; }printf("a=%d,b=%d\n",a,b) ; }A)a=2,b=1B)a=1,b=1C)a=1,b=0 D)a=2,b=230、当a的值分别为:1,2,3时,程序的结果是main(){int a;printf("Please enter a=");scanf("%d",&a);switch(a){case 1:printf("*");break;default:print("#");case 2:printf("-") ; } }1:*2:-3:#-31、下列程序运行结果#include<stdio.h>main(){int x=23;doprintf("%2d",x--);while(!x) ; }A)321 B)23C)无D)死循环32、下列程序运行结果#include<stdio.h>main(){int i=0,sum=1;dosum+=i++;while(i<6);printf("%d\n",sum) ; }A)15 B)16C)17 D)1833、下列程序运行结果#include<stdio.h>main(){int xfor (x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x) ; }A)**3##4B)##3 C)##3**4 D)**3##4**5 **4##5 **5 ##534、下列程序的输出结果是main(){float x,y,z;scanf(%f%f",&x,&y);z=x/y;while(1){if (fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak; }printf("%f\n",y) ; }输入3.6 2.4回车,则结果为A)1.500000 B)1.600000 C)2.000000 D)2.40000035、下列程序的输出结果是main(){int i=0,a=0;while(i<20){for(;;)if (i%10==0) break; else i--;i+=11;a+=i ; }printf("%d\n",a) ; }A)21 B)32C)33 D)1136、下列程序的输出结果是main(){int u=24,v=16,w;while(v){w=u % v; u=v ; v=w;}printf("%d\n",u); }A)7 B)8C)9 D)1037、假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a;a++;}while (b--<0);A) 9 B) -2 C) -1 D) 838、以下程序的输出结果是(超纲)main(){ int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2339、有以下程序(程序错误)main(){ int i, j;for(j=10;j<11;j++){ for(i=9;i=j-1)printf("%d",j);}}输出结果是A) 11 B) 10 C) 9 D) 10 11。
数据结构C语言版章节练习题(1-6章)
数据结构章节练习题第一章绪论一、单选题1.一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2.下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)3.执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/24.下面算法的时间复杂度为____________。
int f( unsigned int n ){ if ( n==0 || n==1 ) return 1; else return n*f(n-1); }A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1.数据的逻辑结构被分为__________、_________、__________和__________四种。
2.数据的存储结构被分为__________、和__________两种。
3.在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4.一种抽象数据类型包括__________和__________两个部分。
5.当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
6.当需要用一个形参访问对应的实参时,则该形参应说明为__________。
7.在函数中对引用形参的修改就是对相应__________的修改,对__________形参的修改只局限在该函数的内部,不会反映到对应的实参上。
C语言程序设计(第2版)-- 课后题答案
《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。
解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。
#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。
C 语言
(2)运算符丰富(P365附录C)34个运算符; 主要分为三大类: 算术运算符, 关系运算符与 逻辑运算符, 按位运算符 (3)数据类型丰富(P37); 数据与数据结构 数据组织的逻辑结构 例如:学生(姓名、学号、年龄、入学成绩) (4)具有结构化的控制语句; 模块化程序设计思想:把程序分成几个模块分 别设计 例如:图书管理系统 借书、还书、新书入库等模块
第1章 C语言概述 1.4 简单的C程序介绍
总结:
(4)C程序书写格式自由,一行内可以写几个语句, 一个 语句也可以分写在多行上。 (5)每个语句和数据声明的最后必须有一个分号,但函 数首部和文件包含命令不能加分号。 (6)C语言本身没有输入输出语句。输入和输出的操作是 由系统函数scanf和printf等来完成的。 (7)可以用/*„„*/对程序的任何部分做注释。注释可 单独占一行,也可以放在行尾。增强程序可读性。
第1章 C语言概述
四、基本学习方法(参考“前言”——第IX~X页) 1.读程序是学习C语言入门最快、最好的方法; 2.掌握算法; 3.反复上机实践。
学习步骤: 1.读懂课堂所讲示例; 2.课下将每个示例写出算法; 3.根据算法重新写出完整的程序; 4.上机时按自己写的程序输入、调试。
第1章 C语言概述 1.3 简单的C程序介绍
(5)语法限制不太严格,程序设计自由度大;
(6)允许直接访问物理地址,能进行位操作,能实现汇 编语言的大部分功能,可直接对硬件进行操作,兼有 高级语言和低级语言的特点及功能;
(7)目标代码质量高,程序执行效率高; 目标代码就是把你编好的程序代码翻译成计算机能够 认识的代码 源程序-目标代码 (8)程序可移植性好。 可移植性并不是指所写的程序不作修改就可以在任何 计算机上运行,而是指当条件有变化时,程序无需作 很多修改就可运行
C语言阶段测验1)
《程序设计基础》阶段测验(1-6章)班级:学号:姓名:成绩:一、单项选择题(每小题2分,共60分)1.下列叙述中正确的是________。
A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数2. 下列定义变量的语句中错误的是________。
A)int _int;B)double int_;C)char For;D)float USS3.以下能正确定义一维数组的选项是________。
A)int a[5]={0,1,2,3,4,5};B)char a[]={0,1,2,3,4,5};C)char a={'A','B','C'};D)int a[5]="0123";4.有以下程序main(){int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是________。
A)2,3,3B)2,3,2C)2,3,1D)2,2,1main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b); /* 输出计算结果*/}程序运行后输出结果是________。
A)a+b=10B)a+b=30C)30D)出错6.在嵌套使用if语句时,C语言规定else总是________。
A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对7.下列叙述中正确的是________。
A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句8以下不合法的用户标识符是________。
C语言复习提纲(含答案)
。
B) 一个整型表达式 D) 一个不合法的表达式
10
Logo
常见运算符
①算术运算符(+ - * / % ++ --):运算结果为数值。 注意:
自增、自减运算符的应用
②关系运算符(> < == >= <= !=):运算结果为1(真)或0 (假)。
③逻辑运算符(! && ||):运算结果为1(真)或0(假)。
变量:先定义,再使用
标识符:掌握标识符的命名规则:以下划线或字母开始,后 面跟着数字、字母、下划线。 a_b (合法) a-b (不合法)
Logo
8
短整型short 整 数值类型 基本类型 字符类型char 数组 结构体struct 构造类型 共用体union 浮点型 型 整型int 长整型long
第4章 选择结构程序设计
第5章 循环结构程序设计 第6章 利用数组处理批量数据 第7章 用函数实现模块化程序设计 第8章 善于利用指针 第9章 用户自己建立数据类型 第10章 对文件的输入输出
Logo
3
第1章 程序设计和C语言
C语言程序基本构成(1.4.2节),包括:
函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过 嵌套调用得以执行。
a/10%10的值为(2),a%10的值为( 3 )
表达式 j=i++/2 的值
注意:两整数相除,结果为整数
Logo
15
C语句分类
程序控制语句(9种):
分支:if( )~else~ ;switch
循环:for( )~;while( )~;do~while( ) 辅助控制:continue;break;goto;return 函数调用语句 表达式语句:表达式加分号构成。
计算机语言(C)阶段测试题
第一阶段测试卷考试科目:《计算机语言(C)》第1章至第6章(总分100分)时间:90分钟学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一、选择题(每题2分,共30分)1.C语言程序由()组成。
A. 子程序B.过程C.函数D.主程序与子程序2.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为()。
A. trueB. falseC.非0整数值D.整数值03. 下面四个选项中,均是不合法的用户标识符的选项是()。
A. _AB. HARC. b_aD. 1_23P1 c3 INT doC_2 a2 er1 int4.在c语言中,错误的语句是()。
A. a=b=c;B. ;C. breakD. b=3*5,a*=4;5.设a、b和c都是int型变量,且a=3,b=4,c=5,则以下表达式中值为0的是( )。
A.a&&b B. a<=b C. a||b+c&&b-c D. !((a<b)&&!c||1)6.若int类型数据占两个字节,则执行以下语句的输出为()。
int x=-1;printf(“%d,%u\n”,x,x);A.1, 1 B.–1,32767 C.–1,32768 D.–1,655357. 以下程序的运行结果是()。
main(){ int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);}A.4B.5C.6D.78. 设a为整型变量,初值为12,执行完语句a+=a- =a*=a后,a的值是()。
A.-552B.-120C.-264D. 09. 以下所列字符常量中,不合法的是()。
A.'/Oxff' B.'\65' C.'$' D.'\xla'10.以下不致造成死循环的语句是()。
C语言1_6章复习题及答案
一、单项选择题1、以下说法中正确的是(C)(2分)A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、以下选项中,不合法常量的是(B)(2分)A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e03、C语言中最简单的数据类型包括(B)(2分)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型4、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)A、 10>=a>=0B、 a>=0 and a<=10C、 a>=0||a<=10D、 a>=0&&a<=105、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、 6.500000B、 6C、 5.500000D、 6.0000006、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)A、 INPUT x、y、z;B、 scanf("%d%d%d",&x,&y,&z);C、 scanf("%d%d%d",x,y,z);D、 read("%d%d%d",&x,&y,&z);7、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值8、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、 0B、 0.5C、 1D、 29、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。
《C语言程序设计(第五版)》习题答案
《C语⾔程序设计(第五版)》习题答案各章习题参考答案第1章习题参考答案1. 简述C程序的结构特点。
答:(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。
每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。
函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。
函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。
函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#includeint sumab (int x, int y); /*函数声明*/int main () /*主函数*/{ int a,b,sum; /*定义变量*/printf("请输⼊变量a与b的值:"); /*提⽰信息*/scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/sum=sumab(a,b); /*调⽤sumab函数*/printf("a与b的和等于%d", sum);/*输出sum的值*/return 0;}int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */{ int z;z=x+y;return z;}3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learnC language.”。
- 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) 的值。