初识C语言一

简介: 初识C语言一



——前言

与其说初识C语言,不如说是我对一些知识点的回顾与复习(每周一次的定点复习)。

——多组输入

1.多组输入

while((scanf("%d", &a))

判断scanf返回值是什么 ——int 整形

读一个整形,返回1;

读几个数据返回多少;

while((scanf("%d", &a)==1)

如果输入两个数据会不会有问题?

%d %d 返回2

这里的1我认为是语法判断条件,就是只要不是-1的数都可以当成1

如果读取失败 返回EOF(-1)

这样可以这么输入

while((scanf("%d", &a)!=EOF)

不过说到这里,我有一个问题

scanf("%d", &a)与scanf("%d %d", &a, &b)

它们之间的区别又是什么呢?

如果要连续输入两个数的话它们二者都可以实现,那我就很疑惑,后者开辟了一个空间给了B,那前者第二个输入的数又去哪里了呢?

——ascll码

如果是字符变量,那么本质是char,需要用%c输入。如果想输出ascll对应的数字,那么用%d输出即可,反之亦然。

输入用%c,输出用%d

——操作符

取模只能两边都是整数

一般加小数点编译器都是默认的double,除非你刻意加上1.0f

后置++;先使用后加1;

int a = 5;

int b = a ++;

先赋值给b 再加1

int b = a;a=a+1;

前置++;先加1后使用;

a=a+1;int b = a ;

逗号表达式

从左往右算

——变量

在大括号内部定义的变量只能在其大括号内使用,一般在main第一个大括号是最大的作用域了

全局变量的话不用大括号,在main外面定义

如果想在不同文件中使用全局变量,需要有一个声明extern

这样可以从其他文件中来调用这个全局变量 本文件:extern int a

外文件 int a = 1ooo;

但这样做的意义是什么,我也不得而知。

const 常变量

const int a = 10;让变量不再改变

数组只能用常量来规定大小,不能用变量也不能用常变量

#define M 100 标识符常量 这样数组大小里面就可以用M了

枚举常量

一一列举

性别:男、女、保密

enum Color(自定义的类型)

{

枚举常量默认第一个是0后面以此类推

red,//0

green,//1

blue//2

}

int main()

{

enum color c =red;(可以给c赋值但只能3选1)

return 0;

}

——字符串

字符串

由双引号引起的一窜字符,结束标准是/0的转义字符

char arr[]="bit" 0-b 1-i 2-t 3-'/0' 对应关系 字符串隐藏放了'/0'

char arr[]={'b','i','t'} 0-b 1-i 2-t 无‘/0’ 这样打印后为 bit 和乱码 需要主动放

char arr[]={'b','i','t','/0'}

include <string.h> 搭配长度使用

求长度strlen(arr)‘/0’不计入其中但是结束标志

——转义字符

转义字符

  • 如果想打印/t可以使用反转义/
  • 想打印‘ ’/‘’
  • /ddd 1-3个8进制数字 /130 0*8的0次方加3*8的1次方加1*8的二次方=88对应x 这样算一个字符
  • ‘/180’不能打印,里面8进制不能有8所以构成不了转义字符
  • /xdd dd表示2个16进制数字

ADD(int x, int y)接受a与b

s=ADD(a,b)传递需要处理的数据

——结束语

说实话,感觉这篇文章很烂,没有标准代码片段,没有图片,没有划重点;一对比别人的就感觉差距很大,可能是这些琐碎知识点让我提不起劲的原因,但我会好好学习他们的文章亮点,写出赏心悦目,简洁明了的文章。

不过比起这个,果然我还是更喜欢解题,毕竟我很笨,喜欢转牛角尖。所以如果发布跟解题有关的文章,我会很乐意分享我的榆木脑袋的,希望大家可以指正。

相关文章
|
人工智能
AI大模型初体验
为了实现真正的A,需不断学习以提升能力。
347 3
AI大模型初体验
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
237 2
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
633 2
|
敏捷开发 数据库 微服务
SpringCloud微服务拆分原则
SpringCloud微服务拆分原则
381 2
|
弹性计算 人工智能 自然语言处理
通义万相AIGC快速生成图像体验测评
通义万相AI绘画创作部署与体验。
|
JavaScript 前端开发
使用js,html,css实现歌词滚动的效果
使用js,html,css实现歌词滚动的效果
304 0
|
SQL 机器学习/深度学习 分布式计算
「大数据架构」Spark 3.0发布,重大变化,性能提升18倍
「大数据架构」Spark 3.0发布,重大变化,性能提升18倍
|
存储 对象存储 Python
使用Python脚本快速批量删除OSS Bucket
要用Python删除OSS Bucket,似乎直接调用delete_bucket()方法就可以了。然而,在实际删除时,常常会遇到各种报错。这是因为OSS为了防止误操作,要求在删除Bucket之前必须清空其中的所有数据,包括对象(Objects)、多版本对象(Multi-version Objects)、碎片(Parts)、LiveChannels。针对需要快速批量删除OSS Bucket的场景,本文提供了一个Python脚本,用于先批量清除Bucket中的上述资源,然后再删除Bucket。
564 0