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

本文深入讲解C语言的基础知识,包括程序结构、数据类型、格式化输出、常量定义、goto语句、存储类别、字符串操作及函数使用。适合初学者快速掌握C语言核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

3.C语言中的数据类型

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

数据类型说明字节应用示例
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
%f6位小数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);//转为整数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚礼鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值