初识C语言
什么是C语言?
它是一门计算机语言。
什么是计算机语言
它是人和计算机交流的语言
C / C++ / JAVA / python
C语言的发展
略~~~
C语言的基本代码
#include <stdio.h>
包含一个叫stdio.h的文件
std--标准 standard input output
int main() **主函数——程序的入口,只有一个**
{
**库函数——C语言本身提供使用的函数,**
**要和#include打招呼**
printf("hello world");
return 0;
}
数据类型
int //整型
char //字符数据类型
short //短整型
long //长整型
long long //更长的整型
float //单精度浮点数
double //双精度浮点数
%d——打印整型
%c——打印字符
%f——打印浮点数字——即小数
%lf——打印浮点数字
%p——以地址的形式打印
%x——打印16进制数字
……
各个类型字节的长度
最大值、最小值
在#include存有各个类型的最大值和最小值
表示 | 类型 |
---|---|
CHAR_MIN | char的最小值 |
SCHAR_MAX | signed char 最大值 |
SCHAR_MIN | signed char 最小值 |
UCHAR_MAX | unsigned char 最大值 |
SHRT_MAX | short 最大值 |
SHRT_MIN | short 最小值 |
USHRT_MAX | unsigned short 最大值 |
INT_MAX | int 最大值 |
INT_MIN | int 最小值 |
UINT_MAX | unsigned int 最大值 |
UINT_MIN | unsigned int 最小值 |
LONG_MAX | long最大值 |
LONG_MIN | long最小值 |
ULONG_MAX | -unsigned long 最大值 |
FLT_MANT_DIG | float 类型的尾数 |
FLT_DIG | float 类型的最少有效数字位数 |
FLT_MIN_10_EXP | 带有全部有效数的float类型的负指数的最小值(以10为底) |
FLT_MAX_10_EXP | float类型的正指数的最大值(以10为底) |
FLT_MIN | 保留全部精度的float类型正数最小值 |
FLT_MAX | float类型正数最大值 |
变量 常量
局部变量、全局变量
当局部变量和全局变量的名字相同时,局部变量优先
scanf是C语言提供的,
scanf_s不是C语言提供的,VS编译器提供的。
常量
常量有以下几种:
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
1.字面常量
#include <stdio.h>
int main()
{
int a,b;
//字面常量
3;
3.14;
}
2.const修饰的常变量
#include <stdio.h>
int main()
{
//常属性
//const修饰的常变量,第一个a不可以改变
const int a=3;
printf("%d\n",a);
a=4;
printf("%d\n",a);
}
3.#define定义的标识符常量
#include <stdio.h>
//#define定义的标识符常量
#define MAX 10
int main()
{
int arr[10]={0};
printf("%d",MAX);
}
4.枚举常量
#include <stdio.h>
//枚举常量
//枚举----一一列举
//
//性别:男、女、保密
//星期:1、2、3、4、5、6、7
//枚举关键: enum
enum Sex
{
MALE,
FEMALE,
SECRET
};
//MALE FEMALE SECRET ------枚举常量
int main()
{
enum Sex s=MALE;
int arr[10]={0};
printf("%d",MAX);
}
~~还不完整~~
字符串
由双引号” “ 引起的字符串
”abcde"
" " //这是空字符串
看注释:
#include <stdio.h>
int main()
{
char arr[]="abc"; 把字符串放进数组中
printf("%s",arr);
}
#include <stdio.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c',0};// 添加 0 或 '\0' 都可以(ASCII),'\0'是字符串结束的标志,不作为内容
printf("%s\n",arr1);
printf("%s\n",arr2);
}
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c',0};// 添加 0 或 '\0' 都可以(ASCII),'\0'是字符串结束的标志,不作为内容
printf("%d\n",strlen(arr1));
//strlen---string lenth 计算字符串的长度
printf("%d\n",strlen(arr2));
}
转义字符
转义字符是一种以’‘开头的字符。例如退格符用’\b’表示,换行符用’\n’表示。转义字符中的’‘表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符.
转义字符以反斜杠’'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
转义字符 | 转义字符 |
---|---|
\a | 响铃(BEL) |
\b | 退格(BS) ,将当前位置移到前一列 |
\f | 换页(FF),将当前位置移到下页开头 |
\n | 换行(LF) ,将当前位置移到下一行开头 |
\r | 回车(CR) ,将当前位置移到本行开头 |
\t | 水平制表(HT) (跳到下一个TAB位置) |
\v | 垂直制表(VT) |
\ | 代表一个反斜线字符’’ |
\’ | 代表一个单引号(撇号)字符 |
\" | 代表一个双引号字符 |
\0 | 空字符(NULL) |
\ddd | 1到3位八进制数所代表的任意字符 三位八进制 |
\xhh | 1到2位十六进制所代表的任意字符 二位十六进制 |
转义字符’\‘代表的反斜杠’’、转义字符’\’’代表的字符’’‘和转义字符’"‘代表的字符’"’,其本身就是可显示字符,为什么还要对它转义呢?这是因为它们的原有的字符形式已作它用,其中单引号用作区分字符常量的括号,双引号用作区分字符串(下面将要介绍字符串)的括号,而反斜杠本身已用来表示转义字符的开头,因此必须对它们用转义字符重新声明。
使用转义字符时需要注意以下问题: 1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2)\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。
3)在C程序中,使用不可打印字符时,通常用转义字符表示。
4)转义字符’\0’表示空字符NULL,它的值是0。而字符’0’的ASCII码值是48。因此,空字符’\0’不是字符0。另外,空字符不等于空格字符,空格字符的ASCII码值为32而不是0。编程序时,读者应当区别清楚。
5) 如果反斜线之后的字符和它不构成转义字符,则’\’不起转义作用将被忽略。
原文链接:https://blog.csdn.net/ce123_zhouwei/article/details/9074121
注释
//
/……/