C语言 - 技术教程文章

C语言实现循环队列(基本操作及图示)【代码】【图】

———————————————————————————————————————————— 如果使用顺序表作为队列的话,当处于右图状态则不能继续插入新的队尾元素,否则会因为数组越界而导致程序代码被破坏。 由此产生了由链表实现的循环队列,只有队列未满时才可以插入新的队尾元素。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -...

弹跳小球C语言【代码】

1 #include <iostream>2 #include <cstdlib>3 #include <Windows.h>4usingnamespace std;5 6int main()7{8int i, j;9int x = 0; 10int y = 5; 11int velocity_x = 1; 12int velocity_y = 1; 13int left = 0; 14int right = 20; 15int top = 0; 16int bottom = 10; 1718while(1){ 1920 x = x + velocity_x; 21 y = y + velocity_y; 22 system("cls"); 2324for (i = 0; i < x; i++) 25 cout << ...

浅谈C语言指针【图】

下面就几种情况讨论指针。一.指针和变量变量是存储空间的别名,访问形式是直接访问。指针访问内存地址是间接访问。使用指针访问内存的场合:1.局部变量,参数传递 2.动态分配内存指针本身也是一个变量,用来保存内存地址的变量,也有存储空间。使用他来访问存储空间,会浪费存储空间,并是访问速度变慢。二.指针和数组使用指针打印数组元素值demo如下#include<stdio.h>int main (){ int array[10]={1,2,3,4,5}; int *parray=a...

C语言博客作业--函数【代码】【图】

一、PTA实验作业题目1:使用函数输出一个整数的逆序数1. 本题PTA提交列表2. 设计思路 reverse函数(int number): 1.int n,i,number1,number2=0//n控制第一个循环,i控制第二个循环,number1存放number数据来,number2来存放逆序数 2.number1 = number//把数字赋值给number1求number的位数,避免改变number的值 3.for n=1 to number1!=0 执行4. 4.n++;number1=number1/10; 5.while number%10=0时执行6.7. 6.if number==0 break...

c语言章节4【代码】【图】

本文目录一、算术运算符二、赋值运算符三、自增运算符和自减运算符四、sizeof五、逗号运算符六、关系运算符七、逻辑运算符八、三目运算符九、位运算符计算机的基本能力就是计算,所以一门程序设计语言的计算能力是非常重要的。C语言之所以无所不能,是因为它不仅有丰富的数据类型,还有强大的计算能力。C语言一共有34种运算符,包括了常见的加减乘除运算。这讲就对C语言中的运算符做一个详细介绍。回到顶部一、算术运算符算术运算符...

问题 1008: C语言程序设计教程(第三版)课后习题5.6【代码】

/******************************************************************** @file Main.cpp @date 2017-5-8 @author Zoro_Tiger @brief 问题 1008: C语言程序设计教程(第三版)课后习题5.6http://www.dotcpp.com/oj/problem1008.html ********************************************************************/ #include <cstdio>#define TEST #undef TEST//!获取成绩等级char GetGrade(int number_score);int main(in...

c语言-猜数字游戏【代码】【图】

#include <stdio.h> #include <stdlib.h>int top(); int input();void main() {int right = 50;int number;system("color 2");system("title 欢迎来到猜数字游戏");printf("==========================================\n");printf("===============欢迎来到猜数字游戏=========\n");printf("==========================================\n");printf("游戏规则如下:\n");printf("请输入1到100以内的整数:\n");scanf_s("%d", &numb...

C语言实现简单文件加密【代码】

原理:异或运算加密:#include<stdio.h> #include<stdlib.h> #include<string.h> #define KEY ‘@‘ int main(int argc, char * argv[]){FILE *fp;FILE *coded;char codedname[40];char ch;if(argc < 2){printf("param error!\n");exit(1);}if((fp = fopen(argv[1], "rb")) == NULL){printf("error when open file %s.\n", argv[1]);exit(1);}strcpy(codedname, argv[1]);strcat(codedname, ".coded");if((coded = fopen(codedname...

C语言-排序-冒泡排序【代码】

思想:通过两两交换,像水中的泡泡一样,小的先冒出来,大的后冒出来。 void bubbleSort(int array[], int length) { int flag = 0; for(int i=0; i<length-1; i++) { for(int j=0; j<length-1-i; j++) { if(array[j]>array[j+1]) { flag = 1; array[j] = array[j] + array[j+1]; array[j+1] = array[j] - array[j+1]; array[j] = array[j] - array[j+1]; } } if(flag == 0) break; } } 原文:http://www.cn...

C语言之数据结构——栈(C语言)【代码】

C语言之数据结构——栈栈: 定义:限定只在表尾进行插入或删除操作的线性表,表尾指栈顶,表头指栈底。特点:栈只能是先进后出。类别:线性栈和链栈。/*数据结构栈: 1、特点:先进后出。 2、基本操作 InitStack(&S) 操作结果:初始化一个栈 Push(&S) 操作结果:进行压栈,输入元素 Pop(&S) 操作结果:删除栈的栈顶元素 定义一个栈: typedef struct node{...

C语言中的宏定义【图】

(13)设有以下宏定义: #define N 3 #define Y(n) ( (N+1)*n) 则执行语句: z = 2 * ( N + Y(5+1) ); 后,z的值为A) 出错 B) 42 C) 48 D)54 这道题的答案是48。这里代入之后,要看清楚: N + Y( 5+1) 3 + (3+1)* 5 + 1 //宏定义中 *n, n是没有()的了 3 + 4 * 5 + 1 =24 //之后 24*2=48 原文:https://www.cnblogs.com/wuquancheng/p/12635118.html

C语言读取PE文件信息(一)【代码】【图】

接下来的内容来源于对该博客文章http://www.pediy.com/kssd/pediy06/pediy7006.htm的解析。一、打印Sections信息。下面的程序打印出Windows_Graphics_Programming 1.1中第三个程序“Hello World Version 3:Create a Full-Screen Window"生成的可执行文件的Sections结构字节的信息 1 #include<stdio.h>2 #include<windows.h>3 4char *strPath="C:/c1_hwv3/Debug/c1_hwv3.exe";5 6int main()7{8 IMAGE_DOS_HEADER myDosHeader;9 ...

c语言socket编程

1. [代码][C/C++]代码 服务端://// main.m// server//// Created by mac on 13-4-15.// Copyright (c) 2013年 mac. All rights reserved.// #import <Foundation/Foundation.h>#import <sys/types.h>#import <sys/socket.h>#import <netinet/in.h>#import <arpa/inet.h> int CreateServerSocket(short port){ int socket_server=0; socket_server=socket(AF_INET,SOCK_STREAM,0); //填充IP与端口 /* struc...

我编的C语言小游戏

游戏说明:此游戏仅仅是以石头剪刀布为游戏对局判定的,并不是仅仅为石头剪刀布,其中还包括许多其他内容。如:积分系统,积分大转盘,作弊器等,目前已有五个游戏技能。同时,还提供输错密码自动伪装成计算器的功能。目前已经完成了对局模式的编写,正在开发历炼模式和天梯模式中(其中,历练模式已经进入实质性开发阶段),敬请期待! 游戏开发历程: 2016年9月25日,1.0.1版本编写完成,正式公布并且开始内测,而此时代码仅111行...

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

part 1:验证性内容1.输出学号。#include<stdio.h> int main(void){printf("201883300077");return0; }2.输入两个整数,求它们的乘积。#include<stdio.h> int product(int,int); int main(void) {int x,y,s;scanf("%d%d",&x,&y);s=product(x,y);printf("The mul is:%d",s);return0; } int product(int a,int b){int mul;mul=a*b;return mul; }3.(1)整数相除。include<stdio.h> int main(void){int a=5,b=7,c=100,d,e,f;d=...

C语言sizeofkeyword

说明:******C语言sizeof是keyword。是一个操作符。它不是一个函数。用于计算可变。或内存数据字节数占用类型。******sizeof有三种不同的方式:***sizeof(变量名) (括号)***sizeof 变量名 (不带括号)***sizeof(数据类型) 版权声明:本文博客原创文章。博客,未经同意,不得转载。原文:http://www.cnblogs.com/lcchuguo/p/4650917.html

初识C语言

初识C语言对于编程而言,可移植性意味着什么?完美的可执行程序是:其源代码无需修改就能在不同的计算机系统中成功编译的程序。解释源代码文件、目标代码文件和可执行文件有什么区别?源代码文件包含程序员使用的任何编程语言编写的代码。 目标代码文件包含机器语言代码,它不必是完整的程序代码。 可执行文件包含组成可执行程序的完整机器语言代码。编程的7个主要步骤是什么?1.定义程序目标 2.设计程序 3.编写程序 4.编译程序 5....

C语言结构体【代码】

目录结构体1、什么是结构体2、声明结构体3、结构体变量的声明3.1、先声明结构体类型,再定义变量3.2、在声明结构体的同时定义变量3.3、直接定义结构体变量4、结构体变量的初始化5、结构体变量的引用6、结构体数组7、结构体数组的存放8、结构体和指针8.1指向结构体变量的指针。8.2 指向结构体数组的指针。结构体1、什么是结构体基本数据类型:int char float double short long unsigned (一个变量)数组:很多个变量 只能保存一种类...

c语言之条件编译【代码】

#include<stdio.h> #include<iostream>#define CORRECT "myfirst"int main() {char str[10];int func(char* str1, char* str2);printf("输出你最喜欢的:\n");scanf("%s", str);//如果没有定义CORRECT宏名,则在接下来进行定义#ifndef CORRECT #define CORRECT "test" #endif// CORRECTif (func(str, CORRECT) == 0) {printf("谢谢你\n");}else{printf("不好意思了\n");}system("pause");return0; } int func(char* str1, char* st...

C语言学习笔记---好用的函数memcpy与memset【代码】【图】

这个主要用于我个人的学习笔记,便于以后查询,顺便分享给大家。想必在用C的时候难免会与数组,指针,内存这几样东西打交道,先以数组为例,例如有一个数组int a[5] = {1, 2, 3, 4, 5},我们要将数组a里面的数据复制到数组b中,一般刚刚接触C语言的我们会怎么做?我们一般会想到用循环来做吧1int i; 2int a[5] = {1, 2, 3, 4, 5}, b[5]; 34for(i = 0; i < 5; i++) 5{ 6 b[i] = a[i]; 7 }View Code但是,如果有多个数组要复制,...

实验4 汇编应用编程和c语言程序反汇编分析【代码】【图】

一、实验目的  1. 理解80×25彩色字符模式显示原理  2. 理解转移指令jmp, loop, jcxz的跳转原理,掌握使用其实现分支和循环的用法  3. 理解转移指令call, ret, retf的跳转原理,掌握组合使用call和ret/retf编写汇编子程序的方法,掌握参数传递方式  4. 理解标志寄存器的作用  5. 理解条件转移指令je, jz, ja, jb, jg, jl等的跳转原理,掌握组合使用汇编指令cmp和条件转移指令实现分支和循环的用法  6. 了解在visual stu...

c语言之 基本数据类型【代码】【图】

本文目录一、变量二、类型修饰符三、不同编译器环境下基本数据类型的存储长度本文转载自 @m了个jC语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。C语言的数据类型大致可以分为下图中的几类: 一、变量跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量...

C语言学习入门 (二) 语句和运算符

C语言的基本语句跟Java中的差不多循环语句(do while、while、for)条件语句(if 、if-else、switch)goto语句 (比如在循环外 定义一个标记 Exit:; 在循环内可以 用 goto Exit;跳出循环)[plain] view plaincopyprint?for(int i = 0; i < 5; i++) { if(i==2) goto exit; printf("i=%d\n", i); } exit:; printf("admin\n"); 算术运算符+ 加法运算符- 减法运算符,或负值运算符* 乘法运算符...

C语言函数参数既做出参又做入参的代表

//使用fcntl对文件进行加锁#include "stdio.h"#include "unistd.h"#include "fcntl.h"int main(){ int fd; struct flock lk; int r; fd=open("a.txt", O_RDWR); if (fd==-1) { fd=open("a.txt", O_RDWR|O_CREAT|O_EXCL, 0666); if (fd==-1) { perror("File Open Error"); exit(2); } } lk.l_type=F_WRLCK; lk.l_whence=SEEK_SET; lk.l_start=5; ...

C语言gcc处理过程【代码】

gcc编译C文件一共四步,预处理(Preprocess),编译(Compilation),汇编(Assembly)和链接(Linking) 1. 预处理(Preprocess) 预处理是预处理中会展开以#起始的行,包括#if、#ifdef、#if ndef、 #else 、 #elif 、 # endif、#define、#include、#line、 #error、#pragma以及单独的#。其实就是把除了函数(包括main)以外的东西都展开成指定的形式,比如加上行号等,并将头文件里包含的东西所对应的文件(包括子文件夹)也...

1014 C语言文法定义与C程序的推导过程

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

20165230 学习基础和C语言基础调查【代码】【图】

20165230 学习基础和C语言基础调查技能学习经验我擅长弹钢琴。小时候我曾上过很多兴趣班,比如钢琴、跳舞、书法、绘画等等,唯一坚持至今的只有钢琴。仔细一算学习钢琴至今已有12年,不能说已经精通,但已比大多数人更加熟练这项技能。对于弹钢琴最重要的就是需要反复的练习和有持之以恒的毅力。最开始练习弹钢琴时是非常枯燥无味的,因为练习的曲目是最基本最简单的音符,并不能一开始就练习你喜欢的曲目。只有通过不断的练习抬指...

OC语言@property @synthesize和id【图】

OC语言@property @synthesize和id一、@property @synthesize关键字注意:这两个关键字是编译器特性,让xcode可以自动生成getter和setter的声明和实现。(一)@property 关键字@property 关键字可以自动生成某个成员变量的setter和getter方法的声明@property int age;编译时遇到这一行,则自动扩展成下面两句:- (void)setAge:(int)age;- (int)age; (二)@synthesize关键字@synthesize关键字帮助生成成员变量的setter和getter方法的...

武汉科技大学ACM :1010: 华科版C语言程序设计教程(第二版)例题7.8【代码】

Problem Description输入一个用年月日表示的日期,求该日期是该年的第几天。输入某年的第几天,输出这一天是该年的几月几号,茂茂解不出,需要你的帮助。Input开始有个整数k,表示询问的种类,如果k=1,后面有三个合法的整数a,b,c,表示输入的年月日,此时输出该日期是该年的第几天;如果k=2,后面有两个合法的整数a,b,求a年的第b天的日期。保证所有的输入合法。Output对于询问1,输出一个整数表示是该年的第几天。 对于询问2,输出年...

51系列小型操作系统精髓 简单实现7 C语言版待改进

#include "STC12C5A.H" #define TIMER_RELOAD() {TL0=0x00;TH0=0xC4;}//使能T/C 初始10ms #define MAX_TASKS 2 //任务槽最大个数. unsigned char idata task_stack[MAX_TASKS][2];//任务堆栈. PC指针为16位,需2个字节task_stack[][0]L task_stack[][1]H。 unsigned char idata task_time[MAX_TASKS];//定时时间 unsigned char task_id=0; //当前活动任务号 void rtos_wait(unsigned char time) {static unsigned char i;//保存...