大魔王程序员生成记#01#C语言基础

本文深入讲解C语言的基础知识,包括预处理指令、函数定义与调用、数据类型、输入输出操作、字符与字符串处理、注释及数据存储原理。通过实例解析函数参数传递机制和数据类型的内存占用。

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

  1.     预处理指令。#include<stdio.h>(或者#define)。C编译系统在对源程序编译之前,先由一个预编译器进行处理,将stdioo.h头文件的内容读出来,放在#include指令行。stdio.h:文件里面包含了很多的函数供程序员直接使用,例如printf()和scanf(),#开头的,都称为预处理指令。
  2.     程序总是从main()函数开始的,main()函数是程序的入口。一个程序中只有一个main()函数。一个函数包括两个部分:函数首部和函数体。(1).函数首部依次包括:函数类型 函数名();()之中可写成(函数参数类型  函数参数名)。函数的参数被称之为形参。而在主函数中向函数传递的参数成为实参。(2).函数体,即函数首部下面花括号中的内容。return语句表示,将来需要返回的值。
  3.     程序中对计算机的操作是由函数中的C语句完成的,在每个数据声明和语句的最后必须有一个分号。
  4.     在输入和输出语句中,scanf("%d,%d",&a,&b); printf("%d,%d\n",a,b); “%”表示格式说明的起始符号,常见的格式说明有%d:有符号十进制整数形式;%u:无符号十进制整数;%f:浮点数、十进制记数法;%o:无符号八进制整数;%x:十六进制数字;%c:一个字符;%s:字符串;%e:浮点数、e-记数法;%%:打印一个百分号。
  5.     字符,用‘’括起来的一个字符;字符串,用“”把若干字符括起来。字符常量储存在计算机存储单元中时,并不是存储字符本身,而是以其代码(一般采用ASCLL代码)存储。如:‘a’的ASCLL代码是97(二进制);‘A’的ASCLL代码是65;‘0’的ASCLL代码是48。
  6.     C语言有两种注释的方式,(1).以//开始的为单行注释;这种注释不能跨行(2).以/*  */的为块注释;这种注释可以独占一行,也可以包含多行。块注释不能够嵌套使用。(3).在VS2012中,可以使用快捷键ctrl+k+c进行注释;用ctrl+k+u取消注释。(4).也可以使用#if(或#if 0)注释内容 #endif进行注释。
  7. 7.	#include<stdio.h>
    void Swap(int c,int d)
    {
    	int tmp = c;
    	c = d;
    	d = tmp;
    	return;
    }
    
    int main()
    {
              int  a = 10; 
    	  int b = 20;
    	  printf("%d,%d\n",a,b);
    	  Swap(a,b);
    	  printf("%d,%d\n",a,b);
              return 0;//代表程序正常结束
    }
    

    在这段程序中,参数a和b称之为实参;而c和d称之为形参。

    运行结果:

 运行完函数但a和b的值没有改变。这是因为在计算机编译时,会给实参一个存储地址,也会给形参一个存储地址。运行函数只是将形参的值发生改变,而输出的实参的地址没有改变,所以才会出现以上结果。如果想要改变实参的值,就要进行传址。

8.在C语言里基本数据类型有 char,short,int,unsigned int,long int,long long,分别占 1,2,2/4,2/4,4,8个字节,int, unsigned int 和long int 与平台相关,另外还有浮点型数据float和double分别4和8字节。对于char型来说,它只占1个字节,即8位。

所以当到达0111 1111时,再进一位最高位就会变成1,遵循0正1负原则。此时就表示负数。而计算机在存储时,是以补码的形式(正数的补码是本身,负数的补码是取反加一)进行存储。所以,就能够得出char型的取值范围:-128到127。

9.float型的数据占4字节,即32位。如图所示

当存储float a=12.5f;时,12.5转化为二进制是1100.1=》1.1001*2^3,计算机规定指数位与127相加后,所得结果的二进制存储到指数位上,而尾数[因为所有的数都可转变科学记数法的形式(如:1.100*2^2) , 所以小数点以前的都相同 , 就可省略 , 只保存小数点以后的 , 即尾数部分]存储在尾数位,后面加0补位。 为什么是在后面补零???因为小数在后面补零值保持不变.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值