C语言零基础入门(二 基本概念)

大家继续学起来吧!

2. C语言基本概念

2.1 简单的C语言程序

首先写一个所有编程语言都会用到的第一个经典例子——输出“Hello,world”。

一般我们习惯用 Visual Studio (简称VS) 编写C语言。

Visual Studio的下载安装教程可参考下面链接(转自博主:机器视觉001):

https://blog.csdn.net/liubing8609/article/details/82695402

【例】编写一个C语言程序,输出“Hello,world”。

#include<stdio.h>
void main(void)
{
    printf("Hello,world\n");
}

程序中的main是一个特殊的函数名,称为主函数。花括号及其中的内容是main()的函数体,可以由若干条语句组成,每个语句的最后有一个分号,表示一个语句结束。一个C语言程序由若干个函数组成,其中必须有唯一的main()函数。C语言程序从main()函数开始运行,main()函数中的最后一个语句执行完毕后,C语言程序的运行也就结束了。

printf()函数是C语言的标准库函数,该函数原型在标准库函数的头文件<stdio.h>中定义,所以需要使用 #include 命令加以包含。该函数将字符串 “Hello,world\n” 输出到标准输出设备(屏幕)上。字符串中的 “\n” 代表换行符。

【例】编写程序,输出两个整数中的最大值。

#include <stdio.h>

/* 定义函数,求两个整数中的较大者 */
int max(int x, int y)    
{
    int z;                      //定义变量
    if(x > y){
        z = x;                  //将x和y中的较大者赋值给z
    }
    else {
        z = y;
    }
    return z;                   //返回z的值
}

void main(void)
{
    int a, b, c;                //定义变量
    printf("a, b = ");          //输出提示变量
    scanf("%d, %d", &a, &b);    //输入两个整数
    c = max(a, b);              //调用函数
    printf("max = %d\n", c);    //输出结果
}

上述程序编译并运行,输入“10,20”,运行结果为:20。截图如下:

程序中的 /*   */ 和 // 均为注释,其中,/*   */ 即可作为行注释,也可用于块注释,而 // 只能作为行注释。注释内容用于帮助阅读理解程序,其作用是提高程序的可读性,但没有实际的逻辑意义,不生成目标指令。程序中的注释可用来注明程序或语句的功能,也可用来注释函数的功能、变量用途及程序段的功能等。

程序中定义的max() 函数的功能是求两个整数的最大值,其中x和y是max() 的形参。

函数scanf() 是C语言标准库函数,用于从标准输入设备(键盘)输入数据给指定的变量。语句scanf("%d, %d", &a, &b); 用来输入两个整数给变量a和b,变量前面的运算符&是取地址运算符,&a和&b分别是变量a和b的地址,要想输入数据给变量a和b,必须将a和b的地址传递给scanf() 函数。需要注意的是,函数scanf() 的输入格式实参“%d,%d”中含有逗号(,),实际输入数据时也需要输入逗号。

主函数main() 中,语句c = max(a, b); 的含义是,用a和b作为实参,调用函数max(),得到max() 的返回值赋值给c,即a和b的最大值赋给c。

2.2 关键字和标识符

2.2.1 字符集

 C语言字符集包括以下内容:

(1)字母:大写字母A~Z,小写字母a~z。

(2)数字:0~9。

(3)下划线:_ 。

(4)标点符号:,(逗号)、;(分号)、“ ”(双引号)、‘’(单引号)。

(5)特殊字符:+、-、*、/、%、=、()、[]、{}、>、<、!、\、|、Tab、空格符等。

2.2.2 关键字

关键字又称为保留字,是语言中被赋予特定含义的单词符号。

表2-1 ANSI C定义的关键字
autodogotosignedunsigned
breakdoubleifsizeofvoid
caseelseintstaticvolatile
charenumlongstructwhile
constexternregisterswitch 
continuefloatreturntypedef 
defaultforshortunion 

2.2.3 标识符

C语言程序中,通常需要对函数、变量、符号常量、数据类型和数组等进行命名,这些名称统称为标识符。需要注意,C语言中大小写字符是有区别的。

标识符是符合以下语法规则的字符序列:

  • 首字符必须是字母或下划线
  • 只能包含字符A~Z、a~z、0~9及_(下划线)
  • 标识符不能是关键字
  • 标识符不能跨行书写

例如,以下这些字符序列是合法的C语言标识符:

             abc        ABC         Abc         buffer        _abc           filename

而以下这些字符序列则不是合法的C语言标识符:

             +abc         $xyz         2apple         %cat

使用标识符命名程序中各种对象时,要尽量做到“见名知意”,这样有利于提高程序可读性,比如,用day表日期,sum表示和等。

2.3 数据类型

C语言主要的数据类型有4类,分别是基本类型、构造类型、指针类型、空类型(void)。

基本类型包括:整型、浮点型、字符型、枚举型。数值类型是整型和浮点型的总称。C语言的字符型比较特殊,也可以作为数值类型,成为算术运算的对象。

表2-2 C语言的数据类型
                              数据类型分类             关键字                      示例

整数类型整型intint a;
短整型short int(short)short int a;
长整型long int (long)long int a;
无符号整型unsigned

unsigned a;

unsigned int b;

unsigned short c;

unsigned long d;

浮点类型单精度浮点型floatfloat a;
双精度浮点型double

double a;

长双精度浮点型long doublelong double a;
字符型charchar a;
枚举类型enum(int)enum boolean{true,false};

数组 

int point[100];

char name[256];

结构体struct

struct date{

        int year;

        int month;

        int day;

}

共用体union

union{

        int length;

        char name[256];

        double value;

}

指针类型 

int *point;

char *pstring;

空类型void

void *p;

void main(void){}

2.3.1 整数类型

表2-3 64位机整数类型
                   类型存储                                         表示范围
short int2字节-32768 ~ 32767(-^{^{}}^{_{^{^{^{^{}}}}}}2^{15} ~ 2^{15}-1)
unsigned short int2字节0 ~ 65535(0 ~ 2^{16}-1)
int2字节-32768 ~ 32767(-^{^{}}^{_{^{^{^{^{}}}}}}2^{15} ~ 2^{15}-1)
unsigned int2字节0 ~ 65535(0 ~ 2^{16}-1)
long int4字节-2147483648 ~ 2147483647(- 2^{31}~ 2^{31}-1)
unsigned long int4字节0 ~ 4294967295(0~ 2^{32}-1)

应注意,整型之间进行算术运算,结果还是整数。如,程序段:

int a = 123, b = 10, c;
c = a / b;

运行后,变量c的值为12,小数被舍去。

2.3.2 浮点类型

C语言用浮点类型来表示人们概念中的实数(含有小数),也可以说C语言使用浮点数来表示和处理实数。

表2-4 浮点类型
           类型    存储                          表示范围精度(有效位数)
float4字节±3.4\times10^{-38} ~ 3.4\times10^{-38}7位数字
double8字节±1.7\times\small 10^{-308} ~ 1.7\times\small 10^{-308}16位数字
long double10字节±3.4\times\small 10^{-4932} ~ 3.4\times\small 10^{-4932}19位数字

2.3.3 字符类型

表2-5 字符类型
类型存储表示范围
char1字节-128 ~ 127(-\small 2^{7}
unsigned char1字节0 ~ 255(0 ~ \small 2^{8} - 1)

字符常量用单引号括起来,如 ‘A’、‘I’ 和 ‘$’ 等是字符常量。为了使程序可以处理字符集中的每一个字符,C语言提供了一种特殊的表示法——转义序列,通常称为转义符。

表2-6 C语言转义符
转义符描述转义符描述
‘\a’警报符‘\\’反斜杠
‘\b’退格‘\?’问号
‘\f’走纸换页‘\'’单引号

‘\n’

换行‘\"’双引号
‘\r’回车‘\0’空字符
‘\t’横向制表符‘\ddd’八进制转义符
‘\v’垂直制表符‘\xhh’十六进制转义符

未完待续......  大家有什么问题或者补充敬请留言呦!

 

 

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值