admin管理员组文章数量:1794759
C语言整体框架概述
只是简要概述,详细知识点日后会展开论述
大致内容- c 语言概念
- 第一个C语言程序
- 数据类型
- 变量,常量
- 字符串,转义字符
- 选择语句
- 循环语句
- 函数
- 数组
- 操作符
- 常见关键字
- define 定义常量和宏
- 指针
- 结构体
- 总结
前言
C生万物,C语言是一切编程之本,大部分小白刚开始接触编程时都是从C语言开始学起。
写这篇文章来整体梳理一下C语言的知识框架,以便今后能更系统的学习C语言
一、C语言是什么? 二、第一个C语言程序这是你写的第一个程序吗?
#include <stdio.h> // 引入头文件 int main() // main函数是主函数的入口*一个文件中只能包含一个main函数* { printf("Hello word"); //库函数printf 作用是打印字符 return 0; //返回一个整型值 }麻雀虽小五脏俱全
三.数据类型C语言含有很多数据类型,目的是为了我们真正写程序去解决生活中的问题时更加方便。
char //字符数据类型 在内存中占1个字节 int //整型 4 float //单精度浮点型 4 double //双精度浮点型 8 long //长整型 4 long long //更长的整型 8 四. 变量,常量现实生活中存在很多的变量(年龄,体重,对象...)也有很多的常量(圆周率 性别...)
4.1 定义变量的方法变量的类型+变量名
int a=100; double b=12.3; char name="crj" 4.2 变量的分类 1.全局变量 2.局部变量 #include<stdio.h> int main() int a=0; //全局变量 { int b=1; //局部变量 int a=2; printf("%d",a); //局部变量和全局变量同名时局部优先 return 0; } 4.3 变量的使用 #include <stdio.h> int main() { int a=0; int b=0; int c=0; scanf("%d%d",&a,&b); //从键盘上输入两个数分别给a,b c=a+b; printf("%d",c); return 0; } 4.4 变量的作用域与生命周期1.所谓作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用。有些变量可以在所有代码文件中使用,有些变量只能在当前的文件中使用,有些变量只能在函数内部使用,有些变量只能在 for 循环内部使用。变量的作用域由变量的定义位置决定,在不同位置定义的变量,它的作用域是不一样的.局部变量只能在作用在main()函数內部,全局变量作用于整个工程。
#include <stdio.h> int sum(int m, int n){ int i, sum=0; //m、n、i、sum 都是局部变量,只能在 sum() 内部使用 for(i=m; i<=n; i++){ sum+=i; } return sum; } int main(){ int begin = 5, end = 86; int result = sum(begin, end); //begin、end、result 也都是局部变量,只能在 main() 内部使用 printf("The sum from %d to %d is %d\\n", begin, end, result); return 0; }形参也是局部变量,将实参传递给形参的过程,就是用实参给局部变量赋值的过程,它和a=b; sum=m+n;这样的赋值没有什么区别。
#include <stdio.h> //定义三个全局变量,分别表示三个面的面积 int s1 = 0, s2 = 0, s3 = 0; int vs(int length, int width, int height){ int v; //体积 v = length * width * height; s1 = length * width; s2 = width * height; s3 = length * height; return v; } int main(){ int v = 0; v = vs(15, 20, 30); printf("v=%d, s1=%d, s2=%d, s3=%d\\n", v, s1, s2, s3); v = vs(5, 17, 8); printf("v=%d, s1=%d, s2=%d, s3=%d\\n", v, s1, s2, s3); return 0; } 2.生命周期1.局部变量的作生命周期:进作用域开始出作用域结束
2.全局变量的生命周期: 整个程序的生命周期
4.5 常量1.字面常量
2.const修饰常变量
3.#define定义的标识符常量
4.枚举常量
include <stdio.h> //举例 enum Sex { MALE, FEMALE, SECRET }; //括号中的MALE,FEMALE,SECRET是枚举常量 int main() { //字面常量演示 3.14;//字面常量 1000;//字面常量 //const 修饰的常变量 const float pai = 3.14f; //这里的pai是const修饰的常变量 pai = 5.14;//是不能直接修改的! //#define的标识符常量 演示 #define MAX 100 printf("max = %d\\n", MAX); //枚举常量演示 printf("%d\\n", MALE); printf("%d\\n", FEMALE); printf("%d\\n", SECRET); //注:枚举常量的默认是从0开始,依次向下递增1的 五.字符串+转义字符“hello word" 像这样由双引号引起来的一串字符就叫做字符串。
字符串的结束标志是"\\0"但是计算字符串长度是不计入。
int main() { char arr1[] = "hello"; // 默认含有/0 char arr2[] = {'h','e','l','l','0','\\0'}; // /0字符串结束标志 char arr3[] = { 'h','e','l','l','0' }; // 无/0 打印的时候等打印到/0为止 有乱码出现 printf(" % s\\n", arr1); printf(" % s\\n", arr2); printf(" % s\\n", arr3); return 0; }转义字符
六.选择语句 #include<stdio.h> int main() { int coding = 0; printf("keep coding and you will success\\n-->选择0/1"); scanf("%d", &coding); if (1 == coding) printf("believe yourself and keep coding "); else printf("You are a loser "); return 0; } 七.循环语句#include<stdio.h> int main() { printf("开始学习编程"); int line =0; while (line < 20000) { printf("keep coding\\n"); line++; } if (1999< line) printf("good offer"); else printf("滚去敲代码"); return 0; } 八.函数 #include<stdio.h> int main() { int a=0; int b=0; int c=a+b; printf("%d",c);//不引入函数求a+b的值 return 0; } #include<stdio.h> int Add(int x,int y) //x,y称为形式参数 用来接收实参 { int z=x+y; //返回值 return z; } int main() { int a=0; int b=0; int c=Add(a,b);//a,b称为实参 printf("%d",c);//引入函数求a+b的值 return 0; } 九.数组 9.1 数组的定义
C语言规定数组的下标是从零开始的
int arr[10]={0}
int arr[10] | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
下表 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
c 十一. 常见关键字 十二.#define定义常量和宏 #define MAX 1000 //#define 定义标识符常量 // define 定义宏 #define ADD(x,y)((x)+(y)) #include<stdio.h> int main() { int c=ADD(23,56); int a=MAX*ADD(3,2); printf("%d %d",c,a); return0; } 13.指针 1.内存
为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
内存 | 地址 |
1byte | 0xFFFFFFFF |
1byte | 0xFFFFFFFE |
1byte | |
1byte | 0X0000002 |
1byte | 0X0000003 |
1byte |
#include<stdio.h> int main() { int a=2; int *p=&a; //定义指针变量,用来存放变量a的地址 *p=1; //解引用操作 printf("%d",a); return 0; } 2.指针变量的大小 //指针变量的大小取决于地址的大小 //32位平台地址是32个比特位即4个字节 //64位平台地址是64个比特位即8个字节 #include <stdio.h> int main() { printf("%d\\n", sizeof(char*)); printf("%d\\n", sizeof(int*)); printf("%d\\n", sizeof(double*)); printf("%d\\n", sizeof(float*)); return 0; } 14.结构体 #include <stdio.h> int main(){ struct{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1; //给结构体成员赋值 stu1.name = "Tom"; stu1.num = 12; stu1.age = 18; stu1.group = 'A'; stu1.score = 136.5; //读取结构体成员的值 printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!\\n", stu1.name, stu1.num, stu1.age, stu1.group, stu1.score); return 0; }
本节完。
版权声明:本文标题:C语言整体框架概述 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686625827a87859.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论