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);//此括号可以省略。但一般不省略,尤其在返回一个表达式的值时。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • C#中IntPtr类型

    1.C#中的IntPtr类型被称之为“平台特定的整数类型”,用于本机资源,例如窗口句柄。2.资源的大小取决于使用的硬件和操作系统,即此类型的实例在32位硬件和操作系统中将是32位,在64位硬件和操作系统中将是64位;但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。3.在调用API函数时,类似含有窗口句柄参数(HANDLE)的原型函数,应显示地声明为IntPtr类型。4.In…

  • typescript web_typescript在线运行

    typescript web_typescript在线运行前言上一篇我们讲到如何手动编译TypeScript,如果我们每次都要手动编译,那么这样会很累,接下来就介绍自动编译TypeScript。mac自动编译typescript在Typescript文

  • c# listview排序功能_c#入门

    c# listview排序功能_c#入门ListViewColumnSorter.csusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Collections;usingSystem.Windows.Forms;namespaceMicroblue{   classListViewColumnSorter:IComparer   {       /**/       ///       

  • 神经网络轴承故障诊断_一维卷积神经网络详解

    神经网络轴承故障诊断_一维卷积神经网络详解基于一维卷积神经网络的滚动轴承故障识别提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录基于一维卷积神经网络的滚动轴承故障识别一、数据预处理二、模型搭建三、使用步骤1.引入库2.读入数据总结一、数据预处理采用美国凯斯西储大学(CWRU)的开放轴承数据库的样本进行实验分析,轴承故障产生的实验台如下图所示。使用电火花加工技术分别在轴承的内圈、外圈和滚动体上引入单点缺陷,故障尺寸分别为7、14和21in,以48kHz采样频率采集不同负载下的故障轴承振动数据用于实验分析。

  • 各种数据流图实例「建议收藏」

    转载自:https://blog.csdn.net/thisispan/article/details/75723311.某公司的营销系统2.学校的图书管理系统34.

  • IDEA打jar包在服务器运行出现Error:Invalid or corrupt jarfile xxx.jar 报错+如何使用IDEA打jar包

    IDEA打jar包在服务器运行出现Error:Invalid or corrupt jarfile xxx.jar 报错+如何使用IDEA打jar包JAR包错误:Error:Invalidorcorruptjarfilexxx.jar错误背景:IDEA打包springboot项目为jar包。打包方法百度了好几种,结果都在运行时报了Error:Invalidorcorruptjarfilexxx.jar错误。…

发表回复

您的电子邮箱地址不会被公开。

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