c语言常见概念----

简介: c语言常见概念----

int 代表的是整型,整数都属于整型类型(integer)

Int 表示main函数结束的时候回返回一个整数,return 0

main函数式程序的入口,main有且仅有一个,即是一个项目中有多个.c文件,但只能有一个main函数(因为程序的入口只有一个)

切记不能忘掉main后面的括号

//古老的写法(不推荐)
//void main()
//{
//    printf("hehe\n");
//
//
//}
int main(void)   //这里的void表示main函数无参数
{
    return 0;
}

main函数的位置可以在任意位置,但是如果在主函数之中调用了哪些函数,必须在main函数前对其所调用函数进行生命或包含其被调用函数的头文件。

C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字

define不是关键字,是编译器实现的,用来定义宏的预处理指令,不是C语言中的内容。

int、struct和continue都是C语言中包含的关键字。

当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行,如果没有跟break,会继续执行当前case之后的case分支。

当变量表达式的内容没有与那个case匹配,就会执行default下的内容。

switch中常用的关键字:case 、break、 default,当然case中语句比较复杂时,可能会用if进行判断。

continue是用来结束本次循环的,而switch不是循环,因此其中不能使用continue关键字。

局部变量和全局变量

局部变量:大括内部

全局变量:大括号内部

当全局变量和局部变量数值相同发生冲突时,局部变量优先,不建议将全局变量和局部变量的数值写成一样

全局部变量的作用域是整个工程

创建变量的同时给它一个值,叫做初始化 ,再次改变变量的值叫做赋值

生命周期

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

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

常量(不变的量)

'w';//字符(单引号)
"abc";//字符串(双引号)
 30;
3.14;
const int a = 10;//在C语言中,const修饰的a,本质是变量,但是不能被修改,有常量的属性。
#include<stdio.h>
 
 
 int main()
 {
     const int a = 10;(将a锁定,a只能是10)
     a = 20;
     printf("%d\n",a);
 
     return 0;
 
 }
 #define MAX 100//定义最大值为100(MAX就是define定义的标识符常量)
 
 int main()
 {
 
     printf("%d\n", MAX);
     int a = MAX;//(输出结果中a的大小为100)
     return 0;
 }
//枚举常量
 enum Color
 {
     //枚举常量 
     RED,
     GREEN,
     BLUE,
 };
 
 int main()
 {
     //三原色 
     //RED GREEN BLUE 
     int num = 10;
     enum Color c = RED;
 
     return 0;
 }

字符串

c语言里面没有字符串类型

由双引号引起来的一串字符成为字符串字面值,简称字符串(常量字符串)

字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不作为字符串内容,字符串的末尾隐藏着\0, \0为结束标志 %s 打印字符串

\0是字符串的结束标志

字符串可以存放在字符数组中

%d 打印整型

%c 打印字符

%f 打印float(浮点数)类型的数据

%lf 打印double类型的数据

\n//换行
\0//结束打印 
\?//在书写连续多个问号时使用,防止他们被解析成三个字母词    printf("%s\n", "(are you ok\?\?)"); 
\'//用于表示字符常量'                             printf("%c\n", '\'');//打印单引号
\"//用于表示一个字符串内部的双引号                    printf("\"");
\\//用于表示一个反斜杠,防止它被解释为一个转义序列符printf("abcd\\0ef");前面的斜杠时后面的斜杠一起组成了转义字符,所以后面的斜杠没有和0组合成结束标志,输出结果为abcd\0ef
\a//警告字符,蜂鸣
\b//退格符 
  printf("abcd%bef\n");//结果为abcef
    printf("abcdef\n");//结果为abcdef
对比发现少了d,所以\b的作用是删去前面的一个字符,往前面退一格
 
\f//进纸符
\r//回车  光标移动到同一行的开头
\t//水平制表符
\v//垂直制表符
\ddd//ddd表示1~3~个八进制的数字。比如:\130,表示x,参考ASCII表,将\后的八进制数字转换成十进制数字,八进制里面没有8
\xdd//dd表示2个十六进制数字。如:\x30 0

打印方式

printf("abc");
printf("%s\n","abc");

printf("%d\n", strlen("c:\test\628\test.c"));输出结果为14,因为

\t为一个转义字符

\62为1个转义字符,8进制的范围是0~7,没有8

\t为一个转义字符

注释

 /*
 int main()
 {
 
     printf("%d\n", MAX);
 
     return 0;
 }
*/ 
在代码的首尾添加/*和*/        或者在每行代码前面添加//
  或者全选然后添加/

ASCII码值

小写字母的ASCII码值-32就能得到对应的大写字母的ASCII码值

小写字母的ASCII码值比对应的大写字母的ASCII码值更大的。

1.字符A~Z的ASCII码值从65~90

2.字符a~z的ASCII码值从97~122

3.对应的⼤⼩写字符(a和A)的ASCII码值的差值是32

4.数字字符0~9的ASCII码值从48~57

5.换⾏ \n 的ASCII值是:10

6.在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

1.字符A~Z的ASCII码值从65~90

2.字符a~z的ASCII码值从97~122

3.对应的⼤⼩写字符(a和A)的ASCII码值的差值是32

4.数字字符0~9的ASCII码值从48~57

5.换⾏ \n 的ASCII值是:10

6.在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

printf

printf是库函数,是c语言的标准库中提供的现成的函数

功能:在屏幕上面打印信息

printf=print+format 意思就是按照格式打印信息

%d:打印整数

%c:打印字符

%f:打印小数

%s:打印字符串

双引号括起来的一串字符被称为自字符串

printf("haha\n")//在末尾添加\n 换行
printf("%d\n")//添加%d即为打印整数
printf("%c\n",'p')//打印字符为%c,单引号括起的即为字符

若要使用printf,则需要引入头文件#include

std -standard -标准

i -input --输出

o --output --输出

stdio.h --标准的输入输出头文件

单引号括起来的是字符,只存在'a',不存在'ab'

什么是库函数

库函数的使用要使用对应的头文件

关键字

程序员在创建标识的时候不能和关键字重复

关键字也不是我们自己能创建的

c语言有32个关键字

1.auto break case char const continue default do double else enum   extern
2.float for goto if int long register return short signed sizeof   static
3.struct switch typedef union unsigned void volatile while

c语言的语句分为5大类:

1.空语句

2.表达式语句

3.函数调用语句

4.复合语句

5.控制语句

1.auto break case char const continue default do double else enum   extern
2.float for goto if int long register return short signed sizeof   static
3.struct switch typedef union unsigned void volatile while

控制语句

c语言支持三种结构:顺序结构,选择结构,循环结构

控制语句分为三类

1.条件判断语句也叫分支语句:if语句\switch语句;

2.循环执行语句:do while语句、while语句、for语句;

3.转向语句:break语句、goto语句、continue语句、return语句。

;//一个分号即是一个空语句
  int a = 20;
  int b = 0;
  b = a + 5;//表达式语句
printf("hehe\n");//函数调用语句
{
//成对的大括号中的代码就构成一个代码块,也被称为复合语句
 
}

strlen

strlen (库函数,使用的话需要包含头文件),计算字符串str的长度,直到空结束字符//求字符串长度的函数

'a'//字符(单引号)
 "abc"//字符串(双引号)
  char//字符类型
  char arr1[] = "abcdef";将abcdef存储起来。监视面板有一个'\0'.总共7个字符
  char arr1[] = ['a','b','c','d','e','f'];监视面板只有6个字符,没有\0
  printf("%s\n",arr1);
  printf("%s\n",arr2); 
##arr1字符串里面有\0可以停下来。但是arr2字符串里面没有\0,所以会在存储空间一直解析下去,直到碰到\0才会停止。若在arr2中添加'\0'则arr1=arr2。由此可以知道\0的重要性
int len = strlen("abc");等号后面的将长度算出,然后通过int输出
printf("%d\n",len);再将数据打印出来
 
#include<string.h>//一定要添加的头文件
 
int main()
{
    //char arr1[] = "abcdef";
    //char arr2[] = {'a','b','c','d','e','f'};
    //printf("%d\n",strlen(arr1));//输出结果为6
    //printf("%d\n",strlen(arr2));//输出结果为13。因为arr2里面的字符走了好久才遇到\0,才结束运算,若在arr2中添加字符'0',则arr1长度等于arr2
 
 
 
    int len = strlen("abc");
    printf("%d\n", len);//输出结果为3
 
    return 0;
 
}


相关文章
|
6月前
|
存储 程序员 C语言
C语言(1)----C语言是什么?基本概念介绍
C语言(1)----C语言是什么?基本概念介绍
57 3
|
3月前
|
机器学习/深度学习 C语言
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
要保持最小的步数,每一次汉诺塔问题(无论是最初还是递归过程中的),如果此时初始柱盘子数为偶数,我们第一步是把最上面的盘子移动到中转柱,如果为奇数,我们第一步则是将其移动到目标柱。
73 0
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
|
3月前
|
存储 编译器 程序员
【C语言篇】C语言常见概念
编译时,注释会被替换成⼀个空格,所以min/* 这⾥是注释*/Value会变成min Value,⽽不是minValue。这是C99标准新增的语法。
37 0
|
5月前
|
IDE Unix 编译器
一:《初学C语言》— C语言常见概念
在本篇文章中,详细讲述了C语言的常见概念。意在能够让读者初步了解C语言,为后续C语言的学习做铺垫
123 5
一:《初学C语言》—  C语言常见概念
|
4月前
|
存储 Java 程序员
【C语言入门】C语言入门:探索编程世界的基础概念
【C语言入门】C语言入门:探索编程世界的基础概念
103 2
|
5月前
|
存储 算法 C语言
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
二分查找算法的概念、原理、效率以及使用C语言循环和数组的简单实现
|
5月前
|
存储 自然语言处理 编译器
C语言常见概念
C语言常见概念
|
5月前
|
机器学习/深度学习 算法 C语言
详细介绍递归算法在 C 语言中的应用,包括递归的基本概念、特点、实现方法以及实际应用案例
【6月更文挑战第15天】递归算法在C语言中是强大力量的体现,通过函数调用自身解决复杂问题。递归涉及基本概念如自调用、终止条件及栈空间管理。在C中实现递归需定义递归函数,分解问题并设定停止条件。阶乘和斐波那契数列是经典应用示例,展示了递归的优雅与效率。然而,递归可能导致栈溢出,需注意优化。学习递归深化了对“分而治之”策略的理解。**
106 7
|
6月前
|
Java C语言 C++
从C语言到C++_28(红黑树RedBlackTree)概念+插入接口实现(上)
从C语言到C++_28(红黑树RedBlackTree)概念+插入接口实现
49 4
|
6月前
|
C语言 容器
从C语言到C++_27(AVL树)概念+插入接口实现(四种旋转)(上)
从C语言到C++_27(AVL树)概念+插入接口实现(四种旋转)
46 4