C语言基础()

1.printf:
    1.打印非输出控制符:
        printf("Hello World!");

如图为实现打印 Hello World!的实现方法:

 

打印结果:

       \n  换行符
        \t  横向制表符
        \v  纵向制表符
        \b  退格符
        \r  回车符
        \\  \字符 
        \"  "字符 

 下图为以  \v  纵向制表符为例子实现方法如下:

 打印结果如下:(可看出实现了纵向换行)   2.打印单个输出控制符:
        int Num = 0;
        double f = 3.14;
        printf("Num = %d\n", Num);

        %d              按照十进制打印
        %o              按照八进制打印 
        %x              按照十六进制打印
        %c              按照字符打印
        %f              按照浮点数类型打印
        %s              按照字符串打印
        %p              按照指针类型打印 
        %u              按照无符号类型打印 
        %e              按照科学计数法打印浮点数类型
        %%              打印%号 

        int %d 
        unsigned %u 
        char %c 
        float double %f

下图为以打印272为例各种打印方式实现过程

 结果如下:   3.打印多个输出控制符
        int Num1 = 100;
        int Num2 = 200;

        printf("Num2 = %d, Num1 = %d\n", Num2, Num1);

        注意:
            输出控制符的个数必须与后面的表达式个数一一匹配

    
    4.printf格式化打印
        %nd     n:域宽,数据不足域宽,高位用空格补齐
        %0nd    0:数据不足域宽,高位用0补齐
        %-nd    -:左对齐
        %.mf    m:保留小数点后m位有效数字


    练习:
        设a,b为int型变量,x,y为float型变量,c1,c2为char型变量,
        且设a = 5, b = 10, x = 3.5, y = 10.8, c1 = ’A’, c2 = ’B’。
        为了得到以下的输出格式和结果,请写出对应的printf语句。
            (1)a = 5, b = 10, x + y = 14.3
            (2)x - y = -7.3, a - b = -5
            (3)c1 = ’A’ or 65(ASCII) c2 = ’B’ or 66(ASCII)

实现方法如下:

结果如下:
2.scanf 
    注意:
        1.scanf如果输入数据与想要接收的数据不匹配,从不匹配的位置开始不再向后读取
        2.scanf除了%s形式外,都需要加 &
        3.scanf除了%c形式外,均无法接收' '和'\n'字符 
        4.scanf中_%c可以接收非' '和'\n'字符 
        5.scanf中严禁\n 


    1.接收非输入控制符
        scanf("m");

        非输入控制符需要原封不动的从终端输入

    2.接收输入控制符
        %d          按照有符号十进制接收数据
        %c          按照字符接收数据
       空格%c         接收一个' '和'\n'的字符
        %f          按照float接收数据
        %lf         按照double接收数据
        %s          按照字符串接收数据 

    练习:
        从终端接收圆的半径,打印圆的周长和面积

实现代码如下图所示:

  实现结果如下图所示:  3.接收多个输入控制符:
        int Num1 = 0;
        int Num2 = 0;
        float f = 0;

        scanf("%d %d", &Num1, &Num2);
        scanf("%d %f", &Num2, &f);

    练习:
        从终端接收两个数,打印出这两个数四则运算的结果

下图为实现代码:

结果如下图所示:
3.puts
    功能:在终端打印一行字符串

    示例: 
        puts("Hello World!");

下图为实现代码:

    结果如下图所示:

另一种实现方法如下图所示:

结果如下图所示:

注意:
        1.puts会在字符串末尾多打印一个\n字符


4.gets 
    功能:从终端接收一行字符串

    hello world\n
    hello world\0

gets的使用方法如下:

  结果如图所示:

  注意:
        1.gets会去掉从终端接收的\n字符
        2.gets可以接收带' '的字符串,scanf无法接收带' '的字符串 




1.流程控制:
    1.顺序结构
        从main函数开始执行,执行到main结束 

以如下程序可直观的看出顺序结构从main函数开始执行,执行到main结束不会返回继续执行

 运行结果如图所示   2.分支结构
        1. if 
            1.简单分支:
                if (逻辑表达式)
                {
                    语句块1;
                }
                else 
                {
                    语句块2;
                }

下列程序为用if 结构实现比较两数的程序

结果如下:

                注意:
                    1.if后面必须加判断条件 else不能加判断条件
                    2.if可以脱离else单独使用,但是else不能脱离if单独使用
                    3.if和else不加括号,默认控制一句代码,为了保证程序不出错,
                      一句代码也要加括号

        2. 逻辑表达式:
            1.关系运算符
                >       大于
                <       小于
                >=      大于等于
                <=      小于等于
                ==      等于
                !=      不等于

                3 > 5       假
                3 < 5       真  
                5 >= 3      真
                Num <= 5    
                3 == 5      假 
                5 == Num 
                Num != 5    

            2.逻辑运算符:
                &&  逻辑与          一假为假,全真为真       既..又..
                ||  逻辑或          一真为真,全假为假       要么..要么..
                !   逻辑非          真取非得加,假取非得真   

                Num >= 0 && Num <= 100
                Num < 0 || Num > 100 

                截断特性:
                    1.逻辑与左边为假值,右边不再计算
                    2.逻辑或左边为真值,右边不再计算

如下程序可以说明逻运算符具有截断特性

  结果如下图所示:      2. switch 

    3.循环结构


作业:
    1.从终端接收三角形三边的长,计算三角形的周长和面积
            海伦公式
            sqrt函数
            #include <math.h>
            gcc filename.c -lm 

    2.从终端输入一个数,利用if判断,打印出该为为奇数还是偶数
      从终端输入一个年份,打印出该年是闰年还是平年?
            普通闰年:   4的倍数却不是100的倍数
            世纪闰年:   400的倍数 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值