首页 > 其他分享 >C语言学习

C语言学习

时间:2024-03-13 23:32:58浏览次数:21  
标签:符号 int scanf C语言 学习 存储单元 代码

导言

C语言是一门编译型语言,是目前在国际上十分通用的语言,有它的国际标准比如C89,C90,C99,C11截至目前使用最多的是C89,C90;

第一个C语言程序

1.怎么写?

a.创建一个项目

b.创建一个源文件

c.写代码

d.编译代码

【注(a,b)方法已在发表的第一篇文章中提到,不了解的可以去浏览】

c.想写代码就要先了解各个代码和符号在语言中分别代表什么意思,该如何去使用它

这里先给一个已经完成的程序

1.代码介绍

(1)main ()主函数 会有int main (),void main ()等等写法【在编程中只能有一个主函数(main)函数存在,正所谓一山不容二虎】 

(2)printf-库函数-输出信息的【这里要注意在使用printf时必须要引用(头文件 stdio.h)】写法如下,一般写在我们写代码的首行(这里的首行并不就指的是第一行,是前面几行都可以)

#include <stdio.h>

(3)scanf  输入   

scanf ("%d%d%d",&x,&y,&z)

  [scanf 输入的只能是地址],在一个未知数前面加上 & 就是该未知数所在的位置 

scanf输入不同类型的符号,数字,变量等等,有其对应的; 如输入整数则在 双引号(" ")里面写%d,输入字符就写%c ;

(4)int 说明变量的-整型变量 -就是告诉你int 后面的跟的东西是整数  eg. int a;说明a是一个整数但具体是几并不知道;在图片中就给a赋值为整数3;                        

(5)float 说明变量的-实型变量-同上述int介绍一样

代码初步介绍到这里

2.符号介绍

(1)& &a表示存储单元的地址(变量a,可以称之为存储单元中的数据,a存储单元中的数据可以说一个普通数值,也可以是另一个存储单元的的地址,例如 a=&b,就是将b的存储单元的地址存入对应a存储单元中);&a=pa(pa也可以代表a的地址)

(2) * ,*与&都是操作符,不同的是*:取某地址的值(数据内容),运算符后面通常跟一个地址如*&a=a=*pa,其实就可以简单的理解为&与*是相互的,如果俩符号相遇会抵消,但要注意如果出现就要写成*&a的形式,&不可以在a前面,因为这是规定;当然&*pa这个写法是正确的,但不能出现&*a这样的形式

(3) \n   回车换行,就相当于你点了一次回车,如下是有\n运行的结果

这是没有\n的结果,就不会出现35下面那一行

在观看上面图片,你可能会有一个问题,我输出的是a,b的值为什么会连在一起,如何将a,b的值分开,只要在俩%d中间加一个空格就ok了,这样俩个值就分开了

加‘,’也可以不过输出结果就变为了 3,5

(4){ } 里面的内容是一个“块”,单独的{ }在执行顺序上没有改变,仍然是顺序执行;

[主函数里面的编程代码都要写在{}里面否则会出现错误]

(5);结束一条语句,可以称之为C语言的结束标志(不同的编程语言有不同的结束标志

这个符号对于刚学习C语言的新手,是一个坑,常常因为在写完一个代码后没有加;导致程序出现错误

符号也介绍到这里,有一些运算符号大家可以网上搜索;比如加,减,开几次方等等;

2.写程序时或程序完成运行时可能出现的错误

通过上述介绍,就可以写出一个简单的程序,同时可能有无法运行的情况如

(1)语法错误

遇到这样的情况是我们所使用的visual studio这个软件本身的语法规则,scanf_s 仅仅在这个软件中被规定这样使用,并不是国际标准,解决方法有俩种第一行要加一行如下语句:

#define  _CRT_SECURE_NO_WARNINGS
注意define后有一个空格
第二行再写#include<stdio.h>
否则建议用scanf_s,这样就可以用scanf了

我推荐大家用第一种

(2)会出现无法打开....的警告语句
这样的情况就是你运行一个程序的运行窗口没有关闭,导致无法运行这个程序;解决方法就是关闭上一个运行的窗口,就是图中这个,找不到就在下面导航栏中找可能被最小化了

(3)编程时的符号,字母等等必须是英文!!!

eg.()vs  ()   中文括号vs英文括号

标签:符号,int,scanf,C语言,学习,存储单元,代码
From: https://blog.csdn.net/jlf_04/article/details/136576403

相关文章

  • Linux学习-day8
    vim的使用安装vimyuminstallvim-y验证是否有vimvim的使用基本上vi/vim共分为三种模式,分别是:命令模式(Commandmode)最长用的,按下字母,a,i,o(a在光标前开始编辑,i是在光标处,开始编辑,o是在光标下一行开始编辑)当你使用vim标记某个文件时,第一步就进入了命令模式。你此......
  • Godot 4.1 学习笔记
    godot%启用场景唯一名称这个怎么用的,给我举点例子。onreadyvarsect_rect=$"%SectRect这个节点可以在场景中的任意位置通过在节点路中为其加上”%”前缀来访问。点击禁用。什么“场景中的任意位置通过在节点路中”???好的,用更具体的例子来说明如何在Godot中使用%前缀......
  • 【华为OD】C卷真题 100分:堆内存申请 C语言代码实现[思路+代码]
     C++、python、java代码:【华为OD】C卷真题100分:堆内存申请C/C++代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:堆内存申请Python代码实现[思路+代码]-CSDN博客【华为OD】C卷真题100分:堆内存申请Java代码实现[思路+代码]_有一个总空间为100字节的堆,现要从中新......
  • Python学习 第0天
    传送门前言Python太主流了,连普通大众都听说过Python了,小蟒蛇还是得要学一下的,而且跨平台特性是块宝这里采用的是B站的课程+菜鸟教程Python3菜鸟教程20分钟学完一遍python基础【零基础首选】2022最新版Python3.11全套视频教程,告别劣质教程目录Pyhton基础Python3基础语......
  • 【转载】学术科研无从下手?27 条机器学习避坑指南,让你的论文发表少走弯路
    原作者链接:https://blog.csdn.net/HyperAI/article/details/128866164 内容一览:如果你刚接触机器学习不久,并且未来希望在该领域开展学术研究,那么这份为你量身打造的「避坑指南」可千万不要错过了。关键词:机器学习科研规范学术研究机器学习学术小白,如何优雅避坑坑、让自己的......
  • 【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比L
    操作环境:MATLAB2022a1、算法描述深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。信道估计是无线通信系统中的关键技术之一,它直接影响着系统的通信质量和可靠性。本文将详细介......
  • 从JavaSE到项目部署——Java基础学习第八天(Java面向对象编程初级)
    目录一、类与对象(OOP)——类        1、类与对象概述    2、对象在内存中的存在形式     3、属性/成员变量/field(字段)     4、对象创建和使用    5、对象创建过程二、方法    1、方法基本演示    2、方......
  • 3/13学习进程
    大二学期第三周日报 第一天第二天第三天第四天第五天所花时间(包括上课) 210min90min 150min  代码量(行) 350 200 250  博客量(篇) 1 1 1  了解到的知识点编写安卓增删改查,使用sqlite存储数据 验收增删......
  • 实验一_C语言输入输出和简单程序应用编程实验报告
    实验任务一task1_1 1#include<stdio.h>2#include<stdlib.h>3intmain()4{5printf("0\n");6printf("<H>\n");7printf("II\n");8printf("0\n");9printf(&qu......
  • 实验1_C语言输入输出和简单程序应用编程实验报告
    实验任务一1.task1_1点击查看代码#include<stdio.h>#include<stdlib.h>intmain(){ printf("0\n"); printf("<H>\n"); printf("II\n"); printf("0\n"); printf("<H>\n"); printf(&quo......