C语言 - 技术教程文章

万年历的C语言实现

// Zeller公式确定星期几,w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1// y是年份取最后两位,c是世纪减1,m是月份,如果m是1月和2月,则m换成13和14,d是日期,[]表示取整,w除以7之后的余数就是星期几,如果余数为0,就是星期日#include <stdio.h>int main(){int year, month, y;printf("请输入年:\n");scanf("%d", &year);if (year < 1900){printf("年必须大于1900\n");exit(-1);}y = year;int c = y;y %= 100;c /= 100;int m;printf...

C语言复习2

01-while01 break 跳出循环continue 跳出本次循环,进入下一次循环 02-while02计算1+2+3+...+n的和 Q1:unsigned的作用是什么?在一般的计算中感觉不到其作用 A.函数声明与定义函数的声明只要写在调用前,可以在任意地方任意次声明。#include <stdio.h>int main(int argc, const char * argv[]) { void test(); void test(); void test(); void test(); void test(); test(); return 0; }void test...

C语言【代码】

#include <stdio.h> /** 输入10个数,排序输出*/int main() {int a[10],i,j,t;printf("please enter 10 numbers\n");for(i=0;i<10;i++){scanf("%d", &a[i]);}//冒泡排序for(i=0;i<10;i++){for(j=9;j>i;j--){if(a[i]>a[j]){t=a[j];a[j]=a[i];a[i]=t;}}}for(i=0;i<10;i++){printf("%d\n",a[i]);} } 原文:http://www.cnblogs.com/bai-jimmy/p/4373895.html

C语言语法目录二【代码】

1、char类型   char c;定义了一个char变量   ‘a‘ ; char常量   char的本质就是一个整数,一个只有一个字节大小的整数   char c; 定义一个有符号的char   unsigned char b; 定义一个无符号的char   c = 4; //c等于一个整数 -->4   c = ‘4‘;//c等于一个字符4,对应ASCII码的52   %c 表示是输出一个字符,而不是一个整数  大写字母转小写的方法:   例如: char a = ‘B‘;   a = a + 32;   p...

c语言分解字符串strtok函数使用【代码】【图】

#include <stdio.h> #include <stdlib.h> #include <time.h> #include <pthread.h> #include <semaphore.h> #include <unistd.h> #include <signal.h> #include <string.h>int main() {char pindata[] = "www.baidu.com";//char *strtok(char *str, const char *delim)char* pout = strtok(pindata,".");printf("pout is %s\n",pout);while(pout!=NULL){pout = strtok(NULL,".");printf("pout is %s\n",pout);}for(;;);return 0; }...

统计文本文件字符(C语言)【代码】【图】

统计txt文件中字符数、单词数、行数主体思路 利用c的命令行参数传递用户指令 if(argc < 3) {printf("Usage ./wc.exe [-c] [-w] [-l] FILE [-o] Outfile");exit(0); }for(int count = 1; count < argc; count++) {//判断必需参数if(!strcmp(argv[count], "-c")){c = 1;//Method1}else if(!strcmp(argv[count] ,"-w")){w = 1;}else if(!strcmp(argv[count] ,"-l")){l = 1;}else{//搜索输入文件名inputfile = argv[count];break;}} ...

C语言之广度优先算法【代码】【图】

广度优先算法又称宽度优先搜索,是一种简便的图的搜索算法之一。搜索方式大致是这样的:直到搜索到目标节点(节点就是那些圆球球,其中有一个或者多个是目标节点)或者搜完了整个图都没找到目标节点就停止搜索。实现这个要是想用像深度优先算法那样函数套函数那样是难以实现的(至少我实现不了)。像这样的:求问从A到B的最短路径的节点数是多少? 这道题很简单嘛,肯定是A-C-B啊,答案是3啊。那怎样用C语言实现呢?深搜的话:一条...

C语言编译过程【图】

C语言编译过程编译---->形成目标代码,目标代码是在目标机器上运行的代码。连接---->将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序)。执行----->在特定的机器环境下运行C程序。如果用一张图来表示: 编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执...

【C语言】 折半查找【代码】

#include<stdio.h> #define M 10int my_binsearch(int x, int v[], int n) // 带查找元素x,已排序数组v,数组元素个数 {int left, right, mid;left = 0, right = n - 1;while (left <= right){mid = (left + right) / 2;if (x < v[mid]){right = mid - 1;}else if (x > v[mid]){left = mid + 1;}else{return mid;}}return -1; }int main() {int v[M];int i,x,ret;char c;printf("请输入一组有序的数:");for (i = 0; i < M; i++)...

C语言sscanf和sprintf输入输出使用及Strlen、Memset解释【图】

sscanf() - 从一个字符串中读进与指定格式相符的数据。 swscanf()- 用于处理宽字符字符串,和sscanf功能相同 通过学习和使用个人认为,在字符串格式不是很复杂,但是也并不简单的时候用这个函数比较合适,这个尺度就要靠自己把握了,字符串不是很复杂,但自己写个处理的函数比较麻烦,效率也不高,就用这个函数,如果字符串很复杂,那就用正则表达式吧。 不多说了,看看下面这些介绍和列子吧!名称:sscanf() - 从一个字符...

程序设计入门——C语言(翁凯老师)(基础部分)【代码】

输出“Hello World”(mooc第一周编程练习)# 定义main函数,如果定义为 int型的函数,记得要有返回值0,如果定义为void则不需要返回值。# 输出“Hello World”#include<stdio.h> int main(){ printf("Hello World"); return0; }逆序的三位数(5分)(mooc第二周编程练习)题目内容:逆序的三位数:程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是...

C语言递归【代码】

#include<stdio.h> #include<stdlib.h> /*2014年12月24日18:11:09求递归 */ int f(int a) {if(1==a)return 1;elsereturn f(a-1)*a; }int main(void) {int a;printf("请输入一个数:");scanf("%d",&a);printf("%d的阶乘为%d\n",a,f(a));system("pause");return 0; }原文:http://admxj.blog.51cto.com/10955090/1721702

C语言流程控制结构—循环结构

循环结构循环结构-while     While(条件)     {     语句;     }     解说:先判断条件是否成立,成立则执行,执行完代码后再次判断条件是否成立(判断条件-》执行代码块-》判断条件-》执行代码块···)    1.首先确定循环执行的操作(循环体内语句)    2.在确定约束条件,即需要循环多少次(循环体判断条件)    3.定义一个变量来记录循环的次数(根据需要进行定义,或不定义)     提示:在...

C语言实现使用静态数组实现循环队列

队列是一种先进先出的的数据结构,我们同样可以使用数组、链表等来实现。我们可以在队列的尾部进行插入元素,在队列的头部取出元素。普通的队列由于空间利用率不高,所以我们一般都用循环队列。循环队列中最重要的的两个操作就是判断是否为空和是否已满。当head==tail时,表示队列为空。当(tail+1)%MAX_SIZE == head,表示队列已满。 我判断队满的方法:牺牲一个单元来区分对空和队满,入队时少用一个队列单元,相当于浪费一...

C语言学习笔记-5.循环结构程序设计【代码】

一、for语句,while语句,do-while语句  1.特征 forwhiledo-while最小执行次数001判断方式初始化 -> 先判断后执行先判断后执行先执行后判断优缺点在循环次数明确时使用较方便更适用于条件不确定的场合无论如何都会执行一次  2.do-while语句常用于解决脆弱的输入方式char choice; do {scanf("%c", &choice); } while (choice != ‘y‘ && choice != ‘n‘);  3.do-while语句后有一个分号二、break语句和continue语句  1.当b...

C语言 内存分配 地址 指针 数组 参数 实例解析【图】

.Android源码看的鸭梨大啊, 补一下C语言基础 ... .作者 : 万境绝尘转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/20472269.指针简介 : 指针式保存变量地址的变量;-- 增加阅读难度 : 指针 和 goto 语句会增加程序的理解难度, 容易出现错误;-- ANSI C : American National Standards Institute 美国国家标准学会, 即标准C;-- 通用指针类型 : ANSI C中使用 void* 作为通用指针类型, 即指向void的指针, void 是空...

C语言数组一种巧妙的使用方式【代码】

作为计算机一种比较古老的语言,它并没有随着岁月老去,而是仍旧在整个领域发挥出耀眼的光芒,就像写作,有很多光芒万丈的句子值得我们去珍藏,今天就遇到了个比较巧妙的数组使用方法,做个记录,以供后续使用.#include <stdio.h> #include <stdlib.h> #include <string.h>typedef unsigned long long ULL; #define BUFFER_SIZE ((int)(0x80 * sizeof(void*) * sizeof(ULL)))#define sb_free(a) ((a) ? free(stb__sbraw(a)), 0 :...

常见算法:C语言求最小公倍数和最大公约数三种算法

最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为两数的最大公约数③ 若c≠0,则a=b,b=c,再回去运行①比如求27和15的最大公约数过...

C语言参数传递【代码】【图】

1//--------------------单向值传递------------------------2 3// swap这个方法在被调用时,给形参a,b分配了空间4// 主调函数将【数值】传递给【形参】5// 形参完成操作之后并不能将值传回给主调函数6// 形参的生命周期仅仅在方法体中 7/* void swap(int a , int b)8 {9 int tmp = a; 10 a = b; 11 b = tmp; 12 }*/13//-----------------------验证程序------------------------14/*15 int x(6) , ...

用C语言实现,输入圆的半径,输出圆的面积和周长【代码】【图】

#include <stdio.h>/**要求:输入圆的半径,输出圆的面积和周长 */int main(void) {/**声明一个float类型的变量 radius 来获取半径的值;area来表示面积,perimeter来表示周长*/float radius;float area;float perimeter;printf("----输入半径以计算圆的面积和周长----\n");printf("请输入圆的半径:");scanf("%f",&radius);//计算圆的面积area = 3.1415926*(radius*radius);//计算圆的周长perimeter = 2*radius*3.1415926;printf("...

C/C++编程笔记:C语言开发经典游戏项目《五子棋》,内含源码【图】

上一节给大家分享了扫雷游戏的源代码,本篇文章当然也不会让大家失望,专门针对C语言入门或者学习了部分知识之后的小伙伴来练手的游戏项目——《五子棋大战》,本期并不是使用的easyX,因为考虑到有些大学的同学没有接触到这个,所以本期就是一个“黑漆漆”的控制台界面,这个就希望大家谅解哈!,话不多说,下面我们正式来看吧!一、构建棋盘首先可以用一个二维数组来构建棋盘,下标表示位置,内容表示黑子白子或者空位。当数组内...

c语言建立自己的纯净无广告wifi。

直接 贴代码。 代码也很简单,有什么不会的跟帖留言。 #include <stdio.h>#include <string.h>#include <windows.h>/*#include "stdafx.h"#pragma comment(linker,"/subsystem:windows /entry:mainCRTStartup")void exit(){ MessageBox(NULL,"wifi即将退出。","wifi",0);}*/void Open(){ char ssid[10],key[16]; char str1[57]="netsh wlan set hostednetwork mode=allow ssid="; char str2[57]="netsh wlan set hostednetwork m...

C语言的习题3

7.表达式 !x 等价于________。 A. x==1 B. x==0 C. x!=0 D. x!=1 8.设有定义int a[10]; 则合法数组元素的下标范围为______。 A. 1至10 B. 0至9 C. 1至9 D. 0至109.下列关于数组的描述中错误的是______。 A. 当数组名作为参数传递给某个函数时,原数组中的元素的值可以被函数修改 B. 数组的名称其实是数组在内存中的首地址 C. 一个数组只允许存储同种类型的变量 D. 如果在对数组进行初始化时,给定的数组元素个数比数组元素少时,多...

C语言基础学习基本数据类型-变量和常量【代码】【图】

变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量;有些数据在程序运行中可能发生变化或被赋值,称之为变量。使用变量前必须先声明一个变量。变量定义的语法是:数据类型名 变量名 ;比如我们可以这样定义一个整型变量:int a; //int类型表示整型若要声明多个变量,可以逐个声明,也可以在数据类型名后面加上多个变量名,中间用逗号分隔:数据类型名 变量名1, 变量名2, 变量名3...

php读取二进制流(C语言结构体struct数据文件)的深入解析

尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持。不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转:复制代码 代码如下:string pack ( string $format [, mixed $args [, mixed $...]] ) //Pack given arguments into binary string according to format. array unpack ( string $format, string $data ) //Unpacks from a binary string into an array ...

C语言:总结

1除法运算:两整数相除,结果为整数; 任意浮点数参与的除法运算结果为浮点型。所以pow(16,1/2)=1 pow(16,1.0/2)=4.00 pow(64,1.0/3)=4.00 球的体积v=4.0/3*3.14*pow(r,3); 三角形面积:d=1.0/2*(a+b+c);s=sqrt(d*(d-a)*(d-b)*(d-c));原文:https://www.cnblogs.com/xkdn/p/14869565.html

两个已排序数组的合并-C语言

最近在纸上写一个已排序数组的合并时,花了超过预期的时间。仔细想想,这种要放到毕业找工作那会两下就出来了,原因还在于工作后对基础没有重视,疏于练习。说开一点,现在搜索引擎的发达确实给问题的解决带来了便利,但是久而久之,对很多东西的掌握其实并不深入。比如淘宝系的人经常分享一些linux内核IO优化相关的内容,咋看一下,原来是这样,觉得也不难嘛,其实不然,如果给一张白纸让你自己把流程画出来,讲解清楚,还有有难度...

c语言第五次博客作业---函数【图】

一丶PTA实验作业题目1:使用函数判断完全平方数(1).PTA提交列表(2). 设计思路1.第一步:定义两个浮点型变量 number,r; 2.第二步:将开平方的n赋予number; 3.第三步:r=n/number; 4.第四步:如果r=number,返回1;否则返回0; 5.第五步:如果n为0,返回1;(3).本题调试过程碰到问题及解决办法问题: 在n=0这个测试点时代码通不过去解决办法:将0当作特例写出来,当n为0时直接返回1;题目2:使用函数输出一个整数的逆序数(...

OC语言构造方法【图】

OC语言构造方法一、构造方法(一)构造方法的调用完整的创建一个可用的对象:Person *p=[Person new];New方法的内部会分别调用两个方法来完成2件事情,1)使用alloc方法来分配存储空间(返回分配的对象);2)使用init方法来对对象进行初始化。可以把new方法拆开如下:1.调用类方法+alloc分配存储空间,返回未经初始化的对象Person *p1=[person alloc];2.调用对象方法-init进行初始化,返回对象本身Person *p2=[p1 init];3.以上两...

c语言字串指针 char*【代码】

c语言中 char* 不仅能存字符串,还能存二进制数据,所以它的用途因使用者而定。char* 在很多使用场景下,是需要存储ascii码为0的元素的,这样就必须注意一个问题,那就是char*的长度。c语言中是没有办法检测char*长度的,这样也就能解释之前为什么我在网上找到的那么多示例函数都把长度信息从函数参数里带进带出了。比如这几天在做 rsa 加密、解密时就遇到了一会解密正常,一会儿不正常的情形,感觉像是指针漂移。对于我这个写了多...