C语言入门

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

        这是本人第一次写博客,也是第一次开始正式的学习C语言,每个人不管做什么,开始时必然是小菜坤,所以我希望能通过写博客来见证新一代编程大神的成长之路!加油!

       本文是对C语言编程最基本的概念开始,逐步加深对C语言的理解。


一、数据类型

1.字符数据类型  char

2.短整型             short 

3.整型                 int

4.长/更长整型     long/long long

5.单精度浮点数  float

6.双精度浮点数  double

%d----打印整型        %c----打印字符       %f----打印浮点数字(小数)

%p----以地址的形式打印                         %x----打印16进制的数字

二、变量

1.全局变量

定义:全局变量是定义在代码块({})之外的变量

代码如下(示例):

#include <stdio.h>

int a = 100;
int main()
{
	printf("%d\n", a);
	return 0;
}

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

#include <stdio.h>

int global = 2020;//全局变量的作用域
void test()//定义一个test函数
{
	printf("test()--%d\n", global);
}
int main()
{
	test();//调用test函数
	printf("%d\n", global);
	return 0;
}

2.局部变量

定义:局部变量是定义在代码块({})内部的变量

#include<stdio.h>

int main()
{
    int a = 100;
	printf("%d\n", a);
	return 0;
}

 局部变量的作用域是变量所在的局部范围

#include <stdio.h>
int main()
{
	//int num = 0;//此局部变量的作用域也在{}之内,看printf的位置
	{
		int num = 0;
		printf("num=%d\n", num);
	}
	return 0;
}

变量名字不相同时(局部变量优先显示)

int a = 100;     /*全局变量*/
int main()
{
	int b = 10;    /*局部变量*/
	printf("%d\n", b);
	return 0;
}

变量名字相同时(局部变量优先显示)

int a = 100;
int main()
{
	int a = 10;
	printf("%d\n", a);
	return 0;
}

注:建议二者不要用相同的名字,会产生bug

3.变量的使用

计算两个数的和

#include<stdio.h>
int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = 0;//C语言规定变量要定义在代码块的最前面
	scanf("%d%d", &num1, &num2);//输入数据-使用输入函数scanf。取地址符号&
	sum = num1 + num2;
	printf("sum=%d\n", sum);
	return 0;
}

三、常量

1.字面常量

直观写出来的值:3;20;3.14等等。

2.const修饰的常变量

代码如下(示例):

int main()
{
	//const常属性
	const int num = 1;//const修饰了常变量num后,之后的num变量都不会改变一直是1
	printf("%d\n", num);
	int num = 2;
	printf("%d\n", num);
	return 0;
}

此程序最终会执行失败,因为num之间用const修饰,只能是4,打印不出来8

3.#define定义的标识符常量

代码如下(示例):

#define MAX 10//定义的标识符常量
int main()
{
	int arr[MAX] = { 0 };
	printf("%d\n", MAX);
	return 0;
}

4.枚举常量(枚举关键:enum)

代码如下(示例):

enum Sex   //enum是枚举关键
{
	MALE,
	FEMALE,
	SECRET
};         //MALE,FEMALE,SECRET是枚举常量
int main()
{
	/*enum Sex s = MALE;
	printf("%d\n", s);*/
	printf("%d\n", MALE); //0
	printf("%d\n", FEMALE);//1
	printf("%d\n", SECRET); //2
	return 0;
}

四、字符串+转义字符+注释

1.字符串类型

int main()
{
	"abcde";
	"hello bit";//双引号引起来的就是字符串
	"";//空字符串
	return 0;
}

int main()
{
	char arr1[] = "abc";//字符串abc放到数组arr1里面
	//"abc"--'a','b','c','\0'---'\0'是字符串结束的标志
	char arr2[] = { 'a', 'b', 'c', '\0' };//三个字符a,b,c放到数组里面,最后加个结束标志'\0'
	printf("%s\n", arr1);//打印字符串用s
	printf("%s\n", arr2);
	return 0;
}

int main()
{
	char arr1[] = "abc";
	char arr2[] = { 'a', 'b', 'c', '\0' };
	printf("%d\n",strlen(arr1));//strlen--string length;计算字符串长度的意思
	printf("%d\n", strlen(arr2));
	return 0;
}
这种由双引号( Double Quote )引起来的一串字符称为字符串字面值( String Literal ),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

2. 转义字符

转义字符
释义
\?
在书写连续多个问号时使用,防止他们被解析成三字母词
\'
用于表示字符常量
\"
用于表示一个字符串内部的双引号
\\
用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a
警告字符,蜂鸣
\b
退格符
\f
进纸符
\n
换行
\r
回车
\t
水平制表符
\v
垂直制表符
\ddd
ddd 表示 1~3 个八进制的数字。如:\130 X
\xdd
dd 表示 2个十六进制数字。如:\x30 0

示例:\t 水平制表符

int main()
{
	printf("c:\test\32\test.c");//此时的打印结果会受到\t水平制表符的影响。
	return 0;
}

若想要达到括号里的效果,则需要再加一个 \ 即可,即:

int main()
{
	printf("c:\\test\\32\\test.c");//‘\\’用于表示一个‘\'的意思
	return 0;
}

\'  和  \"  示例:

int main()
{
	printf("%c\n", '\'');//\'用于表示字符常量’
	printf("%s\n", "\"");//\"用于表示字符串内部的双引号"
	return 0;
}

 \ddd转义字符示例: 

int main()
{
	printf("%d\n",strlen("c:\test\32\test.c"));//32的十进制是26,26对应的ASCII码值是‘➡’
	printf("%c\n", '\132');//132的十进制是90,90对应的ASCII码值是‘Z’
	return 0;
}

  \xdd转义字符 示例:

int main()
{
	printf("%c\n", '\x61');//61的十进制是97,97的ASCII码值是‘a’
	return 0;
}

3.注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
注释有两种风格:
                           C 语言风格的注释 /*xxxxxx*/
                            缺陷:不能嵌套注释
                           C++ 风格的注释 //xxxxxxxx
                           可以注释一行也可以注释多行

五、选择语句

简单示例代码如下:

int main()
{
	int input = 0;
	printf("加入比特\n");
	printf("你会好好学习吗?(1/0)>:");
	scanf("%d", &input);
	if (input == 0)
		printf("卖红薯\n");
	else
		printf("好offer\n");
	return 0;
}

int main()
{
	int line = 0;
	printf("加入比特\n"); 
	while (line < 20000)
	{
		printf("敲一行代码:%d\n", line);
		line++;
	}
	if (line >= 20000)
		printf("好offer\n");
	return 0;
}

总结

这些都是基础的C语言,多多复习,加强记忆。念念不忘,必有回响!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值