(ง •̀_•́)ง
目录
一、基本框架
C语言的一般框架为头文件+函数,最简单或者说常用的是下面这种:
#include<stdio.h>
//#include "stdio.h" 这样也可以
int main()
{
/*
代码
......
*/
return 0;
}
上面的 stdio.h 即头文件,它包含scanf(输入)和printf(输出)函数,int是main函数的返回类型,return后的内容(该例中的0)的数据类型应与其保持一致。
提示:头文件还包括string.h和math.h等众多头文件,下面是有关C语言的教程:
二、基本数据类型
C语言的基本数据类型包括整型,浮点型,字符型。如下图:
当然,C语言还有其他的类型,比如结构体struct,联合体union,枚举类型enum。
三、关键字和标识符
关键字又叫保留字,是预先定义好的标识符,用户所定义的变量名、数组名等不可与其相同。
以下是常见的关键字(摘自百度百科):
标识符通俗的来讲就是是用户自定义的变量名、数组名、函数名等,标识符只能由字母、数字和下划线组成,且不能以数字开头。
正确的标识符:csdn,Csdn,c_sdn,c_sdn1,c1sdn,_csdN
错误的标识符:cs@dn,1csdn
四、输入与输出
C语言常用的输入输出语句一般包含以下几种:
输入:scanf,gets,getchar。
输出:printf,puts,putchar。
区别:scanf比较通用,需要根据输出的变量类型来判断,例如int类型用%d。gets用来输入字符 串,getchar用来输入单个字符,也常用来“吸收”多余的空格和回车(涉及到缓冲区的概念)。
同理,printf也是通用的,也需要根据输出的变量类型来判断,int类型用%d,puts常用来 输出字符串,putchar用来输出单个字符。
注意:用scanf输入时除输入字符串(即用%s)外需要加上&(取地址)符号,printf输出时不加 取地址符号。
scanf和printf输入输出时双引号需要在变量名之前。
#include<stdio.h>
int main()
{
int i;
scanf("%d",&i);
printf("i=%d\n",i);
double d;
scanf("%lf",&d);
printf("d=%lf\n",d);
float f;
scanf("%f",&f);
printf("f=%lf\n",f);
getchar();//此处用来吸收输入f后的空格,也可以在%f后面加上空格" "
//即scanf("%f ",&f);
char c;
scanf("%c",&c);
// c=getchar();
printf("c=%c\n",c);
// putchar(c);
char str[10]={'\0'};
scanf("%s",str);
// gets(str);
printf("str=%s\n",str);
//puts(str);
return 0;
}
五、三大基本结构
1.顺序结构
顺序结构就是从头到尾依次执行
#include<stdio.h>
int main()
{
int x = 1;
x++;
printf("%d", x);
}
2.选择结构
选择结构包含两个语句,即if-else语句和switch语句
if-else语句
int x = 1;
if (x == 1)
{
x--;
}
int x = 1;
if (x == 1)
{
x--;
}
else
{
x--;
}
int x = 1;
if (x == 1)
{
x--;
}
else if(x==2)
{
x--;
}
else
{
x *= 2;//x=x*2;
}
值得注意的点:if括号里面的表达式非空(0、NULL)即为真,就会执行if里的语句。
else语句必须与一条if语句匹配,if语句可以不和else语句匹配。
switch语句需要和case搭配使用
常见形式如下:
int x=1;
switch (x)
{
case 1:x++; break;
case 2:x--; break;
default:x *= 3;//其他情况
}
int x = 1;
switch (x)
{
case 1:x++; break;
case 2:x--; break;
case 3:
switch (x)
{
case 1:x++; break;
case 2:x--; break;
default:x *= 3;
}
default:x *= 2;
}
注意:switch和case后的参数应该是int、char、enum(枚举类型)类型,而不能是float、double、long类型。
switch语句只有碰到break或者运行到该语句末尾才会结束,否则会根据接下来的case语句继续执行。
例如:
#include<stdio.h>
int main()
{
int x = 1;
switch (x)
{
case 1:x++;
case 2:x--;
}
printf("%d", x);
return 0;
}
该段代码输出x的值为1而不是2,原因是执行了case 2语句
3.循环结构
循环结构包含while、do-while、for语句
while语句
#include<stdio.h>
int main()
{
int x = 5;
while (x)
{
x--;
}
return 0;
}
其中,while括号里面是循环要满足的条件这里是x!=0
for语句
#include<stdio.h>
int main()
{
int x = 5;
for (int i = 0; i < x; i++)//dev c++貌似不支持在for循环括号内定义变量,不知道是不是标准的原因
{ //建议先int i;然后for(i=0;i<x;i++)
x--;
}
printf("1");
return 0;
}
强调几点:for循环每次先执行第一个分号之前的内容,再判断是否继续循环(第二个分号的内容),再执行循环语句(例子中的x--),最后执行i++。
分号之间的内容可以没有,但是分号必须要有。
do-while语句
#include<stdio.h>
int main()
{
int x = 5;
do
{
x--;
} while (x > 0);
printf("1");
return 0;
}
执行顺序:x--、x>0。说明do-while语句至少执行一次
总结
这次主要提了一下C语言的基本结构,数据类型,关键字和标识符的相关内容,因为有小白对这方面有问题,以后敲代码的话先把那结构敲上去,需要加头文件啥的再加。
这篇文章稍微有点短啦,因为今天比较忙,本来打算再聊一下数组、指针、常用的头文件及其函数、链表......这些的,下次吧。
慢慢学吧,我刚开始学的时候这些概念老是分不清,容易忘,后来慢慢地练得多了也就熟了。
最后不忘提醒一句,自己定义的标识符要拼对哇。