C语言 汇总笔记(小甲鱼:带你学C带你飞)

article/2025/8/9 21:13:44

C语言 汇总笔记(从零开始自学)

1.打印Hello World

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

2.变量

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
int main()
{int a;char b;float c;double d;a = 520;b = 'H';c = 3.14;d = 3.141592653;printf("整形:%d\n", a);printf("字符型:%c\n", b);printf("单精度浮点型:%.2f\n",c);printf("双精度浮点型:%.9f\n", d);return 0;
}

3.常量和宏定义

在这里插入图片描述

#include <stdio.h>
#define URL "www.baidu.com"
#define NAME "百度"
#define BOSS "李彦宏"
#define YEAR 2020
int main()
{printf("年份:%d\n网站:%s\n名称:%s\nCEO:%s\n", YEAR,URL, NAME, BOSS);return 0;
}

4.数据类型

在这里插入图片描述
在这里插入图片描述

#include <stdio.h>
int main()
{int i;char j;float k;i = 123;j = 'C';k = 3.14;printf("int:%d\n",sizeof(int));//4字节printf("%d\n", sizeof(i));//4字节printf("char:%d\n", sizeof(char));//1字节printf("%d\n", sizeof(j));//1字节printf("float:%d\n", sizeof(float));//4字节printf("%d\n", sizeof k);//4字节return 0;}
#include <stdio.h>
int main()
{printf("short:%d\n", sizeof(short));//字节:2printf("int:%d\n",sizeof(int));//字节:4printf("long:%d\n", sizeof(long));//字节:4printf("long long:%d\n", sizeof(long long));//字节:8printf("char:%d\n", sizeof(char));//字节:1printf("_Bool:%d\n", sizeof (_Bool));//字节:1printf("float:%d\n", sizeof(float));//字节:4printf("double:%d\n", sizeof(double));//字节:8printf("long double:%d\n", sizeof(long double));//字节:12return 0;}

在这里插入图片描述

  1. signed意思为有符号的,也就是第一个位代表正负,剩余的代表大小,例如:signed int 大小区间为-128-127

  2. unsigned意思为无符号的,所有的位都为大小,没有负数,例如:unsigned int 大小区间为:0-255

  3. 默认为signed

#include <stdio.h>
int main()
{signed short i;unsigned short j;i = -1;j = -1;printf("有符号的:%d\n",i);printf("无符号的:%u\n", j);return 0;
}
//有符号的:-1
//无符号的:65535

5.取值范围

在这里插入图片描述
在这里插入图片描述
二进制、十进制、十六进制的表示
1、十六进制(英文dao名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。
2、十六进制与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
在这里插入图片描述
符号位
在这里插入图片描述

#include <stdio.h>
#include<math.h>
int main()
{int result = pow(2, 32)-1;printf("result:%d\n", result);return 0;
}
//result:2147483647
#include <stdio.h>
#include<math.h>
int main()
{unsigned int result = pow(2,32)-1;printf("result:%u\n", result);return 0;
}
//result:4294967295

在这里插入图片描述
在这里插入图片描述

6.字符和字符串

字符

#include <stdio.h>
int main()
{char a = 'A';char b = 66;char c = 97;printf("%c=%d\n", a, a);printf("%c=%d\n", b, b);printf("%c=%d\n", c, c);return 0;
}
//A=65
//B=66
//a=97
#include <stdio.h>
int main()
{char height;//取值范围:-128~127unsigned char heights;height = 188;heights = 188;printf("错误身高:%d\n", height);printf("正确身高:%d\n", heights);return 0;
}
//错误身高:-68
//正确身高 : 188

字符串

#include <stdio.h>
int main()
{char name[] = { 'A','P','P','L','E','\0' };char names[] = { "ORANGE" };printf("%s\n", name);printf("%s\n", names);return 0;
}
//APPLE
//ORANGE

7.运算符

算术运算符
在这里插入图片描述
关系运算符
在这里插入图片描述
在这里插入图片描述
逻辑运算符
在这里插入图片描述
复合的赋值运算符
在这里插入图片描述
自增和自减运算符
在这里插入图片描述

#include<stdio.h>
int main()
{int a = 5;int b;b = ++a;printf("b= %d\n",b);//6int c = 5;int d;d = c++;printf("d= %d\n", d);//5return 0;
}

条件运算符
在这里插入图片描述

#include<stdio.h>
int main()
{int max = 0;printf("请输入两个整数:");int a = 0;int b = 0;scanf("%d", &a);scanf("%d", &b);//if (a > b)//{//	max = a;//}//else//{//	max = b;//}max = a > b ? a : b;printf("最大的值为:%d", max);return 0;
}
//请输入两个整数:3213 32
//最大的值为 : 3213

8.if语句

#include <stdio.h>
int main()
{int a;printf("请输入你的成绩:");scanf("%d", &a);if (a>=90 && a<=100){printf("优");}else if (a >= 80 && a < 90){printf("良");}else{printf("及格");}return 0;
}
//请输入你的成绩:89
//良

9.switch语句

#include <stdio.h>
int main()
{char a;printf("请输入你的成绩:");scanf("%c", &a);switch (a){case 'A':printf("优");break;case 'B':printf("良");break;case 'C':printf("中等");break;case 'D':printf("及格");break;default:printf("不及格");break;}return 0;
}
//请输入你的成绩:B
//良

10.while语句和do while语句

#include <stdio.h>
int main()
{int i = 1; int sum = 0;while (i<=100){sum = sum + i;i = i + 1;}printf("结果是:%d", sum);return 0;
}
//结果是:5050
#include <stdio.h>
int main()
{int count = 0;printf("请输入一行英语字符:");while (getchar()!='\n'){count = count + 1;}printf("你总共输入%d个字符!\n", count);return 0;
}
//请输入一行英语字符:iphone12
//你总共输入8个字符!
#include <stdio.h>
int main()
{int a = 10;do{printf("a 的值: %d\n", a);a = a + 1;} while (a < 20);return 0;
}
//a 的值: 10
//a 的值: 11
//a 的值: 12
//a 的值: 13
//a 的值: 14
//a 的值: 15
//a 的值: 16
//a 的值: 17
//a 的值: 18
//a 的值: 19

11.for语句和循环嵌套

#include<stdio.h>
int main()
{for (int i = 1; i <= 10; i++){printf("%d\n",i);}return 0;
}
//1
//2
//3
//4
//5
//6
//7
//8
//9
//10
#include<stdio.h>
int main()
{for (int i = 1; i <= 3; i++){for (int j = 1; j <= 3; j++){printf("i=%d,j=%d\n", i, j);}}return 0;
}
//i = 1, j = 1
//i = 1, j = 2
//i = 1, j = 3
//i = 2, j = 1
//i = 2, j = 2
//i = 2, j = 3
//i = 3, j = 1
//i = 3, j = 2
//i = 3, j = 3

12.break语句和continue语句

continue语句

#include<stdio.h>
int main()
{for (int i = 1; i <= 5; i++){if (i == 3){printf("Hello World\n");continue;}printf("%d\n", i);}return 0;
}
//1
//2
//Hello World
//4
//5

break语句

#include<stdio.h>
int main()
{for (int i = 1; i <= 5; i++){if (i == 3){printf("Hello World\n");break;}printf("%d\n", i);}return 0;
}
//1
//2
//Hello World

13.goto语句

#include<stdio.h>
int main()
{int i;for (i = 0; i <= 10; i++){if (i > 5){goto A;}}A:printf("i=%d", i);return 0;
}
//i = 6

14.数组

在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
int main()
{int a[5];int b[] = {4,3,2,1,0};int c[] = { [1] =315,[2] = 5213 ,[3]=326,[0] = 313 ,[4] = 66 };for (int i = 0; i <5; i++){a[i] = i;}for (int i = 0; i < 5; i++){printf("%d ", a[i]);}printf("\n");for (int i = 0; i < 5; i++){printf("%d ",b[i]);}printf("\n");for (int i = 0; i < 5; i++){printf("%d ", c[i]);}return 0;
}
//0 1 2 3 4
//4 3 2 1 0
//313 315 5213 326 66

15.字符串处理函数

#include<stdio.h>
int main()
{char str1[10] = { 'A','P','P','L','E','\0' };//初始化字符数组的每个元素char str2[] = { 'A','P','P','L','E','\0' };//可以不写元素的个数,因为编译器会自动计算char str3[] = { "APPLE" };//使用字符串常量初始化字符数组char str4[] = "APPLE";//使用字符串常量初始化,可以省略大括号printf("str1=%s\n", str1);printf("str2=%s\n", str2);printf("str3=%s\n", str3);printf("str4=%s\n", str4);return 0;}
//str1=APPLE
//str2=APPLE
//str3=APPLE
//str4=APPLE

在这里插入图片描述

#include<stdio.h>
#include<string.h>
int main()
{char str[] = "I Love You!";printf("sizeof str=%d\n", sizeof(str));printf("strlen str=%d\n", strlen(str));return 0;}
//sizeof str = 12 包含字符串最后一个字符\0
//strlen str = 11 不包含字符串最后一个字符\0

在这里插入图片描述

strcpy

#include<stdio.h>
#include<string.h>
int main()
{char str1[] = "Remember ONE";char str2[] = "Remember TWO";char str3[100];strcpy(str1, str2);/* 复制 str2 到 str1 */strcpy(str3,"Copy Successful");/* 复制 Copy Successful 到 str3 */printf("str1:%s\n",str1);printf("str2:%s\n",str2);printf("str3:%s\n",str3);return 0;}
//str1:Remember TWO
//str2 : Remember TWO
//str3 : Copy Successful

注意:str1和str2的字符数组长度一定要相同,str3的字符数组长度也要大于要复制字符数组的长度,如果长度不相同会出现报错的情况

strncpy

#include<stdio.h>
#include<string.h>
int main()
{char str1[] = "Remember ONE";char str2[30];strncpy(str2, str1,8);str2[8] = '\0';//追加一个结束符printf("str2=%s\n", str2);return 0;
}//str2=Remember

在这里插入图片描述

strcat

#include<stdio.h>
#include<string.h>
int main()
{char str1[15] = "Hello ";//这里要设置长度,vs2019会溢出char str2[] = "World!";strcat(str1, str2);printf("str1:%s\n", str1);return 0;
}
//str1:Hello World!

strncat

#include<stdio.h>
#include<string.h>
int main()
{char str1[15] = "Hello ";//这里要设置长度,vs2019会溢出char str2[] = "World!";strncat(str1,str2,5);printf("str1:%s\n", str1);return 0;
}
//str1:Hello World

在这里插入图片描述

strcmp

#include<stdio.h>
#include<string.h>
int main()
{char str1[] = "Fly";char str2[] = "Fly";if (!strcmp(str1, str2))//strcmp(str1, str2) 返回为0 取反为1{printf("两个字符串完全一致\n");}else{printf("两个字符串存在差异\n");}return 0;
}
//两个字符串完全一致

strncmp

#include<stdio.h>
#include<string.h>
int main()
{char str1[] = "Fly";char str2[] = "Fly!";if (!strncmp(str1, str2,4))//strcmp(str1, str2) 返回为0 取反为1{printf("两个字符串完全一致\n");}else{printf("两个字符串存在差异\n");//加了!}return 0;
}
//两个字符串存在差异

16.二维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
int main()
{int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//1 2 3 4
//5 6 7 8
//9 10 11 12
#include<stdio.h>
int main()
{int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//1 2 3 4
//5 6 7 8
//9 10 11 12

在这里插入图片描述

#include<stdio.h>
int main()
{int a[3][4] = {{1},{5},{9}};//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//1 0 0 0
//5 0 0 0
//9 0 0 0
#include<stdio.h>
int main()
{int a[3][4] = {0};//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//0 0 0 0
//0 0 0 0
//0 0 0 0
#include<stdio.h>
int main()
{int a[3][4] = { [0] [0] = 1,[1][1] = 2,[2][2] = 3};//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//1 0 0 0
//0 2 0 0
//0 0 3 0

在这里插入图片描述

#include<stdio.h>
int main()
{int a[][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };//3行4列for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", a[i][j]);}printf("\n");}return 0;
}
//1 2 3 4
//5 6 7 8
//9 10 11 12

17.指针

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include<stdio.h>
int main()
{char a = 'F';int f = 123;char *pa = &a;int *pb = &f;printf("a=%c\n", *pa);printf("f=%d\n", *pb);*pa = 'C';*pb += 1;printf("now a=%c\n", *pa);printf("now f=%d\n", *pb);printf("sizeof pa=%d\n", sizeof(*pa));//*pa获取的是a的大小  a是char类型当然是1个字节printf("sizeof pb=%d\n", sizeof(*pb));//*pb获取的是f的大小  f是int类型当然是4个字节printf("sizeof pa=%d\n", sizeof(pa));//4个字节存放一个地址printf("sizeof pb=%d\n", sizeof(pb));//4个字节存放一个地址printf("the addr of a is:%p\n",pa);//%p打印地址类型的数据printf("the addr of a is:%p\n", pb);//%p打印地址类型的数据return 0;
}
//a = F
//f = 123
//now a = C
//now f = 124
//sizeof pa = 1
//sizeof pb = 4
//sizeof pa = 4
//sizeof pb = 4
//the addr of a is : 00BBF6EF
//the addr of a is : 00BBF6E0

http://chatgpt.dhexx.cn/article/xvHnICD0.shtml

相关文章

C语言学习(小甲鱼)

C语言学习&#xff08;小甲鱼&#xff09; 第二章&#xff1a;数据类型&#xff0c;运算符和表达式2.1&#xff1a;数据类型&#xff0c;运算符和表达式12.2&#xff1a;数据类型&#xff0c;运算符和表达式22.3&#xff1a;数据类型&#xff0c;运算符和表达式32.4: 数据类型&…

C语言--小甲鱼

绪论 机器语言汇编语言第三代编程语言&#xff1a;c语言 C语言的特点&#xff1a; 效率高灵活度高可移植性高 第一个程序: # include <stdio.h>int main(){printf("Hello World \n");return 0; }printf:格式化输出函数 转义字符 变量和常量 变量名&am…

AI(Adobe illustrator)修改所有字体

怎么一次性更改所有的字体&#xff1a; 点击 文字-查找字体 接着&#xff0c;可以看出原图中的字体是“Helvetica”,如果要将其全部换为“Time new roman”&#xff0c;则选择“系统”&#xff0c;找到“Time new roman”。选择“全部更改”-完成。

在AI中添加下载的字体

在AI中做字体效果时&#xff0c;字体的选择有时很有限&#xff0c;这就需要我们自己在网上下载需要的字体 步骤&#xff1a; 1&#xff1a;先在字客网www.fontke.com 上下载需要的字体&#xff0c;如&#xff1a;LeckerliOne-Regular.otf 2&#xff1a;在我的电脑上打开C盘&…

一副好的平面设计作品,来自优秀的字体

作者&#xff1a;Q葩小玉 浏览次数&#xff1a;3215 17/05/19 20:14 一份好的平面设计作品&#xff0c;优秀的字体总是不可或缺的。 在商业案例中&#xff0c;尽管也有纯粹依靠图像表达的作品存在&#xff0c;但文字依然是传递信息的最主要途径&#xff0c;即便是有人说&#…

前端学习_04_font-awesome字体图标

使用font-awesome字体图标库 font-awesome是一个比较大的矢量图标库&#xff0c;包含大部分IT类公司logo和常用的一些小图标&#xff0c;通过使用font-awesome提供的css样式集&#xff0c;可以在网页上轻松地添加图标。由于使用的是字体图标&#xff0c;所以利用文本相关的标签…

java 对接百度AI文字识别第三方接口--(api方式以及sdk方式)

平时在工作当中难免会需要对接第三方接口。今天就带领大家来实践一下百度ai的文字识别技术。我使用的是文字识别中名片识别服务&#xff0c;别问为什么&#xff0c;因为是免费的&#xff0c;其他的服务要钱。。。。。。 一&#xff1a;准备工作 首先需要在百度ai官方网站注册账…

视觉设计的字体选择

最近在研究字体问题&#xff0c;因为客户请了一个高大上的传媒公司的一个老外视觉设计师来制作视觉设计标准&#xff0c;其中的中文字体居然定了“方正粗宋”做大标题的字体&#xff0c;雷人效果如下&#xff1a; 对于中国人来讲&#xff0c;这种字体最常见的就是用于大字报和中…

Ai实现毛茸茸的字体

以上是整个操作过程。 1&#xff0c;新建一个尺寸为A4大小的文件&#xff0c;颜色模式为RGB模式。 2&#xff0c;用【文字工具】 写出“COOK”&#xff0c;修改大小和适合的字体类型。 3&#xff0c;选中文字&#xff0c;【对象】--- 【扩展】&#xff0c;在进行将文字拖动到适…

免费插件集-illustrator插件-Ai插件-路径编辑-统一线宽

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.示例6.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;统一路径线宽。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&am…

设计图片字体类型识别项目-fastai

参考github地址&#xff1a;https://github.com/lonngxiang/character-recognition-fastai 创建一个文件放train数据&#xff0c;格式可以参考&#xff0c;数据后续越多越好 用的是jupter book写的&#xff1a; %reload_ext autoreload %autoreload 2 %matplotlib inlinefro…

ai字体混合字体

1、在ai中写出如图所示字体 2、选中红色字体图层&#xff0c;选择工具栏混合工具&#xff0c;快捷键W&#xff0c;选择间距设置步数&#xff0c;点击确定后&#xff0c;点击红色字体&#xff0c;在点击黄色字体&#xff0c;出现效果如下图所示 3、选中红色字体&#xff0c;调出…

前端AI语音方面的实现

前端实现语音识别及判断声音大小和浏览器诵读功能 前言第一章&#xff1a;语音识别一、开始写代码写html和简单的cssjs代码 二、知识点讲解属性介绍&#xff1a;方法介绍&#xff1a;事件介绍 三、兼容性介绍兼容写法 四、实战演习全部代码&#xff1a; 结尾&#xff1a; 第二章…

调用百度ai接口实现图片文字识别详解

调用百度ai接口实现图片文字识别详解 首先先介绍一下这篇博文是干嘛的&#xff0c;为了不浪费大家时间。公司最近和短视频公司合作&#xff0c;需要监控app的截图上的文字是否符合规范&#xff0c;也就是确保其没有违规的文字。到网上找了一些资料发现百度ai提供这个功能&#…

UI界面视觉设计之字体要素--安卓-ios-网页常用字体

怎么设计出从而设计出富有美感和形式感的优秀作品&#xff1f; 1.设计经验的积累。 2. 在每个项目设计中只使用1到2个字体样式&#xff0c;通过对字体大小或颜色来强调重点文案&#xff0c;如图的界面设计中&#xff0c;都是通过字体大小、粗细来区分界面内容中的层级关系。字…

【UI教程】结合PS和AI绘制炫彩2.5D插画

【UI教程】结合PS和AI绘制炫彩2.5D插画 为了此次文章教程,利用下班在家空余时间撸图撸了两个凌晨,原则只做原创精品设计文章,好案例配好文章,希望大家能喜欢,做设计行业文章教程最初目的就是能希望帮助到更多设计师小伙伴,很单纯、很简单 完全免费奉献上我一些能量,我不…

Adobe AI软件解决界面字体过小的方法

转载自&#xff1a;http://www.pc0359.cn/article/jiaocheng/69216.html &#xff0c;图片为本博主自己操作时的截图。 AI是adobe旗下的软件之一&#xff0c;使用过该公司软件的用户应该都有这样的感受&#xff0c;软件功能很强大&#xff0c;可是它的界面字体实在是太小。对于…

视频教程-AI软件与字体设计-Illustrator

AI软件与字体设计 专注提供优质教学内容 CSDN就业班 136.00 立即订阅 扫码下载「CSDN程序员学院APP」&#xff0c;1000技术好课免费看 APP订阅课程&#xff0c;领取优惠&#xff0c;最少立减5元 ↓↓↓ 订阅后&#xff1a;请点击此处观看视频课程 视频教程-AI软件与字体设计…

ai怎么调界面大小_ai软件界面字体特别小 ai菜单栏字体大小怎么改

win8系统装软件,软件那些字体好小,怎么调大,例如PS软件,AI软件里面那些菜单栏字都很小,怎么? 1、桌面空白处单击鼠标右键,选择“屏幕分辨率”; 2、点击“放大或缩小文本和其他项目”; 3、单击屏幕右侧“设置自定义文本大小”; 4、在下拉列表中可以选择默认提供的放大…

ai字体设计(鲜到家)

1、选择合适的字体输入文本内容 2、 选中文字&#xff0c;选择文字菜单&#xff0c;点击创建轮廓&#xff08;将文字转曲&#xff09;&#xff1b;选择倾斜工具&#xff0c;双击后输入角度等参数&#xff0c;确定&#xff0c;用小白工具把鲜字的笔画往下拉一拉&#xff0c;有折…