zoukankan      html  css  js  c++  java
  • 逻辑语句和函数

    一、printf函数

    1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) ;或者 printf(“字符串”, 格式符参数);

    2.常用的格式符及其含义如图所示

    3.格式符还可以添加输出宽度

    二、scanf函数

    1.在使用scanf函数前必须加入#include <stdio.h>。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量。

    2.使用格式:scanf("<格式化字符串>",<地址表>);

    三、基本语句

    C语言的基本语句有循环语句(do while、while、for),条件语句(if 、if-else、switch),goto语句。

    四、基本运算

    1.算术运算符

    • +  加法运算符
    • -  减法运算符,或负值运算符
    • *  乘法运算符
    • /  除法运算符
    • %  模运算符,或称取余运算符,要求%两侧均为整型

    2.关系运算符

    • <   小于运算符
    • <=  小于等于运算符
    • >   大于运算符
    • >=  大于等于运算符
    • ==  等于运算符
    • !=  不等于运算符

    逻辑运算的结果只有两个:成立就为"真",返回1;不成立就为"假",返回0

    注意:C语言中没有boolean类型

    3.逻辑运算符有:

    • &&  逻辑与运算符
    • ||  逻辑或运算符
    • !   逻辑非运算符

    逻辑运算的结果也只有两个:成立就为"真",返回1;不成立就为"假",返回0

    4.赋值运算符有简单的赋值运算符 = ;以及复合赋值运算符

    • +=  加赋值运算符。如a += 3+1,等价于 a = a +(3+1)
    • -=  减赋值运算符。如a -= 3+1,等价于 a = a -(3+1)
    • *=  乘赋值运算符。如a *= 3+1,等价于 a = a *(3+1)
    • /=  除赋值运算符。如a /= 3+1,等价于 a = a /(3+1)
    • %=  取余赋值运算符。如a %= 3+1,等价于 a = a %(3+1)

    5.自增运算符和自减运算符

    • ++  自增运算符。如a++,++a,都等价于a = a+1
    • --  自减运算符。如a--,--a,都等价于a = a-1

    6.逗号运算符和逗号表达式一般形式为:表达式1, 表达式2, … …, 表达式n

    7.条件运算符和条件表达式,其实就是三目运算符,一般形式为:表达式1 ? 表达式2 : 表达式3

    8.sizeof可以用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。

    五、流程结构

    C语言提供3种流程结构,不同的流程结构可以实现不同的运行流程。这3种流程结构分别是:

    • 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
    • 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
    • 循环结构:在给定条件成立的情况下,反复执行某一段代码。

    六、顺序结构

    顺序结构是3种结构中最简单的,也是默认的流程结构:程序中的语句是按照书写顺序执行的。

    七、选择结构-if语句

    1.结构形式1

    1 if ( 条件 )
    2 {
    3     语句1;
    4     语句2;
    5     ....
    6 }

    如果if右边小括号()中的条件成立,也就是为“真”时,就会执行第2~6行大括号{}中的语句;如果条件为假,就不执行大括号{}中的语句。这里的if是关键字。

    2.结构形式2

    if还可以跟关键字else一起使用

    复制代码
    1 if ( 条件 )
    2 {
    3     语句1;
    4 }
    5 else
    6 {
    7     语句2;
    8 }
    复制代码

    如果条件成立,就会执行if后面大括号{}中的语句;如果条件不成立,就会执行else后面大括号{}中的语句。

    3.结构形式3

    if和else还有一种比较复杂的用法

    复制代码
     1 if ( 条件1 )
     2 {
     3     语句1;
     4 }
     5 else if ( 条件2 )
     6 {
     7     语句2;
     8 }
     9 else if ( 条件3 )
    10 {
    11     语句3;
    12 }
    13 ...
    14 else
    15 {
    16     其他语句;
    17 }
    复制代码
    • 如果条件1成立,就执行条件1后面大括号{}中的内容:第2~4行
    • 如果条件1不成立,条件2成立,就执行条件2后面大括号{}中的内容:第6~8行
    • 如果条件1、条件2都不成立,条件3成立,就执行条件3后面大括号{}中的内容:第10~12行
    • 第13行的...表示可以有无限个else if
    • 如果所有的条件都不成立,就会执行else后面大括号{}中的内容:第15~17行

     

    八、选择结构-switch语句

    1.结构形式

    复制代码
     1 switch(整型表达式)
     2 {
     3     case 数值1:
     4         语句1;
     5         break;
     6     case 数值2:
     7         语句2;
     8         break;
     9     ... ...
    10     case 数值n:
    11         语句n;
    12         break;
    13     default :
    14         语句n+1;
    15         break;
    16 }
    复制代码
    • 当整型表达式的值等于“数值1”时,就会执行“语句1”,后面的break表示退出整个switch语句,也就是直接跳到第16行代码;
    • 当整形表达式的值等于“数值2”时,就会执行“语句2”;后面的以此类推。如果在数值1~数值n中,没有一个值等于整型表达式的值,那么就会执行default中的语句n+1。
    • 由于所有的case后面都有个break,因此执行完任意一个case中的语句后,都会直接退出switch语句

    2.break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

     

    九、循环结构-while循环

    1.结构形式

    1 while ( 条件 )
    2 {
    3     语句1;
    4     语句2;
    5     ....
    6 }
    • 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
    • while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行

    3.注意如果写成下面这样,也会让程序进入“死循环”

    复制代码
    1 int count = 0;
    2 
    3 while ( count < 10 );
    4 {
    5     printf("Hello World
    ");
    6     
    7     count++;
    8 }
    复制代码
    • 注意第3行,while后面不小心加了个分号; ,一个分号表示一条空语句。
    • 可以看出:while循环只会影响到第3行的空语句,而第4~8行的代码块是不受while循环影响的
    • 由于count是0,那么count<10一直都是成立的,程序将会一直重复执行第3行的空语句,陷入死循环。

    十、循环结构-do while循环

    结构形式如下:

    1 do {
    2     语句1;
    3     语句2;
    4     ...
    5 } while (条件);
    • 注意第5行,后面是加上一个分号;的
    • 当执行到do-while循环时,首先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
    • do-while循环的特点:不管while中的条件是否成立,循环体中的语句至少会被执行一遍
    • 其实do while循环的用法跟while循环是差不多的,这里就不举例子了。

    十一、循环结构-for循环

    结构形式

    1 for (语句1; 条件; 语句2) {
    2     语句3;
    3     语句4;
    4     ...
    5 }
    • for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1
    • 接着判断条件,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容)
    • 循环体执行完毕后,接下来会执行语句2,然后再次判断条件,重复上述过程,直到条件不成立就结束for循环

    十二、break和continue

    1.break,它的作用是跳出switch语句。它也可以用在循环结构中,这时候它的作用是跳出整个循环语句。

    2.continue,它的作用是跳过这一次循环,直接进入下一次循环。

    十三、函数基本概念

    1.任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。能。

    2.为了方便调用和区分这些函数,我们需要为每一个函数都起一个唯一的名称,函数的命名必须按照标识符命名规则。利用函数名就可以调用到对应的函数。

    十四、函数的定义

    1.任何一个函数在使用之前都必须进行定义

    2.函数的定义格式如下:

    1 返回值类型  函数名(形式参数列表)
    2 {
    3     函数体
    4 }

    十五、形式参数和实际参数

    1.基本概念

    1> 形式参数:在定义函数时,函数名后面的小括号()中定义的变量称为形式参数,简称形参

    2> 实际参数:在调用函数时传入的值称为实际参数,简称实参

    2.调用函数时传递的实参个数 必须和 函数的形参个数必须保持一致

    3.当使用基本数据类型(char、int、float等)作为实参时,实参和形参之间只是值传递,修改形参的值并不影响到实参

    4.函数可以没有形参

    十六、返回值类型

    1.返回值就是函数调用完后,返回给函数调用者的结果,用return关键字进行返回。定义函数时,要指明函数的返回值类型

    2.一个函数可以没有返回值,如果没有返回值,应该用void表示返回值类型

    3.如果一个函数没有返回值,最后面的return语句可以省略

    4.如果一个函数没有明确写出返回值类型,那么代表这个函数的返回值类型是int

    十七、return

    1.return语句可以在函数内部返回一个值给函数调用者

    2.一个函数内部可以多次使用return语句,使用了return语句后,函数就会马上停止执行,return语句后面的代码就不再被执行

     

    十八、函数定义的注意

    1.函数名不能重复

    2.每一个函数都应该独立定义,不能嵌套定义

    十九、一维数组

    1.一维数组的定义的形式为:类型  数组名[元素个数];

    2.一维数组的初始化形式是:类型  数组名[元素个数] = {元素1, 元素2, ...};

    十九、二维数组

    1.二维数组的定义形式:类型  数组名[行数][列数];

    2.二维数组的初始化:数据类型 数组名[行数][列数]= {{一维元素}, {一维元素}, {...}};

    二十、字符串简介

    字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加了一个结束标志''。''是一个ASCII码值为0的字符,是一个空操作符,表示什么也不干。所以采用字符数组存放字符串,赋值时应包含结束标志'',如图所示。

    二十三、字符串的输出

    我们可以使用stdio.h中两个函数来输出字符串,分别是printf和puts函数

     

    二十四、字符串的输入

    在stdio.h中有2个函数可以用来接收用户输入的字符串,分别是scanf和gets函数

     

    二十五、字符串数组

    1.字符串数组简介用来存放字符量的数组称为字符数组。其定义的一般形式是:char 数组名[数据长度];

    2.可以把字符串数组看作是一维数组,它的元素是字符串。

  • 相关阅读:
    YAML序列样式
    YAML块标量头
    YAML字符流
    YAML语法字符
    YAML流程
    YAML集合和结构
    YAML缩进和分离
    YAML简介
    Git工作流程
    Git使用前配置
  • 原文地址:https://www.cnblogs.com/xiaoma-qi/p/5541545.html
Copyright © 2011-2022 走看看