• chapter3——最简单的C程序设计


    3.1 数据的表现形式及其计算

    3.1.1 常量和变量

    常量: 程序运行过程中,其值不能变的量

    变量: 代表一个有名字的、具有特定属性的一个存储单元。在程序运行期间,变得的值是可改变的。

    1、常量

    常量分为: 整型常量、实型常量、字符常量、字符串常量、符号常量

    这里特别要注意符号常量:#define PI 3.1416

           符号常量,指定用一个符号名称表示一个常量。符号常量不占内存只是一个临时符号。所以不能对符号常量赋值。

    2、 变量

    变量要遵循 先定义后使用的原则。有类型,占存储单元。

    常变量 const int a=3; 常变量有变量的基本属性,有类型,占存储单元。 由于常变量的存在,可以大部分代替符号常量的使用。

    3.1.2 数据类型 (由变量引申)

    类型: 对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

    3.2.3  整型数据

    基本整型int ,短整型short int ,长整型long int , 双长整型long long int

    变量值在存储单元中都是以补码的形式存在

    3.2.4 字符型数据

    1. 字符与字符代码

    字符时以整数形式(字符的ASCII代码)存放在内存单元。在C中1个字节(8位)存放一个字符。

    由于字符时以ASCII存储,整数是以补码形式存储,所以能区分字符和整数

     

    2. 字符常量

    字符变量: 用类型符char定义字符变量

    在负数,signed 和unsigned方面要重新理解

    3.2.5  浮点型数据

    浮点型数据是用来表示具有小数点的实数

    3.2.6  怎样确定常量的类型

    整型常量和浮点型常量

    浮点型常量这里面主要讨论了精度损失的问题

    3.2.7 运算符和表达式

    1. 基本的算术运算符

    对于除/ 而言,得到结果的值与被除数符号相同

    对于取余而言,操作数必须为整数。

    2. 自增、自减运算符

    自增、自减运算符只能用于变量。

    变成时最好减少前++和后++的区别,增强可读性

    3. 算术表达式和运算符的优先级和结合性

    结合性的问题是C语言所特有的。要在实际运用中体会。

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

    注意: %f, %d, %c 是让计算机里面的数据按照某种格式输出

    5. 强制类型运算符

    (类型名)(表达式)

    一般使用强制类型转换时,是为了将编译系统内部的转换呈现给读者。加强可读性。

    6. c运算符

    3.2  C语句

    3.2.1 C语句的作用和分类

    1.控制语句

    2.函数调用语句

    3.表达式语句

    4.空语句

    5.复合语句

    一般来说,一个表达式加上一个;就是一个语句。

    这里面,printf();是函数调用语句

    3.2.2 最基本的c语句——赋值语句

    1.赋值运算符

    2.复合的赋值运算符

    特别要注意: x%=y+3

                   等价于 x=x%(y+3)

    3.赋值表达式

    由运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”

    变量 赋值运算符 表达式

    4. 赋值过程中的类型转换

    在这里面主要是可能出现的精度不同从而导致数据丢失的状况。

     

    3.3  数据的输入输出

    3.3.1  输入输出举例

    一元二次方程

    在这里面当用到除法的时候,要考虑到数据类型的一致,(-b) / (2.0*a)

    3.3.2  有关数据输入输出的概念

    1.所谓输入输出时以计算机主机为主体而言的。计算机向输出设备(打印机,显示器)为输出,从输入设备(键盘、磁盘、扫描仪)这些向计算机提供数据的为输入。

    2.C语言本身是不提供输入输出语句的。printf 和scanf 只是一个库函数名字,而不是输入输出语句。

    3. 在使用系统库函数的时候,要在程序的开头用预处理指令#inlcude 把有关头文件放在本程序中。

    对于预处理指令的两种格式的区别,<> 和""不同,<>是按照标准方式查找文件,而""则是按照先在用户的当前目录,后标准形式的方式查找。

    3.3.3  用printf函数输出数据

    在运用printf 和scanf两个函数的时候,必须指定输入输出数据的格式!

    一般用%f的格式只能输出6位小数,而一个双精度数只能保证15位有效数字的精确度,也就是15位小数!

    /*
    	2013年5月21日22:25:53
    	目的:如何使用scanf和printf函数
    */
    # include <stdio.h>
    int main(void)
    {
    	/* printf("%12d\n", 123); */
    
    	/*char a = 'a';
    	printf("%c\n", a);*/
    
    	/*printf("%s\n", "china");	//	这样的话,用%s 输出字符串的时候,后面要用"" 这个要特别注意*/
    
    	/* float a = 3;
    	printf("%f\n", a/4.0);	//在运用%f的格式时,系统一般的处理方法是,实数中的整数部分全部输出,小数部分输出6位,这也就牵扯到如何判断1个数是不是0的问题。*/
    
    	/*float a = 3;
    	printf("%9.5f\n", a/4);*/
    
    	double a = 1000;
    	printf("%20.15f\n", a/3);
    
    	return 0;
    }

    3.3.4  用scanf函数输入数据

    scanf(格式控制,地址表列);

    在格式控制的后面应该是地址,所以用到的应该是&符

    3.3.5  字符数据的输入输出

    1.用putchar函数输出一个字符

    2.用getchar函数输入一个字符

  • 相关阅读:
    【2020春】李宏毅机器学习(Classification/高斯分布/逻辑回归vs线性回归)
    【2020春】李宏毅机器学习(New Optimizers for Deep Learning)
    【2020春】李宏毅机器学习(Gradient Descent)
    SinGAN: Learning a Generative Model from a Single Natural Image
    HoloGAN: Unsupervised Learning of 3D Representations From Natural Images
    styleGAN相关
    styleGAN相关
    styleGAN相关论文
    styleGAN相关论文
    styleGAN相关论文
  • 原文地址:https://www.cnblogs.com/zhurun/p/4590570.html
Copyright © 2020-2023  润新知