首页 > 其他分享 >重温c语言之,7天开整,就是随便的写写,第五天

重温c语言之,7天开整,就是随便的写写,第五天

时间:2024-11-05 14:42:47浏览次数:2  
标签:world int 写写 循环 worldhello printf 天开 第五天 hello

一:库函数---printf()

  这个函数printf()的返回值是int,这个函数竟然有返回值,值的多少是取决于输出的内容有多少个字符

二:循环

  1、for循环

    这个循环中,如果判断的地方省略的话,这个循环就是永远成立(恒成立),

1 for(;;)

    这样的话,就会无线循环下去--------(弊端1)

    其中初始化省略的话也会有一些问题,例如下面的代码:

1 int i=0;
2 int j=0;
3 for(;i<3;i++){
4     for(;j<3;j++){
5         printf("hello world! ");
6     }
  prtintf("\n"); 7 }

    这个代码就是会发生错误,原本要打印3X3的hello world的,但是结果就打印了一行的hello world,为什么?是因为这个初始化没有写,

  当第一次运行完外层循环的时候,内层循环会执行完(3次都执行,也就是j=3),然而外层循环开始第二次的时候,j没有初始化,也就是说,j=3,没有改变值,

  所以,内层循环会直接不执行,最后结果就是:hello world! hello world! hello world! ,与一开始想要整出矩阵不一样,那怎么解决这个问题呢,初始化就可以了

 1 #include <stdio.h>
 2 
 3 int main() {
 4     int i = 0;
 5     int j = 0;
 6 
 7     for (; i < 3; i++) {
 8         for (j=0; j < 3; j++) {
 9             printf("hello world"); 
10         }
11         printf("\n");
12     }
13     
14     return 0;
15 }

结果:

hello worldhello worldhello world
hello worldhello worldhello world
hello worldhello worldhello world

  

    还有就是当判断变成赋值的时候,这个循环可能不会执行,例如下面的代码:

 1 #include <stdio.h>
 2 int main()
 3 {
 4     for (int i = 0; i = 0; i++)
 5     {
 6         printf("hello!");
 7     }
 8 
 9     return 0;
10 }

    这个判断的条件就是假,所以,不会执行循环,

    但如果是其他的等式呢,直接就是变成了死循环,因为其他的条件都为true

 1 #include <stdio.h>
 2 int main()
 3 {
 4     for (int i = 0; i = 1; i++)
 5     {
 6         printf("hello!");
 7     }
 8 
 9     return 0;
10 }

    所以在这段代码里面,程序会一直输出:hello!

  2、while

    当需要在数组中查找某一个数据的时候,可以用到----二分查找,注意:需要数组是有序数组,例如以下的代码:

    

 1 // 在一个有序的数组中查找某个具体的数字。(二分查找)
 2 // 前提:有序
 3 #include <stdio.h>
 4 int main()
 5 {
 6     int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 7     int n = 0;
 8     scanf("%d", &n);
 9     int length = sizeof(arr) / sizeof(arr[0]);
10     int left = 0;
11     int right = length - 1;
12     int middle = (left + right) / 2;
13     while (left <= right)//前提是数组里面需要左边的坐标要小于右边的坐标
14     {
15         if (n < middle)
16         {
17             right = length - 1;//这里是把目光放到了数组左边的地方
18         }
19         else if (n > middle)
20         {
21             left = length + 1;//这里是把目光放到了数组右边的地方
22         }
23         else
24         {
25             printf("找到了!\n");
26             break;
27         }
28     }
29     if (left > right)
30     {
31         printf("没找到!\n");
32     }
33 
34     return 0;
35 }

 

标签:world,int,写写,循环,worldhello,printf,天开,第五天,hello
From: https://www.cnblogs.com/xiejinghao/p/18524740

相关文章

  • 重温c语言之,7天开整,就是随便的写写,第三天+第四天版
    一:指针1、关于指针的含义---粗略例如:inta=10;int*p=&a;这里的*,是说明p是指针变量,int说明p是指向的对象是int类型的*p=20,这里的*是解引用符,意思是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象2、关于指针的大小......
  • 重温c语言之,7天开整,就是随便的写写,第二天
    一:操作符除法:如果都是整数,除数,被除数都是整数,那么结果:就是整数的商(没有小数部分的),例如:7/2=3;如果除数或者被除数其中一个是浮点数,那么结果就是(条件是:能除尽的,并且小数在基础数据类型包含下的)完整的商(包含小数部分的):例如:7/2.0=3.500000;如果想要在pr......
  • 重温c语言之,7天开整,就是随便的写写,第一天
    一:转义字符\t是一个字符,在printf里面,只占一个位置;其他什么的抽象字符,用一个'\'+抽象字符就可以出现;\ddd这个是8进制的,可以转成10进制的,之后参考ASCLL码表即可二:枚举类型的函数与数组一样,有下标,都是从0开始的三:数组可以先不在【】这里面填写多少,但是需......
  • Java基础第五天(实训学习整理资料(五)练习题)
    目录1、百钱买百鸡2、搬砖问题3、(循环)**求水仙花数。4、完数5、费波那契,兔子数列6、打渔还是晒网1、百钱买百鸡(for循环)*“百钱买百鸡”是我国古代的著名数学题。题目这样描述:5文钱可以买1只公鸡,3文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡......
  • ARM嵌入式学习--第五天
    ARM核的异常处理-ARM核的8种异常源-reset--复位异常    描述:在内核复位时执行  优先级:1级  模式:SVC(管理模式)-undefined instruction--未定义指令异常  描述:流水线执行非法指令产生,该异常发生在流水线译码阶段,如果当前指令不能被识别为有效指令,将会......
  • 代码随想录算法训练营第五天| 面试题02.07.链表相交、leetcode142 环形链表II
    1.leetcode面试题02.07.链表相交题目链接:面试题02.07.链表相交-力扣(LeetCode)文章链接:代码随想录1.1代码跟着老师写的一个版本,自己能理解思路了,但是写的话可能还是有一些难#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,x):#......
  • JVM调优第五天——堆内存模型【面试问题】
            Java虚拟机(JVM)是Java程序运行的基础,它为Java程序提供了一个与硬件和操作系统无关的运行环境。在JVM中,堆内存是程序运行期间,存储对象实例和数组的主要区域。本文将深入探讨Java堆内存的各个方面,包括对象内存布局、JVM内存溢出、垃圾回收机制,以及堆内存的划分和Y......
  • 代码随想录训练营第五天|Leetcode.349,Leetcode.454,Leetcode19,Leetcode18
    一、哈希表和set和map和数组的关系 用哈希表,判断是否出现过。数值很大或者数值很分散时,不用数组,占用空间大,用set。set,multiset数组的大小是受限制的,而且如果元素很少,而哈希值太大会造成内存空间的浪费。set是一个集合,里面放的元素只能是一个key,而两数之和这道题目,不仅要判......
  • 嵌入式开发学习日记——第五天(c语言)
    循环控制语句 while循环        基本语法while(循环条件表达式){循环体语句;}        流程图案例——计数循环   实现计数循环要满足:        ①必须初始化循环变量        ②循环变量比较作为循环条件       ......
  • MISC - 第五天( RouterPassView 路由器密码修复工具,steghide文件隐藏工具,多压缩包伪
    前言各位师傅大家好,我是qmx_07,今天继续讲解MISC相关知识点荷兰宽带数据泄露下载附件,是一个bin后缀的宽带数据文件,使用RouterPassView工具查看现代路由器都会让用户备份一个配置文件,以便重置恢复数据一般配置文件会包含账户名和密码RouterPassView介绍:用于恢复路......