C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出...

1. 程序的一般形式

    (1)注释

        ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行.

        ② 作用:提示代码的作用,提示思路   不写注释的后果:出来混总是要还的.

        ③ 单行注释不能换行

     (2) #include  #import

        ① 导入文件,系统提供类库文件中包含一些功能函数,如果想在某个文件中使用,必须导入需要的文件。

        ② stdio  标准输入输出  standard input output

     (3) main  函数,又称主函数,是程序运行的入口位置 

     (4) 功能代码

     (5)return  返回 

      强调编码规范、代码提示、错误和警告

2. 数据类型

    在编写计算机程序时,我们会将数据交给计算机处理,那么在C语言中这些数据如何存储呢。

    例如:要存储一个人的身高、年龄,首先这些数据类型不同,先要了解C语言包含哪些数据类型。

    (1)数据类型分类

        ① 基本数据类型。  整型、浮点型、字符型

        ② 构造类型。     数组、枚举

        ③ 指针类型。

        ④ 空类型。       void

3. 基本数据类型

     char 字符类型 包含:‘a~z' 'A~Z' '0~9'         存储字符

     int 整形类型 包含:1 2 3 4 5 6 7 8 9 0等等         存储整数

     float 浮点型 包含: 数字1.2 2.5 3.6        存储小数

     short 短整型 包含: 数字 1 2 3 4 5 6 7 8 9等等        存储整数

     long 长整型 包含:数字1 2 3 4 5 6 7 8 9等等        存储整数

     double 双精度浮点型 包含: 数字1.1 2.5 3.9等等         存储小数

    (1)数据存储单位

        ① 存储单位。 字节Byte,最常用存储单位;位bits,最小存储单位。  

        ② 1字节 = 8位(二进制位) = 2位(十六进制位)

    (2)不同数据类型的存储空间不同,存储空间决定了数据类型能够存储数据的范围

        ① char 1  short 2  int 4  long 8  float 4  double 8

        ② 数据类型的存储空间与操作系统有关,并不是统一的。但是有一个原则:short <= int <= long <= long long

        ③ sizeof 运算符,计算每个数据类型占用存储空间。

        ④ 存储空间决定了存储数据的范围。不要死记硬背,可以查资料,把最常用的记住。溢出:超出了数据类型的取值范围

    (3) 整型区分有符号和无符号,无符号的标示符 unsigned。

    (4) 区分正数/负数:整数对应的二进制数,最高位1是正数,最高位0是负数。

    (5) 整数的存储方式:补码。正数补码:自身;负数补码:绝对值、取反、加1.

    (6) 浮点型数的存储方式:指数。  标准指数形式:整数为0,第一位小数不为0.

        printf("%lu\n", sizeof(char));      // 1

        printf("%lu\n", sizeof(short));     // 2

        printf("%lu\n", sizeof(int));       // 4

        printf("%lu\n", sizeof(long));      // 8

        printf("%lu\n", sizeof(float));     // 4

        printf("%lu\n", sizeof(double));    // 8

3. 变量、常量

    (1) 常量

         ① 程序运行期间不能改变的量

         ② 常量分类

            a 整型常量:10

            b 实型常量:1.5

         ③ 字符常量:

            a 普通字符(参考ASCII字符表。例如:'a')

            b 转义字符(属于操作字符,无法打印显示。例如:\n)

         ④ 字符串常量:"中国"

    (2) 变量

        ① 程序运行期间可以修改的量

        ② 变量代表一个存储区域,用于存储数据,相当于容器。存储的内容就是变量的值

        ③ 变量在使用之前必须定义  三部分:类型、变量名、初值

        ④ 变量名要求:

            只能由 数字、下划线、字母组成,并且不能以数字开头

            不能使用系统保留字   int、float等等

            不能重复使用定义的变量名

            见名知意,驼峰命名法  teacherName,studentName

        ⑤ 标示符:用来命名变量、类型的有效字符,只能使用数字、字母、下划线表示

     

                  定义变量  三步  就算初始值是0,也必须写

                  强调编码规范(空格使用),语法(只能使用英文字符)

                  int a = 10;  ( 类型 int  变量名 a  初值 10)

                  float b = 1.5;

                  char c = 'a';

                  int m = 0, n = 100;  (一行定义多个变量)

    练习  定义几个变量

    

    // 定义一个变量age,存储年龄

    int age = 0;

    

    // 定义一个变量c_score,存储C语言考试分数,定义一个变量oc_score,存储OC语言考试分数

    float c_score = 94.5, oc_score = 89;

    

    // 定义一个变量gender,存储性别

    char gender = 'f';

    

    

    // 修改变量

    age = 18;

    c_score = 100;

    oc_score = 90;

    

    

    // 代码有提示,提示内容。 如何显示代码提示ESC,确认代码回车或tab

    

    

    // 声明变量  不设置初值,一般情况下都要求定义变量,特殊情况再说明

    // 只声明会造成的问题:存储区域是重复使用的,如果定义变量时不设置初始值,结果可能是0,可能是之前的值 (盘子刷没刷)

    

    

    // 变量名  既要符合语法要求,也要见名知意。 什么是好代码,人和计算机都能读懂

    

    

    

    // 练习:定义变量存储某个老师的姓名、年龄、性别,定义变量存储某个学生的姓名、年龄、C语言分数、性别 (目的:定义变量的语法和规则)

    

     */

 

 

 

 

#pragma mark  -----------运算符------------

    

    /*

     

     

        运算符

     

        1、运算符包含很多种:单目、双目、三目。 单、双、三表示参与运算的变量或常量数量

        2、优先级不同,不要死记硬背,学会查询表,记住最常用的

        3、这节课:赋值运算符、算数运算符、复合运算符

        4、学会使用()标记运算优先级,好处:避免错误、代码可读性强

     

     */

    

    

    /*

     

    // 赋值运算符 双目运算符

    // 左值  等号左侧的值  只能是变量

    // 右值  常量、变量、表达式

    int a = 0;

    int b = a;

    

      

    // 练习:交换两个变量的值   例子:两个水杯交换水,需要使用第三个杯子临时装一下水

    

    int a1 = 10;

    int a2 = 20;

    

    int temp = 0;  // 临时

    

    // 将a1的数据复制到temp中

    temp = a1;

    

    // 将a2的数据复制到a1中

    a1 = a2;

    

    // 将temp的数据复制到a2中

    a2 = temp;

    

    

    

    // 算数运算符   双目运算符  + - * /

    

    // +

    

    int b1 = 10;

    int b2 = b1 + 20;

    int b3 = b1 + b2;

    

    

    // -

    

    int c1 = 50;

    int c2 = c1 - 10;

    int c3 = c1 - c2 - 10;

    

    

    // *

    

    // / 除法

    // 1、除数不能为0

    int d1 = 10 / 0;

    

    // 2、除号两边都是整数,结果也是整数,省略小数部分

    int d2 = 3 / 2;

    printf("%d\n", d2);

    

    // 3、除号两边都是浮点型,结果是浮点型

    float d3 = 4.2 / 2.0;

    printf("%f\n", d3);

    

    // 4、除号两边有一个是浮点型,结果是浮点型

    float d4 = 3 / 2.0;

    float d5 = 3.0 / 2;

    

   

    // % 取模运算符  获取余数

    // 1、取模运算符两边必须都是整数

    

    int e1 = -5 % 3;  // 5 对 3 取模,即5除3的余数

    printf("e1 = %d", e1);

    

     */

    

    // 2、余数 < 除数

     

    // 3、公式  a % b   a = b * n + 余数

    

    

    

    /*

    

    // ++ 自增运算  单目运算符

    // 只能给变量使用

    

    // 1、 ++在变量后面

    

    // (1) 相当于  i = i + 1

    int i = 10;

    i++;  // 语句执行后,i = 11

    

    // (2) 先参与运算,后自增

    int j = 10;

    int k = 50 + j++; // 相当于  k = 50 + j;  j = j + 1

    printf("%d", k);

    

    // 2、 ++在变量前面

    

    // (1) 相当于  i = i + 1

    int x = 10;

    x++;

    

    // (2) 先自增,后参与运算

    int y = 10;

    int z = 50 + ++y; // 相当于 y = y + 1; z = 50 + y

    

    printf("%d", z);

    

    */

      

    /*

     

    // 复合运算符

    

    // +=

    // a+=b  相当于  a = a + b

    

    int a = 10;

    a += 5;

    

    printf("%d", a);

    

    

    // 2、 -=

    

    */

 

 

 

 

#pragma mark  -----------表达式和语句------------

 

    

    /*

     

        1、表达式组成:常量、变量、运算符。  表达式是有返回值的。

        2、语句:程序执行的最小单位,以;结束

     

     

     */

    

    

    /*

 

        int a = 0;

        a = 1;

        

        a = 1 * 5

    */

    

 

 

    

    

#pragma mark  -----------输出函数------------

    

    /*

        

        1、将需要输出的内容转换成字符串,输出显示在控制台

        2、输出内容:普通字符串、将变量的值转换成字符串

        3、函数格式  printf(格式字符串, 表达式1, 表达式2...)

     

     */

    

    

    

    /*

     

    // 输出普通字符串  格式字符串使用"输出的内容",不需要表达式

    // 使用换行符\n,换行符只实现功能,不显示

    printf("hello world!\n");

    printf("易荟云\n");

    

    

    // 输出变量的值  格式字符串由普通字符和转换符组成

    // 不同类型的变量有对应的转换符

    // 将需要显示变量内容的位置使用转换符占位

    

    int age = 18;

    //printf("我今年18岁");

    printf("我今年%d岁\n", age);

    

    

    int number = 10;

    printf("我的学号是:%d\n", number);

    

    

    printf("我今年%d岁,学号:%d\n", age, number);

    

    

    float c_score = 95.5;

    printf("C语言分数:%f\n", c_score);

    

    

    char gender = 'f';

    printf("性别:%c\n", gender);

    

    

    

    // 输出格式控制

    

    // 设置字符宽度

    // 1、实际长度 大于 设置长度,按照实际长度显示

    // 2、实际长度 小于 设置长度,可以补空格  %4d

    // 3、实际长度 小于 设置长度,可以补0    %04d

    

    int a = 100;

    printf("%2d\n", a);  // 补空格

    printf("%05d\n", a); // 补0

    

    // 左对齐  - 和 0不能同时出现,0被忽略

    printf("%-4d\n", a);

    printf("%-04d\n", a);

    

    // 设置小数位  默认小数点后显示6位

    float b = 9.54;

    printf("%f\n", b);

    printf("%.1f\n", b); // 四舍五入

    printf("%2.2f\n", b);

    

    

    // 如何输出转义字符

    

    printf("%%\n");

    printf("100%%\n");

    

    float score = 95.5;

    printf("%.1f%%\n", score);

    

    

    // 补充  char类型在存储时就是一个字节的整型数,根据ASCII码表,字符和数字有等价关系

 

    // 输出时 格式符可以相互使用

 

    char x = 'a';

    printf("字符x = %c\n", x);

    printf("字符x = %d\n", x);

    

    int y = 97;

    printf("整型y = %c\n", y);

    printf("整型y = %d\n", y);

    

    

    // 定义时可以相互使用

    char m = 98;

    int n = 'b';

    

    printf("字符m = %c\n", m);

    printf("整型n = %d\n", n);

    

    */

    

 

    

 

    

#pragma mark  -----------输入函数------------

    

    

    /*

     

        1、将控制台输入的内容(字符串),存储到某种数据类型的变量中。 与printf作用相反。

        2、scanf格式  格式字符串,变量地址

        3、使用:先定义变量

     

     */

    

    

    /*

     

    // 转换符必须和变量类型保持一致,否则数据存储会出现问题

    

    int number = 0; // 定义变量用于存储输入的内容

    scanf("%d\n", &number);

    printf("number = %d", number);

 

    

    // 输入时  float转换符%f,double转换符%lf

    

    float f1 = 0;

    scanf("%f", &f1);

    printf("f1 = %f", f1);

    

    

    double f2 = 0;

    scanf("%lf", &f2);

    printf("f2 = %f", f2);

    

     */

    

    /*

    // 格式字符串中的内容 与 控制台输入的保持一直

    

    int a1 = 0;

    int a2 = 0;

    scanf("%d,%d", &a1, &a2);

    

    printf("a1 = %d, a2 = %d", a1, a2);

     */

    

    /*

    // 建议:格式字符串内只包含转换符  不要包含其他字符,尤其是\n。回车的作用是结束输入,但是会跟\n匹配,使输入操作出现问题。

     

    // 如果想起到提示作用,可以在输入之前,输出一句提示

    int age = 0;

    printf("请输入年龄:");

    scanf("%d", &age);

    

    printf("年龄:%d", age);

    */

    

 

 

 

 

 

    

#pragma mark  -----------补充------------

 

    

    /*

     

    // 自动类型转换

    float a = 3 + 1.5;

    

    

    // 强制类型转换

    int b = (int)a;

 

 

 

 

 

 

 

 

 

    

转载于:https://www.cnblogs.com/blogofgsl/p/4814945.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值