C语言 - 技术教程文章

c语言中循环控制语句(do语句),锁定输入值的范围【代码】

1、#include <stdio.h>int main(void) {int i;do{puts("please input the i value.");printf("i = "); scanf("%d", &i);if (i < 0 || i > 2)puts("the span value of i is 0~3");}while (i < 0 || i > 2); ## 当输入的i的值小于0或者大于2的则判断为非0,程序循环。switch(i) ## switch语句分支结构判断{case 0: puts("stone!"); break;case 1: puts("scissors"); break;case 2: puts("clothes"); break;}return 0; }

C语言中常用的数学函数【代码】【图】

① double exp(double x); (求e的x次幂) ② double pow(double x, double y); (求x的y次幂) ③ double sqrt(double x); (求x的算术平方根) ④ double fabs(double x); (求参数x的绝对值) ⑤ double log(double x); (以自然对数e为底) ⑥ double log10(double x); (以10为底) ⑦ double sin(double x); (x为弧度) ⑧ double cos(double x); (x为弧度) #include<stdio.h> #include<math.h> int main() {printf("e^3=%.3lf\n", exp(3)...

c语言中循环控制语句(do语句)【代码】【图】

1、#include <stdio.h>int main(void) {int i, j;do{puts("please input the i value:");printf("i = "); scanf("%d", &i);if (i % 2)puts("odd");elseputs("even");puts("please input the j value, 0: continue; other: quit.");printf("j = "); scanf("%d", &j);} while (j == 0); ## 当 while语句不为0时,会继续循环,即j等于0时会继续循环; 当while语句为0是,即j不等于0时会跳出循环。return 0; }

C语言获取字符年月日时分秒毫秒【代码】【图】

概述本文演示环境: Windows10 使用C语言获取年月日时分秒毫秒,代码 #include <iostream> #include <string> #include <time.h> #include <sys/timeb.h> using namespace std;struct NowDate {char year_month_day_[16] = {0}; //年月日char hour_minute_second_[16] = {0}; //时分秒char mill_sec_[4] = {0}; //毫秒 };/// 获取时间 NowDate getTime() {time_t timep;time(&timep);NowDate date;strftime(date.year_month_day_,...

C语言练习题:输出带框文字【代码】

本题要求编写程序,输出指定的带框文字。 输入格式: 本题无输入 输出格式: 按照下列格式输出带框文字。 ************Welcome ************#include<stdio.h> main() {printf("************\n Welcome\n************"); }

C语言 开发使用环境和数据类型、运算符、表达式【图】

实验1: #include<stdio.h>int main(){printf(" 0 \n"); printf("<H>\n"); printf("I I\n"); return 0; } #include<stdio.h>int main(){ printf(" 0 \n"); printf("<H>\n"); printf("I I\n"); printf(" \n"); printf(" 0 \n"); printf("<H>\n"); printf("I I\n"); return 0; } #include<stdio.h>int main(){ printf(" 0 0\n"); printf("<H> <H>\n"); printf("I I I I\n"); } 实验2 #include<stdio.h>int main(){ int x,y...

二级C语言试题

编程试题 #include <stdio.h> void fun (char *s,char c) { int i,j,n; for i=0;s[i]= ;i++) if(s[i]==c) { n= ; while (s[i+1+n] =’\0’)n++; for (j=i+n+1;j>i;j–) s[j+1]= ; i=i+1; } } main( ) { char s[80]=“baacda”,c; printf("\nThe string:%s\n",s); printf("\nInput a character: “); scanf(”%c",&c); fun(s,c); printf("\nThe result is:%s\n",s); }

C语言中while(~scanf(“%d”,&n))

scanf()函数返回成功赋值的数据项数,出错时则返回,EOF定义为-1。~是按位取反,-1十六进制补码表示为0x ffffffff,f是二进制的1111,取反后就全部变成0了,于是while结束。只有返回值为EOF(即-1)时,其取反的的值(即while循环的判断条件)才为0,才能结束循环,其它输入情况下(无论是否输入成功)while循环的判断条件为非0,即为真。 这种写法的漏洞在于:一但输入的值为字母、符号之类的,scanf赋值不成功把读到的内容又返回...

C语言判断一个密码是不是安全的【代码】

题目描述 网上流传一句话:“常在网上飘啊,哪能不挨刀啊~”。其实要想能安安心心地上网其实也不难,学点安全知识就可以。 首先,我们就要设置一个安全的密码。那什么样的密码才叫安全的呢?一般来说一个比较安全的密码至少应该满足下面两个条件: (1).密码长度大于等于8,且不要超过16。 (2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。 这四个字符类别分别为: 1.大写字母:A,B,C…Z; 2.小写字母:a,b,c…z; 3.数...

c语言中输入0表示循环结束

(1)while(scanf("%d",&n),n!=0) (2)while(scanf("%d",&n)!=0)为什么第二个输入0后还可以继续输入,循环没有停止 因为scanf返回的是输入的个数,在本例中返回的是1(因为只输入一个数),所以(2)中不可能等于0,因此可以继续向下执行 而(1)中逗号表达式,不管你scanf语句是什么结果,最后while判读的是后面的n值

【C语言】strncpy详解【代码】【图】

1.不考虑内存重叠的strncpy 网上很多博客也写了这个函数,面试也常常会遇到,但是,我发现网上的很多代码都是有问题的,我们先看下大部分网上博客的实现: char *strncpy(char *dst, const char *src, size_t len) {assert(dst != NULL && src != NULL);char *res = dst;while (len--){*dst++ = *src++;}return res; }看着好像没啥问题,但是,当src的长度小于len呢?这份代码没有处理这个问题。当src的长度小于len时,应该如何处理...

C语言——结构体和指针学习

#include<stdio.h> #include<string.h> struct book //定义结构体类型 { char name [20]; short price; char author [20]; }; int main () { struct book b1={"C programming language",55,"谭浩强"};利用结构体类型定义结构体变量 struct book* p=&b1; 利用结构体类型定义结构体指针来存储结构体变量的地址 strcpy (b1.name ,"C++");修改书名 strcpy----string copy printf ("书名:%s\n",p->n...

实验1 C语言开发环境使用和数据类型,运算符,表达式【代码】【图】

//实验任务 1 #include<stdio.h> int main() {printf(" 0 0 \n");printf("<H> <H> \n");printf("I I I I \n");return 0;} //实验任务 1#include<stdio.h> int main() {printf(" 0 \n");printf("<H>\n");printf("I I\n");printf(" \n");printf(" 0 \n");printf("<H>\n");printf("I I\n");return 0;}//实验任务 2 #include<stdio.h>int main() {int x, y;int r1, r2, r3, r4;x = 1;y = 2;r1 = x + y;r2 = x - y;r3 = x * y;r...

C语言:const详解

希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小。为了满足这一要求,可以使用const关键字对变量加以限定:const int MaxNum = 100; //班级的最大人数这样 MaxNum 的值就不能被修改了,任何对 MaxNum 赋值的行为都将引发错误:MaxNum = 90; //错误,试图向 const 变量写入数据我们经常将 const 变量称为常量(Constant)。创建常量的格式通常为...

实验1 C语言 开发环境使用和数据类型、运算符、表达式【代码】【图】

#include <stdio.h> int main() {printf(" o o \n");printf("<H> <H>\n");printf("I I I I\n");return 0; }

大麦植发帝之C语言数据类型转换【图】

大麦植发帝之C语言数据类型转换 数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。 自动类型转换 自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: float f = 100;100 是 int 类型的数据,需要先转换为 float 类型才能赋值给变量 f。再如: int n = f;f 是 ...

使用GCC编译C语言的.c文件【代码】

一,安装GCC编译器 1.安装QT,复制bin目录路径添加到系统Path环境变量(注意是Tools目录下的)C:\Qt\Qt5.14.2\Tools\mingw730_64\bin2.测试是否成功//cmd 输入gcc -v//输出 gcc version 7.3.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 二、创建hello.c文件#include<stdio.h>int main(){printf("hello world");return 0; }三、编译成hello.exe文件//cmd 输入gcc hello.c -o hello.exehello//输出hello world

双向链表及有关操作(C语言)【代码】

#include <stdio.h> #include <stdlib.h>/** * 含头节点双向链表定义及有关操作 *///操作函数用到的状态码 #define TRUE 1; #define FALSE 0; #define OK 1; #define ERROR 0;//Status是新定义的一种函数返回值类型,其值为int型,意义为函数结果 状态码 typedef int Status; //定义一种 数据元素 类型,为表示方便,定义为char型 typedef char ElemType;//双向链表的定义 typedef struct DuLnode {ElemType data;struct DuLnode...

C语言:记录32bit数据的一些常用位操作【代码】

最近协议里面用到了这个东西,每次都要重新写,还怕出错,特记录之:#include <stdio.h> #include <string.h>#define GET_LOW_BYTE0(x) ((x >> 0) & 0x000000FF) /* 获取第0个字节 */ #define GET_LOW_BYTE1(x) ((x >> 8) & 0x000000FF) /* 获取第1个字节 */ #define GET_LOW_BYTE2(x) ((x >> 16) & 0x000000FF) /* 获取第2个字节 */ #define GET_LOW_BYTE3(x) ((x >> 24) & 0x000000FF) /*...

C语言 - 数据结构 - 二叉树的层次遍历 c语言实现【代码】【图】

文章目录 一、代码实现二.运行结果总结二叉树的层次遍历提示:以下是本篇文章正文内容,下面案例可供参考 一、代码实现 代码如下(示例): #include <stdio.h> #include <stdlib.h>//二叉树 typedef struct BiTNode {BiTNode* lchild, * rchild;int num; }BiTNode, * BiTree; //队列typedef struct LinkNode {BiTNode* data;LinkNode* next; }LinkNode;typedef struct {LinkNode* front, * rear; }LinkQueue;//初始化 int InitQ...

[c语言-函数]不定量参数【代码】【图】

源码 #include<stdio.h> #include<conio.h> int main(int count,char *data[]) {printf("一共有 %d 个参数\n",count);for(int i=0;i<count;i++){printf("参数%d: %s\n",i+1,data[i]);}getch();return 0; } 说明 主要看第二行main函数的声明 1.count是参数的数量 2.传入的参数会以字符串的形式保存在data指针数组中 应用 1.直接编译运行,只会有一个参数,是exe文件在计算机中的路径。 data指针数组的第一个参数默...

C语言重构【1019】链表中的下一个更大节点【代码】

文章目录 所有题目源代码:[Git地址](https://github.com/ch98road/leetcode)题目方案:复杂度计算所有题目源代码:Git地址 题目 给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么就有 j > i 且 node_j.val > node_i.val,而 j 是可能的选项中最小的那个。...

C语言重构【739】每日温度【代码】

文章目录 所有题目源代码:[Git地址](https://github.com/ch98road/leetcode)题目方案:复杂度计算所有题目源代码:Git地址 题目 请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度...

C语言——转义字符【代码】【图】

\t 水平制表符---类似于Tab键 按一下光标向后移动一段距距离;\ 表示字符常量\表示一个字符串内部的双引号\a 警告字符,蜂鸣\b 退格符\f 禁止符\n 换行符\r 回车\v 垂直制表符\ddd ddd表示1-3个八进制数字 ddd几位数不能大于8\xdd dd表示两位十六进制数字int main (){ printf("c:\test\32\test.c");return 0;}当你想让计算机输出c:\test\32\test.c地址时,你会发现这样写程序得不到自己想要的结果,如图为程序运行的结果 我们在...

c语言预处理【代码】

在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理、提前处理)预处理主要是处理以#开头的命令,例如#include <stdio.h>等。预处理命令要放在所有函数之外,而且一般都放在源文件的前面。预处理是C语言的一个重要功能,由预处理程序完成。当对一个源文件进行编译时,系统将自动调用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。编译器会将预处理的结果保存到和源文件同名的.i文件中,...

C语言实现乘法口诀表

#include <stdio.h> #include <string.h> int main() {int i,j;int a;for (i = 1; i < 10; i++){for (j = 1; j <= i; j++){a = j * i;printf("%d*%d=%-5d", j, i, a); //-5实现左对齐让代码更加美观}printf("\n");} }

C语言扫雷游戏简单实现【图】

文章目录 前言一、代码思路二、代码实现1.引入库2.具体代码见以下链接,免费下载,无需慌张3.运行结果前言 本篇文章为使用C语言的easyX库函数实现扫雷小游戏 一、代码思路1.设置扫雷地图 用一个二维数组表示扫雷地图 初始化二维数组 埋雷,-1表示雷,随机埋十个雷 以雷为中心,九宫格中数据加一,雷除外,生成0-8的数字 2.导入图片,绘制扫雷地图,数组中的元素映射为相应的图片 3.加密格子,覆盖数字和雷 4.鼠标控制,点击鼠标左键...

C语言求一组数中的奇数和与偶数和【代码】【图】

在这里插入代码片@toc 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,...

线索二叉树(C语言)【代码】【图】

实现下面这棵树:先序遍历: A B C D E F中序遍历: C B D A E F 代码 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <unistd.h>typedef enum {links, thread} TAG;typedef struct treeNode {char name;struct treeNode *lchild, *rchild;TAG ltag;TAG rtag; }TREENODE, *TREE;void createTree(TREE *); void traverse(TREE); void traverse_middle(TREE); void traverse_middle_detail(TREE); // 线索化二...