初识C语言
2021/12/17 23:20:49
本文主要是介绍初识C语言,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一.常量
二.字符串
三.转义字符
四.注释
五.选择语句
六.循环语句
七.函数
一.常量
常量有以下四种类型:
1.字面常量
10;//整形常量 3.14;//浮点型常量 'a';//字符型常量 "abcdef";//字符串常量
这些常量常用作赋值给变量
2.const修饰的常变量
const是C语言中的关键字,被const修饰的变量具有了常属性,也就是拥有了常量的部分性质,但被修饰的变量本质上还是属于变量
int num = 10; printf("%d\n",num); num = 20;//修改num的值为20 printf("%d\n",num);
变量没被const修饰之前是可以修改的
const int num = 10; printf("%d\n",num); num = 20; printf("%d\n",num);
而变量被const修饰后再修改它的值就会报错,说明被const修饰后的变量变成了值不能被修改的常变量
为什么说它是常变量呢?下面是它和常量的区别:
int arr[10] = { 0 };
以这种方式创建数组是没有问题的
int n = 10; int arr[n] = { 0 };
以这种方式创建数组就会报错,说明再[ ]中应该放入一个常量
const int n = 10; int arr[n] = { 0 };
被const修饰后仍然会报错,说明被const修饰的变量本质上还是变量
3.#define定义的标识符常量
define定义的标识符常量就是一个彻彻底底的常量
#define NUM 10 int a = NUM; int arr[NUM] = { 0 }; printf("%d\n",a);
这次没有报错,代码正常运行
4.枚举常量
enum也是C语言的一个关键字,下面是它的用法:
//以性别为例,分为男和女 enum Sex { MAN, WOMAN };//别忘了加分号,很容易忘 enum Sex s = MAN; prinf("%d\n",s);//MAN的初始值默认为0,然后依次增加1 printf("%d\n",WOMAN);//1
用它来定义数组一样可以,证明它也是一个常量
二.字符串
"abcdef";
字符串的结束标志是'\0'
char str1[] = "abcd"; char str2[] = {'a','b','c','d'};
表面上他们是一样的,其实不然
字符串会在末尾默认加上一个'\0',所以str1要比str2多出一个字符,终止字符的作用是很大的,从接下来的代码就可以看出:
char str1[] = "abcd"; char str2[] = { 'a','b','c','d' }; printf("%s\n", str1); printf("%s\n", str2);
用printf函数打印字符串时是打印'\0'之前的字符
在str1中有一个已知的'\0';
而str2中没有一个确定位置的'\0',所以会一直打印,
直到遇到了内存中某个位置的终止字符'\0'停止打印
打印出来的str2字符串后面的是随机的
printf("%d\n", strlen(str1));//4 printf("%d\n", strlen(str2));//随机值
strlen函数是库函数,使用时要在先包含一下头文件#include<string.h>
strlen函数的作用是计算字符串的长度
与printf函数一样,都是以'\0'为结束标志
三.转义字符
大家可能会好奇三字母词是什么
??( -> [//左边的三个字符会被编译器转换为右边的字符 ??) -> ]// printf("(are you ok??)");//编译出来的结果并不是我们想要的 // (are you ok] printf("(are you ok\?\?)");//\? -> ? // (are you ok??)
不过现在三字母词已经被淘汰了,很多编译器已经不支持了
\' \" \\ 都是转义成斜杠后面的字符
printf("%c\n",'\'');// ' printf("%s\n","\"");// " printf("%s\n","\a");//这里斜杠a就会被当作警告字符,如果你只是想让它输出 //\a的话,就需要在\前再加一个\ printf("%s\n","\\a");
\a的作用是让你计算机发出蜂鸣声,如果感兴趣的话可以试一下,不过如果不能发出声音的话你也不要怪它,并不是所有电脑都支持的
\b退格符 \f进纸符 \r回车 \t水平制表符 \v垂直制表符 这些转义字符很少用到,就不一一介绍了。
\n大家应该很熟悉了
printf("abcdef\n"); printf("abc\ndef\n");
下面这种介绍 \ddd \xdd 两个字符
\ddd ddd表示1~3个八进制的数字,如:\130
printf("%c\n", '\130');//\130 -> 把130这个八进制数字转换成十进制数字 //后得到的88,作为ASCII码值代表的字符输出
\xdd 表示1~2个十六进制数字,如:\x30
printf("%c\n", '\x30');//\x30 -> 把\x30这个十六进制数字转换成十进制数字 //后得到的48,作为ASCII码值代表的字符输出
下面是ASCII表:
ASCII码值范围:1~127
如果超出这个范围就会报错
下面来看一道例题
eg:
#include<stdio.h> #include<string.h> int main() { printf("%d\n", strlen("c:\test\628\test.c"));//计算该字符串的长度,转义字符算一个字符 return 0; }
先自己动脑想一想这串字符串共有多少个字符
接下来为大家揭晓答案
是不是和你算的一样呢
四.注释
注释真的是一个好习惯,如果你要写一个很复杂的代码并且不加注释,那么可能只有上帝和你能看得懂你写的是什么,不过过一段时间后估计只有上帝看的懂了!
注释的作用:
1.用来解释代码
2.注释掉一些不需要的代码
同时有两种注释风格
/* 这个是C语言注释风格 */ // 这是C++注释风格(运用更为广泛,也更推荐)
C语言注释风格有个明显的缺陷,就是不能嵌套
/*#include<stdio.h> #include<string.h> int main() { /* printf("%d\n", strlen("c:\test\628\test.c"));//计算该字符串的长度,转义字符算一个字符 */ return 0; } */
注释的时候并不能保证两两配对,第一个/*会和离他最近的*/结合而在他内部的另一个/*就会失去作用,导致下面的语句无法注释
所以大多时候我们还是习惯使用//来注释代码,方便且不会出错
五.选择语句(简略介绍,后期详细讲解)
1.if...else语句
#include<stdio.h> //你去网吧 int main() { int n = 0; printf("请输入你的年龄:"); scanf("%d", &n); if (n >= 18) { printf("请进\n"); } else { printf("未成年人不得入内!\n"); } return 0; }
2.switch语句(后期详解)
六.循环语句
1.while语句
#include<stdio.h> int main() { int n = 1; while (n <= 100000) { printf("敲%d代码\n",n); n++; } printf("大佬!\n"); return 0; } //真的会有十万行
希望大家都能够成为个大佬!
2.for语句(后期详解)
3.do…while语句(后期详解)
七.函数
函数就是可以重复使用,实现目标功能的的模块
例如我们要实现从两个数中挑选出最大数的功能
#include<stdio.h> int Maxof(int x, int y)//x和y是a和b的拷贝 { if (x > y) //如果x大于y return x;//返回x的值 else //如果y大于x return y;//返回y的值 } int main() { int a; int b; printf("输入两个数的值:"); scanf("%d %d", &a, &b); int max = Maxof(a, b); printf("较大者是%d\n", max); return 0; }
因为是初识C语言,所以很多都没有讲到,还请见谅!
希望这篇文章能对大家有点帮助,如果有错误的地方可以通过评论指出。
熬过无人问津后,才有诗和远方
这篇关于初识C语言的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01lip-sync公司指南:一文读懂主要玩家和技术
- 2024-11-01Anthropic的新RAG方法——提升大型语言模型在特定领域的表现
- 2024-11-01UniApp 中组件的生命周期是多少-icode9专业技术文章分享
- 2024-11-01如何使用Svg Sprite Icon简化网页图标管理
- 2024-10-31Excel数据导出课程:新手从入门到精通的实用教程
- 2024-10-31Excel数据导入课程:新手入门指南
- 2024-10-31RBAC的权限课程:新手入门教程
- 2024-10-31Svg Sprite Icon课程:新手入门必备指南
- 2024-10-31怎么配置 L2TP 允许多用户连接-icode9专业技术文章分享
- 2024-10-31怎么在FreeBSD上 安装 OpenResty-icode9专业技术文章分享