C语言第二天

1.转义符

在一些输出特殊符号的字符的时候,编译器往往会把你想要输出的字符识别成特殊字符,比如说:三字字母“??)”在老版本的vs编译器中会错误的把??)识别成]这个字符,这时候想要正常输出就需要用到转移字符‘\’这个。类似的还有想要输出%d和也可以\%d来转移成普通的字符。如果要打印"这个符号就也需要转义字符。

补充:\t为水平制表符我们在打印盘符的时候例如:                                                                          printf("c:\test\test.c")系统会自动的识别其中的\t为水平制表符也就是tab,随意如果想要打印出来正确的存储位置等类似的信息的时候,就可以在\t前面再加一个\就可以了。如下:                printf("c:\\text\\text.c")        

小点:使用printf的细节:

printf("%d",100);//打印整形
printf("%c",'a');//打印字符
printf("%s","abc")//打印字符串

在转移字符中有个有趣的转义字符就是:\a,我们在对这个转义字符;进行输出的时候电脑会响一下有几次就响几次。

剩下的转义字符还有:

 IF选择语句(重点):

演示代码:

#include<stdio.h>
#include<s>
int main(){
int input=0;
printf("选择你的班级");
printf("如果你想进女生班级扣1,\n男生班级扣2");
scanf("%d",&input);//取地址
if(input==1)
printf("您进入了女生班级");
else(input==0)
printf("您进入了男生班级");
else(input!=0&&input!=1)
printf("请您重新选择");
return 0;
}

在该段代码中共有三个选择条件,分别为是否扣1以及1以外的选项。为了可读取性可以在选择语句后面加上{}。

循环语句

演示代码:

1.for循环

#include<stdio.h>
int main(){
for(int i=o,i<=16,i++){
print("我要长大!!!");
}
print("我终于长大了");
return 0;
}

在该段代演示的是常用的循环语句之for循环,在for右边的()内部填写确定循环次数的语句,比如例子中,定义了一个i其值是0,当i小于或者等于16的时候就执行大括号中的语句,并且i递增加1,也就是说共执行了从0数到16也就是数了并执行了17次。

2.while循环

演示代码:

#include<stdio.h>
int main(){
int a=0;
while(a<30000){
printf("写代码%d\n",a);
a++;
}
if(a==30000){
printf("你是个合格的程序员了")


}
return 0;
}

同上for循环也是先确定循环条件,并填写到while()内部,随后在{}内部写入循环体,也就是要去做的事情。

函数:

演示代码:

普通模式:

#include<stdio.h>
int main(){
int num1=0;
int num2=0;
scanf("%d%d",&num1,&num2);//取地址值
int sum=num1+num2;
printf("%d\n",sum);
return 0;
}

用函数解决:

#include<stdio.h>
Add(int x,int y)
{
int z=0; 
z=x+y;
return z;
}
int main(){
int num1=0;
int num2=0;
scanf("%d%d",&num1,&num2);
int sum=Add(num1,num2);
}

 函数的本质与java中的方法类似,方法是抽离了常用的操作,方便多次使用的时候不用重复书写多余的代码,函数也是如此。在main(){}中定义一个接受函数返回值的变量并且传递对应的值给函数。

数组:

一组相同类型的元素的集合创建格式

int(数组元素类型) 数组名 [数组长度]={元素逗号隔开}; 

小点:当你创建数组时,但是你填充的元素少于你规定的元素,剩下的元素c语言会自动补齐的默认为0,当我们调用数组其中的某个元素的时候,需要看看该元素的下标。数组名[]里面加对应下标。

操作符:

 操作符就是对元素进行加减乘除等等操作的符号

小点:c语言进行除法操作的时候,是对结果进行整除,也就是去掉小数后面的。好比9/2得到的结果是4,如果要更精确一点可以尝试9/2.0得到的结果是4.5

 常见关键字:

        关键字重点:typedef(类型定义,类型重定义) 

代码演示:

typedef unsigned int u_iny
int main(){
u_iny=100;//typedef可以给unsigned int换个好码的名字但是效果一样
}

 static-静态的,有三个用法

1.修饰局部变量

改变了局部变量的生命周期(本质上是改变了变量的存储类型)

2.修饰全局变量

用static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,但是源文件以外的就不能使用。全局变量可以被其他源文件内部使用是因为外部连接属性,但是被static修饰后就变成了内部连接属性。

3.修饰函数

声明全局变量:

我们想使用别的地方定义的全局变量的时候需要对变量进行声明                                                              具体格式为:     extern  变量类型   变量名

#define定义常量和宏:

define就是一个预处理指令两个用途

1.define 定义符号

前面有提到

#define MAX 1000;
int main(){
printf("%d\n",MAX);

}

2.define定义宏(重点)

#define ADD(X,Y) X+Y
int main(){
printf("%d\n",ADD(2,3))
return 0;
}
//结果是5

这里是替换,也就是直接将mian函数里面的ADD(2,3)换成2+3,如果我们运算4*ADD(2,3)而得到的结果是4*2+3也就是11。 

优化上面函数:

#define ADD(X,Y) ((X)+(Y))
int main(){
printf("%d\n",4*ADD(2,3));
return 0;
}
//此时的结果是11

指针:

指针就是获取内存地址的一个变量名称,其使用规范是:

我们定义一个变量:int a=100;

此时定义一个指针:int(数据类型)*ps=&a;

其中&在前面有提到过是取地址符号。

在这里顺带提一下结构体,c语言的结构体与Java里面的类是相似的,按照时间线来说,是java继承了c语言的结构体创建的类,下面是代码演示:

#include<stdio.h>
struct Book
{
char name[20];
float price;
char id[30];
}
int main(){
struct Book s={"云端有个小卖部",22,23.2};
printf("%s,%lf,%lf",s.name,s.price,s.id);
struct Book*pt=&s;
printf("%s,%d,%lf,",(*pt).name,(*pt).price,(*pt).id);
printf("%s,%d,%lf",pt->name,pt->price,pt->id);//pt->就代表着*pt
return 0;
}

 在上述代码中printf中%d,%f,%lf可能暂时存在错误,后续会更正

以上便是初学C语言的部分,学完之后能初步的看懂C语言的案例了。后续的学习会重点深入。

再接再励!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值