C语言 程序设计和C 语言
1.1什么是计算机程序
1.所谓程序,就是一组计算机能识别和执行的指令
2.机器语言 和 (符号语言)汇编语言 是面向机器的低级语言 中间转换称为 代真或者汇编 需要用一种称为汇编程序的软件把符号语言的指令转换为机器指令
1.2什么是计算机语言
1.高级语言---(源程序--->目标程序):经历了以下发展:
(1).非结构化的语言 BASIC FORTRAN ALGOL
(2).结构化语言 QBASIC FORTRAN 77 C语言
(3).面向对象的语言 C+ + C# VIsual Basic java
1.3 C语言的发展及其特点
1.C 语言有以下特点
(1)语言简洁、紧凑、使用方便、灵活
(2)运算符丰富
(3)数据类型丰富
(4)具有结构化的控制语言
(5)语法限制不太严格,程序设计自由度大
(6)C 语言允许直接访问物理地址
(7)用C语言编写的程序可移植性好
(8)生成目标代码质量高,程序执行效率高
1.4最简单的C语言程序
#include
int main()
{
printf("this is a C programn");
}
1.4.2C语言程序的结构
1.一个程序是由一个或多个源程序文件组成
2.C语言本身不提供输入输出语言。输入输出的操作是由库函数scanf 和 printf等函数来完成的
1.5运行 C程序的步骤和方法
1.上机输入和编辑源程序
2.对源程序进行编译
3.进行连接处理
1.6 程序设计的任务
1.问题分析
2.设计算法
3.编写程序
4.对源程序进行编辑,编译和连接
5.运行程序,分析结果
6.编写程序文档
第二章 算法---程序的灵魂
2.4算法的特性
1.有穷性
2.确定性
3.有零个或多个输入
4.有一个或多个输出
5.有效性
2.5 怎样表示一个算法
1.常用的方法有: 自然语言 传统流程图 结构化流程图和伪代码
2.5.3三种基本结构和改进的流程图
1.顺序结构
2.选择结构(选取结构)(分支结构)
3.循环结构(重复结构)
(1).当型(while)
(2).直到型(until)
上面三种结构都有以下共同点
1.只有一个入口
2.只有一个出口
3.结构内的每一部分都有机会背执行到
4.结构内不存在死循环
N-S图如同一个多层的盒子,又称盒图(box diagram)
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法
第三章 最简单的C 程序设计-顺序程序设计
1.数据的表现形式及其运算
1.1常量和变量
1.常量
(1).整型常量
(2).实型常量:e或者E之前必须有数字,且e或E后面必须为整数
(3).字符常量:其中有 普通字符 和 转义字符
(4).字符串常量
(5).符号常量 #define PI 3.1415926
2.变量:变量必须先定义 后使用
3.常变量:前面加一个关键字 const
4.标识符:C语言规定标识符只能由字母、数字和下划线3种字符组成且第一个字符必须为字母或下划线 编译系统认为大小写字母是两个不同的字符
数据类型基本类型整数类型基本整形,短整型,长整型,双长整型,字符型,布尔型
浮点类型单精度浮点型,双精度浮点型,复数浮点型
枚举类型 空类型
派生类型指针类型,数组类型,结构体类型,共用体类型,函数类型
1.2自增(+ +) 自减(- -)
+ + i - - i (在使用i之前,先使i 的值加或减1)
i + + i - - (先使用i之后,先使i 的值加或减1)
1.3算数表达式和运算符的优先级和结合性
1.算数运算符的结合方向都是‘自左至右(左结合性)’
1.4不同类型数据间的混合运算
1.优先转换double
1.5强制类型转换运算符
1.(类型名)(表达式)
2.只是一个临时值
3.强制类型转换运算符优先于%运算。
2.C 语句
1.1C语言的作用和分类
1.1源文件可以由若干个函数和预处理指令以及全局变量声明部分组成
1.2一个函数由数据声明部分和执行语句组成
1.3C语言有以下9种控制语句
if()...else... for()... while()... do...while()
continue break switch return goto
3.数据的输入输出
1.1格式输出
(1)f 格式符:用来输出实数,以小数形式输出。
%f 系统自动指定宽度,整数部分全部输出。小数部分输出6位
%m,nf 输出占m列,n为小数位,输出在右侧,左补空格。
%-m.nf输出在左侧,右补空格。如果m小于(整数位数+n)则正常输出,小数部分为n位
(2)e 格式符:以指数形式输出实数。
%m.ne输出占m列,n为小数位,输出在右侧左补空格。
%-m.ne输出在左侧,右补空格。如果m小于(整数位数+n),则正常输出。小数部分为n位
%me 没有指定小数位,则小数位6位。
1.2格式输入
(1)scanf函数中没有精度控制
/::可以指定输入数据所占列数,系统自动按照它截取所需数据。scanf(“%3d%3d”,&a,&b);::
(2)scanf函数中要求给出变量地址,而不是变量名:scanf(“%d”,&a);
(3)若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔,如果有非格式字符,则在输入时,在对应位置上输入这些字符。
(4)使用scanf函数时应注意的问题
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符
-----------更2023.1.20