2. 在C语言编程中开始

2016-07-21  本文已影响85人  53df91bc24df

一、介绍

C程序由1 | 多个称为函数的过程构成。
C提供广泛的、被集中存放在标准库的文件集中的函数集。

assert.h 诊断程序 ctype.h 单个字符测试 errno.h 错误检测 float.h 浮点型界限 limits.h 整数型界限
locale.h 区域定义 math.h 数学 stjump.h 非局部的函数调用 signal.h 异常处理&中断信号 stdarg.h 可变长度参数处理
stddef.h 系统常量 stdio.h 输入/输出 stdlib.h 多种功用函数 string.h 字符串处理 time.h 时间和日期函数

C的函数存在C语言标准库的头文件中。
比如函数

printf() 
//在监视器上显示数据

存在标准库中一个叫

stdio.h
//因为printf()包含在stdio.h中,所以不用编写,只需要正确的调用calling

的头文件中。包含头文件使用

#include 
//使已命名文件的内容,插入到#include命令出现的地方
#include <stdio.h> 
//是一个预处理器命令,用一个#开始
//使stdio.h 插入到#include出现的地方
//头文件stdio.h给printf()提供一个适当的接口

int main() 
//int 返回的数值类型,整型
//main 函数名
//() 一个空参数表
//{} 中叫函数体
{
    float radius, circumference;
    
    radius = 2.0;
    circumference = 2.0 * 3.1415926 * radius;
    
    printf("the circumference is %f\n", circumference); //调用calling printf()
    
    return 0; //通过把控制返回给操作系统,完成main()函数内的处理
}

标识符

C中3种标识符,
保留字reserved word,也叫关键字keyword。是为了特定用途,预先定义的一个字。不能重定义。

完整的C关键字列表:

auto default float register struct volatile
break do for return switch while
case double goto short typedef
char else if signed union
const enum int sizeof unsigned
continue extern long static void

标准标识符,C中预先定义的字。可以重新定义。

一些标准标识符:

abs fopen isalpah rand strcpy
argc free malloc rewind strlen
argv fseex memcpy scanf tolower
calloc gets printf sin toupper
fclose isacii puts strcat ungetc

程序员建立的标识符
规则:

1 首字母,必须,字母 | 下划线。
2 首字母后,必须是数字、字母、下划线。
3 不许有空格。
4 不可以是保留字。

一般建立规则:第一个词小写,后面每一个词第一个字母大写
比如:helloWorld, welcomeToCLanguage

C的函数名称必须总被一对()跟随。比如 main() printf()
() 给函数提供一个可以将信息传递到函数的“漏斗”
通过()传递到函数的项目叫的参数

主函数 main()
reserved word 保留字 main 告诉计算机开始执行程序的地方
(驱动)函数 main() 告诉其他函数将要操作的顺序
一个C程序必须包含1个且唯一1个main()

int main()

void main() 
//如果函数在完成之前不反回任何数值

把数据或消息输入给一个函数叫:pass data to the function

可执行语句,必须用 ; 终止
不可执行语句,在程序执行时不引起计算机执行任何语句。比如 函数首部行(定义一个函数的开始) | 注释

注释行
//

注释块
/*

*/

#include <stdio.h>

int main()
{
    printf("Hello, World");
    
    return 0;
}

调用(calling)函数
上面main()开始第一条语句printf()的执行,并将一个参数("Hello, World",这个是“消息”,消息在C中叫字符串string,开头结尾都要用“ " ”)传递给printf(),这个形式称为调用函数。

换行转义序列符 \n
“\”改变跟随它的字符的含义,给这个字符从正常到一个“转义”

三、数据类型

C内置数据类型,

整数类型 浮点型
+, -, *, / +, -, *, /
% (模运算,返回余数), =, ==, != =, ==, !=
<=, >=, sizeof() (数据类型、表达式长度) <=, >=, sizeof()
位运算 (&, |, ^异或, 按位取反(1001=0110), <<左移, >>右移)

sizeof(): 显示编译器为每种数据类型提供的存储器数量。

1 整型数据类型
C中有7内置整形数据类型,差别是,使用存储器的数量

char short int int long int unsigned short int unsigned int unsigned long int
用于存储单个字符 支持的数值集是全部整数
-2147483648 +2147483648

ASCII中,Bin的and是011000010110111001100100

int
char
escape sequence/character 转义序列符号
\n 换行转义序列符

2 浮点数据类型 实数(小数点)
C中支持3种,差别是,使用存储器的数量

float 浮点型 double 双精度型 long double 长双精度型

指数计数法

1625. 1.625e3
.000625 6.25e-4

e后面是10的幂,小数点移动的位数。

四、算数运算

转换控制序列符(控制字符串)

%d 按十进制,显示一个整数
%c 显示一个字符
%f 按小数点后有6位,显示一个浮点数

控制字符串,告诉printf(),显示数值是什么类型(d, c, f 叫转换字),在什么位置显示(%)

当printf()在字符串中遇到conversion control sequence(转换控制序列符)时,把下一个参数的值,带入这个conversion control sequence的位置

五、变量和声明

赋值语句" = "
a = 3, 把3赋值给a

声明语句

函数名称()
{
    声明语句; //数据类型(dataType) 变量名(variableName)
    其他语句;
}
#include <stdio.h>

int main()
{
    float grade1, grade2, total, average;
    
    grade1 = 85.5f;
    grade2 = 97.0f;
    total = grade1 + grade2;
    average = total / 2.0;
    
    printf("the average grade is %f", average);
    
    return 0;
}
#include <stdio.h>

int main()
{
    char ch;
    
    ch = 'a'; //*单引号,将字母存入变量
    printf("the initial character save to ch is %c\n", ch);
    ch = 'm';
    printf("then it changed to %c\n", ch);
    
    return 0;
}

初始化
数据类型 变量名=初始值;

int i = 0
float pi = 3.14159
char a = 'a'

六、ex 温度转换

#include <stdio.h>

int main()
{
    float celsius;
    float fahrenheit;
    
    printf("输入华氏温度:\n");
    scanf("%f", &fahrenheit);
    
    celsius = 5.0/9.0 * (fahrenheit - 32);
    
    printf("华氏温度 %5.2f 对应的摄氏温度为 %5.2f\n", fahrenheit, celsius);
    
    return 0;
}

七、补充 sizeof()

sizeof()用于确定编译器为任何数据类型|变量保留的字节数

//Xcode 7.3.1
#include <stdio.h>

int main()
{
    printf("char        保留的存储器数量 %d\n", sizeof(char));//1
    printf("short int   保留的存储器数量 %d\n", sizeof(short));//2
    printf("int         保留的存储器数量 %d\n", sizeof(int));//4
    printf("long int    保留的存储器数量 %d\n", sizeof(long));//8
    printf("float       保留的存储器数量 %d\n", sizeof(float));//4
    printf("double      保留的存储器数量 %d\n", sizeof(double));//8
    printf("long double 保留的存储器数量 %d\n", sizeof(long double));//16
    
    return 0;
}

地址
& 地址运算符,&variableName 意味着这个变量的地址

//Xcode 7.3.1
#include <stdio.h>

int main()
{
    int num;
    
    num = 22;
    
    printf("num 的地址是:%d\n", &num);
    
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读