元小白(猿小白)进阶日记:二 ( C基础的大概了解)

今天了解了***输出函数、数据类型、变量类型、枚举、字符串***以及转义字符五个小块。

1、输出

#define _CRT_SECURE_NO_WARNLNGS 1*//用于输入函数,scanf(),若没有此步骤,将会有警告。*
#include <stdio.h>
#include <stdlib.h>*//用system需要引用的头文件。可以用Ctrl+F5代替。*
int main()*//主函数,程序的入口。一个程序只能有一个main()函数。*
{
	int age = 0;
	scanf("%d", &age);
	printf("%d\n",age);
	printf("hehe\n");
	system("pause");*//用于暂停程序,查看结果*
	return 0;
}

2、数据类型

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
	printf("%d\n", sizeof(char));*//1字节*
	printf("%d\n", sizeof(short));*//2字节*
	printf("%d\n", sizeof(int));*//4字节*
	printf("%d\n", sizeof(long));*//4字节或8字节*
	printf("%d\n", sizeof(long long));*//8字节*
	printf("%d\n", sizeof(float));*//4字节*
	printf("%d\n", sizeof(double));*//8字节*
	system("pause");
	return 0;
}

/* 存储最小单位是: bit 比特 1/0
byte 字节 8个比特位
kb(1024个字节) mb(1024个kb) gb(1024个mb) tb(1024个gb) pb(1024个tb),
*/

3、变量和常量

1、定义

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include <stdlib.h>
int c= 20;*//全局变量,全局变量不仅可用于此程序,也可以用于此程序所在项目文件中的程序。用extern int c;引用。*
int a = 40;*//当全局变量和局部变量名相同,运行起冲突时,遵循局部优先的规则。所以输出的a=20.*
int main()
{	
	int a = 10;*//局部变量,//a的变量的范围包含当前的{...}以及当前的{...}中包含的{...}*
	{
		int b = 30;*//b的变量范围仅在此{...}
		printf("%d\n", b);*
		printf("%d\n", a);
		printf("%d\n", c);*//全局变量在整个程序中都有意义。*
	}
	printf("%d\n", b);*已超出程序中所定义的b变量的范围,不可以编译此步骤。*
	printf("%d\n", c);
	system("pause");
	return 0;
}

2、运算

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include <stdlib.h>
#define MAX  20;*//定义了一个标识符常量,MAX。意味着此程序中的MAX都是20.*
int main()
{	
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	int a = MAX;
	const num3 = 0;*//用const修饰的常变量,则num3的值不能再被改变。常变量是变量。*
	*//num3 = 20;此表达式不成立,num3的值不能再改变。*
	scanf("%d%d", &num1, &num2);
	sum = num1 + num2;
	*//num3 = num1 + num2;此表达式不成立,num3的值不能再改变。*
	*//int sum=num1+num2;在C中,所有变量必须定义在整个程序块的最前面,否则会因为定义变量太靠后产生警告。*
	printf("%d\n",sum);
	printf("%d\n", a);
	system("pause");
	return 0;
}

3、枚举常量

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include <stdlib.h>
#define MAX  20;*//定义了一个标识符常量,MAX。意味着此程序中的MAX都是20.*


enum  Sex*//定义了一个枚举常量,*
{
	MALE,
	FEMALE,*//在此处未定义其整数形式所代表的值,则默认为1,且不可以再改变其值,例:FEMALE=10,是不成立的。*
	SECRAT,*//表示枚举常量Sex未来的可能取值。如果没有定义结果的整数形式值,则会从第一个到最后一个默认从0到1按顺序排列*
	
};
enum Direction
{
	left=3,right,west=8,south,*//各取值的整数形式为3,4,8,9*
};

int main()
{	printf("%d\n",MALE);*//0*
    printf("%d\n", FEMALE);*//1*
	printf("%d\n",SECRAT);*//2*
	printf("%d\n",left);*//3*
	printf("%d\n", right);*//4*
	printf("%d\n", west);*//8*
	printf("%d\n", south);*//9*
	system("pause");
	return 0;
}

4、字符串

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include<string.h>*//引用‘strlen()’函数所需要的头文件*
#include <stdlib.h>
int main()
{
	char arr1[] = "hehe";*//包含着字符串的结束标识符‘\0’,但其长度中并不包含‘\0’*
	char arr2[] = { 'h', 'e', 'h', 'e' };*//不含字符串结束标识符,字符串不会自动停止,直到遇到‘\0’。*
	char arr3[] = { 'h', 'e', 'h', 'e' ,'\0'};
	printf("%s\n","hehe");*//"hehe"包含着字符串的结束标识符‘\0’。*
	printf("%s\n",arr1);
	printf("%s\n",arr2);
	printf("%s\n",arr3);
	printf("%d\n", strlen("abcd"));*//求字符串“abcd”的长度。以‘\0’为结束的标志长度为4*
	system("pause");
	return 0;
}

5、转义字符

#define _CRT_SECURE_NO_WARNLNGS 1
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
int main()
{
	printf("c:\test\test.c\n");*//其中‘\t’是转义字符。所以输出时不会出现'\t',这是一个字符。'\n'代表换行。*
	printf("c:\\test\\test.c\n");*//打印出来是c:\test\test.c*
	printf("%c\n",'\'');*//输出结果是 '  。如果是 ''' 则不能得到 ' 这个结果。输出其他的转义字符方式一样*
	printf("%d\n",strlen("c:\test\328\test.c"));*//'\t'算一个字符,八进制数中没有8,所以'\32'是一个八进制数字,所以长度为14*
	printf("%d\n", strlen("c:\test\321\test.c"));*// '321'是一个八进制数字。*
	printf("%s\n", '\321');*//输出结果是?,因为八进制数字321表示的十进制数字51,在ASCLL码表中,51对应着?*
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44748803/article/details/88598092