
C语言
艾斯西艾
学习就是一个不断与遗忘作斗争的过程
展开
-
C语言中的函数(2)---函数的调用、定义与声明
1、函数的定义包含 函数原型(返回值类型、函数名、形参列表) 和 函数体(大括号一对, 具体代码实现)形参列表: 形式参数列表。一定包 类型名 形参名。int add(int a, int b, int c){return a+b+c;}(其中 int 为返回值类型, add 为函数名,(int a, int b, int c)为形参列表 )比如 冒泡排序的 函数定义:void bubble_sort(int arr[]){ int i, j, temp; for (i = 0;原创 2021-12-11 09:54:37 · 2739 阅读 · 0 评论 -
C语言中的函数(1)---作用与分类
函数的作用提高代码的复用率提高程序模块化组织性。函数的分类系统库函数: 标准C库。 libc引入头文件 — 声明函数根据函数原型调用。用户自定义:除了需要提供函数原型之外,还需要提供函数实现。...原创 2021-12-16 21:45:38 · 411 阅读 · 0 评论 -
C语言中的字符串操作函数---gets. fgets. puts. fputs
字符串操作函数1、gets从键盘获取一个字符串, 返回字符串的首地址。 可以获取带有 空格的字符串。char *gets(char *s);参数:用来存储字符串的空间地址。返回值:返回实际获取到的字符串首地址。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <原创 2021-12-16 21:45:46 · 396 阅读 · 0 评论 -
C语言中的数组(5)---字符数组与字符串(附案例:键盘输入字符串,存至str[]中,统计每个字母出现的次数)
字符数组 和 字符串区别:字符数组:char str[5] = {‘h’, ‘e’, ‘l’, ‘l’, ‘o’};字符串:char str[6] = {‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};char str[6] = “hello”;printf("%s"); 使用printf打印字符串的时候,必须碰到 \0 结束。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.原创 2021-12-16 21:45:57 · 1146 阅读 · 0 评论 -
C语言中的数组(5)---二维数组的初始化(附求成绩案例)
二维数组的初始化1) 常规初始化:int arr[3][5] = {{2, 3, 54, 56, 7 }, {2, 67, 4, 35, 9}, {1, 4, 16, 3, 78}};2) 不完全初始化:int arr[3][5] = {{2, 3}, {2, 67, 4, }, {1, 4, 16, 78}}; 未被初始化的数值为 0int arr[3][5] = {0}; 初始化一个 初值全为0的二维数组int arr[3][5] = {2, 3, 2, 67, 4, 1, 4, 16,原创 2021-12-11 09:54:59 · 2888 阅读 · 0 评论 -
C语言中的数组(4)---二维数组的定义
二维数组定义语法定义语法:int arr[2][3] ={{2, 5, 8},{7, 9 10}};int arr[3][5] = {{2, 3, 54, 56, 7 }, {2, 67, 4, 35, 9}, {1, 4, 16, 3, 78}};大小:数组大小: sizeof(arr);一行大小: sizeof (arr[0]): 二维数组的一行,就是一个一维数组。一个元素大小:sizeof (arr[0][0]) 单位:字节行数:row = sizeof(arr)/ size原创 2021-12-16 21:46:09 · 5301 阅读 · 0 评论 -
C语言中的数组(3)---例子:数组元素逆序与冒泡排序
数组元素逆序要求:数组 {1, 6, 8, 0, 4, 3, 9, 2}—> 数组 {2, 9, 3, 4, 0, 8, 6, 1}思路:在这里先介绍一下 三杯水法 ,主要思想就是要交换两杯水中的液体,但是要借助第三杯水,先把第一杯水倒入第三个杯子,然后把第二杯水倒入第一个杯子,最后把第三杯中的水倒入第二个杯子,这样就实现了一二杯水的交换.#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string原创 2021-12-25 20:46:33 · 584 阅读 · 0 评论 -
C语言中的数组(2)---一维数组初始化
一维数组初始化int arr[12] = { 1, 2 ,4, 6, 76, 8, 90 ,4, 3, 6 , 6, 8 }; 【重点】int arr[10] = { 1, 2 ,4, 6, 76, 8, 9 }; 剩余未初始化的元素,默认 0 值。 【重点】int arr[10] = { 0 }; 初始化一个全为 0 的数组。【重点】int arr[] = {1, 2, 4, 6, 8}; 编译器自动求取元素个数 【重点】int arr[] = {0}; 只有一个元素,值为0int a原创 2021-12-25 20:46:41 · 1161 阅读 · 0 评论 -
C语言中的数组(1)---定义、大小、地址
数组:数组是相同数据类型的有序连续存储。比如:int arr[10] = {1, 2, 23, 4, 5, 6 , 10, 7, 8, 9};数组的各个元素的内存地址 连续。数组名为地址。是数组首元素的地址。例如 :arr == &arr[0];#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <stdlib.h>#include <m原创 2021-12-11 09:55:10 · 1736 阅读 · 0 评论 -
C语言中的 for 循环 、嵌套循环 与 跳转语句(格式及案例详解)(2)---模拟电子表、九九乘法表
模拟电子表打印要求: 打印出如下形式10:23:4510:23:46。。。10:24:00思路:// 小时for (i = 0; i < 24; i++){ // 分钟 for (j = 0; j < 60; j++) { // 秒 for (k = 0; k < 60; k++) { printf("%02d:%02d:%02d\n", i, j, k); Sleep(960); // #include <Windows.h&原创 2021-12-25 20:46:48 · 304 阅读 · 0 评论 -
C语言中的字符串常量
C语言中的字符串常量1、字符串是内存中一段连续的 char 空间,以 ‘\0’ (数字0) 结尾。2、字符串常量是由双引号括起来的字符序列,如 “china” 、“C program” ,“$12.5” 等都是合法的字符串常量。字符串常量与字符常量的区别:每个字符串的结尾,编译器会自动的添加一个结束标志位 ‘\0’ ,即 “a” 包含两个字符 ‘a’ 和 ’\0’ 。...原创 2022-01-08 10:01:42 · 12643 阅读 · 0 评论 -
C语言中的 for 循环 、嵌套循环 与 跳转语句(格式及案例详解)(1)
基本语法for 循环的语法for (表达式1; 表达式2 ; 表达式3) { 循环体。}执行顺序:表达式1 --》 表达式2 (判别表达式) --》 为真 --》 循环体–》 表达式3 --》 表达式2 (判别表达式) --》 为真 --》 循环体 --》 表达式3–》 表达式2 (判别表达式)。。。。小case:求1到100的加和#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h原创 2021-12-30 18:55:44 · 1117 阅读 · 0 评论 -
C语言中的循环(while 与 do while)(案例代码-逢7空格;三位数,各个位上的数字的立方和等于本数字)
C语言中的循环(while 与 do while)1、whlie语法:while循环:while(条件判别表达式){ 循环体.}只要是满足条件判别表达式就执行循环体。(没有次数限制)案例代码:要求:敲7:1–100数数, 逢7和7的倍数,敲桌子。7的倍数: num % 7 == 0个位含7: num % 10 == 7十位含7: num / 10 == 7#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#i原创 2021-12-30 18:56:05 · 1112 阅读 · 0 评论 -
C语言中的Switch分支(附案例代码-判断分数等级)
C语言中的Switch分支(附案例代码)语法:switch 分支:精确匹配.switch(判别表达式){ case 1: 执行语句1; break; // 防止case穿透 case 2: 执行语句2; break; case 3: 执行语句3; break; ... case N: 执行语句N; break; default: 其他情况的统一处理; break;}case 穿透:在一个case分支中如果,没有break;那原创 2022-01-08 10:01:17 · 1376 阅读 · 0 评论 -
C语言中的 if 分支语句(附案例代码-三个数比较大小)
C语言中的 if 分支语句(附案例代码)原创 2021-12-30 18:56:11 · 3296 阅读 · 0 评论 -
C语言中的 类型转换
C语言中的 类型转换C语言中的类型转换分为隐式类型转换和强制类型转换。隐式类型转换一般要由低字节转到高字节,否则可能会发生精度降低的情况。#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <time.h>// 隐式类型转换。int main(void){ int a = 321; char ch = a;原创 2021-12-30 18:56:17 · 1492 阅读 · 0 评论 -
C语言中的 运算符 详解
C语言中的 运算符 详解一、运算符1、算数运算符2、赋值运算符3、比较运算符4、逻辑运算符二、运算符优先级注:三目运算符: ? :表达式1 ? 表达式2 : 表达式3表达式1 是一个判别表达式。 如果为真。整个三目运算,取值表达式2。 如果为假。整个三目运算,取值表达式3。运算符优先级总结:()[] > ++ –(后缀高于前缀) (强转) sizeof > 算数运算(先乘除取余,后加减)> 比较运算 > 逻辑运算 > 三原创 2021-12-30 18:56:25 · 4446 阅读 · 0 评论 -
C语言中 printf 与scanf ,putchar 与 getchar 辨析
C语言中 printf 与scanf ,putchar 与 getchar 辨析一、printf 与 scanf1、printfprintf用于打印输出,输出格式有如下形式:%s:打印字符串, 挨着从字符串的第一个字符开始打印,打印到’\0’结束。%d:打印整数%c:打印字符%x:打印16进制数%u:打印无符号%m.n: 打印浮点型时用到,一共有 m 位(整数、小数、小数点),n位小数。%0m.nf: 其中 f:表示打印实型,一共有 m 位(整数、小数、小数点),n位小数。 0:表示不足原创 2022-01-08 10:01:33 · 2073 阅读 · 0 评论 -
C语言中的数值溢出
C语言中的数值溢出当超过一个数据类型能够存放最大的范围时,数值会溢出。有符号位最高位溢出的区别:符号位溢出会导致数的正负发生改变,但最高位的溢出会导致最高位丢失。用 char 进行举例#include <stdio.h>int main(){ char ch; //符号位溢出会导致数的正负发生改变 ch = 0x7f + 2; //127+2 printf("%d\n", ch); // 0111 1111 //+2后 1000 0001,这是负数补码,其原码为 1原创 2022-01-08 10:01:50 · 6173 阅读 · 0 评论 -
C语言 中的 数据类型 超详解
C语言 中的 数据类型 超详解一、整型(int、short、long、long long)1、有符号整型有符号整型的数据类型通常包括 int、short、long、long long 四种,因为是有符号类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。(1)int类型数据类型大小是 4 字节,能表示的数值范围是-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)打印类型是 %d ,原创 2022-01-08 10:01:56 · 57230 阅读 · 11 评论 -
sizeof关键字使用方法及实例演示
sizeof关键字使用方法及实例演示首先强调,sizeof 不是函数, 是关键字。主要用来求一个变量、类型的大小。 返回一个 无符号整数。 使用 %u 接收返回值。方法1: sizeof(类型名)sizeof(int)方法2: sizeof (变量名) int a = 20; sizeof(a);【了解】: sizeof 变量名/类型名类型名 举例1: sizeof int变量名 举例2: sizeof a用 sizeof 关键字求取各个数据类型的大小(单位默认为字节)#d原创 2022-01-08 10:02:03 · 1490 阅读 · 0 评论 -
C语言中的常量与变量(详细讲解附代码)
C语言中的常量与变量一、常量:不会变化的数据,不能被修改1.举例:比如 “hello” 为字符串常量、‘A’ 为字符常量 、-10 为整型常量、3.1415926 为浮点常量; 2. 宏定义 :#define PI 3.1415这样定义出来的 PI 也是常量,数值为3.1415;【强调】:在进行宏定义时,没有分号结束标记。【推荐】 定义宏: 定义语法: #define 宏名 宏值3. const int a = 10;定义语法:const 类型名 变量名 = 变量值。const关键原创 2021-12-25 20:46:14 · 6446 阅读 · 0 评论 -
如何用gcc编译C代码
如何用gcc编译C代码1、编写 hello word 的两种方法——现成编译器这个方法大家都经常用,比如DEVCpp,Visual Studio 2017,Visual C++ 6.0等。简单的输出“hello world”程序如下:#include <stdio.h>int main(){ printf("hello world"); return 0;}输出很简单,如下:2、编写 hello word 的两种方法——gcc编译器(1)首先进行环境配置(前提是已原创 2021-12-25 20:46:06 · 8576 阅读 · 0 评论 -
如何在VS中把封装的函数放在头文件中(即多文件编程)
如何在VS中把封装的函数放在头文件中(即多文件编程)1、首先准备好要封装的函数文件,并且均能调试成功。本文将矩阵的求逆代码文件放到头文件中,之后再主函数中直接调用。矩阵求逆的代码如下:#include <math.h>#include <string.h>void inverse(const double src[9], double res[9]){ double x[9]; int p1; int p2; int p3; double absx11; do原创 2021-12-25 20:45:57 · 3569 阅读 · 2 评论 -
MATLAB转C语言的步骤与解决方案
MATLAB转C语言的步骤步骤我们首先以求三阶矩阵的逆为例,首先在matlab中编写的代码如下: function[res] = inverse(src) res = inv(src) end此为新建的一个函数,函数的保存名称为 inverse.m ,需要注意的是这个.m文件必须是函数文件,而不能是脚本文件,而且文件的名称和函数的名称必须一致。在matlab中输入一个三阶矩阵与输出的结果如下所示:`在本文的末尾会验证在VS2017C语言代码的运行结果。进入主题,在已经写好了函数的原创 2021-12-11 09:54:05 · 17326 阅读 · 2 评论