C语言基础知识

1.C语言介绍

1)C语言于1972年发明,C语言是一门面向过程的语言。

2)C语言特点:丰富的运算符,丰富的数据类型,可以直接操作硬件,搞笑的代码目标,可移植性好。

3)C语言版本:1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C。1999年,国际标准化组织ISO又对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,命名为C99。 2011年12月8日,ISO正式公布C语言新的国际标准草案:C11。

4).C语言程序

mian函数是程序的入口,一个程序只能有一个main函数,需要一个int返回值。返回值int可以省略,默认为int,main()函数中可以不提供return

#include 

void showMessage(){
    printf("Hello,World\n");
}

 main(int argc, const char * argv[]) {
    showMessage();
}

例子2

 int main(int argc, const char * argv[]) {
    showMessage();
}

5).#include是预处理指令,用于包含指定文件,它的实际工作就是将文件复制到指定的位置。包含的文件可以是任意的文件,不一定是.h文件。#include包含文件时有两种方式:<>和“”。<>只会包含库函数文件,适用于包含库函数。“”先查找当前目录下文件,在查询库函数。

6).C语言的运行:编译和链接

编译:将对应的.c 源文件编译成目标文件.obj。

链接:连接的过程就是将各个.obj文件和C语言库函数一起组合生成一个可执行文件的过程。

7).C语言关键字

C语言关键字是C语言中特殊保留的符号,提供特殊含义,也称“保留字”。C语言中一共有32个关键字,都有特殊的含义,都是小写。

2.C语言数据类型

1).数据类型分类

基本类型:整型(int)浮点型(float,double), 字符型(char)

构造类型:数组,结构体(struct),枚举(enum),共用体(union)

指针类型(void*):

空类型(void):

2).类型修饰符

short短型,修饰int,double.

long长型,修饰int,double。

signed有符号型,修饰int,char。

unsigned无符号型,修饰int,char

数据类型在不同编译器环境中的字节长度

数据类型 16位编译器(字节) 32位编译器(字节) 64位编译器(字节)
char 1 1 1
int 2 4 4
float 4 4 4
double 8 8 8
short int  2 2 2
unsigned int 2 4 4
long 4 4 8
unsigned long 4 4 8
long long 8 8 8
void * 2 4 8

3.变量、常量

1)变量

值经常发生改变的数据存储,用变量来表示,比如int a = 1,a就是变量。变量的定义的目的是在内存中分配一块内存空间来存储数据。

2)变量的格式:变量类型  变量名称

3)变量的赋值:可以是一个变量的值,也可以连续赋值,比如,int a =1; int b = a以及int a = b= 1;

注意:变量名不能相同,在同一个作用域内

4)常量

就是值不发生改变的的数据,用常量来表示,比如,1,2.2,‘a’等都是常量。

5)常量分类:整型常量,浮点型常量,字符型常量,字符串常量。


4.printf,scanf函数

1)printf()函数 ,输出函数

格式符

  
格式符 说明
%d 带符号十进制形式输出整数  int
%u 不带符号十进制输出整数 unsigned int
%o 不带符号八进制输出整数
%x 以不带符号十六进制输出整数
%c 输出一个字符
%s 输出一个或者多个字符串
%f 以小数形式输出单精度,双精度浮点数,默认6位小数
%e 以指数形式输出单精度,双精度浮点数,默认6位小数









2)scanf()函数,输入函数,从键盘接收用户输入的函数。

参数接收以回车进行结束操作

如果参数接收多个参数,参数之间的分隔符是任意的,但是如果分隔符是空格可以使用空格,tab,回车,(最后一个回车结束任务);

scanf函数的格式:scanf("格式控制符",输入项的地址列表)

    scanf("%f",&score); //不允许%m.nf形式,但是%mf可以

注意:scanf的第一个参数中不要包含\n,比如scanf(“%d\n”,&a); 这将导致scanf函数无法结束

5.基本运算
C语言共有34种运算符,主要分以下几种:
1).算术运算符
+、-、*、/、%,++,--
2).关系运算符
==、!=、>、<、>=、<=
3)逻辑运算符
&&、||、!
4)按位运算符
&、|、^、~、<<、>>
5)赋值运算符
=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=
6)三目运算符
a>b? a:b

6.流程控制
1)分类:
顺序结构,选择结构,循环结构。
2)选择结构-if
a.if(){}
b.if(){}else{}
c.if(){}else if(){}else{}
3)选择结构-switch
switch(表达式) { case 数值1: break; … default: break;}
4)循环结构-while
while(表达式) { }
5)循环结构-do-while
do {} while ( 条件 );
6)循环结构-for
for(表达式1;表达式2;表达式3){}
注意:死循环for(;;),for循环内的作用域混淆(for (int i = 0; i<5; i++)  int a = 10;)。
7)break和continue
break使用于switch和循环结构,continue使用于循环结构

    

你可能感兴趣的:(C语言)