C语言的常见概念2

本文介绍了C语言中的主函数概念,展示了printf函数的使用方法,解释了库函数的作用以及如何使用ASCLL编码处理字符。还涵盖了控制语句、关键字和转义字符等内容,帮助读者理解C语言的基本结构。
摘要由CSDN通过智能技术生成

main函数

  • main函数顾名思义主函数的意思,是程序执行的入口。

  • main函数只能有一个,因为程序的入口只能有一个。

printf函数和库函数

printf就是一个库函数,功能:在屏幕上打印信息
在使用printf函数时许哟啊包含 头文件 。具体操作如下:

#include <stdio.h>

实操

#include <stdio.h>
int main()
{
	int n = 1;
	printf("%d\n",n);//1
	printf("Hello World!\n")//Hello World!
	printf("%c\n",'a');//a
	return 0;
}

其中的%d、%c为占位符。
\n为换行符。

那问题来了,库函数又是什么东西?听不懂啊!!!!
在这里插入图片描述
别急,这就为大家解答一下。
为了程序员不重复使用一些常见的代码,例如打印、录入数字等(每个程序员都写一遍那还了得!那得多少行代码)C语言规定了一组函数,这些函数再由不同的的编译器厂商根据标准进行实现(不同编译器厂商不大一样,例如在C语言中规定录入用scanf函数,而在VS2022中我们需要使用scanf_s,不然会报错,这个也可以设置,等讲到再说,我没忘!真的!嗯。),并提供给程序员使用,这些函数组成了一个函数库,被称为标准库,又叫库函数
一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用需要包含对应的头文件,例如上面的#include <stdio.h>

库函数不止printf、scanf等,还有超~级多(自己浏览器搜一下cpp,cplusplus也行)。

看一眼
在这里插入图片描述
这么多!!!你疯了!你认真的?
在这里插入图片描述
不用背嗷,不用背,要用的时候看一下就行了,嘿嘿

关键字

C语言中有一批保留的名字的符号,它们有特殊的意义,例如:int、while、for、if、return等,这些符号被称为关键字
注意:

  • 我们在创建标识符的时候不能用关键字。
  • 自己并不能创建关键字(你没那么伟大,连关键字都给创建了,你咋这么牛)
    在这里插入图片描述
    C语言常见关键字如下:
short	int	  float	  double	long   char   do 
return   if   else   while   for   continue   break
default   switch   case   void   signed   unsigned   typedef   sizeof   struct    

常见的这些,不用背!千万别背!多练习代码就会记住了

字符和ASCLL编码

我们在键盘中敲出来的字符,例如:a、b、c、*、&等都叫字符,在C语言中,我们需要将字符用单引号引起来,例如:‘a’、‘b’、‘c’、'&'等。

在上篇我们知道计算机只能读懂二进制,计算机中的所有数据都是以二进制的形式进行存储的。我们给每个字符编一个二进制序列,这个序列就叫作编码

为了方便,美国国家标准学会出台了一个标准的ASCLL编码,C语言中的字符就遵循了ASCLL编码的方式。

ASCLL码表
在这里插入图片描述
不需要记住所有,只需要记住几个特殊的就可以

  • 字符A ~ Z对应的ASCLL码值从65 ~ 90
  • 字符a ~ z对应的ASCLL码值从97 ~ 122
  • 大小写字符(A与a)的ASCLL码值的插值为32
  • 数字字符0 ~ 9 对应的ASCLL码值为48 ~ 57
  • 换行符 \n 的ASCLL码值为 10
  • 0 ~ 31的这些字符是不可打印字符

那我们应如何使用ASCLL码值呢?

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

打印 可打印字符

#include <stdio.h>
int main()
{
	for(int i = 32;i <= 127;i++){
		printf("%c ",i);
		if(i % 16 == 15){
			printf("\n");//换行,所有字符都在一行太长了
		}
	}
}

字符串和/0

在C语言中用双引号引起来的一串字符被称为字符串,例如:“Hello World!”。

字符串的占位符用 \s 来表示,可以直接打印出来。

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

C语言中,在字符串的末尾隐藏着一个 \0 , \0 是字符串的结束标志
例如:

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

调试结果
在这里插入图片描述
为什么会出现烫烫烫~

让我们来观察一下arr1与arr2
在这里插入图片描述
可以看到arr1中并没有 \0 ,而arr2中有 \0 ,在前面我们提到 \0 是字符串的结束标志,当printf函数扫描到 \0 时停止扫描,而在arr1的数组中即使越界也没有找到 \0 ,于是出现调试的结果。

转义字符

前面提到的 \n 、\0 就是转义字符,顾名思义转变原来字符的意思。

在这里插入图片描述
\t :制表符,光标移到下⼀个水平制表位,通常是下⼀个8的倍数。
在这里插入图片描述
要注意后两种转义字符。
在这里插入图片描述
在这里做题练习一下
下图所示的代码调试结果为多少?

strlen是求字符串长度的函数(统计字符串中 \0 之前的字符的个数,不包含 \0)

#include <stdio.h>
int main()
{
	printf("%zd\n",strlen("c:\test\130\test.c"));
	return 0;
}

答案为13
这里注意 \t , \130 都是转义字符,算一个字符。

嘿 做完感觉类似的题都just so so

在这里插入图片描述

语句

  • 空语句
#include <stdio.h>
int main()
{
	;//空语句
	return 0;
}
  • 表达式语句
#include <stdio.h>
int main()
{
	int a = 10;
	int b = 0;
	b = a + 10;//表达式语句
	return 0;
}
  • 函数调用语句
#include <stdio.h>

int Add(int a, int b){
	return a + b;
}
int main()
{
	int add = Add(1,2);//函数调用语句
	return 0;
}
  • 复合语句
#include <stdio.h>
int main()
{
	int arr[10] = {0};
	for(int i = 0;i < 10;i++){	//for循环中的循环体就是复合语句
		arr[i] = 10 - i;
		printf("%d\n",arr[i]);
 	}
 	return 0;
}
  • 控制语句
  1. 条件语句:if 语句、switch语句;
  2. 循环语句:while语句、do while语句、for语句。
  3. 转向语句:continue语句、break语句、goto语句、return语句。

注释

注释 是对代码的说明,编译器不会执行,注释是给程序员看的,让我们更好的理解代码。

注释有两种方式

  1. /* */
#include <stdio.h>
int main()
{
	/*printf("12345\n");
	printf("abcdef\n");*/
	printf("Hello World!\n");
	return 0;
}

程序调试结果只有Hello World! ,被注释的部分并不执行。
2. //

#include <stdio.h>
int main()
{
	printf("Hello World!");//打印Hello World!
	return 0;
}

不要过度注释,现在这些简单的代码写注释是因为能更详细的讲解,方便初学者学习,更能看懂。

好贴心~
在这里插入图片描述

  • 41
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值