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语言】qsort函数的使用和模拟实现

    本篇文章我们来了解一下回C语言中qsort函数的使用方法和模拟实现 这是一个通用性很强而且非常方便的库函数 通过这篇文章希望能让你了解sort函数 目录 一 qsort的介绍 二 qsort函数的使用 1 qsort排序整形 2 qsort
  • 用递归法求n!(函数定义)

    用递归法求n 函数定义 include
  • 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
  • 结构体与共用体(联合体)

    参考 结构体与共用体 作者 一只青木呀 发布时间 2020 08 09 08 29 22 网址 https blog csdn net weixin 45309916 article details 107889394 参考 联合体 uni
  • 【Linux C编程】学生信息管理系统--简易版

    学生信息管理系统 流程图 一 定义一个枚举体做菜单目录 二 定义两个结构体 三 定义一个菜单函数 四 添加 删除 修改 搜索 排序相关代码 五 主函数 完整代码 总结 此学生管理系统是本人用Linux系统下vim编辑器编写的 该学生管理系统
  • 【C语言】通讯录实现以及信息保存至文件。

    实现一个通讯录 通讯录用来存放1000个人的信息 每个人的信息包括 姓名 性别 年龄 电话 住址 提供方法 1 添加联系人信息 2 删除指定联系人信息 3 查找指定联系人的信息 4 修改指定联系人信息 5 显示所有联系人信息 6 清空所有联
  • 多级指针和静动态内存的跨函数访问

    参考 多级指针 静动态内存的跨函数访问 作者 枕上 发布时间 2021 07 15 00 27 17 网址 https blog csdn net jinchi boke article details 118724993 spm 1001
  • C++语言基础--递归函数

    对于很多编程初学者来说 递归算法是学习语言的最大障碍之一 可能也有一大部分人知道递归 也能看的懂递归 但在实际做题过程中 却不知道怎么使用 递归的定义 1 很官方的说法 递归 在数学与计算机科学中 是指在函数的定义中使用函数自身的方法 也就
  • “~i“在C语言的for循环中是什么意思

    最近看y总的视频 在他的代码里经常出现 1 比如 for int i h u i i ne i dfs e i depth 1 然后我就不解了 去百度了一通 百度说 在C语言里面是二进制取反的意思 我还是有点不解 然后自己写代码测试了一下
  • 动态文件版通讯录及C语言中的文件的读写操作

    上一期我们编写了一个C语言版本的简易通讯录 但是我们的之前的通讯录是没有记忆功能的 也就是说 一旦关闭了程序我们存储在里面的数据也就消失了 那么今天我们就来实现一个附带数据储存的通讯录 在此之前 我们先来了解一下C语言中文件的读写函数 1
  • 每日一题(C语言基础篇)3

    题目描述 求一个整数中2进制为1的个数 例如 8 00001000 有一个二进制为1的数 9999 270F 有8个2进制为1的数 代码实现 include
  • c语音动态内存分配,内存重新分配,内存释放,指针运算

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

    C语言实现输出对应成绩的等级 include
  • C语言之自定义函数的实现

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

    文章目录 C语言中的关系运算符 与 gt 与 lt gt 与 lt 关系表达式的值 初学者常见bug 错写 为 视频地址 https www bilibili com video av73897727 C语言中的关系运算符 C语言中的关系运
  • 经典C语言程序设计100例,部分有个人注解

    经典C语言程序设计100例 程序1 题目 有1 2 3 4个数字 能组成多少个互不相同且无重复数字的三位数 都是多少 1 程序分析 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满足条件的排列 当然这里的去掉并不
  • 【华清远见嵌入式培训】C基础

    Linux命令基础 1 Linux文件类型 bsp lcd 七种 b 块 block 设备文件 存储设备 硬盘 SD卡 dev sd s 套接字 socket 文件 网络编程 p 管道 pipe 文件 I O编程 普通文件 c文件 h文件
  • c语言实例--ip地址形式输出

    问题 输入一个32位的二进制的数 每8位转化为一个十进制的书 将其转化为十进制的ip地址 思路先行 第一步 总体思路 输入二进制数 然后每八个为一个小单位分开 形成一个对应的十进制数 最终形成四个ip数 第二步 分别定义存放ip的数组 存放
  • 链式二叉树的基本操作(C语言实现)

    目录 一 链式二叉树的创建 1 1 定义节点结构 1 2 节点的创建 1 3 节点的链接 二 树的深度遍历 1 前序 中序 后序遍历 1 2 三种方式的遍历顺序图 2 代码实现 3 遍历检测 三 树的层序遍历 3 1 层序遍历 3 2 完全

随机推荐

  • 符合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