首页 > 其他分享 >C语言基础

C语言基础

时间:2024-10-30 18:48:14浏览次数:7  
标签:10 num int 基础 C语言 循环 printf 表达式

if else

  1. if else后面可以没有花括号,没有的话只能控制一条语句(遇到的第一个分号)
  2. 可以单独使用if,if后面可以没有else,但是else前面必须有if

练习:题目:说出以下代码的执行结果

int main()
{
int a=10;
     printf("0");  
if(a>10);
    printf("1");  
else
    printf("4");
    printf("5");
    printf("6");  
}

报错

  1. 可以嵌套 if中可以包裹if

for循环

语法结构:

定义一个变量;

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

{

//循环执行的语句;

}

表达式1: 给循环变量赋初始值

表达式2:循环结束条件(进入循环的条件)

表达式3:循环变量递增或者递减

执行顺序:先定义变量,执行表达式1,判断表达式2,如果表达式2满足进入循环,执行循环的语句块,执行完成语句块后执行表达式3,再次判断表达式2,如果满足进入循环,执行循环的语句块,执行表达式3,.....如果不满足,跳出循环,结束程序。

int i;
for (i=0;i<5;i++)
{
  printf("对不起,我错了\n");   
}
// 定义了一个变量i 
//i=0;i<5--->满足进入循环,进入{},输出“对不起” --1次; --- 执行i++ i=i+1=1
//i=1;i<5--->满足进入循环,进入{},输出“对不起” ---2次;--- 执行i++ i=i+1=2
//i=2;i<5--->满足进入循环,进入{},输出“对不起” ---3次;--- 执行i++ i=i+1=3
//.......
//i=5;i<5--->不满足 ,跳出循环,循环结束

练习:

使用循环输出1-20,但是10不输出

程序中判断相等使用 == 判断不相等使用 !=

#include <stdio.h>
int main(int argc, char const *argv[])
{

    int i;

    for (i = 1; i <=20; i++)
    {
        if (i==10);
        else
        {
             printf("%d\n",i);
        }
    }
    return 0;
}

答案:D

s=s+i+1

第一次:i=1 s=0+1+1=2 i=i+2=3

第二次:i=3 s=2+3+1=6 i=i+2=5

第三次:i=5 s=6+5+1=12 i=7

第四次:i=7 s=12+7+1=20 i=9

i=9 s=20+9+1=30 i=11 ---跳出 s=0+2+4+6....10

练习:

打印所有的水仙花数,

水仙花数:一个三位数,百位立方+十位立方+个位立方 = 原数 例如:153就是水仙花数

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int i;
    for (i = 100; i<=999; i++)
    {
       int g=i%10; //个位
       int s=i/10%10; //十位
       int b= i/100; //百位
        if (g*g*g+s*s*s+b*b*b==i)//是不是水仙花数
        {
            printf("%d ",i);
        }  
    }
    return 0;
}

练习:

答案:3. C 4. D

while循环

基本格式:

定义循环变量同时赋初始值;

while(判断条件)

{

//循环语句块;

递增或者递减;

}

    int i=0;
    while (i<10)
    {
     printf("对不起 第%d次\n",i+1);
     i++;
    }
    //i=0; i<10-->满足 进入循环  输出对不起,i+1;
    //i=1;i<10--->满足 进入循环  输出对不起,i+1;
    //....
    //i=10 i<10---》不满足  跳出循环

练习:

使用while循环完成水仙花数

并最后输出一共有几个

#include <stdio.h>
int main(int argc, char const *argv[])
{

    //
   int i=100;
   int num=0;//计数
    while (i<1000)
    {
       int g=i%10; //个位
       int s=i/10%10; //十位
       int b= i/100; //百位 
       if (g*g*g+s*s*s+b*b*b==i)
       {
        printf("%d \n",i);
        num=num+1;
        //num++  num+=1
       } 
        i++;
    }
    printf("num=%d\n",num);
    return 0;
}

死循环:

for(;;){ }

while(1){ }

跳出循环:break --- 直接结束循环

注意:{}是一个单独的作用域,定义在花括号中的变量只能在当前范围内使用,也只在当前范围内生效!

  int i=5;
   while (i<10)
   {
    if (i==0)
    {
      break;
    }
    printf("%d\n",i);
     i--;
   }

练习:

循环 输入一个5位数,判断它是不是回文数。当输入0时循环结束。

即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int num;
    while (1)
    {
        printf("请输入一个5位数:");
        scanf("%d", &num);
        if (num == 0)
        {
            break;
        }
        if (num / 10000 == num % 10)
        {
            if (num / 10 % 10 == num / 1000 % 10)
            {
                printf("%d是回文数\n", num);
            }
        }
        else
        {
            printf("%d不是回文数\n", num);
        }
    }
    return 0;
}

练习:

1. 100>1&&'a'>'b' ----> 0

printf("%d",100>1&&'a'>'b' );

2. 100>1 || 'a'>'b' ----> 1

  1. !(100>1) ----> 0

4. 2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培养的学员人数将达到20万人?

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int year=2006;
    int people=80000;
    while (people<200000)
    {
       people= people*0.25+people;
       year++;
    }
    printf("%d\n",year);
    return 0;
}

标签:10,num,int,基础,C语言,循环,printf,表达式
From: https://blog.csdn.net/m5127/article/details/143372269

相关文章

  • C语言基础
    1.linux命令:1.1界面调节:终端放大:ctrl+shift+=缩小:ctrl+-打开:点击ctrl+alt+t:在家目录下打开ctrl+shift+n:在当前路径下新开关闭:点击exitctrl+d清屏幕:ctrl+L终止:ctrl+c1.2提示文字:hq@ubuntu:~$用户名间隔符主机名间隔符当前路径间隔/输入提......
  • 介绍一下for break continue 函数(c基础)
    for函数是循环函数格式for(   expression1      ;    expression2    ;     expression3   )+  一种语句expression1初始化变量的值                                         ......
  • C语言的循环语句
    C语言中提供了三种循环语句:while、for、do....whille下面我们对这三种语句进行学习1:while循环1.1:if和while的区别    语法:while(表达式)              语句    乍一看,和前面分支语句中学的if语句是不是很相似下面我们通过代码......
  • 【Docker】bridge的基础使用和测试
    参考Bridgenetworkdriver|DockerDocsdockernetwork|DockerDocs命令Usage:dockernetworkCOMMANDManagenetworksCommands:connectConnectacontainertoanetworkcreateCreateanetworkdisconnectDisconnectacontainerfro......
  • 16.1 并发编程基础——Java多线程
    16.1并发编程基础——Java多线程16.1.1 引言Java语言的一个重要特点是内在支持多线程的程序设计。多线程的程序设计具有广泛的应用。线程的概念来源于操作系统进程的概念。进程是一个程序关于某个数据集的一次运行。也就是说,进程是运行中的程序,是程序的一次运行活动。线......
  • 自动化测试基础
    优缺点自动化测试的优点自动化测试可重复执行,能执行更多、更频繁的测试。能执行一些手动测试比较困难或不可能进行的测试。能更好地利用资源,可利用晚上或周末空闲的设备执行自动化测试。自动化让测试人员腾出时间和精力,测试人员可以投入更多的精力设计出更多、更好的测试用......
  • [Python学习日记-58] 开发基础练习1——员工信息查询
    [Python学习日记-58]开发基础练习1——员工信息查询简介题目答案简介        该练习结合了函数和一些常用的模块开发了一个使用命令行交互的员工信息查询程序,可以巩固实践之前学习的内容。题目一、程序需求        现要求你写⼀个简单的员⼯信息增删......
  • 5、片元着色器之基础光照模型:Phong模型和Blinn-Phong模型
    1、什么是Phong光照模型?Phong模型就是在兰伯特模型的基础上增加了镜面反射光的计算。具体来说,兰伯特模型只考虑漫反射光,而Phong模型在此基础上引入了镜面反射光的概念,以模拟光线在光滑表面反射时产生的高光效果。镜面反射光的计算考虑了观察者的视角和光源的方向,能够产生更......
  • Mock.js基础
    1.mock.js的概念Mock.js是一个用于生成虚拟数据的JavaScript库,主要用于前端开发和测试。它可以帮助我们开发者在没有真实后端接口的情况下,模拟数据请求,方便进行开发和调试2.Mock.js的主要功能生成随机数据:Mock.js可以生成多种类型的随机数据,如字符串、数字、日期等。......
  • C++编程语言:从基础到高级
    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化、面向对象和泛型编程。C++由丹麦计算机科学家BjarneStroustrup于1979年在贝尔实验室开始开发,最初作为C语言的扩展,称为“CwithClasses”。1983年,正式更名为C++。C++以其高效、灵活......