C语言学习1.0

.概述

1.1 C语言的发展过程

C语言是在70年代初问世的,一九七八年由美国电话电报公司贝尔实验室正式发表了

C语言,同事合著了一本“THE C PROGRAMMING LANGUAGE”这本书,称为

<<K&R>>。但是在这本书中也没有定义一个完整的标准C语言,后来由美国国家标准

协会在此基础上制订了一个C语言标准,于1983年发表,通常称之为ANSI C

早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认

识,到了八十年代,C开始进入其他操作系统,并且很快在各类大,中,小和微型计算机

上得到了广泛的使用,成为了当代最优秀的程序设计语言之一。

1.2C语言的特点

1.C语言简洁,紧凑,使用方便,灵活。ANSI C一共由32个关键字,9种控制语句,程

序书写自由,主要用小写字母表示,压缩了一切不必要的成分。

2.运算符丰富,共有34种,C把括号,赋值,逗号等作为运算符处理。从而使C的运算

类型更为丰富,可以实现其他高级语言难以实现的运算。

3.数据结构类型丰富。

4.具有结构化的控制语句。

5.语法限制不太严格,程序自由度大。

6.C语言允许直接访问物理地址,能进行位操作(bit),能实现汇编语言的大部分功能,

可以直接对硬件进行操作,因此有人把它称为中级语言

7.生成目标代码质量高,程序执行效率高(UNIX,LINUX8.与汇编相比,用C语言写的程序可移植性好。

1.3程序设计思想

1. 面向过程:面向过程是一种以事件为中心的编程思想。就是分析出解决问题所需要

的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用即可。

2. 面向对象:面向对象”(Object oriented )是一种以实物为中心的编程思想。

1.4 环境安装

Code::Blocks:一个轻量级的C/C++开发环境,免费、开源、跨平台,相比较Dev-C++

较单一的功能来说,支持自动补全、语法提示和语法检查,除此之外,还自带有许多现成

的工程模板,可以快速开发GUIQtOpenGL等应用,插件扩展也比较丰富,对于初学

者来说,是一个非常不错的选择。

1.5运行第一个代码

 #include<stdio.h>
 int main()
 {
     printf("hello word!\n");
     return 0;
 }

.数据类型、变量、常量和运算符

1数据类型

2.基本数据类型

2.1逻辑类型

只有两个量 true false ,表示逻辑真值和逻辑假值。

2.2整数类型

1. char

计算机在内存中存储方式是补码

人可以一知道第一位是符号位,在计算机的时候我们会根据符号位对真值区域的加

减,但是对于计算机加减乘除已经是最基本运算,计算机考虑符号位显然让计算机基

本电路设计会变得十分复杂。于是人们想出了符号位也加入运算,根据运算法则减去

一个正数等于加上一个负数。

原码:符号位加上真值的绝对值,用最高位(第一位)表示符号位,其余表示值

反码:正数的反码是其本身,负数的反码是在其原码的基础上符号位不变,其余位按位取反

补码:正数的补码就是其本身,负数的补码就是,在其原码的基础上,符号位不变,其余按

位取反后 +1

移码:以原码为基础,符号位取反,其余位取反并在最后一位+1

使用char 数据类型需要的变量需要特别注意,防止数据超出值域。

char c1 = 128; //出错,数据越界(-128)
char c1 = 129; //出错,数据越界(127)
unsigned char c2 = -1 ;//出错,数据越界(255)
ASCII 表:
2.short
3.int
2.3.long

2.4.浮点类型

包括float double

2.5.bool类型

<stdbool.h>

#include<stdio.h>
#include<stdbool.h>
int main()
{
    bool a;
    a=1;
    if(a)
    {
        printf("ture,%d",a);
    }
    else
    {
     printf("faluse,%d",a);
    }
    return 0;
}

.常量

3.1整形常量

常量是指在程序运行期间其数值不发生变化的数据。整形常量通常简称为整数。
整数可以是十进制数,八进制数和十六进制数,例如
十进制的数值3356 可以有以下两种不同的表达方式
   
八进制数 06434
   
十六进制数 0xd1c

3.2浮点常量

浮点常量又被称为实数,一般含有小数部分。

C语言中,实数只有十进制的实数,分为单精度和双精度。实数有两种表示方法,

即一般形式和指数形式。

例如: 3.5 -12.5 3.1415926

#include<stdio.h>
int main()
{
    float a,b;
    a=16.1234567;
    b=0.2747919771;
    printf("%f %e\n",a,a);
    printf("%f %e\n",b,b);
    return 0;
}

3.3指数常量

指数形式的实数一般是由尾数部分、字母eE和指数部分组成。当一个实数的符号为正号

时,可以省略不写,其表示的一般形式如下:

1.176e+10 表示 1.176 x 10^10

-3.5789e-8 表示 -3.5789x10^-8

   

通常用来表示特别大或者特别小的数

int main()
{
    float a,b;
    a=16.1234567;
    b=0.2747919771;
    printf("%f %e\n",a,a);
    printf("%f %e\n",b,b);
    return 0;
}

同3.2

3.4 字符常量

字符常量是指一个单一字符,其表示形式是由两个单引号包括的一个字符

’A‘’a‘’Q‘’0‘’9’‘+’都是字符常量

C语言中,字符常量具有数值,字符常量的值就等于字符的ASCII值。

可以把字符常量看作一个字节的正整数。

#include<stdio.h>
int main()
{
    char arr[]={"abc"};
    char arr2[]={'a','b','c','\0'};
    printf("%s %s\n",arr,arr2);
    printf("%d %d\n",sizeof(arr),sizeof(arr2));
    return 0;
}

3.5 字符串常量

所谓字符串常量是指用双引号括起来的一串字符来表示的数据(字符串以'\0'结尾)。"9"

= '9'+'\0'

“Hello” “Studnent ” “Linux”"9"张三

哞哞教育120xxxxxx@qq.com

#include<stdio.h>
int main()
{
    char arr[]={"abc"};
    char arr2[]={'a','b','c','\0'};
    printf("%s %s\n",arr,arr2);
    printf("%d %d\n",sizeof(arr),sizeof(arr2));
    return 0;
}

3.6标识常量

所谓标识常量是指用标识符替代常量使用的一种一种常量,其名称通常是一个标识符。

标识常量也叫符号常量,一般用大写英文字母的标识符。在使用之前必须预先定义,说明

形式为: 宏

#include<stdio.h>
#define one 1
#define two one+one
#define twor (one+one)
int main()
{
    int a=10,b=20,c1,c2;
    c1=one+two*b+a;     //c1=1+1+1*20+10=32
    c2=one+twor*b+a;    //c2=1+(1+1)*20+10=51
    printf("%d %d\n",c1,c2);
    return 0;
}

总结小技巧:

%f浮点型(float-小数点后六位    |   double 小数点后15-16)
%s 数组型
%d整型
%c字符型'a','1','\'
%0八进制0123(前面的零表示123是八进制数)
%x十六进制0x15(前面的0x表示15是十六进制数)
%e指数型

1.86*10^10=1.68*e^+10

-1.86*10^10=1.68*e^-10

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值