C语言的常见概念——新手学系框架(1)

 1.main函数和第一个C语言程序

main函数也叫主函数,是C语言程序的入口。每个C语言程序有且仅有这一个入口。main前面的int表示程序执行完成返回一个整形,与最后return 0呼应。

由此可以得到一个简单的代码。

#include <stdio.h>
int main()
{
  printf("hello world");
  return 0;
}

运行代码就可以在屏幕上出: 

2.库函数简介

而如上一个代码使用的printf函数是一个库函数,全称为print format,即按格式打印。库函数是C语言为程序员提供的,一系列可以实现特定功能的函数工具,以提升程序开发的效率。

库函数数量众多,且需要包含头文件。如:上述printf函数的使用需包含头文件<stdio.h>,具体库函数内容可参考链接:https://cplusplus.com/reference/clibrary/。库函数需要逐步熟悉和学习,这是整个C语言学习不可缺少的一环。

3.C语言的学习离不开关键字的学习

C语言的关键字是预定义的、具有特定意义的单词,它们被用作编程语言的基本构件。

对于关键字的使用需要注意以下点:

1• 程序员⾃⼰在创建标识符的时候是不能和关键字重复。

2• 关键字也是不能⾃⼰创建

常用有以下32个关键字:

auto   break   case   char   const   continue   default   do   double   else   enum

extern  float   for   goto   if   int   long   register  return  short  signed  sizeof

static   struct   switch   typedef   union   unsigned   void   volatile   while

在C语言不同模块学习中,会接触不同关键字,如for,while,do 用于循环语句;switch,if用于条件语句;int, float,char用于创建变量等。

其他关键字见:https://zh.cppreference.com/w/c/keyword

4.了解ASCll编码与字符

ASCll码表参考:https://zh.cppreference.com/w/cpp/language/ascii

所有数据在计算机都以二进制位储存,其中字符以其ASCll编码的形式储存。

C语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。以%c的形式打印。

       以此可以看看下面的代码

#include<stdio.h>
int main()
{
  printf("%c\n",'A');
  printf("%c",65);
  return 0;
}

打印结果为:

对于ASCll码表,主要了解以下几点:

• 字符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个字符是不可打印字符,⽆法打印在屏幕上观察

     对于其余可打印的字符,可以写一个循环将其全部打印出

#include <stdio.h>
int main()
{
    for(int i=32;i<127;i++)
 {
   printf("%c ",i);
 } 
 return 0;
}

5.字符串与\0

1.字符由单引号引起,而由字符连接成的字符串则由双引号引起,如“abcde”,“hello world”。

字符串以%s的格式打印,也可直接打印。

#include <stdio.h>
int main()
{
   printf("%s","abcd\n");
   printf("abcd");
 return 0;
}

2.字符串末尾隐藏有一个\0,这个\0为字符串结束的标志,可有vs2022的监视窗口查看

因此在用 printf 打印字符串或者以 strlen 计算字符串长度时,遇到 \0 即会停止

3.如果没有\0会怎样,我们可以创建一个字符数组存储字符串,如:

#include <stdio.h>
int main()
{
  char arr1[]={'a','b','c','d'};
  char arr2[]={"abcd"};
  printf("%s\n",arr1);//语句一
  printf("%s",arr2);//语句二
  return 0;
}

对于这个打印结果我们可以知道,如果没有\0作为字符串的结束标志,在打印完数组arr中的字符后将会打印随机值,直到遇到\0,才会结束打印。

当我们加上\0后就可以正常打印字符。

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

6.转义字符

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

对于这个代码,我们能够打印出字符 n,但是没能够得到 \n,这是因为在 n前面加上' \ ',与 n组成了换行符,可以理解为转变了 n意思。

如果想要正常打印出\0,可以在其前面再加一个' \ ',这样屏幕上就会老老实实的打印出 \0,类似的转义字符都能使用这个方法。

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

转义字符参考:https://zh.cppreference.com/w/c/language/escape

了解转义字符的知识,可以计算以下代码的打印结果

#include <stdio.h>
#include <string.h>
int maiin()
{
  int len = strlen("c:\test\abc\178\test.c");
  printf("%d", len);
  return 0;
}

可以得到结果为 17。因此转义字符在代码中的识别是很重要的,它是我们读懂代码的基础之一。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值