C语言 - 技术教程文章

学完c语言你应该掌握哪些知识点【代码】【图】

**有什么遗漏的知识点欢迎留言****原创不易,转载请注明出处**原文:http://blog.51cto.com/13449864/2069518

C语言中四个数比较大小问题【代码】

1 #include <stdio.h>2int main()3{4int a, b, c, d, t;5 printf("请输入4个数:");6 scanf("%d%d%d%d", &a, &b, &c, &d);7if (a>b){8 t=a; a=b; b=t;9 } 10if (a>c){ 11 t=a; a=c; c=t; 12 } 13if (a>d){ 14 t=a; a=d; d=t; 15 } 16if (b>c){ 17 t=b; b=c; c=t; 18 } 19if (b>d){ 20 t=b; b=d; d=t; 21 } 22if (c>d){ 23 t=c; c=d; d=t; 24 } 25 ...

C语言中关于scanf函数的用法【代码】

scanf()函数的控制串函数名: scanf功 能: 执行格式化输入用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("<格式化字符串>",<地址表>);scanf()函数返回成功赋值的数据项数,出错时则返回EOF。其控制串由三类字符构成: 1.  格式化说明符; 2.  空白符; 3.  ...

C语言 — 基本数据类型【代码】

1.1 数据:数据类型关键字K&C给出了7个与类型相关的关键字。C90标准添加了2个关键字,C99标准又添加了3个关键字。K&C给出的关键字C90标准添加的关键字C99标准添加的关键字intsigned_Boollongvoid_Complexshort _Imaginaryunsigned char float double 在C语言中,用int关键字来表示基本的整数类型。后3个关键字(long,short和unsigned)和C90新增的signed用于提供基本整数类型的变式,例如unsigned short int 和 long long in...

C语言第8次作业【代码】

1.定义长度为100的整型数组,将数组元素赋初值为1,2……100,将其中所有值为3或7倍数的值删除,最后打印输出数组中剩余数的个数及每个数。#include<stdio.h> int main() {int i,j,n=0;int a[100];for(i=0;i<=100;i++){for(j=0;j<=100;j++){if(a[i]%3==0&&a[i]%7==0){n++;printf("%d",a[i])} }break;}printf("还剩%d个数\n",100-n);return0; } 2.打印9行9列的矩阵,矩阵内容为9*9乘法表及其x轴旋转对称的乘法表,即打印结果为(1)...

Linux C语言编程基本原理与实践 笔记 gcc max.o hello.c【代码】

人类和计算机交流的一种方式。C语言适合做Linux嵌入式。小工具。MAC电脑是Unix内核。二、Linux基本操作#vi a.c新建文件#rm a.c删除文件i 当前光标前面插入a当前光标后面插入shift+a 行尾插入shift+i 行首插入o下一行插入shift+o上一行插入dd 删除光标所在行三 Linux下第一个C程序vim a.c#include <stdio.h>int main () {printf("hello word !\n");return0; }gcc a.c 编译得到a.out./a.out 运行程序输出结果第四章 多文件操作多文件...

函数(C语言、思维导图)【图】

1. 函数是什么? 2. 库函数 3. 自定义函数 4. 函数参数 5. 函数调用 6. 函数的声明和定义 7. 函数递 原文:https://www.cnblogs.com/fengkun/p/11964805.html

数据结构线性表链表的C语言实现【图】

数据结构线性表链表的C语言实现 说明:线性表是一种最简单的线性结构,也是最基本的一种线性结构,所以它不仅是学习中的重点,也是应用开发非常常用的一种数据结构。它可以分为顺序表和链表。它的主要操作是数据元素的插入,删除,以及排序等。接下来,本篇文章将对线性表链表的基本操作和运用进行详细的说明(包含在源代码的注释中),并给予可运行的程序源代码。 线性表链表不同于顺序表,它是一种链式的线性表,和顺序表...

C语言 fork【代码】

/* *@author cody *@date 2014-08-12 *@description *//* #include <sys/types.h> #include <unistd.h>pid_t fork(void); */#include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h>void Fork(){pid_t pid;char *message;int n;pid = fork();if(pid < 0){perror("fork failed!");exit(1);}if(pid == 0){message = "this is the child\n";n = 6;}else{message = "this is the parent\n";n = 3;}for(;n...

Symmetric Order C语言 ZOJ2172【代码】

In your job at Albatross Circus Management (yes, it‘s run by a bunch of clowns), you have just finished writing a program whose output is a list of names in nondescending order by length (so that each name is at least as long as the one preceding it). However, your boss does not like the way the output looks, and instead wants the output to appear more symmetric, with the shorter strings at the t...

c语言实现输入一组数自动从大到小排列

#include <stdio.h>main(){ int x; printf("请输入要排序数字个数:"); scanf("%d",&x); int i,j,k,a,b,num[x]; printf("输入数据:"); for(i=0;i<x;i++) scanf("%d",&num[i]); for(j=0;j<x;j++) { for(k=j+1;k<x;k++) if(num[k]>num[j]) { a=num[j]; num[j]=num[k]; num[k]=a; } } for(b=0;b<x;b++) printf("%d ",num[b...

linux下c语言实现多线程文件复制【转】【代码】

转自:https://www.cnblogs.com/zxl0715/articles/5365989.html1、具体思路 把一个文件分成N份,分别用N个线程copy, 每个线程只读取指定长度字节大小的内容 最后一个线程的源文件所指定的结束位置是文件的实际大小 每个线程读取指定源文件部分的起始位置和结束位置的内容到缓冲区 每个线程将缓存中的内容写入目的文件的指定开始位置和结束位置 主线程必须等到所有线程copy完成后才能退出2.有关文件操作的函数 2.1. 文件的打开和关...

linux下的C语言程序设计【图】

Linux程序设计基础知识Linux下C语言编程环境概述 Linux下C语言编程常用的编辑器是vim或emacs,编译器一般用gcc,编译链接程序用make,跟踪调试一般使用gdb,项目管理用makefile。程序安装目录 对一个Linux开发人员来说,在使用一种编程语言编写程序以前,对操作系统中程序的保存位置有一个透彻的了解是很重要的。Linux下的程序通常都保存在专门的目录里。系统软件可以在/usr/bin子目录里找到。系统管理员为某个特定的主机系统或本地...

C语言学习笔记(五) 数组

数组  数组的出现就是为了解决大量同类型数据的存储和使用的问题;  数组的分类:一维数组、二维数组。  一维数组:为多个变量连续分配存储控件;所有的变量的数据类型必须相同;所有变量所占的字节大小必须相等;    例如:int a[4];  一维数组名不代表数组中的所有元素而是代表数组中第一个元素的地址;    数组的初始化:      完全初始化: int a[4] = {1,2,3,4};      不完全初始化: int a[4] =...

【c语言】   交换两个整形变量的值(要求不创建临时变量)【代码】

如何不创建临时变量,来交换两个整形变量的值异或运算 #include<stdio.h>int main() { int num1=12,num2=24; printf("交换前的变量值"); printf("%d,%d",num1,num2); num1=num1^num2; num2=num1^num2; num1=num1^num2;//异或 printf("\n交换后的变量值"); printf("%d,%d",num1,num2); return 0; }加减运算,乘除运算#include<stdio.h>int main() { int num1=12,num2=24; printf("交换前的变量值"...

C语言实现顺序栈【代码】

#include <stdio.h>#define NUMBER 100int push(int* a, int top, int data) {a[++top] = data;return top; }int pop(int* a, int top) {if (top == -1) {return -1;}printf("%d\n",a[top]);top--;return top; }int main() {int a[NUMBER];int top = -1;top = push(a, top, 1);top = push(a, top, 3);top = push(a, top, 5);top = pop(a, top);top = pop(a, top);top = pop(a, top);return0; } 原文:https://www.cnblogs.com/zgen...

单片机c语言教程:C51循环语句

单片机c语言教程第十三课 C51循环语句循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写 1000 条空语 句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们能知道这 1000 条空语句, 无非就是一条空语句重复执行 1000 次,因此我们就...

(续)顺序表之单循环链表(C语言实现)【图】

单循环链表和单链表的唯一区别在于单循环链表的最后一个节点的指针域指向第一个节点,使得整个链表形成一个环.C实现代码如下:#include<stdio.h>typedef struct node {int data;struct node *next; }Node;//链表的初始化 Node* InitList(int number) {int i;Node *pHead=(Node *)malloc(sizeof(Node));Node *TempHead=pHead;Node *Head=pHead;int data;for(i=0;i<number;i++){pHead=(Node *)malloc(sizeof(Node));printf("Please inp...

C语言 四种作用域【代码】

代码块作用域:任何位于一对花括号之间是一个代码块,代码块内声明的标识符具有代码块作用域,嵌套代码块内,内部变量会屏蔽外部相同标示的标示符,非嵌套代码块,不会同时处于活动状态所以不会屏蔽。int main() {int value = 123;{int value = 456;printf("%d\n", value);}{int value = 789;printf("%d\n", value);}printf("%d\n", value); }123和456以及789是嵌套,会屏蔽123,456和789是非嵌套不互相影响。 文件作用域所有在代码...

瘋子C语言笔记(指针篇)【图】

指针篇1.基本指针变量(1)定义int i,j;int *pointer_1,*pointer_2;pointer_1 = &i;pointer_2 = &j;等价于int *pointer_1 = &i,*pointer_2 = &j;(指针误区:  大家首先应该知道,指针是地址,是不可变的;指针变量(上述定义的pointer_1为指针变量)是变量,变量是可变的,和通常的变量相比,它存放的量CPU会当地址来处理)-------------------------------------------------------(2)简记*:取该地址空间存放量,*后面的内容CPU当...

C语言学习总结

下面是对C语言中有许多重要知识的总结:1、 一些基本的函数和基本数据类型的应用。其中,基本数据类型分为整型、浮点型、字符型、枚举类型。基本函数包括输入输出函数。2、把运算符的优先顺序排列清楚,要分清楚哪个先运算,哪个后运算。3、在编程之前要考虑好程序的算法,写出流程图,这样才能更加快速的、有效的编程。4、要分清楚各个变量的生存期和作用域,不能发生混淆,以致发生错误。5、 数组和指针是c语言的经典之处,可以通...

【c语言】位段赋值的例子

// 位段赋值的例子#include <stdio.h>int main() {unsigned char puc[4];struct tagPIM{unsigned char ucPiml;unsigned char ucData0 : 1;unsigned char ucData1 : 2;unsigned char ucData2 : 3;}*pstPimData;pstPimData = (struct tagPIM*)puc;memset(puc, 0, 4);//全部置0pstPimData->ucPiml = 2;//0000 0010全部取出pstPimData->ucData0 = 3;//0000 0011取出1pstPimData->ucData1 = 4;//0000 0100取出00pstPimData->ucData2 = 5...

C语言结构体里的成员数组和指针【代码】

struct test{int i;char *p; };struct test *str;int a = 1;char *b = "ioiodddddddddddd";str = (struct test *)malloc(sizeof(struct test));//结构体指针不为nullstr->i = a;str->p = b;printf("%s\n",str->p); //输出ioioddddddddddddreturn1;--------------------------------------------------------struct test{ int i; char s[10];};struct test *str;st...

《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——矩阵连乘问题【代码】

2014.07.07 15:47简介:  给定N个矩阵,A1、A2、...、An,如果相邻矩阵的维度都满足相乘条件,如何组织这n-1次乘法的顺序,使得总共的乘法次数最少?描述:  根据矩阵乘法的定义,如果矩阵X的维度是aXb,矩阵Y的维度是bXc。那么XY相乘需要的乘法次数是aXbXc。  这道题目是典型的动态规划问题。从使用者的角度来看,动态规划问题通常的应用情景主要有两个特点:    1. 暴力搜索能够得出答案,但速度实在太慢。如果用空间换...

C语言利用结构体数组实现学生成绩管理系统

这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下要求:某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。定义结构体类型描述学生信息,每个学生信息包括:学号、姓名、多门课的成绩、总成绩和平均成绩。用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统。...

C语言 杨辉三角【图】

输出以下的杨辉三角形(要求输出10行) 源代码#include <stdio.h> int main () {int a[10][10];int i;int j;for(i=0;i<10;i++){for(j=0;j<=i;j++){if( i==j || j==0){a[i][j]=1; //每行的的首末位置的数均为1}else{a[i][j]=a[i-1][j]+a[i-1][j-1]; //每个数等于上一行的对应位置的前两个数的和}printf("%4d",a[i][j]);}printf("\n");}return 0; }原文:http://blog.csdn.net/zhongqi0808/article/details/44753551

1014c语言文法分析

程序-> <外部声明><程序><外部声明>外部声明-> <函数定义>|<声明>函数定义-> <函数类型><说明符><复合语句>函数类型-> void|char|int|float说明符-> <指针 ><直接说明符>|<直接说明符>指针-> <*>|<*><指针>直接说明符-> <标识符>|<直接说明符[]>|<直接说明符[常量表达式]>|<标识符(参数序列)>|<标识符()>|<直接说明符,标识符序列>标识符序列-> <标识符>|<标识符序列><,><标识符>常量表达式-> <条件表达式>参数序列-> <参数声...

c语言中enum类型的用法【代码】

11.10 枚举类型在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不...

c语言入门代码复习text4,text5【代码】

#define?_CRT_SECURE_NO_WARNINGS?1 #include<stdio.h> c语言是一门结构化的程序设计语言 1:顺序结构 2:选择结构--分支语句 3:循环结构--循环语句 int?main() {int?a?=?0;;//是语句--空语句return?0; }if语句 if(表达式); 语句;if语句 if(表达式) 语句; else 语句;多语句表达式 if?(表达式1); 语句1; else?if?(表达式2); 语句2; else 语句3;int?main() {int?age?=?5;if?(age?<?18){printf("未成年\n");printf("不能...

实验二 用C语言表示进程的调度

实验二一、 实验目的通过模拟进程的调度,进一步了解进程的调度的具体过程。二、 实验内容和要求1.进程PCB的结构体定义2.定义队列3.输入进程序列4.排序(按到位时间)5.输出进程运行的结果三、程序#include<stdio.h>#include<malloc.h>#include<time.h>/*定义一个Course类型的结构体*/typedef struct queue{ int number; int intime; int runningtime; int alltime; int waitingtime; struct node *ne...