c基础语法(一)---流程控制与函数

 一、关键字

          定义:关键字就是C语言提供的有特殊含义的符号,也叫做保留字

                      由ANSI标准定义的C语言共32个关键字

           特点:全部都是小写

                      在开发工具或者智能文本编辑工具中会显示特殊的颜色。

   根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两类

   1.数据类型的关键字

      (1) 基本数据类型 (5个):

           整数类型:int    浮点类型:double float

           字符类型:char          

            void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果

       (2) 类型修饰关键字(4个)

            short:修饰int,短整型数据,可省略被修饰的int

            long:修饰int,长整型数据,可省略被修饰的int

            signed:修饰整型数据,有符号数据类型

            unsigned:修饰整型数据,无符号数据类型

        (3) 复杂类型关键字(5个)

             strut:结构体声明

             union:共用体声明(用的不多)

             enum:枚举声明

             typedef:声明类型别名

             sizeof:得到特定类型或特定类型变量的大小

        (4) 存储级别关键字

              auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配

              static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部

              register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参

                                建议编译器通过寄存器而不是堆栈传递参数

               extern:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定

                              另外文件声明的

              const:与volatile合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制

                            编译器每次从内存中取得该变量的值

               volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变

                                强制编译器每次从内存中取得该变量的值

     2 流程控制关键字

        (1) 跳转结构

             return:用在函数中,返回特定值(或者是void值,即不返回值)

             continue:结束当前的循环,开始下一轮循环

             break:跳出当前循环或switch结构

             goto:无条件跳转语句

         (2) 分支结构

              if:条件语句

              else:条件语句否定分支

              switch:开关语句(多重分支语句)

              case:开关语句中的分支标记

              default:开关语句中的“其他”分支,可选

          (3) 循环结构(3个)

                for:for循环结构

                do:do循环结构,do 1 while(2); 的执行顺序是:1->2->1....循环,2为循环条件

                while:while循环结构 ,while(1) 2; 的执行顺序是:1->2->1....循环,1为循环条件

                 以上循环语句,当循环条件为真则继续循环,为假则跳出循环


二、程序流程控制

主要分为:顺序结构  选择结构  循环结构

这里主要介绍选择结构和顺序结构

1.选择结构

  (1)If语句

     If语句的三种格式

      a) if(条件表达式)

        {

             执行语句;

         } 

      或 if(条件表达式)  执行语句;

      b) if(条件表达式)

        {

             执行语句1

         }

         else

         {

             执行语句2

         }

      c) if(条件表达式)

        {

             执行语句;

         }

         else if

         {

             执行语句2

         }

        else

         {

             执行语句3

         }

陷阱

if(a!=0)  { a不是0;} else {a0;}

if (a); {  }

if (a=0)  

a == 0;

if (10) int a = 9;

(2) switch语句

      switch语句格式:

                switch(表达式)

                {

                       case取值1:

                             执行语句;

                              break

                       case取值2:

                             执行语句;

                              break

                       …...

                      default:

                             执行语句;

                             break

                }

           注意点:如果要在case后面的定义新的变量,必须用大括号{}(作用域)包住

关于breakcontinue的使用注意点

break

1.使用场合: switch语句:退出整个switch语句

             循环结构:退出整个循环语句

2.注意点: 只对最近的循环结构有效

continue: 

1.使用场合: 循环语句:结束当前的这次的循环体,进入下一次循环体

2.注意点: 只对最近的循环结构有效

ifswitch的对比

很多情况下可以互换

if用的比较多,比较灵活,switch只能比较某个单值

    

2.循环结构  

 (1) whiledo while

    while语句格式:

             while(条件表达式)

             {

                  执行语句;

             }

        特点:只有条件成立才会执行循环体

        陷阱:whiletrue{}//无限循环

        do while语句格式:

             do

             {

                 执行语句;

             }while(条件表达式);

          特点:一定会先执行一次循环体,再做判断

        for语句格式:

            for(初始化表达式;循环条件表达式;循环后的操作表达式)

            {

                 执行语句;

            }

          简单实用:初始化语句可以是多句(把printf放到for的括号中去)

          陷阱: 

              死循环 for(;;);//对于for 来讲,不写条件表达式默认就是true

              for 循环体内部变量的作用域

              作用域混淆 for(int i=0;i<5;i++) int a=10; 

                         //此处ia都是局部变量,作用域在循环体内

       while循环和for循环的比较

           可以互换

           for循环的变量可以及时回收

三、函数

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

    

函数的定义格式:

返回值类型  函数名(形式参数列表)//函数的声明可以省略形参的名称,只要形参的类型

{

     函数体;

}

定义函数的目的: 将一个常用的功能封装起来,方便以后调用

函数的参数: 

        1.形式参数:定义函数时函数名后面的参数,简称形参

        2.实际参数:调用函数时传入的具体数据,简称实参

        3.实参的个数必须等于形参的个数

        4.函数体内部不能定义和形参一样的变量

        5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部的形参的值,并不会影响外面实参的值

        6.一个函数可以没有形参,也可以有无限多个

 函数的返回值:

            return 的作用:退出函数   返回一个具体值给函数调用者

            void:代表没有返回值 

            如果没有明确说明返回值类型,默认是int 类型

            就算明确返回值类型,也可以不返回任何值

            void 可以省略return

        可以多次使用return

        return后面不能有其他语句   

   

 特点:

定义函数可以将功能代码进行封装,便于对该功能进行复用

函数只有被调用时才会被执行

函数的出现提高了代码的复用性

如何定义一个函数:

明确函数的作用,起一个有意义的函数名称

明确函数的参数和返回值

注意:

默认情况下,不允许有函数名称一样

函数不能嵌套定义,但是可以重复声明

补充:

声明函数只要在定义函数前

如果有函数的声明,没有函数的定义

 (1)编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义

 (2)链接报错,因为链接时会检测函数是否定义

预处理指令简介:

#include:

  (1) 作用:拷贝包含文件的所有内容到#include所在的位置

  (2) 自定义文件用"",系统自带文件用 < >

  (3) #include <stdio.h>的目的:拷贝printf函数的声明

多文件团队开发:

  链接:把项目中所有相关联的 .o 目标文件 、c语言函数库合并在一起,生成可执行文件

 (1)函数的定义放在 .c 文件,函数的声明放在 .h 文件

 (2)如果使用某个 .C 文件中定义的函数,只需要#include这个.c文件对应的.h 文件

 (3).h文件的作用:被别人拷贝。编译链接的时候不需要管 .h文件  

四、小练习

循环嵌套练习

/*

提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推

*****

****

***

**

*

*/

 #include<stdio.h>

 

int main()

//定义一个变量

int n;

//提示用户输入一个正整数

printf("请输入一个正整数:");

//scanf函数接收用户输入的数字

scanf("%d",&n);

//使用嵌套for循环

for(int i = 0;i < n;i++)

{

for(int j = 0;j < n-i;j++)

{

           printf("*");

}

printf("\n");

}

return 0;

}

  运行结果为:

*****

****

***

**

*

        函数的练习

    /*

编写一个函数int pieAddd(int n) ,计算+2+3+。。。+n的值并返回。比如pieAdd(3)

的值是+2+3=6

*/

#include <stdio.h>

//函数的声明

int pieAdd(int n);

int main()

{

//定义一个变量

int a = 10;

//调用函数

int sumNumber = pieAdd(a);

printf("得到的和为:%d",sumNumber);

return 0;

}

//函数的定义

int pieAdd(int n)

{

//定义一个变量和

int sum = 0;

for(int i = 1;i <= n;i++)

{

sum += i;

}

return sum;

}

运行结果为: 55



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值