C语言学习(1)

从B站UP主的视频中学到的东西,想记录下来以便自己加深记忆,也欢迎大家观看,其中若有错误,欢迎各位大佬指出来>o<

视频来源如下:

c语言编程 C语言入门 c语言(C语言程序设计教程 c语言视频教程 c语言零基础入门教程 学习c语言 c语言视频教程 c语音 C语言教程 C语言编程项目 C语言_哔哩哔哩_bilibili

1、简单代码中的基本框架

#include<stdio.h> //包含一个叫stdio.h的文件,后面用到C语言所提供的函数printf(),所以说要添加include声明一下
//std--标准  stamdard input output
//int 是整型的意思
//main前面的int表示main函数调用返回一个整型值 
int main ()  //main 主函数 -程序的入口,从这里开始执行;有且仅有一个 
{
	//这里写入任务 
	printf("hello world\n");//printf--打印函数--库函数(C语言本身提供的函数)
	//   \n表示换行.
	return 0; //返回 0  
}

2、C语言中中数据类型和全局变量、局部变量

数据类型:char--字符数据类型;short--短整型;int-整型;long--长整型;long long--更长的整型;float--单精度浮点数(用来存放小数);double--双精度浮点数。其中不同数据类型其在电脑中所占用的空间也不一样。下面一段代码可以求出不同数据类型在计算机所占用的空间,利用printf("%d/n",sizeof(...))。

全局变量与局部变量:全局变量是在代码块{}外部定义的变量,在整个工程中都可以使用;局部变量是在代码块{}内定义的变量,仅在代码块内使用。同时局部变量与全局变量的名字最好不要相同,容易产生误会。如果局部变量与全局变量的名字相同时,在使用该变量名时,局部变量赋予的值优先使用。

局部变量的作用域可理解为其所在代码块的这一整个地方,其生命周期也就是其代码块运行这段时间。全局变量的作用域是整个工程,其生命周期为整个工程的运行时间。

#include<stdio.h>
int num2=20; //全局变量--定义在代码块{}之外的变量称为全局变量 
int a=100;
int main()
{
	printf("%d\n",sizeof(char)); //1;一个字节--计算机中单位:bit(比特位)、byte(字节)、kb、mb、gb、、
	// 一个比特位存放1/0;一个字节8个比特位 
	 
	printf("%d\n",sizeof(short));//2 
	printf("%d\n",sizeof(int));//4
	printf("%d\n",sizeof(long));//4
	printf("%d\n",sizeof(long long));//8
	printf("%d\n",sizeof(float));//4
	printf("%d\n",sizeof(double));//8
    short age =20;//向内存申请2个字节=16bit位,用来存放20;
	float weight=95.6f;//默认95.6为双精度浮点数 
	int num1=10; //局部变量 --定义在代码块{}内的变量称为局部变量 
	int a=10; //局部变量和全局变量的名字建议不要相同,容易产生误会,产生bug
	// 当全局变量与局部变量相同时,局部变量优先 
	//局部变量只能在其代码块内使用 
	printf("%d\n",a);
	return 0;
}
//在代码中\n表示换行的意思,sizeof()是求出括号内数据的长度。

例如以下代码:给变量赋值,并求解二者之和。在该代码中涉及到scanf函数,是一个输入函数,即通过该函数可以用键盘给变量赋值。&取地址符号的意思是函数scanf并不是直接读取你所赋予的值,而是读取你所赋值的变量所在计算机中的地址,提取地址中存取的数值。

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

3、常量

常量有四种,字面常量、常属性常量、标识符常量、枚举常量

数字2、5、7等就是属于字面常量;用const修饰的变量,该变量被赋予一定值,则该变量属于一个常变量。其值就无法改变,若是重新给该变量赋值则会报错。但是由于该常变量本质还是变量,所以不可以当做常量使用。

//常量
#include<stdio.h>
int main()
{
    //const-常属性 
    //const修饰的常变量 
	const int num=4;
	// 3 直接写出一个数字为字面常量 
	printf("%d\n",num);
	//num=8;
	printf("%d\n",num);
	const int n=10;//n是变量,但又有常属性,所以n为常变量;当作为常量的时候是不允许使用的 
	int arr[n]={0};//这种写法是错误的
	return 0;
 } 

 标识符常量:define定义的常量如下面代码中MAX;枚举常量--enum。

//define 定义的标识符常量 
#include<stdio.h>
#define MAX 10 
    //4.枚举常量
    //枚举关键-enum
	enum Sex 
	{
		MALE,
		FEMALE,//枚举常量 
		SECRET
	} ;//枚举常量的结构
int main()
{
    int arr[MAX]={0};//初始化数组 
    printf("%d\n",MAX);
    //enum Sex s=FEMALE;//定义变量s为FEMALE,其中s可自己重新赋值,但是MALE、FEMALE等是不允许改变的。
    printf("%d\n",MALE);//0是默认值,枚举常量中,常量代表的值一般默认为0,1,2,3,,,
    printf("%d\n",FEMALE);//1是默认值 
    printf("%d\n",SECRET);//2是默认值 
	return 0;
 } 

4、字符串

 C语言中用双引号引起来的一串字符表示字符串。一般用数组来存储字符串,字符串中除却已有的字符之外还包含\0---是字符串结束的标志,隐藏在末尾,不占用字符长度也不具有含义。

转义字符:“\”,转变其原来的意思。如“abcn”表示字符abcn,但是“abc\n”表示字符abc加换行。其中转义字符为一个字符如\32与\t等。值得注意的是格式为\dd的字符d为8进制数值,将dd转换成十进制的数值,在ASCII码表中所对应的字符串就是\32所对应的字符串。格式\xdd中d为16进制的数字,同样其字符串也是按上面方法得到。

#include<stdio.h>
#include<string.h> 
int main()
{
	//C语言怎么表示字符串:由双引号引起的一串字符
	char arr1[]="abc";//数组存储字符串
	//'abc'中含有a,b,c,\0;其中\0-字符串的结束标志,隐藏在末尾只是标志,不具有含义 

	char arr2[]={'a','b','c',0} ;
	printf("%s\n",arr1);//结果为abc,即里面有三个字符。
	printf("%s\n",arr2);//结果也为abc. %s表示字符
    //char arr3[]={'a','b','c'};
    //printf("%s\n",arr3);//得到的是一个随机数,因为abc之后没有\0,是随机出现的字符,如果恰好遇到 
                             \0就停止,如果没遇到继续读下去直到遇到\0。
	//转义字符:转变原来的意思
	// '\'是转义字符 如将\t前加\不保持其原样,表示为水平制表符 
	//\t--水平制表符 
	//printf("abc") 
	printf("abc\n") ;
	printf("c:\\test\\32\\test.c\n");
	printf("%s\n","\"") ;//打印单个双引号,避免将前面两个双引号解析成一对。
	printf("%d\n",strlen("c:\test\32\test.c"));// \32也是是一个转义字符
	// \dd为一个字符,为转义字符中dd表示8进制的数值,如/32中32为2个八进制的数字所代表的十进制数字值,为ASCII码值,对应的字符串
	//  \xdd 也是一个字符,为转义字符,dd为16进制对应的数值 
	return 0;
 } 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值