C语言程序的基础框架,变量,printf函数

本文介绍了C语言的基本框架,包括预处理指令#include<stdio.h>,主函数main的结构以及printf函数的使用。讨论了变量的概念、数据类型,如整型、字符型、浮点型,以及强制类型转换。还详细讲解了printf函数的四种用法和各种输出控制符的运用。
摘要由CSDN通过智能技术生成

C语言的一些基础知识

程序的基础框架和简单理解

#include<stdio.h>             //编译预处理指令

int main()                    //程序的入口主函数main
{                             //程序(函数、功能)开始标志
	printf("Hello World!\n"); //要写的代码
	return 0;                 //程序退出前返回给调用者(操作系统)的值
}                             //程序(函数、功能)开始标志

printf这个函数被定义在stdio.h头文件里面

#include<stdio.h>其实就是把stdio.h里面的代码全部搬过来放上面

关于return 0:一般时候操作系统运行程序后,程序要给操作系统一个“交待”
在cmd中运行上面的程序后,接着输入echo %errorlevel%,就能看到一个“0”的值。
代码中的return 0也可以改成其它值,不影响代码的运行。这个值只是告诉操作系统,程序被正常运行了,会得到一个什么值。一般约定俗成的是,程序被正常运行后返回一个0的值。

变量

变量存储在内存中,程序终止关闭后,变量所占的空间会被释放掉。

变量的本质就是内存中一段存储空间。

四点要素

  1. 变量名
    • 由字母数字下划线组成,且只能以下划线或者字母开头,不能以数字开头。
    • 区分大小写
    • 驼峰命名法(例如:SecondsPerYear)
  2. 变量值
  3. 存储单元
  4. 类型

数据类型

  1. 基本类型

    • 整型类型

      • 基本整型(int)(int data = 3)

      • 短整型(short int)

      • 长整型(long int)

      • 双长整型(long long int)

      • 字符型(char)(char data2 = ‘c’)

        字符本质上与整数的存储方式相同。因为有一种规定叫ASCII,它规定了不同的字符是使用哪个整数值去表示。

        ‘A’ —— 65
        ‘B’ —— 66
        ‘a’ —— 97
        ‘b’ —— 98

      • 布尔型(bool)

    • 浮点类型

      • 单精度浮点型(float)(float data3 = 3.2)
      • 双精度浮点型(double)
      • 复数浮点型(float_complex,double_comple,long long_comple)
  2. 枚举类型(enum)、空类型(void)

  3. 派生类型

    • 指针类型(*)
    • 数组类型([])
    • 结构体类型(struct)
    • 共用体类型(union)
    • 函数类型

数据类型可以强制转换,如:

#include <stdio.h>
int main()
{
    int data = 10;
    int diviser = 3;
    float result;
    result = (float)data/diviser;//强制转换
    printf("result = %f\n",result);
    printf("result = %f\n",(float)data/diviser);
    return 0;
}
运行结果:
    result = 0.333333
    result = 0.333333

printf函数

一般有四种用法:

  1. printf(“字符串\n”);

  2. printf(“输出控制符”,输出参数);

  3. printf(“输出控制符1 输出控制符2 输出控制符3 ……”,输出参数1,输出参数2,输出参数3,……);

    要注意“输出控制符”与“输出参数”必须一一对应。

  4. print(“控制输出符 非输出控制符”,输出参数);

以"%"开头的就是输出控制符,有如下输出控制符:

  • %d(十进制整数)
  • %c(单个字符,只输出一个字母)
#include <stdio.h>
int main()
{
    char c_data = '#';
    printf("字符c_data = %c\n",c_data);
    return 0;
}
  • %s(多个字符)

  • %f(小数,用来输出实数的时候,只能得到6位小数)

    还可以写成%m.nf或者%.nf的形式来对输出的数据进行限制(m表示要输出这个数的宽度,包括小数点

    #include <stdio.h>
    int main(void)
    {
    	float a = 123.456;
        printf("a = %f\n",a);//输出结果:a = 123.456001(单精度浮点数默认有6位小数,而且整个数据(包括整数位和小数位)的精确位只有6~7位) 
    	printf("\n");
    	printf("a = %.2f\n",a);//输出结果:a = 123.46(整数不限,保留两位小数)
    	printf("a = %.5f\n",a);//输出结果:a = 123.45600(小数不足在后面补0)
    	printf("\n");
    	printf("a = %1.1f\n",a);//输出结果:a = 123.5
    	printf("a = %2.1f\n",a);//输出结果:a = 123.5
    	printf("a = %3.1f\n",a);//输出结果:a = 123.5
    	printf("a = %4.1f\n",a);//输出结果:a = 123.5
    	printf("a = %5.1f\n",a);//输出结果:a = 123.5
    	printf("a = %6.1f\n",a);//输出结果:a =  123.5(123.5前面有一个空格)
    	printf("a = %7.1f\n",a);//输出结果:a =   123.5(123.5前面有两个空格)
    	printf("\n");
    	printf("a = %1.2f\n",a);//输出结果:a = 123.46
    	printf("a = %2.2f\n",a);//输出结果:a = 123.46
    	printf("a = %3.2f\n",a);//输出结果:a = 123.46
    	printf("a = %4.2f\n",a);//输出结果:a = 123.46
    	printf("a = %5.2f\n",a);//输出结果:a = 123.46
    	printf("a = %6.2f\n",a);//输出结果:a = 123.46
    	printf("a = %7.2f\n",a);//输出结果:a =  123.46(123.46前面有一个空格)
    	printf("\n");
    	printf("a = %1.3f\n",a);//输出结果:a = 123.456
    	printf("a = %2.3f\n",a);//输出结果:a = 123.456
    	printf("a = %3.3f\n",a);//输出结果:a = 123.456
    	printf("a = %4.3f\n",a);//输出结果:a = 123.456
    	printf("a = %5.3f\n",a);//输出结果:a = 123.456
    	printf("a = %6.3f\n",a);//输出结果:a = 123.456
    	printf("a = %7.3f\n",a);//输出结果:a = 123.456
    	printf("\n");
    	printf("a = %1.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %2.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %3.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %4.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %5.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %6.4f\n",a);//输出结果:a = 123.4560
    	printf("a = %7.4f\n",a);//输出结果:a = 123.4560
    	printf("\n");
    	printf("a = %1.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %2.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %3.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %4.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %5.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %6.5f\n",a);//输出结果:a = 123.45600
    	printf("a = %7.5f\n",a);//输出结果:a = 123.45600
    	printf("\n");
    	printf("a = %1.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %2.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %3.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %4.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %5.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %6.6f\n",a);//输出结果:a = 123.456001
    	printf("a = %7.6f\n",a);//输出结果:a = 123.456001
    	return 0;
    }
    
  • %x、%X、%#x、%#X(以16格式输出)

#include <stdio.h>
int main()
{
    int a = 3;
    printf("16进制输出a = %#X\n",a);//输出结果:16进制输出a = 0X3
    return 0;
}
  • %p(一般打印内存地址,也是16进制格式输出。用的时候输出列表中的数据前面要加&)
#include <stdio.h>
int main()
{
	int a = 3;
	printf("a数据的地址是:%p\n",&a);
	return 0;
}

注释

在代码中,//后面可以打注释。注释在编译预处理的时候,会被清除。

也可以在/**/之间打注释。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值