第一章C语言基础理论.docx
《第一章C语言基础理论.docx》由会员分享,可在线阅读,更多相关《第一章C语言基础理论.docx(7页珍藏版)》请在冰豆网上搜索。
![第一章C语言基础理论.docx](https://file1.bdocx.com/fileroot1/2023-1/26/d09f290a-9ab6-4db7-8dc8-190e4e018a1c/d09f290a-9ab6-4db7-8dc8-190e4e018a1c1.gif)
第一章C语言基础理论
第一章C语言基础理论
一、C的特点
1、编程时以函数为单位main()
2、运算符丰富
3、采用结构化编程
4、能进行位运算
5、语法限制不太严格
二、变量
1、定义格式
类型名变量名1,变量名2;
intx,y;
注:
1》在C语言中,所有变量必须要先定义,后使用
2>所有语句以分号(;)作为语句的结束
3》变量的命名规则:
只能由字母、数字、下划线组成,且数字不开头,不能用C的关键字。
三、常量
注:
类型
1》int整型(123)%d(输入或输出的格式说明符)
2》float实型(3.56)%f(小数点后默认保留6位)
注:
如果要更精确表示数,则用double来表示
3>字符型常量char‘e’%c
4>字符串常量“sddff”%s
注:
转义字符的表示
\n:
换行
四、C语言编程的基本格式
main()
{
定义部分;
执行部分;
}
五、运行程序的步骤
1、保存ctrl+s2、编译ctrl+f73、连接运行f7
4、查看运行结果ctrl+f5
六、运算符与表达式
1、算术运算符+-*/%(求余)
=(赋值)==比较前后两个数是否相等
X=3x==3
2、关系运算符>>=<<=!
=
注:
关系运算符所产生的结果为逻辑值,成立为真,用1表示;不成立为假,用0表示。
3、逻辑运算符
&&(与)||(或)!
(非)
并且或者取反
4、自加运算符i=i+1
++i先自加,后执行
i++先执行,后自加
注:
注释语句的格式
/*注释内容*/
5、强制类型转换运算符
格式:
(要转换的类型)(表达式);
6、条件运算符
格式:
条件?
表达式1:
表达式2;
执行过程:
当条件成立时,执行表达式1;否则执行表达式2。
7、复合赋值运算符
+=-=*=/=%=
a+=3相当于a=a+3
8、逗号运算符
格式:
表达式1,表达式2,表达式n;
执行结果:
逗号表达式的结果为最后一个表达式的值。
七、常用的头文件
1、在编程时,如果用到C的数学处理函数,则加
#include将用到的数学函数包含进来,否则不能识别与执行。
2、如果用到C的库函数,则加#include
3、如果用到C的字符处理函数,则加#include
第二章程序设计基础
一、输出语句的格式
Printf(“格式说明符”,输出项);
Printf(“%d”,i);
%c,x
%f,
%s
二、输入函数的格式
Scanf(“格式说明符”,&输入项);
Scanf(“%d”,&r);
注:
特殊格式1:
scanf(“%d%d%d”,&a,&b,&c);
以上格式在输入时,数之间只能用空格、tab键、回车来分隔
特殊格式2:
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
以上在输入时,引号中的内容除格式说明符以外,其它普通内容原样输入
第三章程序设计方法
一、顺序结构
二、选择结构
1、单分支选择结构
格式:
if(条件)
语句1;
语句2;
执行过程:
当条件成立时,执行语句1,然后执行语句1下面的所有语句;否则,只执行语句2下面的所有语句。
注:
复合语句的使用{}
if(条件)
{语句1;
语句2;}
在执行时,将花括号中的所有语句视认为是一条语句,条件成立执行{}中的所有语句;不成立则执行{}下面的语句。
2、双分支选择结构
格式:
if(条件)
语句1;
Else
语句2;
3、if的嵌套
If(条件1)
语句1;
Elseif(条件2)
语句2;
Else
语句3;
1x>0
Y=0x=0
-1x<0
三、循环结构
1、for循环结构的格式
For(赋初值;循环条件;改变变量)
循环体语句;
执行过程:
先执行赋初值语句,然后判断循环条件,成立时执行循环体语句,最后执行改变变量,又开始判断循环条件,成立时继续执行,一直到循环条件不成立时才跳出,执行循环体语句下面的语句。
注:
如果循环体语句(重复执行语句)在两条以上时,一定要以复合语句的形式出现,加{};否则只执行循环条件下面的第一条循环语句;
编程求1+12+123+1234+12345的和.
main()
{
inti;
doublesum=0.0;
for(i=1;iif(i%3==0&&i%7==0)
sum=sum+i;
sum=sqrt(sum);
returnsum;
}
第四章数组
一、数组:
名称相同、下标不同的一组元组。
x(0)x
(1)x
(2)
二、定义格式
类型名数组名[下标值];
chara[5];
floata[5];
注:
数组的下标从0开始,不能使用最大下标值,否则会出现下标越界的错误。
inta[5];
a[0]a[1]a[2]a[3]a[4]
三、数组的赋值
inta[5]={4,5,6,8,9,2};
a[3]=8
注:
一维数组的输入或输出是通过for循环来实现。
求a数组中所有元素的最大值及下标
a[cnt]={4,2,8,-3};
第一趟:
2,4,-3,8
for(i=0;ifor(j=0;jif(b[j]>b[j+1])
{t=b[j];b[j]=b[j+1];b[j+1]=t;}
qw,bw,sw,gw,sum=0,cnt=0;
For(i=1000;i<5000;i++)
{qw=i/1000;
bw=i%1000/100;
sw=i%100/10;
gw=i%10
if(qw+bw==sw+gw&&qw+bw==(gw-qw)*10)
{sum=sum+I;cnt=cnt+1;}
}
第五章函数
一、无形参无返回值的自定义子函数
格式:
子函数名()
{
执行语句;
}
注:
1》无论有多少个子函数,程序的执行总是从主函数开始,从主函数结束;而子函数只是调用与返回的过程。
2>主函数调用子函数的语句
子函数名();
二、有形参有返回值的自定义子函数
格式:
返回值的类型子函数名(形参列表)
{
执行语句;
Return返回值;
}
调用语句:
子函数名(实参列表);
注:
1》主函数在调用子函数时,主函数的实参与子函数的形参是一一传递的关系。
2>如果是无返回值类型,则用void表示