C语言常见概念

1.printf和库函数

 printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进行信息的打印,printf函数也可以⽤来打印其他类型的数据,eg:

int n = 100;
printf("%d\n", n);//printf打印整型
printf("%c\n", 'q');//printf打印字符
printf("%lf\n", 3.14);//printf打印双精度浮点型 

%d , %c 等是占位符,会被后边的值替换。使用库函数的时候,是需要包含头⽂件的。

#include 

为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了⼀组函数,这些函数再由不 同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。

2.关键字介绍

C语言中保留⼀批保留的名字的符号,比如: int 、 if 、 return ,这些符号被称为保留字或者关键 • 关键字都有特殊的意义,是保留给C语言使用的 • 程序员自己在创建标识符的时候是不能和关键字重复的,关键字也是不能自己创建的。

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

 3.字符和ASCII编码

键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语言中字符是用单引号括起来的,如:'a','b','@'。

在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个人自己给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C语言中的字符就遵循了ASCII编码的方式。

C语言常见概念_第1张图片

字符A~Z的ASCII码值从65~90

字符a~z的ASCII码值从97~122

对应的大小写字符(a和A)的ASCII码值的差值是32

数字字符0~9的ASCII码值从48~57

换行 \n 的ASCII值是10

在这些字符中ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上观察

4.字符串和\0

使用双引号括起来的⼀串字符就被称为字符串,如:"abcdef",就是⼀个字符串。字符串的打印格式可以使⽤ %s 来指定。

printf("%s\n", "hello C");
printf("hello c");

在字符串的末尾隐藏放着⼀个的结束标志 \0 字符,是字符串的结束标志。所以我们在使⽤库函数  printf() 打印字符串或者strlen() 计算字符串长度的时候,遇到\0 的时候就自动停止了。

#include 
int main()
{
    char arr1[] = {'a', 'b', 'c'};//arr1数组中存放3个字符
    char arr2[] = "abc"; //arr2数组中存放字符串
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    return 0;
}

 C语言常见概念_第2张图片

5.转义字符

转义字符顾名思义:转变原来的意思的字符,eg:字符n,在字符串中打印的时候自然能打印出这个字符。

#include 
int main()
{
    printf("abcndef");
    return 0;
}

此时输出为:abcndef,但是在“n”前加“\”时,代码如下:

#include 
int main()
{
    printf("abc\ndef");
    return 0;
}
//输出为:
//abc
//def

这是因为:“\n"是⼀个转义字符表示换行的意思,常见的转义字符有:

\? :在书写连续多个问号时使用,防止他们被解析成三字母词,在新的编译器上没法验证了。

\' :用于表示字符常量。

\" :用于表示⼀个字符串内部的双引号。

\\ :用于表示个反斜杠,防止它被解释为⼀个转义序列符。

\a :用于表示警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。

\b :用于表示退格键,光标回退⼀个字符,但不删除字符。

\f :用于表示换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\v。

\n :用于表示换行符。

\r :用于表示回车符,光标移到同一行的开头。

\t :用于表示制表符,光标移到下一个水平制表位,通常是下⼀个8的倍数。

\v :用于表示垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同⼀列。

字符的8进制或者16进制表示形式 为:

\ddd :ddd表示1~3个八进制的数字。

\xdd :dd表示2个十六进制数字。

\ 0 :null字符,代表没有内容,\0 就是\ddd 这类转义字符的⼀种,用于字符串的结束标志,其 ASCII码值是0

#include 
int main()
{
    printf("%c\n", '\'');
    printf("%s\n", "\"");
    printf("c:\\test\\code\\test.c\n");
    printf("\a");
    printf("%c\n", '\130'); //130是8进制,转换成10进制是88,以88作为ASCII码值的字符是
    printf("%c\n", '\x30'); //x30中的30是16进制,转换成10进制是48,以48作为ASCII码值的
    return 0;
}

6.语句和语句分类

C语言的代码是由⼀条⼀条的语句构成的,C语言中的语句可为以下五类:

空语句:一个分号就是一个空语句。

表达式语句:表达式语句就是在表达式的后边加上分号。

函数调用语句:函数调用的时候,加上分号,就是函数调用语句。

复合语句:成对括号中的代码就构成⼀个代码块,也被称为复合语句。

控制语句:控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构)它们由特定的语句定义符组成,C语言有九种控制语句。 可分成三类(1.条件判断语句也叫分支语句:if语句、switch语句。2.循环执行语句:dowhile语句、while语句、for语句。3.转向语句:break语句、goto语句、continue语句、return语句。)

;//空语句

int a = 20;
int b = 0;
b = a + 5; //表达式语句

printf("hehe\n");//函数调⽤语句
int ret = Add(2, 3);//函数调⽤语句

void print(int arr[], int sz) 
{//函数的⼤括号中的代码也构成复合语句
    for(i=0; i<10; i++) //for循环的循环体的⼤括号中的就是复合语句
    {
        arr[i] = 10-i;
        printf("%d\n", arr[i]);
    }
}

 

你可能感兴趣的:(c语言)