【C语言基础】C语言常见概念(知识点)

C语言的发展:

二进制语言(0,1)===>汇编语言(借助助记符)===>B语言===>C语言===>Unix系统使用C重写(高级语言)

 (美国)国际标准ANSI C --C89/C99    

C语言是计算机语言

自然语言:人和人交流的语言 汉语/英语/法语等

计算机语言:人和计算机交流的语言   比如C/C++/JAVA/Python等

人通过计算机语言写的程序,给计算机下达指令,让计算机工作


C语言是编译性语言

源代码是文本文件,需编译器(翻译)+   链接器(链接)===>  二进制可执行文件

(计算机只能识别二进制指令)

编译:.c文件==>.exe文件==>.obj文件

链接:.obj文件==>Link.exe文件——>可执行文件

编译器:msvc,clang,gcc等

IDE(集成开发环境),集成代码的编写,分析,编译,调试等功能为一体

例如:VS(集成MSVC) , XCode(苹果,集成clang),DevC++(集成gcc)等

VScode:  编辑器,装插件,搭建C/C++开发环境

C语言基本结构

int main()
{

	return 0;
}

main函数(主函数)

1.程序的入口,C语言程序从main函数的第一行开始执行

2. 一个项目中只能有1个main函数 

3.main函数可以有参数   

第一个C语言程序

#include<stdio.h>//包含一个标准的输入输出的头文件
int main()
{
	printf("Hello world!");//输出语句
	return 0;
}

printf        

 1. printf(Print-format):  按照格式打印信息

  2.是C语言的标准库中提供的现成的函数

  3.是库函数,使用要包含头文件

    文件中所有 需要输入输出的都要包含该头文件

#include<stdio.h>//包含一个标准的输入输出的头文件

stdio理解:      std  -- standerd标准               i--input输入            o--output输出 

说明:(1)双引号 " " 用于表示字符串 

          (2)单引号 ' ' 用于表示字符 ,如:'a' , '@'   ,错误示范:  'ab'

库函数

函数:1.函数名、参数、返回类型

           2.函数功能

C语言标准规定了一组函数,不同编译器厂商根据标准进行实现,提供给程序员使用

库函数的使用要包含头文件一系列的库函数一般会声明在同一个头文件中

保留字/关键字

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

2.不能自己创建,不能与自己创建的标志符重复

占位符

%d 打印整数         %c 打印字符 

 %s打印字符串     %p打印地址

%f 打印小数 (默认打印小数点后6位)

……

ASCII编码

1.计算机中所有数据都是以二进制形式存储

2.编码:给每个字符编一个二进制序列

ASCII编码:(1)128个字符,0~127

                      (2)a:97       A : 65   对应大小写字符ASCLL码值相差32

                      (3)数字字符0~9:48~57

                         (4)  \n :10        32是空格

3.  32~127可以从屏幕上打印出来,0~3132个字符无法打印在屏幕上观察

4.  字符的本质是ASCLL码值

int main()
{
	printf("%c\n", 'a');//输出结果  a
	printf("%c\n", 97);//          a
	printf("%d\n",'a');//          97
	return 0;
}

5. 如何打印32~127 之间的字符(可见字符)

int main()
{
	for (int i = 32; i < 127; i++)
	{
		printf("%c  ", i);
	}
	return 0;
}
//结果:
//   !  "  #  $  %  &  '  (  )  *  +  ,  -  .  
// /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
//   @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P 
//  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  
// c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t 
//  u  v  w  x  y  z  {  |  }  ~

字符串

1. " " 双引号引起来的多个字符 ("  "里可以只放一个字符)

2.可以存放在字符数组中

3.打印字符串  %s

4. \0 (1)是一个字符

        (2)在字符串末尾隐藏,是字符串结束的标志

        (3)printf(打印) , strlen(计算字符串长度)遇到\0就停止

int main()
{
	char arr1[] = "abcde";//有\0
	char arr2[] = { 'a','b','c','d','e' };//无\0
	char arr3[] = { 'a','b','c','d','e','\0'};
	printf("%s\n", arr1);//abcde
	printf("%s\n", arr2);//abcde+一直打印乱码,直到遇到\0,停止打印
	printf("%s\n", arr3);//abcde
	return 0;
}

strlen(求字符串的长度)

1.是库函数,要包含头文件   string.h   

2.返回的值是size_t类型的,应该使用%zd 

3.统计字符串\0之前的字符个数

#include<string.h>
int main()
{
	char arr1[] = "abcdef";
	char arr2[] = { 'a','b','c','d','e','f' };
	printf("%zd\n", strlen(arr1));//6
	printf("%zd\n", strlen(arr2));//随机数  没有\0就一直往后找,直到遇到\0停止
	char arr3[] = { 'a','b','c','d','e','f','\0' };
	printf("%d\n", strlen(arr3));//6
	return 0;
}

转义字符 

\  加一个字符:改变原来字符的意思

1.\n换行符     \r光标回到同一行的开头

2.\'表示单引号     \"表示双引号     \\ 表示 \

//打印c:\test\bit
printf("c:\\test\\bit\n");

3.\a 报警(报警声,闪烁)

4.\b光标回退1个字符,若后面还有字符则删除回退的那个字符

                                     若后面 没有字符,则不删除

printf("abcabc\n");//abcabc
printf("abca\bc\n");//abcc 回退一个字符并删除
printf("abca\b\n");//abca 回退一个字符,不删除

5.  \t制表符(不是固定长度)

   若够8个字符 就按8个字符对齐,若不够8个字符 就用空格补齐

printf("a\tbcdef\tdef\tcc");
//输出结果为a       bcdef   def     cc

 \ddd  (ddd表示1~3个八进制数字)将\后的8进制数字转换成10进制数字

printf("%c\n",'\130');//X
printf("%c\n",'\77');//?

\xdd  ,dd表示2个十六进制的数字 

printf("%c\n", '\x55');//U

\0 空字符,没有内容,ASCLL码值为0 

语句

1.空语句:一条语句中只有一个分号就是一条空语句

2.表达式语句

int b = 5;
int a = b + 2;//表达式语句

3.函数调用语句

printf("abc\n");//函数调用语句  调用printf函数
int res = Add(a,b);//函数调用语句  调用Add函数

4.复合语句    代码块,可由多条语句构成

for (int i = 0; i < 5; i++)
{
	printf("abcccc");
	printf("cccabc");
}

其中 { }里的代码就是代码块 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值