志在指尖
用双手敲打未来

c语言基础知识(入门代码)

c语言基础知识

一、C言语根底知识点必背总结,HelloWorld
C言语根底知识点总结PDF版获取方法如下
复制链接再翻开即可:https://docs.qq.com/doc/DV1R2WnRPeGZhbktS
HelloWorld是经典的编程入门程序,指在编写代码生成程序,运转该程序将会在程序中显现HelloWorld。以下是一个HelloWorld的C言语代码:
以上程序中#include称为头文件,头文件咱们能够了解成“将东西箱拿过来”这一件事。代码#include中,#include<>相当于一只手,stdio.h为需求拿过来的东西箱名。那为什么要拿这个东西?是因为咱们在这个代码中将会用到这个东西箱中的东西。
intmain(){}为一个程序的进口,什么是程序的进口呢?其实就像医院或者一些场所,总有一个大门规定从此进入,否者当客户想要进入这个场所时将会找不到进口。而这个main便是咱们这个代码的进口,里边具体的内容就写在main后边的花括号{}中。
花括号中的代码是printf(“HelloWorld”);,其间printf()叫做printf函数,其实函数这个术语咱们能够了解成一个功用或者说东西,printf()是寄存在stdio.h中的东西,printf()能够用来显现你要显现的内容,在printf()圆括号中运用双引号引起你想要显现的内容即可。在这里需求显现的是HelloWorld。留意,一般情况下,每一句代码完毕后需求运用分号进行结尾。
编译运转程序将会出HelloWorld:
二、C言语根底知识点必背之变量
变量在C言语中咱们能够作为是一个寄存内容的容器,例如能够存一个数字、一个字符、小数等。变量有不同的类型,包括整型、字符型、浮点数;浮点数咱们能够简略的了解成小数即可。
假如你想要创立一个整数类型的变量很简略,整数在C言语中运用int进行描绘,随后咱们在int后输入一个字符串或者字符就能够完成一个变量的创立,可是要留意,需求运用分号完毕:
以上代码int是类型描绘,a字符是这个变量的名字,此刻就等于让计算机创立了一个名字标识为a,能存储整数类型的变量了。咱们一般在创立一个变量时需求对变量初始化,初始化是指给这个变量一个值,让咱们能够知道这个变量具体所存储的内容,所以能够这样写:
以上代码inta=0;运用等于号将0存入了a变量,等于号的效果则是将等于号右边的值存入左面的变量中。
变量能够运用printf()将其内容进行输出显现,代码如下:
以上代码printf(“%d”,a);将会把变量a的内容进行显现,其间%d是一个占位符,占位符则表明在此处占有一个方位,之后将会替换成一个值;在这句代码中,咱们能够看见双引号后运用逗号对变量a进行了分隔,当运转printf()这一句代码时,将会输出printf圆括号内双引号后运用逗号分隔的第一个变量值。
在此咱们需求留意,创立一个变量后,之后运用该变量不需求在此将类型符一同编写。就例如你跟你朋友介绍小a,只需求第一次介绍完毕,之后就直接说名字就认识了。
程序运转成果如下:
三、C言语根底知识点总结常量
变量在程序运转时是可变的,而常量不可。当你创立一个常量时给予了它值,那么之后的值都不能进行改动。咱们先看一下变量在程序运转时改动内容是否能够:
以上代码在显现了第一次a的值后再次改动了a里边的内容为10,之后再次输出显现,将为等于10:
接下来看下常量。常量只需求在创立一个变量时运用const进行修饰即可:
此刻咱们编译代码将会犯错:
四、C言语根底知识点必背总结变量运算
变量之间是能够相互相加减的,例如正常的加减法、乘除法等。首要咱们能够创立两个变量:
a和a1相加而且显现就能够写成如下代码:
以上代码printf(“%d”,a+a1);中,%d是个占位符,将会输出a与a1相加后的值。之前解释过,%d将会显现引号后逗号隔开的第一个值,在这里a+a1是一个值,将会先运算,然后进行相加,成果为:
咱们也能够一起显现a与a1的值:
以上代码printf中,第一个%d显现引号后第一个逗号隔开的a值,第二个%d将会显现逗号隔开的第二个值a1。成果为:
一起一行创立两个变量以及乘法运算能够写成:
五、C言语根底知识点必背总结输入
在C言语中能够从键盘中输入一个值而且赋值给一个变量。运用一个东西叫做scanf()函数,它也寄存在stdio.h这个头文件东西箱中。以下是scanf()的运用方法:
以上代码首要创立了一个变量a等于10,随后显现a的值,之后运用了scanf(“%d”,&a);,在这个代码中,%d表明接收即即将输入的值,&a表明取到a的地址,而且把输入的值存到变量a中。其实%d是一个只代表整数类型的占位符。最后再输出a的值,成果如下:
六、C言语根底知识点必背总结逻辑
在C言语中,能够运用if句子对逻辑进行判别,例如判别用户输入的数是否大于10。示例代码如下:
以上代码运用了if句子对输入的值进行判别,在运用scanf后将值存入了变量a中,之后运用if句子在if句子后的圆括号中输入条件,假如这个条件成立则运转后边花括号的代码printf(“%d”,a);,假如条件不正确,那么则不会履行其它代码。
输入1,不显现其他代码,因为不大于10。
输入11,条件成立,履行花括号内的代码:
咱们还能够在if句子后输入其它代码表明现已履行完if句子:
运转成果如下;
七、C言语根底知识点必背总结ifelse
if句子还有一个else分支,else分支用于在条件判别过错后履行:
以上printf句子中有其他字符串以及占位符%d,此刻其它字符串照原样输出显现,%d将会替换成变量a的值:
八、C言语根底知识点必背总结ifelseif
运用ifelseif句子能够为if句子判别多个条件。
以上代码运用了elseif句子,在elseif句子中能够添加多个判别条件,判别a的值为什么。在C言语中运用两个等于号表明判别左右两头的值是否持平。
九、C言语根底知识点必背总结逻辑运算
在C言语中,运用一个if句子也能够判别多个条件,这时需求运用逻辑判别符&&逻辑与、||逻辑或。例如你需求判别小于10以内的偶数,那么便是两个条件;其一需求小于10,其二需求能够被2整除,而且这两个条件是一起都要满意的,既要小于10,也要能够被2整除。例如现在有一个变量a存储的是用户输入的数,这两个条件就能够写成a<10和a%2==0,这两个条件中的%是取模运算,指的是取余数,余数为0则表明能够判别被2整除。
那么怎么运用if句子一起判别这两个条件呢?其实只需求在if句子中运用&&将两个条件衔接即可:
以上代码中,if句子后的圆括号中输入条件,在这里运用两个&&将两个条件进行了衔接,表明两个条件都是要一起满意。a%2==0表明取余数后成果要为0,运转成果如下:
假如只需求满意其间一个条件,只需求将&&换成||即可:
输入12,能够被2整除,不必小于10,满意条件其一即可:
十、C言语根底知识点必背总结循环
循环在C言语中能够对某一段代码块重复履行。示例代码:
以上代码首要创立了一个变量a,里边存储的内容是0,随后运用一个while进行循环。while是重复的关键字,你能够当作一个魔法咒语,直接运用while在后边的圆括号中是while循环的条件,在这里是a<10,意思是只需a这个变量的存储值不大于10,那么就会一向循环;圆括号后的花括号中是需求重复的代码,在这里是printf(“重复”);与a=a+1,每次重复履行代码都会显现重复,而且a等于本身加1再给予本身,这样a变量每重复一次就会添加1,第一次是1第2次为2,总有一次会超过10,超过10则会跳出循环不再履行。成果如下:
为了更直观的检查成果,咱们在printf句子中添加一个换行符\n,咱们能够了解\n为一个特别功用字符串,运用后每次显现到该方位就会换到下一行:
成果为:
除了while循环咱们还能够运用一个for循环,跟while循环相同,都是循环效果:
以上代码for与while相同是一个关键字,你能够当作是一个魔法咒语,在圆括号中运用分号分隔了a=0、a<10与a++,其间a=0只会运转一次,表明将0存入a,随后a<10为这个for循环的循环条件,假如条件不对将会跳出循环,每次for循环运转a<10都会运转一次,a++等于a=a+1,表明a变量自增1,此刻每次循环a变量就会加上1,总有一次会跳出循环。成果为:
十一、C言语根底知识点必背总结结构体
结构体简略的来说是一个数据的类型,跟int整型相同,都是一种数据类型,是有多个或其它数量的数据类型组成的一种结构,其它数量的数据类型能够是整形等。代码示例:
以上代码运用一个structhuman表明创立一个结构体,这个结构体叫做human,花括号内表明这个结构体拥有什么特点;intage;用来存储年纪,charsex;中的char表明字符类型的数据,跟int不相同,char是值!@#¥……&*a之类的单个字符数据,charname表明存储一个名字代号。structhumanxiaoming;表明创立一个结构体类型的数据叫做小明,其实就跟inta相同,structhuman只是表明这是结构体human的数据,xiaoming值名称。
咱们看一个完好的运用示例:
以上代码xiaoming.age=10;表明xiaoming这个结构体类型数据中有一个叫做age的特点,运用小数点加特点名进行赋值,那么就表明将这个值存储到这个特点中;xiaoming.sex=’T’;表明存储T这个字符到sex这个户型中,字符类型数据需求运用单引号引起来,其间xiaoming.name=’M’;也是相同;随后运用printf进行输出时xiaoming.age就表明在这里运用age这个特点的值进行输出,%d表明输出的这个变量是个整数;下一句printf句子中运用的占位符为%c,表明的是这个方位即将输出一个字符类型的数据,字符类的数据运用的是%c,而整数则是运用的是%d。
数组
在之前的学习中咱们运用了变量存储单个的值,那怎么运用一个容器存储多个值呢?这个时分能够运用数组。顾名思义,数组便是一个值的组合,例如示例:
以上代码运用int描绘了一个名称为a的数组,其间方括号[]表明数组,在等于号右边运用花括号即将存储的值括起来,而且运用逗号进行分隔,这样就创立好一个数组了。那怎么显现数组内的值呢?这个时分咱们能够运用数组名加下标去进行取值,例如我想取第一个而且显现那么就能够写成printf(“%d”,a[0]);,在C言语中,是从0开始数数的,所以第一个咱们运用的是a[0],第二个取值咱们能够写成printf(“%d”,a[1]);;咱们能够对这些方位的值进行重新的赋值例如a[0]=11,示例如下:
以上代码显现a[2]的值为3,而且修正a[2]的值为555再次输出,成果如下:
那怎么显现所有数组a的值呢?这个时分需求运用循环,因为咱们数组的取值是经过描绘数组第几个值进行存取,咱们称为下标,下标从0到数组所存储的长度为最大,此刻运用循环,设置一个变量从0开始即可取出数组内所有的内容:
以上代码运用for循环,对数组进行读取,因为数组长度最大为7,所以需求小于7,最后再运用变量i作为数组下标即可,成果如下:
数组也能够先指定长度最后赋值:
以上代码咱们运用for循环设置数组a里边的内容,a[10]表明数组a的长度为10,能存储10个值。随后运用for循环设置数组a的内容,第一次为1第2次为2以此类推,最后再运用循环进行输出,成果如下:c语言

c语言基础知识入门代码

一.常量变量
1.一般数据类型
int4字节、短2字节、长4字节(取决于渠道,能够是4或8)、长8字节、char1字节、float4字节、双8字节
2.字符串
用双引号括起来的一系列字符,以/0作为完毕标志。
“/0”不是字符串的内容,而是一个完毕标志,因而在strlen时不需要“\0”的长度
chararr[]={‘h’,’e’,’h’,’e’};
printf(‘%s”,arr);//%s作为字符串输出,遇到“/0”后中止,但由于arr[]数组中没有“/0”,知道要继续拜访,直到遇到“/0”为止,因而会出现内存过错
3.const关键字
在c语言中,当const限定标识符时,每个标识符仍然是变量,但只具有常规特点,不能直接由c修正。当const限定识别符时,编译器主动设定未寄存器变量,用指针进行改动时,改动时内存内的值会发生改动,所以存储在寄存器中的值仍然为constintsz=10;int*p=(int*)sz;*p=20;printf(‘%d’,sz);//10volatileconstintsz=10;int*p=(int*)sz;*p=20;printf(‘%d’,sz);//20volatile:假如确保内存的可见性,每次取变量值时都去内存取,就能够改动sz的值
4.define:是指令,不是关键词
#definePAI3.14
5.枚举:enum关键字。枚举常量的值顺次添加,假如未指定,则从0开端添加,假如指定,则从指定的值开端添加
enumSex{MALE,FEMALE,SECRET};
enumSex{MALE=20,FEMALE,SECRET};
6.register关键字:变量存储在寄存器中。地址以内存为对象,无法操作。register只是个主张。
7.fflush(stdin)/fflush(stdout):清空输入/输出缓冲器
8.静态关键字:
部分变量:更改生命周期(存储方位:仓库-静态区域)))))))))))))))))))))。
全局变量:更改其链接特点(范围)
:初始化
全局变量:默认值初始化为0
部分变量:有必要自己初始化(随机值)。
10:printf))函数的回来值:回来打印字符数
inti=43;printf’%d’,printf’%d’,printf’%d’,I);
I为43,回来值为2,外部printf()输出的值为2,输出2时回来值为1,因而最外侧printf))回来1,即4321。
二.分支句
1.if句子:else句子始终与之前未配对的最近的if匹配
if句子标准:
bool与零值的比较:if(flag)、if(!flag)、if(flag==TRUE)/if(flag==false)、flag是整数,如何能用2、3等非零数字表明真?另一方面,true、FLASE是固定值的整形变量和零值的比较。if))(n=))。=0)指针变量与零值的比较:if(p==null)、if(p!=NULL)运用指针时请当心。初始化为=NULL.在运用前确认空int*p=NULL;if(p!=NULL){*p=20;}浮点数和零值的比较:#defineEXP0.0000000001,if((f-exp))2.switch句子:在switch,case句子中,case之后有必要是经过整形的常量表达式。
switch句子无法完成分支。与break组合能够完成真正的分支。
最好在最终加上default句子。后边也能够加上break
三.循环文
1.break和continue:
whlie句子中:break:永久退出循环,continue:完毕本次的循环,跳转到while句子的判别部分
在for句子中,break:永久跳出循环,continue:跳出循环体,抵达调整部分
2.while句子:
inti=1;wile(I=10)if(I==5)break;printf(‘%d’,I);i=i1;//输出1234
inti=1;wile(I=10)if(I==5)continue;printf(‘%d’,I);i=i1;//输出1234是i=i1,因为之前跳出了循环,所以I保持为5,堕入死循环
p>inti=1;while(i<=10){i=i+1;if(i==5)continue;printf(“%d”,i);}
//输出23467891011,没有5
3.for循环的一些变形
inti=0;intj=0;for(;i<10;i++){for(;j<10;j++){printf(“hehe\n”);}}
//输出10个“hehe”,i=0进入循环直到j=10,共十次,下次i=1进来时,j=10不进入循环
注:编程时要特别注意不要将==误写为=;
for(i=0,j=0;i<2,j<5;i++,j++){printf(“hehe\n”);}
//输出5个“hehe”,i<2,j<5;是一个逗号表达式,逗号表达式从左向右求值,成果为最终一个表达式的值
for(i=0,j=-1;j=0;i++,j++){j++;printf(“hehe\n”);}
//不输出,k=0,给k赋值为0,0为假,不进入循环
for(;;){printf(“hehe\n”);}
//判别条件为空,默认为真,堕入死循环
for(i=0,j=0;i+j<10;++i,j++){printf(“hehe\n”);}
//输出五个hehe
4.循环功率
在多重循环中,假如有或许,要将最长的循环放在内层,最短的循环放在外层,以削减CPU跨切循环层的次数
循环体内部存在逻辑判别,而且次数很大的,宜将逻辑判别放在循环体外面
四、操作符与表达式
1.算术操作符:+-*%(只能用于俩个整数)/(可用于整数与浮点数)
2.位移操作符:
左移:末尾补零
右移:逻辑右移:补零,算术右移:补符号位
3.位操作符:&:按位与,|:按位或,^:按位异或(俩个相同的数字异或成果为0,不同为1)
注:他们的操作数有必要时整数
4.单目操作符:sizeof(以字节为单位,不是关键字)&:取地址
5.sizeof运用注意事项:
inta=10;printf(“%d”,sizeof(a));printf(“%d”,sizeofa);//printf(“%d”,sizeofint);printf(“%d”,sizeof(int));
注:sizeof在求变量所占空间大小时,用变量名能够去掉(),用类型时,不能去掉(),可是咱们主张不去掉()
inta=1;shorts=3;printf(“%d\n”,sizeof(s=a+5));printf(“%d\n”,sizeof(s));printf(“%d\n”,s);
注:sizeof内部的表达式不参加运算
6.数组名独自放在sizeof内部表明整个数组;&数组名:表明整个数组
7.逻辑操作符:
&&:逻辑与,俩边有一个为假,则表达式成果为假,若左面为假,后边的即不参加运算
||:逻辑或,俩边有一个为真即为真,若左面为真,后边的即不参加运算
例:
inti=0,a=1,b=2,c=3,d=4;i=a++&&++b&&d++;printf(“a=%d,b=%d,c=%d,c=%d”,a,b,c,d);inti=0,a=1,b=2,c=3,d=4;i=a++||++b||d++;printf(“a=%d,b=%d,c=%d,c=%d”,a,b,c,d);
8.三目操作符:exp1?exp2:exp3
找俩个数里大的一个
inta=10;
intb=20;
inti=a>b?a:b;
printf(“%d”,i);
9.逗号表达式:从左向右求值,整个表达式的成果为最终一个表达式的成果
10.表达式的求值成果有三个影响要素:
1)操作符的优先级
2)操作符的结核性
3)是否控制求值次序
五、函数
1.传参:
值传递:形参是实参的一份临时拷贝,形参和实参别离占有不同的内存块,对形参的修正不会影响实参
传址:形参和实参仍然占有并不太的存储空间,可是俩者直接有一层联系,形参里寄存的是实参的地址,这样就能够经过对形参的直接拜访操作实参。
2.链接特点:在程序链接时起效果
1)外部链接特点:全局标识符具有外部链接特点,外部链接特点意味着,一个标识符,不只能够在当时源文件运用,运用exetrn的声明也能够在其他源文件运用
2)内部链接特点:只能在当时源文件内运用,具有外部链接特点的标识符加上一个static关键词润饰就会变成内部链接特点
static:润饰变量:全局——改动链接特点(外部链接特点->内部链接特点)
部分——改动存储方位——然后改动生命周期
润饰函数:链接特点(外->内)
3)无特点(部分变量,出了效果域即失效,所以无链接特点)
六、数组
1.数组是一组相同类型元素的调集,数组创建时[]内有必要是一个常量,不是运用变量
2.数组创建时,假如不想指定数组的大小,就得初始化,数组的元素个数根据初始化的内容定下来
3.数组名代表数组首元素的地址
chararr1[]=”abcdef”;chararr2[]=”abcdef”;if(arr1==arr2)printf(“hehe\n”);
//数组名代表首元素的地址,俩个数组中“abcdef”的地址不同,所以不输出
char*p1=”abcdef”;char*p2=”abcdef”;if(p1==p2)printf(“hehe\n”);
//输出hehe,p1和p2指向同一块地址
4.数组的运用:
int*p=arr;
&arr[i]<==>p+i<==>p[i]
arr[i]<==>*(p+i)<==>*(arr+i)
5.指针:能够理解为一个变量,时一个专门用来寄存地址的变量
在32位渠道下时4字节,64位渠道下8字节

未经允许不得转载:IT技术网站 » c语言基础知识(入门代码)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载