C语言笔记①

一、重温C语言

#include<stdio.h>
int main()
{
    printf("Hello World!\n");
    printf("重温C语言第一天\n");
    printf("比特\n");
    return 0;
}

①printf() 是函数,用printf()时需要调用  #include<stdio.h> ,printf()函数在打印数据的时候,可以指定数据的格式。例:printf("%d\n",a);   //将a 以十进制打印。 %c:字符类型打印,%s:字符串类型打印。

②一个工程可以有多个.c文件,但是只能有一个 main() 函数

二、数据类型:int,short,float,double,char;

例:字符型:char num= 'a';  //定义了一个字符

     整型:   int age  = 58;  //定义一个人的年龄

     单精度浮点型:float  weight = 56.3   //定义一个人的体重

short : 短整型      double:双精度浮点型

三、数据类型的存储大小

sizeof()       // C语言关键字(操作符):用于计算数据类型或者变量空间的大小,单位:字节(byte)

例:

#include<stdio.h>
int main()
{
	printf("数据类型的空间大小\n");
	printf("%d\n",sizeof(int));      //整型:4byte
	printf("%d\n",sizeof(char));     //字符型:1byte
	printf("%d\n",sizeof(float));    //单精度浮点型:4byte
	printf("%d\n",sizeof(short));    //短整型:2byte
	printf("%d\n",sizeof(double));   //双精度浮点型型:8byte
	printf("%d\n",sizeof(long));     //长整型:4byte
	printf("%d\n",sizeof(long long));//长长整型:8byte
	return 0;
}

四、定义变量

1、数据类型    变量名称  =   值 (初始化)例:float   num = 0; 

2、输出字符:%d:  整型   ,%lf : double型    , %f : float型   ,%c  : char型   

3、数据类型分类:全局变量 ,局部变量。当全局变量与局部变量相同时,局部变量优先使用。

例:结果输出:a = 10。优先输出局部变量

#include<stdio.h>
int a = 100; //a:全局变量-----{}外部的是全局变量
int main()
{
	int a =10;  //a:局部变量----{}内部的是局部变量
	printf("小向学习C语言第二天!\n");
	printf("a = %d\n",a);
	printf("\n");
	return 0;
}

4、写一个代码:输入两个整数,并求两个整数和

scanf()函数:是标准的输出函数,具有标准的用法,例:scanf("%d%d",&a,&b);后面的变量必须加&,表示地址。

#include<stdio.h>
int main()
{
	int a=0,b=0; //定义两个整型变量
	scanf("%d%d",&a,&b);
	printf("sum = %d\n",a+b);
}

5、变量的作用域和声明周期

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

 全局变量的作用域:整个工程(需要用关键字声明(extern))

 局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束

 全局变量的生命周期:整个工程

例:

 五、常量

 1、const 修饰的常变量 ,例:const int a = 20;  这时 变量 a 只能为10,不能改变,且变量 a 是常变量;例:const  int a = 10;  int  arry[a]  =  {0};  此时编译会出错,因为 a 是常变量,数组arry的下标必须是常数。

2、#define 定义的标识符常量     例:#define   max   100   //   max 就是代表  100

结果输出    n = 100

#define   MAX  1000
#include<stdio.h>
int main()
{
	int n = MAX;
	printf("n = %d\n",n);
	return 0;
}

3、枚举常量。枚举的的写法:enum  Sex{  male,  female,   secret};  {}里面的都是常量。

enum Sex{male,female,secret};
#include <stdio.h>
int main()
{
	printf("%d\n",male);   // 输出 0
	printf("%d\n",female); // 输出 1
	printf("%d\n",secret); // 输出 2
	return 0;
}

六、字符串和转义字符

1、字符串:由双引号引起来的一串字符。字符串的结束标志是一个 \0 的转义字符(计算字符长度时,不包含 \0 转义字符,隐藏在字符串末尾),在计算字符串长度的时候,\0 是结束标志,不算字符串内容。定义字符串:char arr[] = "hello"; 此时数组长度是6位。

  arr1 完整的输出了字符串 “hello”,而 arr2 却输出了 “hello烫烫烫烫蕾ello”(hello后面是地址存放的乱码)若将arr2 'o',后面加一个 '\0',则也能完整输出“hello”,可见,\0是字符串的结束标志位。

2、strlen()   sting lenth 字符串长度。例:int len = strlen("abc"); //这时,len被赋值 3 ,strlenI()函数是计算字符串的长度;使用该函数时,需要引用头文件  #include<string.h>。

#include<stdio.h>
#include<string.h> //使用strlen()函数时需要的头文件
int main()
{
	char arr1[] = "hello";//定义字符数组
	char arr2[] = {'h','e','l','l','o'};
	printf("小向重温C语言第三天\n");
	printf("%d\n",sizeof(arr1)); //输出 6
	printf("%d\n",strlen(arr1)); //输出 5
	printf("%d\n",strlen(arr2)); //输出 随机数
	printf("\n");
	return 0;
}

因为数组 arr2 没有 \0 的结束标志,所以输出一个随机数。

3、转义字符

转变了原有字符的意思,例:\n, \r ,\t。(\' ,\" 代表 ',")

\\:表示一个 \  ,防止它被解释为一个转义序列符。例:\\t  就是 \t

\ddd :ddd表示1~3个八进制的数字。如:\101  八进制:65

\xdd:dd表示2个十六进制的数字。如:\x22(注意:一定要加x)

#include<stdio.h>
int main()
{
	printf("%s\n","\"");//输出 "
	printf("%c\n",'\'');//输出 ’
	printf("a\\tbc\\n");//输出 a\\tbc\\n
	printf("\n");
	printf("a\tbc\n");//输出 a  bc 跳转到下一行
	printf("%c\n",'\101'); //101的十进制数是 65,输出:A
	printf("%c\n",'\x41');  //41的十进制数是 65, 输出:A
	return 0;         
}

练习题:求输出结果

#include<stdio.h>
#include<string.h>
int main()
{
	printf("%d\n",strlen("abc"));//输出:3
	printf("%d\n",strlen("c:\test\328\test.c"));//输出 14
	return 0;
}

解释:一个转义字符算一个字符,\32 算一个字符,八进制数没有8。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值