文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言入门基础的示例分析

2023-06-20 19:08

关注

这篇文章给大家分享的是有关C语言入门基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

先上思维导图。

C语言入门基础的示例分析

如图所示,现在还是初识C语言的第一部分,本次只介绍了C语言本身特点,数据类型,常量变量,字符串转义字符注释,选择循环语句,函数,数组。

接下来请和我一起粗略地探讨其中内涵所在。

C语言本身特点

这是C语言的定义:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

但总结其特点就是

底层开发,

国际标准 ANSI C,

面向过程

#include <stdio.h>//stdio-标准输入输出  standard input & output headfile//int -整型-整数的类型//主函数//main函数是程序的入口//唯一性有且仅有一个int main(){//库函数-打印函数-输出函数printf("hello world!\n");printf("hello world!\n");printf("hello world!\n");return 0;}//这种写法明确告诉你,main函数不需要传参int main(void){}//这种写法有用,但不是重点int mian(int argc, char* argv[]){}

数据类型

C语言主要有六种数据类型,分别为字符型char,短整型short,整形int,长整型long,单精度浮点型float以及双精度浮点型double。

这六种分别有自己的字符长度即其所建变量所占的空间,char最小只要1个字节,short占2个,int占4个,long一般是4个,也有可能是8个,反正只要满足long的字节长度大于等于int就可以了。两个浮点型的最为特殊,分别是4和8,显然双精度的精度更高。

int main(){//如何计算一个类型创建的变量所占空间的大小//sizeof();printf("%d\n", sizeof(char));//1个字节printf("%d\n", sizeof(short));//2个字节printf("%d\n", sizeof(int));//4个字节printf("%d\n", sizeof(long));//4个字节printf("%d\n", sizeof(long long));//8个字节printf("%d\n", sizeof(float));//4个字节printf("%d\n", sizeof(double));//8个字节return 0;}

C语言入门基础的示例分析

常量变量

变量分类

显而易见的是,分为两类变量和常量讲述。变量又分两类,一是局部变量,二是全局变量。

顾名思义,局部变量是定义在一对大括号内的,显然我们平时在main函数里创建的都是局部变量,全局变量则为定义在大括号外面的变量。当二者同名时,局部变量优先,当然,这种代码谁写谁SB。

使用小建议

在程序中使用scanf函数,若程序为scanf("%d%d");%d%d之间不管有没有空格,输入变量时都要用空格隔开,若二者之间有逗号则逗号隔开。

生命周期作用域

对这二者讨论他们的作用域和生命周期的话,全局变量的作用域为整个工程文件,若想在其他.c文件中使用则需要extern声明一下,生命周期呢,则是整个工程的生命周期,也就是main函数的生命周期。局部变量的作用域为其定义的大括号{ }内,进作用域生命开始,出则结束。

//验证局部变量的作用域 int main(){int b = 100;//主函数任意位置{int a = 10;//局部变量作用域:局部所在范围printf("a=%d\n", a); printf("b=%d\n", b);}//printf("a=%d\n", a);printf("b=%d\n", b);return 0;}//验证全局变量的作用域为整个工程int a = 200;void test(){printf("test:%d\n", a);}int main(){test();printf("main:%d\n", a);//全局变量可以任意使用return 0;}//全局变量在其他源文件的使用//转到test1.c文件查看int g_val = 110;//验证局部变量的生命周期为进作用域到出作用域int main(){{int a = 100;printf("%d\n", a);}printf("%d\n", a);//出作用域即生命周期结束return 0; }//全局变量的生命周期为整个工程即main函数生命周期int main(){printf("%d\n", g_val);return 0;}

常量分类及其特点

常量呢,大致分为四种,1字面常量,2const修饰的常变量,3#define定义的标识符常量,4枚举常量。

第一种,字面常量就是随便写出来的一个数,如3.14就是一个字面常量。

第二种,const修饰的常变量,即在创建变量时加上const修饰,如const int a=0;这样变量a就具有了常属性,不可被修改。但值得注意的是,常变量一词,它仍然是个变量,不可用于定义数组。

//const修饰的变量int main(){//局部变量int a = 200;//不可被改变的属性,常属性const int a = 110;a = 100;printf("%d\n", a); //const修饰的变量不可定义数组//(常变量)int n = 110;int arr[n] = { 0 };//数组return 0;}

第三种,#define定义的常量,写法如 #define N 10,这是真真正正的常量,可以用来定义数组。同样也是不可修改的(常量当然不可被修改)。

#define PAI 314int main(){int a = PAI;printf("a=%d\n", a);//MAX = 300;//#define定义的变量不可被修改//可用于定义数组int arr[PAI] = { 0 };return 0;}

第四种,枚举常量,具体使用方法像enum sex {MALE,FEMALE,SECRET};这样就得到了枚举常量,各自都是有初值的,分别为0,1,2依次类推,当然也可以自己赋值。

//枚举常量 SEX性别举例//可以一一列举的值,性别,三原色enum Sex{//枚举的可能取值MALE=3,//赋初值FEMALE=8,SECRET//向后延一个为9};int main(){//FEMALE = 99;//ERR 枚举变量值不可修改enum Sex a=MALE;enum Sex s = FEMALE;printf("%d\n", MALE);printf("%d\n", FEMALE);printf("%d\n", SECRET);return 0;}

C语言入门基础的示例分析

字符串+转义字符+注释

字符串

被单引号引起来的,如'w','r'是字符,被双引号引起来的"yyx","abcdef"是字符串。字符串一般以'\0'结尾隐含在字符串的末尾。既然'\0'为字符串结束标志,在计算字符串长度时当然不算作字符串内容。

//字符,字符串int main(){//'a', ' ' , 'X' - 字符//"abc"   "123" - 字符串//"abcdef"; //字符串字面值//①char ch2[] = "abcdef";//初始化字符数组//a ,b ,c ,d ,e ,f ,\0  //%s - 打印字符串//strlen - 打印字符串长度,(遇\0则停止,本身不算)\0是字符串结束标志printf("%s\n", ch2);//abcdef printf("%d\n", strlen(ch2));//6//②char ch3[] = { 'a','b','c','d','e','f' };//a ,b ,c ,e ,f  printf("%s\n", ch3);//abcdef烫烫烫烫烫abcdefprintf("%d\n", strlen(ch3));//22,找不到\0//③char ch4[] = { 'a','b','c','d','e','f','\0' };//a ,b ,c ,d ,e ,f ,\0printf("%s\n", ch4);//abcdefprintf("%d\n", strlen(ch4));//6return 0;}

转义字符

有防止单引号,双引号,反斜杠被转移的' \' ' , ' \" ',' \\ ' 。警告,蜂鸣的' \a ' ,退格符' \b ',进纸符' \f ',换行符' \n ',回车符' \r ',水平制表符' \t ',垂直制表位' \v ',八进制数字' \ddd ',十六进制数字' \xdd ' 。

#include <stdio.h>int main(){printf("c:\code\test.c\n");//c:code  est.cprintf("c:\\code\test.c\n");//c:\code  est.c    //单个\是转义序列符,但这里又没有\c的转义字符,所以系统自动忽略该\//想要出现该\,则必须要搭配两个\\,防止其被转义return 0;}// \?//三字母词 // ??) --> ]   ??( --> [//\' \"int main(){printf("%c\n", 'a');printf("%c\n", 'b');printf("%c\n",'\'');//在'前面加上\,以单纯的将其视为字符'printf("%s\n", "\"");// \"return 0;}//\a \b \f \v \t \n \r//\ddd八进制数字  \xdd十六进制数字int main(){printf("%c\n", '\165');//打印八进制数字065转化为十进制数字53所代表的字符(ASCII码)printf("%d\n", '\165');//打印八进制数字065转化为十进制数字53printf("%c\n", '\x15');printf("%d\n", '\x15');//21return 0;}

两种注释

C++的风格 //xxxxx ,这种只能注释一行。C语言的风格 ,不可嵌套注释。

C语言入门基础的示例分析

选择循环语句

选择语句,实现分支。具体情况为 if ( 条件 ) { 语句 } else ( 条件 ) { 语句 };循环语句,有while循环,do...while循环和for循环。

int main(){int i = 0;printf("加入比特\n");printf("要好好敲代码吗(1/0)?\n");scanf("%d", &i);if (i == 1){printf("好offer\n");}else{printf("药丸\n");}return 0;}int main(){int line = 0;printf("加入比特\n");while (line<20000){printf("敲%d了代码\n",line);line++;}printf("牛逼坏了拿到了好offer\n");return 0;}

函数

函数主要传参和返回值的类型要对应

int ADD(int num1, int num2){scanf("%d %d", &num1, &num2);int sum = num1 + num2;return sum;}int main(){int num1 = 0;int num2 = 0;输入//scanf("%d %d", &num1, &num2);相加//int sum = num1+num2;输出//printf("sum=%d\n", sum);//int output = ADD(num1,num2);//printf("%d\n", output);printf("%d\n", ADD(num1, num2));return 0;}

数组

定义是一组相同类型的元素组成的集合,数组的使用是根据下标来的,从0开始数。

int main(){//数组 - 相同元素的集合int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int i = 0;for (i = 0; i < 10; i++){printf("%3d", arr[i]);}printf("\n");for (i = 9; i >= 1; i--){printf("%3d", arr[i]);}return 0;}

C语言入门基础的示例分析

感谢各位的阅读!关于“C语言入门基础的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯