【C语言】第一讲 基础概念

一、了解C语言

1.人与计算机—— 计算机语言
2. 编译型计算机语言
- 源代码是文本文件(本身无法执行),编译器翻译+链接器链接→二进制可执行文件

二、编译器

1. 编译和链接

编译器cl.exe
链接器link.exe
链接器link.exe
源文件.c
目标文件.obj
可执行程序.exe
库文件

2. 编译器分类

集成开发环境(IDE):提供开发环境。工具(代码编辑器、编译器、调试器、图形用户界面)和功能(代码编写、分析、编译、调试)齐全。

  • 常见:VS、XCode、CodeBlocks、DevC++、Clion…
  • VS2022
    • 优点
      • 主流
      • 功能强大
      • 人机交互友好
    • 缺点
      • 占空间

三、main函数(主函数)

  1. main函数开始执行,是程序的入口
  2. int+main→返回整型类型值——对应return 0
  3. 有且仅有一个 main函数,即便有多个.c文件

四、printf、库函数

1. printf——库函数,打印结果

  • 占位符%c %d %f
int z = 1201;
printf("%c\n",n);//字符型
printf("%d\n",n);//整型
printf("%f\n",n);//单精度浮点型
printf("%lf\n",n);//双精度浮点型
printf("%s\n",n);//字符串
  • 需要包含的头文件stdio.h
#include <stdio.h>

2. 库函数

一组函数
C语言标准
编译器厂商A
库函数
  • 同一系列的库函数声明在同一个头文件,库函数使用时要包含对应头文件

库函数strlen

  • 引用#include <string.h>
  • 求字符串长度时,\0不算一个字符位
len=strlen("%d\n","abcde");   //错误,打印出是len的长度3
len = strlen("abcde");  //内存中真正保存的是abcde\0
printf("%d\n",len);    //打印出的数值是5,不包含\0
  • 转义字符占一个字符长串
len=strlen("abc\t");  //长度为4,不包含\0,且\t为一个字符(转义字符)

【辨析】strlen和sizeof
sizeof是关键字
sizeof计算变量长度

五、关键字

保留名字的符号

  • 标识符不可和关键字重复
  • 自己不能创建关键字

1. 常见关键字

auto break case char const continue default do double else enum extern float 
for goto if int long register return short signed sizeof struct switch typedef 
union unsigned void volatile while inline restrict _Bool _Comploex _Imaginary

六、字符、ASCII编码

1. ASCII编码的特殊数据

  • A ~ Z :65 ~ 90
  • a ~ z :97 ~ 122
  • 大小写字符(a和A)ASCII码值差值:32
  • 数字字符 0 ~ 9:48 ~ 57
  • \n :10
  • 前32个字符(0 ~ 31)是不可打印字符

2. 字符打印

(1)字符引用单引号

printf("%c\n", 'q');//打印q,不可去掉单引号
printf("%c\n", 113);//打印q,q的ASCII码值是113

(2)数字字符也用%c打印

printf("%c\n", '3');//打印3,不可去掉单引号
printf("%c\n", 51);//打印3,3的ASCII码值是51

七、字符串和\0

1. 字符串

  • 双引号括起来
printf ("%s\n","abcde");   //%s打印,用""括起来
printf("abcde");   //直接打印

2. 结束字符

  • "abcde"末尾藏着\0,是结束的标志

printf()打印字符串

char arr1[]={'a','b','c','d','e'};  //报错,没有结束标志
char arr2[]={'a','b','c','d','e','\0'};  //printf打印出abcde
char arr3[]="abcde";  //隐藏着\0

strlen()计算字符串长度

八、转义字符

1.常见转义字符

  • ?:解决老编译器上三个问号
  • ’ :字符常量 ’
  • ":字符串内部双引号
  • \\:字符\
  • \a:警报,发出声音
  • \b:回退一个字符但不删除(相当于删格)
  • \f :换页符,现在相当于\v
  • \n:换行符
  • \r :回车符,光标移到同一行开头
  • \t :制表符(对齐)
  • \v:垂直分隔符,下一行的同一列
  • \ddd:ddd表示1~3个八进制数字(\130即字符X)
  • \xdd:dd表示2个十六至数字(\x30即字符0)

\0:字符串的结束标志ASCII码值是0,属于\ddd的一种

九、语句和语句分类

1. 空语句

  • 一个分号就是一条空语句
  • 空语句跟没有语句性质完全不同

2. 表达式语句

3. 函数调用语句

4. 复合语句

即代码块

5. 控制语句

  • 控制程序的执行流程,实现顺序、选择、循环结构

(1)条件判断语句(分支语句)

if、switch语句

(2)循环执行语句

do while、while、for语句

(3)转向语句

break、goto、continue、return语句

十、注释

  • /* … */ 形式——代码块、代码行
  • // 形式——代码行
  • 两种注释符号放在双引号里都失去注释作用
  • 注释会被替换成空格
min/*注释*/Value,即min Value,而不是minValue
  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值