首页 > 其他分享 >C基础

C基础

时间:2023-07-08 21:24:45浏览次数:20  
标签:语句 int 基础 break 循环 printf 表达式

条件运算符

()?():()

A?B:C

表达式A成立就执行B否则执行C

printf("%d",(3<5)?8:9);  结果是:8

 

逗号运算符

(),()

逗号运算符的结果是后边表达式的结果

printf("%d",(5,6));   结果是:6

 

选择控制语句

if语句

if(条件表达式){

复合语句,语句块;

}

int a = 9;
if(a>6){
   printf("a>6\n");    结果是:a>6
}
/*****************************************************/
int a = 8;
if(a<6)
   printf("a<6");
   printf("上面的语句不会执行\n"); 结果是:上面的语句不会执行

 

if(条件表达式){

复合语句,语句块;

}else{

复合语句,语句块;

}

int a = 3;
if(a>5){
   printf("a>5\n");    
}else{
   printf("a<5\n");  结果是:a<5
}

 

注意if和else之间只能有一条语句,或者有一个复合语句,否则编译会出错。

//eg:
int a = 3;
if(a>5)
   printf("a>5\n");
   printf("我是bug");
else{
   printf("a<5\n");  结果是:编译报错
}

 

if(条件表达式1)

{

}

else if(条件表达式2)

{

}

else if(条件表达式3)

{

}

.

.

.

else

{

}

在判断条件表达式时是从上往下判断,一旦有成立的表达式,执行对应的复合语句,下边的就不再判断了,各个条件判断是互斥的。

    int N = 0;
   float score;
 

       
   printf("please input a score:\n");
   scanf("%f",&score);
   if(score < 0 || score > 100)
  {
       printf("请输入1`100之间的成绩\n");

  }
    else if ((N++),(score < 60))
  {
       printf("E\n");
     
  }
    else if ((N++),(score < 70))
  {
       printf("D\n");
       
  }
    else if ((N++),(score < 80))
  {
       printf("B\n");
     
  }
   else
  {
       printf("A\n");
       N++;
  }
   printf("N:%d",N);
   
//eg:输入79 结果是:B
 N:3
   

switch语句

switch(表达式)//表达式只能是字符型或整型(short int int long int)

{

case 常量表达式1:

语句1;

break;

case 常量表达式2:

语句2;

break;

.

.

.

default:语句3;break;

 

}

#include<stdio.h>

int main()
{
   int n = 0;
   printf("请输入1`7的一个数\n");
   scanf("%d",&n);
   switch (n)
  {
   case 1:
       printf("星期一\n");
       break;
   case 2:
       printf("星期二\n");
       break;
   case 3:
       printf("星期三\n");
       break;
   case 4:
       printf("星期四\n");
       break;
   case 5:
       printf("星期五\n");
       break;
   case 6:
       printf("星期六\n");
       break;
   case 7:
       printf("星期七\n");
       break;
   
   
   default:
   printf("输入错误请输入1`7的一个数\n");
       break;
  }
   return 0;
}

循环控制语句

for循环

for(表达式1:表达式2:表达式3)

{

//复合语句,循环体

}

第一次进入for循环的时候执行表达式1,表达式1只执行一次

表达式2,是循环的条件,只有表达式2为真了,才执行循环体,每次进入循环体之前要判断表达式2是否为真。

每次执行完循环体后,首次执行表达式3

for (初始化表达式; 循环条件表达式; 迭代表达式)
{
   // 循环体代码块
}
/*初始化表达式:在循环开始之前执行一次,并且用于初始化循环变量或设置其他必要的变量。这个表达式通常用来声明并初始化一个计数器。
循环条件表达式:在每次循环迭代之前进行检查,如果条件为真(非零),则继续执行循环体;如果条件为假(零),则跳出循环。
迭代表达式:在每次循环迭代结束后执行,用于更新循环变量或进行其他迭代操作。*/

以下是一个示例,展示如何使用 for 循环计算从 1 到 10 的整数之和:


int main() {
   int sum = 0;

   for (int i = 1; i <= 10; i++) {
       sum += i;
  }

   printf("Sum: %d\n", sum);

   return 0;
}

while循环

while (循环条件表达式) { // 循环体代码块 }

while 循环会在每次循环迭代之前检查循环条件,如果条件为真(非零),则会执行循环体内的代码块;如果条件为假(零),则跳出循环。



int main() {
   int sum = 0;
   int i = 1;

   while (i <= 10) {
       sum += i;
       i++;
  }

   printf("Sum: %d\n", sum);

   return 0;
}

do { // 循环体代码块 } while (循环条件表达式);

C 语言中的 do-while 循环是一种先执行循环体,然后再检查循环条件的循环结构。也就是说,无论循环条件是否为真,循环体至少会执行一次。do-while 循环适用于需要至少执行一次循环的情况。

 do
{
     printf("I love you\n");
}while(0);

 


int main() {
   int sum = 0;
   int i = 1;

   do {
       sum += i;
       i++;
  } while (i <= 10);

   printf("Sum: %d\n", sum);

   return 0;
}

在 C 语言中,breakcontinue 是用于控制循环的关键字。

  1. break:

    • 当遇到 break 关键字时,会立即终止当前所在的循环(forwhiledo-while),然后跳出循环,继续执行循环体之后的代码。

    • break 主要用于提前结束循环,即使循环条件还未达到终止的条件。

       

2.continue:

  • 当遇到 continue 关键字时,会立即跳过当前迭代的剩余代码,并开始下一次循环迭代。

  • continue 主要用于越过某些特定条件不满足的迭代,但并不终止整个循环。

goto语句:

goto 是一个用于无条件转移到程序中指定标签位置的关键字。它可以使程序跳过中间步骤直接转移到目标位置。

goto 标签;
// ... 其他代码 ...
标签:
// 标签处的代码
  • goto:关键字用于指示程序转移的目标位置。

  • 标签:用户定义的标识符,用于标记指定位置的代码段。


    int main() {
       int num;

       printf("请输入一个数字:");
       scanf("%d", &num);

       if (num < 0) {
           goto error;
      }

       printf("输入的数字是:%d\n", num);

       return 0;

    error:
       printf("错误:输入的数字不能是负数。\n");
       return 1;
    }

     

  •  

 

标签:语句,int,基础,break,循环,printf,表达式
From: https://www.cnblogs.com/ptm2/p/17537865.html

相关文章

  • IP基础知识
    一.简单局域网局域网:一般称为内网简单局域网的构成:交换机,网线,PC(其他IT终端)交换机:用来组建内网的局域网设备二.IP地址一个唯一标识,是一段网络编码(二进制),由32位组成;一段IP地址分成4个组合:8个数字加一点(.)因为IP地址太长,便于记忆,会转为10进制,称这种方式为点分十进制 IP地址的......
  • 阵列信号处理及matlab仿真-------波束形成算法基础知识以及MMSE、MSNR和LCMV的MATLAB
    上一篇《阵列信号处理及MATLAB仿真-----阵列信号绪论》里面说了阵列信号处理研究的四个主要问题:波束形成技术、空间谱估计、信号源定位、信源分离。接下来我们就波束形成来做一个详细的学习。一、波束形成的定义:首先说一下它的物理意义,阵列天线的方向图是全方向的,但是......
  • 区块链基础知识
    开始学习区块链了,记录一下区块链入门的一些基础知识。1. 区块链区块链本质是一种多方共享的分布式账本技术,存储于其中的数据或信息,具有“不可伪造、不可篡改、全程留痕、可以追溯、公开透明、集体维护”等特征。2.区块区块链中一套分布式账本存储的基本数据结构、是在区块链......
  • 基础工具了解----第一课
    目录1.typora(1)安装破解typora(2)配置并尝试利用typora写笔记(3)注册博客园(4)上传笔记2.python+pycharm(1)安装python3.10版本(2)安装破解pycharm专业版(3)环境配置、解释器(4)插件安装1.typora(1)安装破解typora(2)配置并尝试利用typora写笔记(3)注册博客园(4)上传笔记2.pyth......
  • iOS开发入门 2 -基础篇:iOS 当中的集合类型
    今天继续昨天的内容,上一篇讲述了OC当中的基本数据类型,这次要讲的是OC当中的集合数据类型,NSArray(数组)NSDictionary(字典)NSSet(集合)这三种集合数据类型。一、NSArray和NSMutableArray1、NSArrayNSArray是一个集合数据类型,存储的对象必须为OC当中的对象类型(单数组中的数据类型不不......
  • iOS 开发入门 3-基础: iOS 视图控件 UIView
    相信大家通过前两篇文章已经大致了解了OC当中的数据组成部分,今天正式开始咱们iOS开发最主要的一个环节视图控件的使用.在正式开始讲解UIView之前我们需要先了解下什么是视图控件.其实视图控件的概念很好理解,比如说我们在打开某一应用的时候在手机上所看到的所有界面组成元素都是......
  • Go语言基础-Go语言基础语法入门
    第01天上午01课程内容1初识GO语言2开发环境搭建3第一个程序(程序结构)4基本组成元素:标识符、运算符、分隔符5变量、作用域6常量、7数据类型:布尔型整数浮点数字符串指针8流程控制:ifswitchforbreakcontinue9作业:①打印乘法口诀②猜数字 001初识......
  • vue基础教程
    vue基础教程英文官网中文官网渐进式JavaScript框架作者:尤雨溪特点遵循MVVM编码简洁,体积小,运行效率高,适合移动/PC端开发它本身只关注UI,也可以引入其它第三方库开发借鉴Angular的模板和数据绑定技术借鉴React的组件化和虚拟DOM技术Vue周边库vue-cli:vue......
  • Rockchip RK3399 - Codec驱动基础
    在上一篇博客我们介绍了ALSA子系统的软件架构,同时介绍了ALSACORE核心数据结构和相关API。本节我们将会介绍ASoC软件体系中音频三大驱动模块:Codec、Platform和Machine。一、ASoC核心数据结构我们首先来了解Codec、Platform和Machine驱动中涉及到的数据结构,知道每个数据结构以......
  • python基础列表专题
    用[]可以创建列表列表可以包含各种类型且可嵌套通过切片和索引访问列表元素添加元素删除元素列表不适合频繁插入,因为每插入一个,元素都会后移动深度拷贝列表是可以改变的不可哈希的,所以不可以做字典的键 ......