C语言基础[通俗易懂]

C语言基础[通俗易懂]C语言基础

大家好,又见面了,我是你们的朋友全栈君。

基本类型

short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
在这里插入图片描述

三大循环

for while 和 do{ }while;

四大跳转 :

无条件跳转语句 go to;
跳出循环语句 break;
继续跳出循环语句 continue;
返回值语句 return
判断语句 if,if else,if else if else if…else
ifelse 组合

 if(0 == x)
if(0 == y) error();
else{
//program code
}

else到底与那个if配对 C语言有这样的规定:else 始终与同一括号内最近的未匹配的if语句结合

if语句后面的分号

if(NULL!= p) ;
fun();

这里的fun()函数并不是在NULL != p 的时候被调用,而是任何时候都会被调用。问题就出
在if 语句后面的分号上。在C 语言中,分号预示着一条语句的结尾,但是并不是每条C 语言

语句都需要分号作为结束标志。if 语句的后面并不需要分号,但如果你不小心写了个分号,
编译器并不会提示出错。因为编译器会把这个分号解析成一条空语句。也就是上面的代码实

际等效于:

if(NULL != p)
{

;
}
fun();

switch、case 组合

if、else 一般表示两个分支或是嵌套表示少量的分支,但如果分支很多的话……还是用
switch、case 组合。

基本格式为:

switch(variable)
{
      case value1;
        //code;
          break;
      case value2;
            //code;
            break;
      case value3;
            //code;
            break;
      case value4;
            //code;
            break;
            default:
      break;
}

1、case 语句后面不要忘记加break;
2、 最后必须使用default 分支。即使程序真的不需要default 处理,也应该保留
语句:

default :
break;

这样做并非画蛇添足,可以避免让人误以为你忘了default处理应该得要。
case后面必须是整型或字符型的常量或常量表达式。

do、while、for 关键字

C 语言中循环语句有三种:while 循环、do-while 循环、for 循环。
while 循环:先判断while 后面括号里的值,如果为真则执行其后面的代码;否则不执
行。while(1)表示死循环。死循环有没有用呢?看下面例子:
比如你开发一个系统要日夜不停的运行,但是只有操作员输入某个特定的字符‘#’才
可以停下来。

while(1)
{
       if(‘#’== GetInputChar())
       {
              break;
       }
}

break 与continue 的区别
break 关键字很重要,表示终止本层循环。现在这个例子只有一层循环,当代码执行到
break 时,循环便终止。

#include<stdio.h>
int main()
{
    flaot area,pi=3.1415926;
    int r;
    for(r=0;r<100;r++)
    {
        area=pi*r*r;
        if(area>100)    //当area>100时就跳出for循环
            break;
    }
    printf("area=%d\n",area);
}

continue 表示终止本次(本轮)循环。当代码执行到continue 时,本轮循环终止,进入下一轮循环。具有过滤功能。

#include<stdio.h>
int main()
{
    inti=0,sum=0;
    for(i=0;i<10;i++)
    {
        if(i%3==0)//当i%3==0时就continue;继续下一次循环 把0~10中3的整数倍滤除掉
        {
            printf("i=%d",i);
            continue;
        }
        sum=sum+i;
    }
    printf("sum=%d\n",sum);
}

do-while 循环:先执行do 后面的代码,然后再判断while 后面括号里的值,如果为真,
循环开始;否则,循环不开始。其用法与while 循环没有区别,但相对较少用。

for 循环:for 循环可以很容易的控制循环次数,多用于事先知道循环次数的情况下
循环语句的注意点
长循环在最内层,效率高

for (col=0; col<5; col++ )
{ 
   
       for (row=0; row<100; row++)
       { 
   
              sum = sum + a[row][col];
       }
}

长循环在最外层,效率低

for (row=0; row<100; row++)
{ 
   
       for ( col=0; col<5; col++ )
       { 
   
              sum = sum + a[row][col];
       }
}

循环要尽可能的短,要使代码清晰,一目了然

For循环举个例子 9*9乘法表

#include<stdio.h>
int main()
{ 
   
       int i,j,sum=0;
       printf("输出9*9乘法表:\n");
       for(i=1;i<10;i++)
       { 
   
              for(j=1;j<=i;j++)
              { 
   
                     sum=i*j;
                     printf("%d*%d=%d ",j,i,sum);
              }
              printf("\n");
       }
       return 0;
}

打印出:

输出9*9乘法表:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=92*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

return 用来终止一个函数并返回其后面跟着的值。
return (Val);//此括号可以省略。但一般不省略,尤其在返回一个表达式的值时。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106429.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])

    【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])

    2021年12月7日
    65
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    45
  • RabbitMq使用demo[通俗易懂]

    RabbitMq使用demo[通俗易懂]1.为什么使用mq2.常见的mq有哪几种3.RabbitMq使用配置4.RabbitMq使用demo4.总结5.参考

    2022年10月4日
    1
  • bridge桥接模式_Bridge模式

    bridge桥接模式_Bridge模式bridge模式动机案例要点总结笔记动机由于某些类型的固有的实现逻辑,使得他们具有两个变化维度,乃至多个维度的变换如何应对这种”多维度的变化“?如何利用面向对象技术来是使得类型可以轻松地沿着两个乃至多个方向变换而不引入额外地复杂度?案例PC端和Mobile端平台和业务分离朴素class Messager{ public: virtual void Login(string username,string password) = 0; virtual void SendM

    2022年8月11日
    6
  • StarUML入门教程

    StarUML入门教程声明 原文链接 StarUML 使用简明教程 作者 栾小邑 StarUML 入门教程 StarUML 简称 SU 是一种创建 UML 类图 生成类图和其他类型的统一建模语言 UML 图表的工具 StarUML 是一个开源项目之一发展快 灵活 可扩展性强 zj StarUML 官方下载地址 http staruml io downloadStar 主界面创建工程在启动 starUML 时 系统会默认帮我们创建一个工程 如果这个工程不是你想要的工程 你可以点击 File gt

    2025年6月30日
    3
  • 没有人不为真情所动,你若不流泪,我请你吃饭。[通俗易懂]

    没有人不为真情所动,你若不流泪,我请你吃饭。[通俗易懂]我是哭了好几场啊,难道我神经脆弱?告诉我你哭了几场,我脸都洗不过来啊。不是我不懂爱情,没有爱心,不相信真情,确是这世界忙碌得很,谁与我共行?科学探索:英国一位农夫在自家花园内发现了三只瑟瑟发抖的小狐狸,于是给了它们一个毛绒玩具。没想到小家伙们把它当做了自己的妈妈,不但和它形影不离,吃饭的时候还会留下部分食物,把盆子推到它跟前好友爱的一幕!给饿了的小北极熊食物。在蛮荒之地,气候恶劣。食物不足时,白熊…

    2022年7月12日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号