第一章C语言编程

您好!我是小柒,今天我们一起来学习一下编程的入门语言C语言。

C语言

1、小柒什么是C语言啊?

     C语言是一门通用计算机语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

特有特点

  1. C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
  2. C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
  3. 不同的变量类型可以用结构体(struct)组合在一起。
  4. 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
  5. 部份的变量类型可以转换,例如整型和字符型变量。
  6. 通过指针(pointer),C语言可以容易的对存储器进行低级控制。
  7. 预编译处理(preprocessor)让C语言的编译更具有弹性。
缺点
1、 C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2、 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的     人,要求对程序设计更熟练一些。
让小柒带你一起进入c语言的海洋吧!

本节内容

1、简单程序的一般形式

2、基本数据类型

3、常量、变量

4、输出函数

一、简单程序的一般形式

1)关于main.c文件的简介
   //  main.c     --当前文件名
   //  test             --当前工程名
   //  Created by IOS on 14-1-6.   --创建日期
   //  Copyright (c) 2014年  www.shagnke.com. All rights reserved.  --版权说明

-----------------------------------------------------------------

2)#include <stdio.h>

#开头的是预处理指令,指令后面没有分号。(<>和""得区别,当需要使用系统的我们用<>导入   ,我们自己创建的导入时用""来实现)

小柒提示:#include 是导入头文件,不能重复导入

  1. C编译器允许main()函数没有参数,或者有两个参数(有些实现允许更多的参数,但这只是对标准的扩展)。这两个参数,一个是int类型,一个是字符串类型。第一个参数是命令行中的字符串数。按照惯例(但不是必须的),这个int参数被称为argc(argument count)。大家或许现在才明白这个形参为什么要取这么个奇怪的名字吧,呵呵!至于英文的意思,自己查字典吧。第二个参数是一个指向字符串的指针数组。命令行中的每个字符串被存储到内存中,并且分配一个指针指向它。按照惯例,这个指针数组被称为argv(argument value)。系统使用空格把各个字符串格开。一般情况下,把程序本身的名字赋值给argv[0],接着,把最后的第一个字符串赋给argv[1],等等。

int main(int argc,const char *argv[])

  1. main 函数,是程序的入口,一个程序,从main开始,也从main结束
  2. 注意:一个程序有且仅有一个main函数
  3. 形式:函数的返回值类型  main(函数名)(括号为英文括号) (形参列表)(可以为空){函数体}
  4. 在c语言中缺少状态(未写返回值类型)默认是整型,无返回值类型,用void//

     {     .....     .....
   //标准输出函数        

printf("Hello, World!\n");

//返回值,该值类型,要与函数名前的类型保持一致,当一段程序遇到return时,就不会再往下执行.代表一段程序的结束。

return 0;
      }

小柒提示,语句:每条语句都要以分号结尾,程序运行时执行的命令。

return 0;

-----------------------------------------------------------------

3)注释

  1. //    一行注释
  2. /*    */   多行注释
  • 注释不会被编译到程序代码包内,编译过程中会被移除

二、基本数据类型

1)整型

小柒什么是整型呢?

答:整型数据即整数,整型数据的分类:整型,有符号型和无符号型;

  1. 整型包括整型,短整型,长整型
  2. 有符号型包括有符号整型,短整型,长整型
  3. 无符号型包括无符号整型,无符号短整型,无符号长整型。

整型

整型默认区分 正负数

  1. int 整型,在内存中占4个字节。
  2. short int 短整型,占2字节。
  3. long int 长整型,32位4个字节,64位8个字节。

有符号型

有符号整型,可以区分正负数,一般用不到。

 
  1. 有符号整型:类型说明符为signed int
  2. 有符号短整型:类型说明符为signed short 
  3. 有符号长整型:类型说明符为signed long

无符号型

 无符号整型,可以把负数变成正数

  1. 无符号整型:类型说明符为unsigned int
  2. 无符号短整型:类型说明符为unsigned short
  3. 无符号长整型:类型说明符为unsigned long

-----------------------------------------------------------------

2)字符型

小柒什么是字符型?

答:用于储存字符,如英文字母或标点,数字。

  • 字符型
    • char           字符类型  1个字节
    • 字符型用于储存字母和标点等字符
    • 字符在计算机中采用二进制的ASCⅡ码来存储
    • char类型存储一个字符占用1个字节的存储空间

-----------------------------------------------------------------

 3)浮点型

小柒什么事浮点型?

答:在计算机的世界里面没有小数,为了解决这个问题,所以我们有了浮点型

  • 浮点型
    • float          单精度浮点数类型
    • double      双精度浮点数类型

 

-----------------------------------------------------------------

4)C语言中浮点数包括float和double 

  1. double(双精度型)比float(单精度型)存的数据更准确些,占的空间也更大。
  2. 单精度浮点数在机内占4个字节,用32位二进制描述。
  3. 双精度浮点数在机内占8个字节,用64位二进制描述。
  4. 系统的默认类型是双精度浮点型double,在使用单精度浮点型float类型时,需要在数字后面添加f或F用以区分

三、常量、变量

1)常量

小柒什么是常量?

答:程序运行期间值不能被改变的量,叫常量。

2)常量类型

  • 整型常量:12,0,-3
  • 浮点型常量:4.6,-1.23
  • 字符型常量:’A’,’9’

-----------------------------------------------------------------

3)变量

小柒什么是变量?

答:变量代表一个存储区域,存储区域内存储的内容就是变量的值,变量的值可以在程序运行期间改变。

  • 存储区域相当于生活中的水杯,可以存储水。烟盒存放烟。

  • 变量的值可以在程序运行期间改变。 水杯可以放不同体积的水,烟盒可以放不同根数的烟,但是对于水杯和烟盒,存放的数量都不能超过自身的容积。变量也不能存放超出存储区域的大小的值。

-----------------------------------------------------------------

4)变量定义

  • 变量定义通常由三部分组成: 
  • 类型修饰符  变量名  =  初始值;
  • 例如:int  age = 23;
  • 在使用变量之前必须对变量进行定义

小柒提示,变量的声明格式以整型为例:先声明后赋值和声明时直接带值。

先声明后赋值

  1. int ab ;//类型修饰符  变量名 ;
  2. ab = 10;//赋值

声明时直接带值

  1. int a = 10;//类型修饰符  变量名  =  初始值;(声明时直接赋值)
  2. int b = 8,c = 5;//类型修饰符  变量名  =  初始值,变量名  =  初始值; (创建多少变量看实际需求)

-----------------------------------------------------------------

5)变量命名规则

     变量名命名规范:(变量名、宏名、函数名统称为标识符,都符合下列规律)

  • 只能由数字,字母,下划线组成,并且不能以数字开头
  • 不可以与系统保留字同名
  • 见名知意
  • 不能使用重复的变量名
  • 驼峰法命名
  • int age = 0;//见名知意

    int classSize = 30;//驼峰命名法  

    int num_1 = 0;    //正确:字母、下划线、数字组成

    int 1num = 0;     //不能以数字开头

    int _num1 = 0;    //正确,可以以下划线开头

    int -num1 = 0;    //错误:字母、下划线、数字组成,不包含横线

    int num_1 = 0;    //错误与上面的num_1重名

    int int = 0;      //变量名与系统关键字重名

四、输出函数

1)格式化输出函数printf

  • printf函数被设计用于显示格式串,并在该串中的指定位置插入可能的值
  • printf(格式串,表达式1,表达式2,…);
  • 格式串中包含普通字符和转换说明,其中转换说明以字符%开头。转换说明是用来表示打印过程中待填充的占位符。跟随在%后面的信息指定了把数值从内部形式转换成打印形式的手法。

-----------------------------------------------------------------

2)转换说明符

  • %c     字符
  • %d     整形
  • %hd    短整形
  • %ld     长整形
  • %f       单、双精度浮点数

-----------------------------------------------------------------

3)转换格式控制

  • printf(“%04d”,12);        //最小字段宽度占4个位置,不足以0补齐
  • 打印结果:0012
  • printf(“%4.2f”,1.2345); //最小字段宽度占4个位置,保留小数点后两位
  • 打印结果:1.23
  • printf(“%-4d”,112);      //最小字段宽度占4个位置,左对齐
  • 打印结果:112 (后面有一位空格)

-----------------------------------------------------------------

4)转义序列

  • \n        回车符
  • \\         打印\      printf("\\");打印结果:\
  • %%     打印%    printf("%%");打印结果:%

小柒c语言怎么输出字母的ASCll得值?

  1. char v = 'A';
  2. printf("%d",v);//用%d来输出

小柒提示:今天的学习结束了,大家好好吸收哦!明天我们一起深入学习运算符,大家好好加油哦!

posted on 2015-12-03 12:12  xxQMYxx  阅读(164)  评论(0编辑  收藏  举报

导航