C语言基础

一、算法的特点

  • 有穷性
  • 确定性
  • 有效性
  • 有零个或多个输入
  • 有一个或多个输出

二、C语言的组成

1.代码

#include <stdio.h>				/*编译预处理指令*/
int main()					/*主函数的函数头*/
{						/*函数体的开始标记*/
	int a,b,c;					/*定义3个整型变量*/
	scanf("%d%d",&a,&b);			/*运行程序时,分别为a,b输入整数值*/
	c=a + b;					/*计算a+b的值,将结果赋值给c*/
	printf("a=%d, b=%d, c=%d\n",a,b,c);		/*依次输出a,b,c的值*/
	return  0 ;				/*程序返回值0*/
}						/*函数的结束标记*/
由该程序可以看出,C程序中主要包括了关键字、变量、常量、运算符等。下面我们就来介绍一下这些元素的特点。

2.编写第一个程序Hello World

#include<stdio.h>
int main(){
    printf("Hello World");
    return 0;
}

3.C语言中的关键字

chardoubleenumfloatintlong
shortsignedstructunionunsignedvoid
fordowhilebreakcontinueif
elsegotoswitchcasedefaultreturn
autoexternregisterstaticconstsizeof
typedefvolatileinlinerestrict_Bool_Complex
_Imaginary

4.C语言中的格式化输出符号

  • %d 或 %i:用于输出十进制整数。
  • %u:用于输出无符号十进制整数。
  • %f:用于输出浮点数。
  • %s:用于输出字符串。
  • %c:用于输出字符。
  • %p:用于输出指针。
  • %x 或 %X:用于输出十六进制数,%x表示输出小写字母,%X表示输出大写字母。
  • %o:用于输出八进制数。
  • %e 或 %E:用于输出科学计数法表示的浮点数。
  • %g 或 %G:用于输出浮点数,但是没有无意义的零。

5.C语言中的变量

在C程序中,只能使用英文字母(大写或小写)、数字及一些英文特殊符号(如!、#、&、%、,、|等)。在程序注释及字符串常量中,可以使用任意字符,包括汉字及中文标点。

标识符只能由字母、下划线、数字组成,且第一个字符必须是字母或下划线,不能是数字。如str,_str1,str_2都是合法的标识符,但2str,2_str,&123,%lsso,M.Jack,-L2都是错误的标识符。

标识符区分英文字母大小写,如score和Score是两个不同的标识符。

标识符不能是C语言中的关键字。

6.C语言中的常量

转意字符

转义字符说 明转义字符说 明
\n回车换行\'单引号符'
\b退格\"双引号符"
\r回车\a鸣铃
\t水平制表\f走纸换页
\v垂直制表\ddd1~3位八进制数所代表的字符
\\反斜线符\\xhh1~2位十六进制数所代表的字符

符号常量

#define PI 3.1415926

其含义是以标识符PI来代表数据3.1415926。宏定义命令之后,程序中凡是用到3.1415926的地方都可以用标识符PI来替代。宏定义的作用是给常量起“别名”,利用它可以增强程序的可维护性。例如,当需要修改某一常量值时,只要修改宏定义中的常量值即可,而不必在程序各处逐一修改。同时,意义明确的“别名”还可以增强程序的可读性。

例1:已知圆的半径,求圆的周长和面积。
#include <stdio.h>
#define PI 3.1415926					/*使用符号常量表示圆周率*/
int main()
{
	double r,l,s;					/*定义半径r,周长l和面积s*/
	printf("请输入圆的半径:");				/*输出提示语*/
	scanf("%lf",&r);					/*输入半径r的值*/
	l=2*PI*r;						/*计算周长l*/
	s=PI*r*r;						/*计算面积s*/
	printf("圆的周长为%f,圆的面积为%f\n",l,s);	              /*输出周长l和面积s*/
	return 0;						/*程序返回值0*/
}
列2:求矩形的周长和面积
#include<stdio.h>
int main() {
	float a, b, l, s;
	printf("请输入矩形的长:");
	scanf("%f",&a);
	printf("请输入矩形的宽:");
	scanf("%f",&b);
	l = 2 * (a + b);
	s = a * b;
	printf("周长是:%f\n面积是:%f", l, s);
	return 0;
}

未完待续......