C程序设计——第三章 最简单的C程序设计-顺序程序设计

本文详细介绍了C语言编程的基础知识,包括顺序程序设计、数据的表现形式及其运算、变量与常量、数据类型、运算符和表达式、C语句等内容,并深入讲解了数据的输入输出方法及注意事项,旨在帮助读者快速掌握C语言的核心技能。

最近工作上比较忙,看书也少了,而且感觉编程语言么,共通的地方比较多,C语言应该是比较重视格式,调用之前需要先声明之类的,主要就是记录格式上的东西。

 

前两章是基础,算是基本的介绍概念性的东西,接下来应该就是开始C的东西了。

要完成一个程序需要掌握几点,一个是解决思路,即算法,面向对象跟面向过程稍微有些区别,不过区别不大。第二个是对应语言的语法,其实计算机语言的大部分语法都相同,特别是循环的那部分,区别在于API、在于其相应的格式,所以基本都是相同的,能够非常深刻的掌握一门语言,再学习其他语言的时候就会变得非常的快,效率很高。如同现在的C语言。

 

1.      顺序程序设计举例

    a)        书中举了一个华氏度转换成摄氏度的例子,有了公式其实很简单,无非就是带入公式来计算,没什么可说的。

    b)        第二个例子,计算三种不同的方法的存款本息和,也有公式的,非常简单。

    c)        个人体会:这里的公式,我感觉就是算法,不过这些的公式算是前人总结出来的算法了,省去了我们很多的时间。其实每个程序都是很多的小块功能组成的,每个小块功能,又分了很多的实现,每种实现都有自己的实现方法,即算法,这些可能是已有的,比如数学公式;也有没有的,需要自己去想。学习算法,无非就是学习现有的比较经典与常用的算法,再一个就是通过学习已有的算法,学会设计新算法的思路。

2.      数据的表现形式及其运算

    a)        常量和变量,在计算机高级语言中,数据就这两种表现形式。

                        i.             常量包括几种,整型常量;实型常量(带小数的);字符常量(普通字符、转义字符);字符串常量;符号常量

                      ii.             转义字符,都是用\后边跟一个符号或字母,转义即为将\后边的字符转换成另外的意思,算是一种特殊的符号,有两种情况

                            1.        后边跟的符号在该语言中有特殊的含义,想要输出此字符的时候就需要前边跟个\,比如 \’, \”, \?,\\

                            2.        还有一种情况就是后边跟字母的,表示特殊的意思,比如

                                          a)        \a表示警告(alert),产生声音或视觉信号,来警告

                                          b)        \b表示退格,backspace,将当前位置后退一个字符;

                                          c)        \f表示换页,formfeed,将当前位置移到下一页的开头;

                                          d)        \n表示换行,将当前位置移到下一行的开头,这个用的最多了;

                                          e)        \r表示回车,carriagereturn,将当前位置移到本行的开头;

                                          f)         \t表示水平制表符,将当前位置移到下一个TAB位置;

                                          g)        \v表示垂直制表符,将当前位置移到下一个垂直制表对起点

                                          h)        \o\oo\ooo,其中的o代表一个八进制的数字,表示与该八进制码对应的字符,ASCII字符;

                                          i)          \xh[h…],这里的h表示一个十六进制的数字,同上,这个表示与该十六进制码对应的字符,ASCII字符;

                     iii.             符号常量:使用#define指令,制定一个符号名称代表一个常量。

                             1.        例如:#define PI 3.1416,此后所有的PI都表示3.1416了,

                             2.        好处就是,含义比较清楚,因为定义符号常量名的时候就应该考虑见名知意;再一个就是可以做到一改全改。

                     iv.             变量表示一个有名字的,具有特定属性的存储单元。须先定义后使用。

                      v.             常变量,就是规定了之后不可改变,同JAVAfinal,不过C里边是用const表示的。

                     vi.             常变量跟符号常量的区别:符号常量是#define来定义的,属于预编译指令,只是用符号常量代表一个字符串,在预编译的时候就进行替换了,预编译完成后,符号常量就不存在了,所以对符号常量的名字是不分配内存的,而常变量需要分配内存,有变量值,只是不能改变。相比较来说,常变量更方便一些。可以不必多用符号变量。(难道,常变量就是从符号变量发展来的么)

                   vii.             标识符:用来对变量、符号变量名、函数名、数组名、类型等各种命名的有效字符序列统称为标识符(这个字读zhi,好吧,所有的名都属于标识符)

                  viii.             标识符只可以由字母、数字、下划线组成,而且第一个字符不可以为数字。区分大小写

    b)        数据类型,所谓数据类型,就是对数据分配存储单元的安排,包括该存储单元的长度与数据的存储形式。

                        i.             数据类型在C语言中包括四种:基本类型、枚举类型、空类型、派生类型。

                      ii.             基本类型:各语言基本都差不多,分两种,一个是整型,一个是浮点型,可以把浮点型理解为有小数点的。其中整型包括:基本整形(int)、短整型(short int)、长整形(long int)、双长整形(long long int)、字符型(char)、布尔型(bool);浮点型包括:单精度浮点型(float)、双精度浮点型(double)、复数浮点型(float_comple,double_comple,long long_comple)。

                     iii.             枚举类型为emum,空类型为void

                     iv.             派生类型包括:指针类型(*)、数组类型([])、结构体类型(struct)、共用体类型(union)、函数类型

    c)        整形数据

                        i.             这一节就是介绍了各种整形数据,Cint有:short int, int, long int, long long int这几种,规定了shortint2个字节,long int4个字节,long long int8个字节,(字节就是byte,8位的)而int是在short intlong int之间的,按照编译器来改变,所以有可能是2byte,也有可能是4byte。这一点不像javajava是只有short,int,long三种的,分别是248个字节,估计java的作者们也很郁闷这个不定的int长度吧。

                      ii.             符号——正负,每个数据都是第一位来表示符号的,如果不想要符号,即都是正的,需要在声明时前边添加unsigned来表示。

    d)        字符型数据,基本包括了127个字符

                        i.             字母,大写A ~ Z,小写a ~ z

                      ii.             数字,0 ~ 9

                     iii.             专门符号,29    !“ # & ‘ ( ) * + , - . / : : < = > ? [ \ ] ^ _ { | } ~  这些都是在标准键盘上可以直接输出的;

                     iv.             空格符:包括空格、水平制表符、垂直制表符、换行、换页

                      v.             不能显示的字符:空字符(以\0表示)、警告(\a)、退格(\b)、回车(\r

                     vi.             详见ASCII字符表

    e)        浮点型数据

                        i.             其中float型是4个字节,double8个字节,long double看编译环境分配816个字节

    f)         怎样确定常量的类型

                        i.             通过大小、范围等来确定需要分配几个字节。

    g)        运算符和表达式

                        i.             基本的算术运算符,即+- * / %等,最简单的这种

                      ii.             自增、自减运算符,++--等,常用的,不解释

                     iii.             算术表达式和运算符的优先级与结合性,如同数学表达式的运算顺序。

                     iv.             不同类型数据间的混合运算

                             1.        数字间的运算,都向大转换,结果为大。大即为占的字节多;

                             2.        char和数字数据运算,把charASCII码与数字进行运算。结果为数字的数据类型;

                      v.             强制类型转换运算符,前边加括号,括号内是被强制转换的类型

                     vi.             C运算符

                               1.        算术运算符,(+ - */ % ++ --

                               2.        关系运算符,(>< == >= <= !=

                               3.        逻辑运算符,(!&& ||

                               4.        位运算符,(<<>> ~ | ^ &

                               5.        赋值运算符,(=及其扩展赋值运算符)

                               6.        条件运算符,(? :)

                               7.        逗号运算符,(,

                               8.        指针运算符,(*&

                               9.        求字节数运算符,(sizeof

                              10.    强制类型转换运算符,((被强制转换的类型)

                              11.    成员运算符,(.->)(没用过,重点)

                              12.    下标运算符,([]

                              13.    其他,(如函数调用运算符()

3.      C语句

    a)        C语句的作用和分类

                        i.             控制语句,包括if else,for, while, do while, continue, break, switch, return, goto,实现条件、循环、选择等功能的语句

                      ii.             函数调用语句,额

                     iii.             表达式语句,实现赋值的,由表达式跟分号组成;

                     iv.             空语句,尼玛有病

                      v.             复合语句,就是用{}括起来的句块

    b)        最基本的语句——赋值语句

                        i.             =+=-=等,最终都是把值赋给变量,其他不说了,用的太多了

4.      数据的输入输出

    a)        C语言本身不提供输入输出语句,是在C标准库中提供了一些输入输出函数,所以需要#include<stdio.h>等预编译指令。

    b)        Printf函数算是比较主要的输出函数了。如printf(“%d,%c\n”,I,c).

                        i.             格式字符:d表示输出一个有符号的十进制整数

                      ii.             c格式符,用来输出一个字符,char。可以指定域宽,比如%5c,表示输出5个字符宽度的,如果输出a,那么前边就4个空格

                     iii.             s格式符,用来输出一个字符串

                     iv.             f格式符,用来输出实数,普通就是%f,还可以指定数据宽度,如%7.2f,表示输出的数据占7列,其中2位小数。

                      v.             e格式符,用来以指数形式输出实数,也可以用%m.ne来指定宽度

                     vi.             其他的还有i格式符,同d,输出十进制整数,不过一般用do格式符,以八进制输出整数;x格式符,以十六进制输出整数;u格式符,用来输出无符号的整数;g格式符,用来输出浮点数,自动选fe来输出,选择其中长度较短的格式。

    c)        scanf函数输入数据,格式scanf(“a=%f, b=%f, c=%f, &a, &b, &c”);

                        i.             格式符同上。需要注意的是后边的是变量地址,所以需要前边加&,输入的时候应该两个数据间有一个冒号和一个以上的空格,不然会报错。

    d)        其他:字符数据的输入输出,只是输入输出字符。

                        i.             putchar函数输出一个字符

                      ii.             getchar函数输入一个字符

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值