C语言入门日记

2023-11-09

参考:C语言入门日记
作者:9art0
发布时间:2020-08-30 16:37:46
网址:https://blog.csdn.net/GatoWong/article/details/108307915?spm=1001.2014.3001.5501

1.1.C语言搭建及system函数

system函数启动程序。启动QQ(加\ 代表转义字符)、设置系统显示颜色、查看IP地址等。

在这里插入图片描述

1.2.C语言的基础框架解释

#include <stdio.h>
#include <stdlib.h>
int main()  //main是程序的入口,操作系统启动一个程序,先找整个exe文件中main的位置
            //main是函数名称,搭配()才算函数
{
    printf("hello world");  
    system("pause");        //函数调用:System函数——运行Windows命令.
                            //pause指令:等待用户输入,造成程序再输入之前不会结束.
    return 0;               //int和return 0是配套的,int需要返回整数0.void则不需要返回任何东西.
}

1.3.C程序变量

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int num1=10;//num1的房间里有一个人 (定义一个变量,必须先声明再使用)
    
    int num2=2;//num2的房间里有一个人
    
    int num3=0;//num3的房间里有零个人
    
    num3 = num1 + num2;//此时,num3里的人数为num1和num2房间里所有人数的和
    
    printf("num3=%d,输出完毕",num3);/*占位符:%d代表在输出的地方占一个坑,至于输出什么内容,
    由逗号后面的变量名里的变量值说了算*/
    
    system("pause");
    
    return 0;
}
/*知识点
1.变量类型 变量名  变量值
   int      a  =		10   ;
 整数型				  整数(初值)
2.定义一个变量,变量必须先声明再使用;
3.占位符:%d  */

c语言变量名规则是:变量名可以是字母、数字和下划线的组合
1、变量名必须以英文字母开头;
2、变量名中的字母是区分大小写的;
3、变量名不能是关键字;
4、变量名中不能包含空格、标点符号和类型说明符。
详情请访问

1.4.C程序的输入输出

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int num1,num2,num3;
    
    printf("请输入两数个加数");
    
    scanf("%d %d",&num1,&num2);/*
1.scanf双引号中除了占位符,尽量不要写任何其他的东西,否则输入时很有可能产生错误;
2.占位符知识代表从键盘输入了一个数,放在哪儿呢?——肯定跟变量名有关系。错误写法scanf(“%d”,num1);要取地址&;
3.输入scanf比输出printf多出了一个地址&的约束;
4.当连续输入多个变量时,尽量分开写;
5.逗号后面的顺序根据占位符编排,顺序不要出错。
*/
    num3 = num1 + num2;
    
    printf("结果:%d+%d=%d\n",num1,num2,num3);
    
    system("pause");
    
    return 0;
}

1.5.新手变成没有思路怎么搞

“用中文编程(写出步骤(算法))

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //0.变量声明
    int a,b,c;
    //1.提醒用户输入第一个加数
    printf("请输入第一个加数");
    //2.获取用户输入
    scanf("%d",&a);
    //3.提醒用户输入第二个加数
    printf("请输入第二个加数");
    //4.获取用户输入
    scanf("%d",&b);
    //5.计算
    c=a+b;
    //6.输出结果
    printf("结果:%d+%d=%d",a,b,c);
    return 0;
}

1.6.选择语句之if&else

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int num;
    
    //1.提醒用户请输入一个数
    printf("请输入一个数");
    
    //2.获取用户输入
    scanf("%d",&num);
    
    //3.是否满足某条件
    if(num>=100){   //满足条件进入该段
    printf("可\n");
    printf("值%d",num>=100); //逗号后条件改为判断语句,真输出1,假输出0
    }
    
    else{   //不满足条件进入该段
    printf("抱歉");
    printf("值%d",num>=100);
    }
    
    return 0;

总结:if(条件){语句块} else{语句块}

1.7.选择语句的嵌套

这里讨论了一个男女相亲的问题

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int rmb,house;
    
    printf("请输入RMB数字:\n");
    scanf("%d",&rmb);
    
    printf("请输入HOUSE数字:\n");
    scanf("%d",&house);
    
    if(rmb>=100){   //你有100万吗?
        if(house>=2){   //那好,你有两套房子吗?
            printf("我可\n");
        }
        else{
            if(rmb>=200){   //200万也可!
                printf("我可");
            }
            else{
                printf("抱歉\n");
            }
        }
    }
    //既然没有100万
    else{
        if(house>=3){   //其实三套房子也可以
            printf("我可\n");
        }
        else{   //都没有那就算了
            printf("抱歉");
        }
    }
    
    return 0;
}

1.8.选择语句之成绩等级判断

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //0.变量声明
    int score;
    
    //1.提醒用户输入
    printf("请输入成绩:");
    
    //2.获取用户输入
    scanf("%d",&score);
    
    //3.判断
    if(score>=90){
        printf("成绩优秀");
    }
    else if(score>=75 && score<90){ //两个区间的并集用&&连接
        printf("成绩良好");
    }
    
    else if(score>=60 && score<75){
        printf("成绩合格");
    }
    
    else if(score<60){
        printf("成绩不及格");
        
    }
    
    return 0;
}

1.9.多分支选择:switch&case&break&default

对比多个else if,switch在面对多个选择时就显得很可观。

总结:switch(对象)
{
	case xxx:printf("xxx");
	break;
	case xxx:printf("xxx");
	break;
	
	default: //除去上面的情况
	printf("xxx");
	break;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
    //0.变量声明
    int score;
    
    //1.提醒用户输入
    printf("请输入学生成绩(0-100):");
    
    //2.获取用户输入
    scanf("%d",&score);
    
    //3.判断
    switch(score/10){   //在使用“/”符号是,注意数据类型,如果是整数型除以整数型,那么得到的结果依然是整数型
    	//case可以连着写
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        		printf("您的成绩不合格");
        break;
        
        case 6:
        case 7:
       		    printf("您的成绩中等");
        break;
        
        case 8:
        		printf("您的成绩良好");
        break;
        
        case 9:
        case 10:
        		printf("您的成绩优秀");
        break;
        
        default:
        		printf("请输入0-100以内的数字");
        break;
    }

    return 0;
}

1.10.循环控制语句之while

总结:whlie(条件){语句块}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //0.变量声明
    int score,cishu=0;
    
    while(1){   //当while括号里的条件为真时执行{}中内容
        cishu=cishu+1;
        
    //1.提醒用户输入
    printf("请输入第%d次成绩:",cishu);
    
    //2.获取用户输入
    scanf("%d",&score);
    
    //3.判断
    if(score>=90){
        printf("成绩优秀\n");
    }
    else if(score>=75 && score<90){
        printf("成绩良好\n");
    }
    
    else if(score>=60 && score<75){
        printf("成绩合格\n");
    }
    
    else if(score<60){
        printf("成绩不及格\n");
    }
    
    if(cishu==3){  //循环终止的条件
        break;  //break用来跳出循环
    }
}
    system("pause");
    return 0;
}

1.11.循环控制语句之for

总结:for(初始条件;约束条件;变化条件){语句块} //强调分号;满足约束条件进入循环;与while相比无需break即可跳出循环。
如:for(cishu=0;cishu<=10;cishu++){语句块}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //0.变量声明
    int score,cishu;
    
    for(cishu=1;cishu<=3;cishu++){   //当while括号里的条件为真时执行{}中内容
	    //1.提醒用户输入
	    printf("请输入第%d次成绩:",cishu);
	    
	    //2.获取用户输入
	    scanf("%d",&score);
	    
	    //3.判断
	    if(score>=90){
	        printf("成绩优秀\n");
	    }
	    else if(score>=75 && score<90){
	        printf("成绩良好\n");
	    }
	    
	    else if(score>=60 && score<75){
	        printf("成绩合格\n");
	    }
	    
	    else if(score<60){
	        printf("成绩不及格\n");
	    }

	}
    system("pause");
    return 0;
}

1.12.do…while的补充

总结:先do后while

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i=0;
    do{
        i++;
        printf("666\n");
        if(i==3){
            break;  //跳出while循环
        }
        
    }
    while(1); //先do后while
    
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言入门日记 的相关文章

  • C语言基础-选择语句之成绩判断

    文章目录 前言 一 C语言是什么 二 基础选择语句 1 if else 2 数据解读 3 switch case 总结 前言 只是基础 取悦自己 一 C语言是什么 官方解释 c语言是一门面向过程 抽象化的通用程序设计语言 广泛应用于底层开发
  • C++选择结构学案

    学习目标 熟练掌握 C 中的关系 逻辑运算符 熟知关系 逻辑运算符和数学运算符的优先级 学会正确使用选择表达式 知识着陆 1 关系运算符 使用关系运算符需要注意的问题 1 等于 与 赋值 的区别 2 实型数据 浮点数 的关系运算 3 运算符
  • 【算法笔记】PAT B1001

    题目 卡拉兹 Callatz 猜想 对任何一个正整数 n 如果它是偶数 那么把它砍掉一半 如果它是奇数 那么把 3n 1 砍掉一半 这样一直反复砍下去 最后一定在某一步得到 n 1 卡拉兹在 1950 年的世界数学家大会上公布了这个猜想 传
  • 用递归法求n!(函数定义)

    用递归法求n 函数定义 include
  • 宏定义的正确写法,三目运算的宏定义

    转自 宏定义的正确写法 三目运算的宏定义 https my oschina net iOScoderZhao blog 916074 第一阶段 对象宏 define M PI 3 141592653589793238462643383279
  • 五大板块(2)—— 指针

    参考 五大板块 2 指针 作者 丶PURSUING 发布时间 2021 03 18 16 01 22 网址 https blog csdn net weixin 44742824 article details 114981482 本文为学
  • C语言基础:数据类型(一)

    C语言基础 数据类型 一 C语言是计算机中很多现代编程语言的开山鼻祖 它创造了信息时代和科技时代的文明 计算机语言由机器语言慢慢演变为高级语言 1958年7月3日 ALGOL语言 Algorithmic Language 创立 C语言的原型
  • c语言负数翻转问题

    1 在项目中 我们经常会用到变量 那么在变量的定义和传递过程中 经常会出现负数的翻转问题 int test funtion return 1 void poll fun unsigned int a while a gt 250 print
  • 【Visual Studio 2019】 实用调试技巧,学会了都说好

    文章目录 前言 一 bug是什么 二 调试是什么 三 调试的基本步骤 四 Debug和Release的介绍 五 windows环境调试介绍 1 调试环境的准备 2 常用快捷键 六 调试的时候查看程序当前信息 1 调试实例 七 如何写出好 易
  • 多文件编辑作业(2023.1.9)

    第一题 main c include head h int main int argc const char argv char str 10 abcdefg MyStrRev str char a hello StrRevRec a st
  • 函数作业(2023.1.4)

    函数作业 1 计算数组中完数的个数 完数 除本身约数和等于本身 例如6 1 23 1 2 3 6 例如28 1 2 4 7 14 28 在该函数 void PerfectFun int arr int n 循环数组每一个值 在该函数 int
  • 【C语言】17-函数-3

    1 链接属性 当组成一个程序的各个源文件分别被编译之后 所有的目标文件以及那些从一个或多个函数库中引用的函数将链接在一起 形成可执行程序 然而 如果相同的标识符出现在几个不同的源文件中时 它们是表示同一个实体 还是表示不同的实体 标识符的链
  • c语音动态内存分配,内存重新分配,内存释放,指针运算

    c语音基础 中的基础 大神请直接关闭本页面 多谢合作 总结下这学习到的知识点 define CRT SECURE NO WARNINGS include
  • C语言之进制转换

    文章目录 一 基础知识 1 C语言中的进制 2 汇编中的进制 3 常见进制的基数 4 不同进制的输出方式 二 十进制转为其它进制 三 任意进制转为十进制 四 二进制与十六进制的互相转换 1 二进制转为十六进制 2 十六进制转为二进制 五 二
  • C语言之自定义函数的实现

    自定义函数的作用 方便管理代码 编写程序时思路清晰 代码复用 同一段代码可以在不同位置多次执行 函数声明 使用 返回值类型 函数名 类型 变量名 类型 变量名 例如 int sum int num1 int num2 实际上 在函数声明时
  • C零基础课程-13-关系运算符与关系表达式

    文章目录 C语言中的关系运算符 与 gt 与 lt gt 与 lt 关系表达式的值 初学者常见bug 错写 为 视频地址 https www bilibili com video av73897727 C语言中的关系运算符 C语言中的关系运
  • 程序设计职工管理系统

    需求分析 1 1 设计系统的目的分析 本系统要求用 C 语言建立一个职工信息管理系统 本职工信息管理系统可以实现对众多员工信息的管理 包含对职工信息进行添加 查询 删除 修改 1 2系统的界面要求 按任意键便可以进入主菜单 在主菜单上显示出
  • STL--map的应用

    STL之map的应用 map定义及用途 map翻译为映射 是STL中的常用容器 其实 数组就是一种映射 比如 int a 100 就是定义了一个int到int的映射 而a 5 25 就是把5映射到25 数组总是将int类型映射到其它基本类型
  • 回调函数 —— 借助中间通用函数(形参里有函数指针,实现函数注册)调用不同的回调函数 (多态/分层)

    回调函数传参 函数指针做函数参数 回调函数 目录 背景 回调函数是实现函数分层且单向依赖的好办法 使用函数指针运行 struct结构体回调函数代码更清晰 简单理解回调函数 Demo 其他回调函数博文 背景 这是我在实际工作中遇到的问题 线程
  • C语言之指针知识大总结

    文章目录 一 地址 二 指针与指针变量 三 指针的作用 四 初学指针时常见的错误 五 通过调用函数修改主调函数中的值 六 指针与一维数组 七 使用函数操作一维数组 八 指针变量所占字节数 九 静态数组的缺陷 十 malloc函数 十一 动态

随机推荐

  • 符合ISO26262标准的建模规范检查模型静态分析静态测试工具

    符合ISO26262标准的建模规范检查模型静态分析静态测试工具 Model Examiner 功能安全解决方案 以下简称MXAM 测试套件是您进行全面静态模型分析的首选工具 MXAM提供了一种简单的方法来检查建模规范 分析模型结构和评估模型
  • GB2312码表

    转载https blog csdn net oshan2012 article details 79070705
  • 【实践】第一个驱动之自动生成主设备号和设备文件

    1 声明两个变量 static struct class firstdrv class static struct class device firstdrv class dev 2 修改函数first drv init void 和fir
  • 解决同时安装搜狗输入法和谷歌输入法后fcitx无法使用

    问题描述 使用搜狗输入法发现老是出现乱码的问题 然后会提示你删除一个搜狗的文件后重启才能正常使用 因此本人后来听了实验室师兄的建议 又直接安装了谷歌输入法 结果刚开始用着正常 后来突然用着界面右上角的fcitx标志直接消失了 输入法也用不了
  • 【Pytorch】卷积神经网络实现手写数字识别

    Pytorch 卷积神经网络实现手写数字识别 1 加载数据 2 模型构建 3 训练模型 4 模型保存 5 模型加载和使用 1 加载数据 分别构建训练集和测试集 验证集 DataLoader来迭代取数据 import torch import
  • DS内排—2-路归并排序

    目录 题目描述 AC代码 题目描述 输入一组字符串 用2 路归并排序按字典顺序进行降序排序 输入 测试次数t 每组测试数据 数据个数n 后跟n个字符串 字符串不含空格 输出 对每组测试数据 输出2 路归并排序的每一趟排序结果 每组测试数据的
  • 红米10A 12.5.12 root 新版本note11 5G 解锁BL BootLoader无法解锁解决方案红米12C 跳过168小时

    红米10A 12 5 12 root 新版本note11 5G 解锁BL BootLoader无法解锁解决方案红米12C 新版本的红米10A dandelion c3l2 images V12 5 10 0 V12 5 11 0 V12 5
  • QPushButton的简单使用

    Qt的基本控件接口 QPushButton的简单使用 Dialog Dialog QWidget parent QDialog parent ui new Ui Dialog ui gt setupUi this QPushButton b
  • 【mcuclub】单片机-STM32F103C8T6

    一 实物图 二 原理图 1 总电源电路 一个type c的插座 一个自锁按键 一个220uF的电解电容 一个1k的限流电阻和一个LED灯 这个220uF的电解电容选取 为什么要 一是电源本身就有纹波 多加一个滤波电容更好 二是电源线有电阻
  • linux下激活窗口 qt_在Linux上通过插件将Qt窗口嵌入到Firefox中

    So this is a trivial example of what I m trying to accomplish Using QX11EmbedContainer and QX11EmbedWidget I can create
  • Linux基础服务5——rsync

    文章目录 一 基本了解 二 rsync的基本操作 2 1 安装rsync 2 2 同步常用参数 2 3 同步目录示例 三 rsync inotify实时同步 3 1 环境准备 3 2 配置服务端 3 3 配置客户端 3 4 自动同步 一 基
  • 主板中的Win10/win8.1 WHQL支持是否要开启

    在新式的电脑主板上会有Windows 10 8 1 WHQL支持开启的选项 这个选项的开启和关闭分别代表什么意义呢 这其实还要从UEFI和Legacy两种不同BIOS的说起 Legacy是传统的BIOS uefi启动是一种新的主板引导项 它
  • Qt框架分析

    以Qt5 6 0为例 类结构 先分析qt gui程序最常用的两个大类QApplication和QWidget的继承关系 如下 在分析QApplication和QWidget的构造过程 如下 结合继承关系和构造过程分析类结构 以QObject
  • 蓝桥杯之python基础

    蓝桥杯之python基础 一 问题与学习 二 python基础的关键知识点 2 1 Python 标识符 2 2 行和缩进 2 3 多行语句 2 4 python引号 2 5 python注释 2 6 python空行 2 7 等待用户输入
  • Postman添加公用url

    1 点击右上角的这个图标 2 点击Add 3 在Add Environment中输入环境名称 下面输入相关参数 4 用两层大括号即可使用 如 http base url login
  • OpenGL纹理映射总结

    大概步骤 1 创建纹理对象 并为他指定一个纹理 2 确定纹理如何应用到每个像素上 3 启用纹理贴图 4 绘制场景 提供纹理和几何坐标 过滤 由于我们提供的纹理图像很少能和最终的屏幕坐标形成对应 大小不同 所以需要设置过滤项目 允许我们进行插
  • cef支持高分辨率去除黑边

    解决方案 1 在当前电脑的桌面 右键 显示设置 把显示比例调整为100 需要重启电脑生效 这时再看 显示就正常了 2 在当前项目中 添加一个 应用程序清单文件 app manifest 在根节点 assembly 下 添加以下代码 重新运行
  • 【Flutter 问题系列第 74 篇】在 Flutter 中如何对 Uint8List 和 File 类型的图像数据进行压缩

    这是 Flutter 问题系列第 74 篇 如果觉得有用的话 欢迎关注专栏 文章目录 一 问题描述 二 引入 获取依赖 三 根据数据类型指定压缩方式 3 1 Uint8List Uint8List 3 2 File File 3 3 Fil
  • 使用tf.keras实现多层感知器(神经网络)的代码实现(tensorflow2.0基础入门2)

    逻辑回归与交叉熵 1 线性回归预测的是一个连续的值 2 逻辑回归给出的 是 和 否 的回答 3 逻辑回归的激活函数 采用的是 sigmoid激活函数 sigmoid函数是一个概率分布函数 即给定某个输入 它将输出为一个0到1的概率值 4 对
  • C语言入门日记

    参考 C语言入门日记 作者 9art0 发布时间 2020 08 30 16 37 46 网址 https blog csdn net GatoWong article details 108307915 spm 1001 2014 300