今天了解了***输出函数、数据类型、变量类型、枚举、字符串***以及转义字符五个小块。
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;
}