1.一个c程序由若干头文件和函数组成

2.一个c程序有且只有一个主函数

#include<stdio.h> //头文件
int main()    //主函数
{
    printf("Hello World");
    return 0;
}

3.C语言中的数据类型

c语言基础学习一(与java对比不同之处)_寄存器

最简单常用的整型、实型与字符型

数据类型

说明

字节

应用

示例

char

字符型

1

用于存储单个字符

char sex='M';

int

整型

2

用于存储整数

int height=18;

float

单精度浮点型

4

用于存储小数

float price=11.1;

double

双精度浮点型

8

用于存储位数更长的小数

double pi=3.1415926

4.格式化输出语句

格式化输出语句也可以说是占位输出,是将各个类型的数据按照格式化后的类型及位置从计算机上显示出来。

常用的格式化符

格式符

说明

举例

%d

带符号十进制整数

int a=10;printf("%d",a); 输出结果为10

%c

单个字符

char a=‘a’;printf("%c",a); 输出结果为a

%f

6位小数

float a=1.234;printf("%f",a);输出结果为1.234000

%s

字符串

printf(‘%s’,"慕课网");输出结果为慕课网

5.c语言中常量的定义

#define PI 3.14 //定义一个圆周率常量

6.goto语句

其语句含义就是跳到某个地方执行,例如下面用goto语句实现的for循环:

# include <stdio.h>
int main(){
    int sum = o;
    int i=1;
    LOOP:if(i<=10){
        sum+=i;
        i++;
        goto LOOP;
    } 
    printf("sum=%d\n",sum);
    return 0;
}

7.c语言中存储类别分为四类:自动(auto),静态(static),寄存器的(register)和外部的(extern)。

①.自动变量,属于动态存储方式:如:

int fn(int a){
    auto int b,c; //定义b,c为自动变量 auto可以省略
}

②.用static修饰的为静态变量,属于静态存储,如:

#include <stdio.h>
void fn(){
    static int x=0;
}

③.为了提高效率,c语言允许将局部变量的值放在CPU的寄存器中,这种变量叫“寄存器变量”,用关键字register修饰,例如:

#include <stdio.h>
void fn(){
    register int x=0;
}

注意寄存器变量只有局部动态变量和形式参数可以作为寄存器变量,一个计算机系统中寄存器数目有限,不能定义多个寄存器变量,局部静态变量不能定义为寄存器变量

④.用extern声明的变量是外部变量,外部变量的意义是某个函数可以调用该函数之后定义的变量,例如:

#include <stdio.h>
int main(){
    extern int x;
    printf("extern x=%d\n",x);
    return 0;
}
int x=100;

具体外部变量详解请看:https://baijiahao.baidu.com/s?id=1655728878597434584&wfr=spider&for=pc

8.字符串=字符+数组

#include <stdio.h>
int main(){
    //定义字符数组s1
    char s1[] = "我爱中国";
    //下面这种方式只能用英文
    char s2 = {'I','L','O','V','E','C'};
    return 0;
}

9.字符串函数:

char str1[]="张三";
printf("字符串str1长度=%d\n",strlen(str1));//获取字符串长度

char str1[]="张三";
char str2[]="李四";
printf("字符串str1与str2比较结果%d\n",strcmp(str1,str2));//通过ASCII码比较str1与str2是否相等

char str1[]="张三";
strcpy(str1,"李四");
printf("%s\n",str1);//字符串拷贝,打印结果是李四

char str1[4]="张三";
char str2[]="李四";
strcat(str1,str2);//字符串拼接,str1拼接str2并赋值给str1,注意str1数组有足够长度

char str1[]="100";
atoi(str1);//转为整数