首页 > 其他分享 >C语言基础入门 -1

C语言基础入门 -1

时间:2024-06-20 16:57:59浏览次数:15  
标签:10 字节 输出 int 基础 C语言 操作符 变量 入门

一.计算机中单位

bit  - 比特位 (最小单位);

byte- 字节

kb -千字节

mb -兆字节

gb-千兆字节

tb-太字节

1字节=8比特位 ;

其他单位之间换算为1024;

二.数据类型与所占字节

char //字符型     1字节

short//短整型     2字节

int    //整型     4字节

long //长整型    4字节

long long //更长整形     4字节

float  //单精度浮点型     4字节

double //双精度浮点型   4字节

三.基本输出符号(控制输出类型)

%d  - 输出为整形

%s输出为字符串

%c - 输出为字符

%f -输出为float浮点类型

%lf-输出为double浮点类型

%zu -接收size of返回值

四.常量与变量

常量:不可变值  如(性别,血型等)

变量:可变值如(身高体重)

1.变量类型

局部变量{  }内部所定义的变量

全局变量{  }外部定义的变量

2.变量的作用域

局部变量:局部变量所在的{  }内

全局变量:整个工程

3.变量的生命周期

局部变量:进入作用域生命周期开始。出作用域后生命周期结束

全局变量:整个工程的生命周期

4.常量类型

①字面常量 如数字1,浮点常量3.14,字符常量‘w’,字符串常量“abc”

②const修饰的常变量 

①
int main()
{
int a =0;
    a=20;
printf("%d",a);

return 0;
}
②int main()
{
const int a =10;
           a=20;
printf("%d",a)

}

输入const前变量a值可改变。输入const后锁定变量a的值 (此时a为常变量)

1中输出a为20 2中a被改变无法输出。

③#define定义的标识符常量

#define MAX=100  //(MAX定值为100)
int main ()
{
int a=MAX;
printf("%d",a)
return 0;
}

此时输出100

④枚举类型(未学)

五.转义符号(转变字符含义)

\n  -换行

\0  终止符号

\?  (现已少用) 连续书写三问号时,防止被解析为三字母词

(三字母词) 旧版中  ??)可能被翻译为],??\(可能为翻译为[

为防止即\?\?)

\'   普通单引号 未添加\会被当成‘’中的一个 无法显示

\“  普通双引号 未添加\会被当成”“中的一个 无法显示

\\   斜杆未添加\会被当成注释无法显示

\a  蜂鸣 报警

\r   回去

\t 水平制表符 效果相当于tab

\ddd 表示1~3个八进制的数字 如\130 =(x) 将八进制转为十进制对照ASCII编码表

\dd 表示2个十六进制的数字 如\x30 将十六进制转为十进制对照ASCII编码表

一个转义字符算一个字节

六.数组

可在其中存放一组相同类型的集合

int arr[  ]={'1','2','3','4','5'};

                 0   1   2  3  4 (数组下标);规定下标从0开始

[  ]

①填写arr数组容量 未填写会自己确定

②[  ]数组大小必须是常量

C语言中没有字符串类型 如果想存储字符串可用数组

char ch="a"; 将字符存储在字符变量ch中
char arr1[]="abcdef";

// 将字符串储存在ch中 (规定ch表示字符变量)

七.操作符

1.算数操作符

-加

-减

-乘

-除  只取得结果的商部分 例如(7/2=3)

%-取模  只取得结果的余数部分 例如(7/2=1) :取模操作符的两端必须是整数

除号的两端如果都是整形,执行的是整数除法

除号的两端只要有一端是浮点型,执行浮点型除法

2.移位操作符(后补)

3.位操作符(后补)

4.赋值操作符

= -赋值

+=  例如a+=3 = a=a+3

-=   同上

*=  同上

/=  同上

%= 同上

5.单目操作符(只可操作一边)

-逻辑反操作符 (把假变成真,真变成假)

//c语言中0为假,非0为真

int main()
{
	int flag = 0;
	if (!flag)         因为flag的值=0为假 if只有为真时才可运行 所以加上!使它为真
	{
	       }
}

因为flag的值=0为假 if只有为真时才可运行 所以加上!使它为真运行程序,为假if会直接跳过

sizeof -字节计算操作符  

前置  ++  后置 ++

①前置
int a=10;
int b=a++
先自加再赋值给b a=11 b=11
②后置
int a=10;
int b=a++
先赋值给b 再自加  b=10 a=11

a++ = a=a+1
 

前置- - 后置- -

①后置 - -
int a=10
int b=a--
b=10 a=9
②前置--
int a=10
int b=--a
a=9 b=9

b-- = b=b-1

(类型) 强制类型转换符 


int a =3.14;无法运行
int a =(int)3.14;强制转换 只保留整形

//3.14字面浮点数默认理解为double类型

6.关系操作符

>

<

=

<=

>=

== 两个等号才是用来判定相等 if(a==3)

7.逻辑操作符

&&  逻辑与 (并且)

int a=10;              
int b=20;
if(a&&b) ab同时为真时可运行 (非0为真)

||    逻辑或  (或者)

int a=10;
int b=0;
if (a||b) a或b一者为真 即可运行

8.条件操作符

exp1?exp2:exp3;  三目操作符

当1为真实输出2

当1为假时输出3

int a =10;
int b =20;
int z=(a>b?a:b;);

,  逗号表达式   逗号表达式的特点是从左向右依次计算,整个表达式的结果是最后一个表达式的结果

int main()
{
	int a = 3;
	int b = 1;
	int c = 0;
	int z = (c=a+10,b=b+c,c=a+b);
	printf("%d", c);
	return 0;
}

9.下标引用操作符

[ ]

#include<stdio.h>
int main()
{
	int arr1[] = { 1,2,3,4,5,6,7,8,9 };
	arr1[2] = 15;
	printf("%d", arr1[2]);
	return 0;
}

通过控制下标来改变数组中元素的值

标签:10,字节,输出,int,基础,C语言,操作符,变量,入门
From: https://blog.csdn.net/hk0824/article/details/139824311

相关文章

  • ElasticSearch入门(实战)
    环境准备:VMwaredocker   创建一个linux虚拟机,使用dockerpullelasticsearch 部署单体服务: dockerpullelasticsearch:6.8.13#elasticsearch十分占用内存,用这种方式启动会导致Linux卡机dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300-e"discover......
  • Swagger的基本使用(快速入门)
    目录一、环境配置(1)导入依赖:(一般导入依赖都会报错,所以大家也可以借鉴一下这篇文章:swagger配置报错)(2)启动类添加注解二、Swagger配置介绍(1)基本配置 (2)设置扫描的包三、Swagger常用注解(1)@Api(2)@ApiOperation(3)@ApiParam(4)@ApiModel(5)@ApiIgnore(6)@ApiImplicitParam在使......
  • Python 基础详解:入门宝典(3)
    容器类型介绍:1.列表(List)列表是Python中最常用的数据结构之一,它是一个有序的可变序列,允许存储任意类型的元素。列表用方括号[]表示。特点有序:元素按照插入顺序排列。可变:可以修改元素的值或增加、删除元素。支持重复:可以包含重复的元素。#创建一个列表fruits=['a......
  • HALCON-从入门到入门-相机标定-内参外参
    1.废话为什么要进行相机标定几个坐标系像素坐标系(图片坐标系)就是我们在电脑上看到图片的坐标系,以左上角为原点(2d坐标系)单位是像素pixel相机坐标系相机物方视野投影的坐标系,单位是mm世界坐标系就是真实的世界坐标系,单位是mm标定的结果标定的结果中有内参矩阵,外参,畸......
  • git 基础操作
    git基础操作克隆一个仓库到本地:[email protected]:RyanFu999/layout.gitlayout2git查看远程仓库:gitremote-vgit删除远程分支:gitpushorigin--deletebranchNamegit更新远程代码到本地gitpulloriginmaster查看本地分支文件信息,确保更新时不产生......
  • 软件测试入门基础03-MySQL
    前言:这是我个人的学习记录,我是科班在读有一定基础,很多东西不会特别详细,欢迎大佬指点,也很高兴有人看了能得到帮助这一小节的内容是MySQL,我已经修完数据库,但时间久远忘记许多于是又看了一遍做个笔记。印象中数据库挺简单,简单的说就是增删改查。我修这门课时把实验做完基本上知......
  • 【0基础学爬虫】爬虫基础之自动化工具 Appium 的使用
    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具Appium的使用。概述自动化......
  • langchain入门
    LangChain为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程,轻松地构建如下所示的RAG应用 理解langchain的运作机制LangChain是一个为构建大型语言模型(LLMs)驱动的应用程序而设计的框架。它的核心目标是简化从开发到生产的整个应用程序生命周期。模块化构......
  • STM32基础篇--中断
    1.中断和异常异常主要是指来自CPU内部的意外事件,比如执行了未定义指令、算术溢出、除零运算等发生在CPU内部的意外事件,这些异常的发生,会引起CPU运行相应的异常处理程序;中断一般来自硬件(如片上外设、外部I/O输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,......
  • 代码随想录刷题记录(11)| 二叉树(二叉树理论基础,二叉树的递归遍历,迭代遍历,统一迭代,层序遍
    目录(一)二叉树理论基础1.种类2.存储方式3.遍历方式4.二叉树的定义 (二)二叉树的递归遍历1.思路2.递归遍历(1)前序遍历(2)中序遍历(3)后序遍历(三)二叉树的迭代遍历1.思路2.迭代遍历 (1)前序(2)中序(3)后序(四)二叉树的统一迭代(五)二叉树的层序遍历1.思路2.层序遍......