C语言小课堂开课啦

学习C语言的这两年会是你人生中最宝贵的三年,最重要的是不要把这五年浪费掉,让这七年深深的影响自己的一生......咳咳,少年,快来和C语言签订契约吧!

主线任务:敲下第一个C语言程序,打开异世界之门。

1.第一个C语言程序

ps:编译+运行:CTRL+F5或者Fn+CTRL+F5

哇哦,爆率超高的!

你似乎触发了新任务?

新任务:收集散落知识点淬炼你的第一把法器

2.由第一个C语言程序辐射出的一切

(0)C语言

xxx.c  C语言源文件

xxx.h  头文件

(1)头文件

<stdio.h>          函数printf、scanf前用

<stdbool.h>       _Bool

<string.h>        strlen

<windows.h>   sleep

(2)关键字

有特殊意义,保留给C语言使用

自己在创建标识符时不能和关键字重复

关键字不可自己创建

eg: int  if  return  auto  break  case  char  continue  default  do  double  else  enum  ex  float  for  goto  long  register  return  short  signed  sizeof  struct  switch  typedef  union  unsigned  void  volatile  while

(3)主函数

main函数,有且仅有1个。

main函数是程序入口,main前int表示main函数执行结束的时候返回一个整型类型的值。所以在main函数的最后写return 0;呼应

(4)库函数
printf 

#1.将参数文本输出到屏幕。

#2.f表示format(格式化),表示可以定制输出文本的格式  。

     1*限定宽度 

      规定至少多少位

      - 左对齐,(+)左对齐   //系统默认左对齐,但是在限定宽度的情况下如果宽度足够,右对齐

 

        小数呢?

 

ps:小数默认显示精度是小数点后6位 

    2*限定正负

     +%d or -%d 可显示正或负

    3*限定小数位数

     %.2f  可显示小数点后2位


*知识碎片掉落,是否拾取?*

限定宽度与限定小数位数可以结合使用

传参可以用 *

*你已拥有该碎片x1*


     4*输入部分字符串

%.m 表示从开始到第m个

#3.不会再行尾自动添加换行符,运行结束后,光标就停在输出停止的地方,不会自动换行。

scanf 

#1.读取用户键盘的输入 ,需要用到& (例外:arr本来就是取地址,无需&)

#2.程序运行到scanf()时会停下来,等用户从键盘输入

#3.scanf()需要提前知道数据类型


*知识碎片掉落*

&   取地址操作符

*你已拥有该碎片x1*


ps:若报错,使用scanf_s或在第一行使用#define _CRT_SECURE_NO_WARNINGS 1

但是,scanf_s是VS特有的,可移植性低,不建议使用。


*知识点掉落:如何一直拥有#define _CRT_SECURE_NO_WARNINGS 1 *

已知,在VS上新建文件时,都是拷贝newc++file.cpp;所以若在newc++file.cpp文件第一行加上,以后新建的文件中就都有这句代码

使用小工具everything,在里面搜索newc++file.cpp,找到安装路径,打开,拷贝至桌面上,用记事本打开,加上这句代码,保存,再拷贝回去。

*你已拥有该碎片x1*


#4.可多个占位符

#5.处理占位符时,会自动过滤空白字符,包括空格 、制表符、换行符等

例如:输入      -13.55e12#06

天呐!你召唤出了scanf()之神

你似乎听见了什么?

似乎是它在喃喃:

......先找int再找float......空格,忽略(闪),-,好,1,好,3,好,.,嗯,嗯?.之后那可不能是int了;

找完int,开始找float,5,好,5,好,e,嗯?哦!原来按照科学计数法,.55e12是0.55x10的12次方的意思,这个可以读取;

#?那不行,读不了了,下班下班......

#6.返回值

一个整数,表示成功读取的变量个数;如果没有读取任何项,或者匹配失败,则返回0,发生读取失败或者遇到读取到文件结尾,则返回EOF

ps:CTRL+Z=^Z

ps: 注意格式一致,即scanf()中若为"%d %d %d",则在输入时也要空格,若"%d,%d,%d",则在输入时也要输,

#7.赋值忽略符

//忽略格式

赋值忽略符*,只要把*加在任何占位符的%后,该占位符就不会返回值,解析后被丢弃。

 

strlen 

统计字符串中\0之前的字符个数,不包括\0

(5)占位符

所谓“占位符”,就是这个位置可以用其它值代入

例如:

常见占位符:

%s  字符串


//scanf()中从当前第一个非空字符开始读取,直到遇到空白字符(空格、换行符、制表符等)为止;

%[m]s 可指定字符串最大长度;


%c  字符   


  //scanf()中除%c外,都会自动忽略其首的空格

而当%c前多了个空格 

  


%hd  short

%d  数 int         +%d可以保证显示正负号

%u  unsigned int

%f  小数 float    

%lf  double

%p  指针(地址)

(6)转义字符

\n  换行

\0  结束;字符串末尾隐藏\0

\? 连续书写多个问号时记得在前加\防止被解析成三字母词

\'  表示字符常量'

 

\"  表示一个字符串内部的双引号

 \\  表示一个反斜杠

\a  警报,终端发出警报声或闪烁,或两者并发

\b 退格键,光标回退一个字符,但不删除字符

ps:字符串末尾有\0,会覆盖 

\f  换页符=\v

\v  垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列

\r  回车符,光标回到同一行开头

\t  制表符,光标移到下一个水平制表位,通常是下一个8的倍数

\ddd  ddd表示1~3个八进制数  eg:\130表X

八进制的130是十进制的88,根据ASCII码表,88对应的是大写X

\xdd  dd表示2个十六进制数  eg:\x30表0

ps:小写的x

(7)ASCII码值

①A~Z :  65~90

②a~z : 97~122

③a-A == 32

④0~9 : 48~57

⑤\n : 10

⑥0~31这32个字符为不可打印字符

补充:1.表达式语句后边要加分号;

        2.CTRL+K+C 注释选中

        3.CTRL+K+U 注释取消

继续新的旅途吧!

  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值