当前位置: 首页 > news >正文

C语言基础知识

为什么80%的码农都做不了架构师?>>>   hot3.png

     大学学习的知识过于杂乱无章,眼看着要毕业了,也不清楚自己到底能干什么。于是我开始去培训,向WEB前端开发工程师走。经过一两周的学习,我对C语言有了一定的理解,下面我就来谈谈,C语言的一些基础知识,可能用词有些不专业,但是也是正确的。

     学习C语言可以学习到大多数编程语言所共同拥有的基础知识,那么以后在学习其他编程语言的时候就不用每次都从最基础的东西入手了。一个简单的C程序中一般包括了字符,标识符,关键字,语句和标准库函数。要编写一个简单的C程序,首先要导入一个头文件,头文件里面包含了早就编辑好的各种有用的函数,具体语句是“#include<>",注意是尖括号。然后要使程序开始执行,需要一个”入口“函数,int main(void){,键入了这个之后就可以在”{“后面输入你编写的代码了,结束的时候要用”}“括回来,在你执行你编写的程序的时候,系统会从int main(void){之后的语句开始执行。然后就开始你编写程序的正文了,首先你要声明一个变量,这个变量必须是属于一种类型(函数的类型有字符型 char,无符号字符型 unsigned char,短整型 short,无符号短整型 unsigned short,整型 int,无符号整型 unsigned int,长整型 long,无符号长整型 unsigned long,单精度型 float,双精度型 double,长双精度型 long double)。注意这个变量不能为关键字。然后我们可以为这个变量赋值用”=“,声明的什么类型的变量就只能赋什么类型的值,然后我们可以通过各种语句让这些变量向我们想实现的功能,我们设定好的套路运算,最后得出我们想得到的结果,下面我们以一个最基础的从1加到100的代码作为示例讲解。

    #include<stdio.h>           //导入头文件stdio.h,这样就可以使用它里面的函数如printf()

        int main (void){          //入口函数,程序从它之后开始执行

        int a,b;                     //声明两个变量a,b为int型,只能是在一个范围内的数字

        a=0,b=1;                  //为a,b两个变量赋予初始值

      while(b<101){            

      a=a+b,b=b+1;}           //使用while(){}循环语句

      printf("%d",a);}         //用printf()输出我们的结果

      首先我们要先构思该如何实现这一功能,从1加到100无非就是一列从1开始公差为1的数字加到100结束,所以我们可以引入两个变量,一个a为最终结果从0开始,一个b为从1开始不断加1变化的变量(b=b+1),然后再让他们相加(a=a+b)。我先导入头文件,再输入入口函数一边程序从这之后开始运行,然后我声明了两个int 变量a,b。a作为结果,b作为不断加1并且不断被加入的数,所以我们赋予a初始值为0,b初始值为1,为了让他们循环执行,我们引入一个语句while(1){2},这个语句的用法就是”先判断1这个表达式,若为真则执行2这个表达式,若为假就终止循环。我们为了加到100就停止,所以就写入1这个表达式b<101,2这个表达式a=a+b,b=b+1,这样这样就可以从1一直加下去,当b=100时,执行最后一次,得出a的值,得出b的值为101再判定大于为假就不会再让a加进去了。最后再将最终得出的值通过函数printf()输出(“%d”,a表示以十进制的形式输出a的值).这样当我们运行这个代码的时候,就会输出我们想要的从1加到100的结果。

      循环语句还有很多输出输入形式也有很多,这里就不一一介绍了。总之一般的结构就是这样。要编写一个实现自己想要功能的程序首先就是要思考,想出一套合理的方案,然后再敲代码,运行调试。

转载于:https://my.oschina.net/Ztachi/blog/178508

相关文章:

  • 5种PHP创建数组的方式,你都了解哪些?
  • 什么是网站收录率?
  • karaf 从 maven install 找不到资源问题
  • 打钱诈骗的流程
  • 项目资料
  • Linux密码丢失
  • 网页布局流式布局
  • Oracle安装自整理
  • PHP获取浏览器型号,判断安卓还是IOS访问
  • 不好好查issues就是作死
  • ForeFront TMG 路由设置--更改网络出口线路
  • 高并发、大流量网卡调优 _转
  • 自建CDN防御DDoS(3):架构的后续改进
  • 3d
  • 子网划分
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【刷算法】从上往下打印二叉树
  • Facebook AccountKit 接入的坑点
  • js写一个简单的选项卡
  • Promise初体验
  • Theano - 导数
  • Vue2.x学习三:事件处理生命周期钩子
  • 初识 webpack
  • 工作手记之html2canvas使用概述
  • 回顾 Swift 多平台移植进度 #2
  • 基于游标的分页接口实现
  • 每天一个设计模式之命令模式
  • 你真的知道 == 和 equals 的区别吗?
  • 手机端车牌号码键盘的vue组件
  • 我有几个粽子,和一个故事
  • 延迟脚本的方式
  • HanLP分词命名实体提取详解
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 选择阿里云数据库HBase版十大理由
  • #QT项目实战(天气预报)
  • #微信小程序:微信小程序常见的配置传值
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)c52学习之旅-简单了解单片机
  • (二十三)Flask之高频面试点
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core跨平台微服务学习资源
  • .Net MVC + EF搭建学生管理系统
  • .net Signalr 使用笔记
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • @JsonFormat与@DateTimeFormat注解的使用
  • [ solr入门 ] - 利用solrJ进行检索
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [20181219]script使用小技巧.txt