C语言 - 技术教程文章
c语言中volatile的关键字作用【代码】
c语言中volatile的关键字作用目录狄泰学院,唐老师的课学习而来1. 背景2. 编译器优化3. 例子4. 解决办法 :Volatile5. const 和 volatile冲突吗狄泰学院,唐老师的课学习而来1. 背景? 在嵌入式领域,我们往往有的时候需要根据一个标记 flag或者变量(全局的)来进行不同策略的程序执行。? 在非编译器优化的形式下 debug模式下,不会出任何问题? 但是我们对外发布的时候,往往都是 release版本,也就是进行了编译器优化,这个时候程序...
c语言(六)
变量及赋值原文:http://www.cnblogs.com/phoenix-xy/p/5170577.html
实验3 C语言分支语句和循环语句编程应用【代码】【图】
1.实验任务1#include <math.h> #include <stdio.h> int main() {float a, b, c, x1, x2;float delta, real, imag;printf("Enter a, b, c: ");while(scanf("%f%f%f", &a, &b, &c) != EOF) {if(a == 0)printf("not quadratic equation.\n\n");else{delta = b*b - 4*a*c;if(delta >= 0) {x1 = (-b + sqrt(delta)) / (2*a);x2 = (-b - sqrt(delta)) / (2*a);printf("x1 = %.2f, x2 = %.2f\n\n", x1, x2);}else {real = -b/(2*a);imag =...
深入浅出数据结构C语言版(8)——后缀表达式、栈与四则运算计算器【代码】【图】
在深入浅出数据结构(7)的末尾,我们提到了栈可以用于实现计算器,并且我们给出了存储表达式的数据结构(结构体及该结构体组成的数组),如下://SIZE用于多个场合,如栈的大小、表达式数组的大小#define SIZE 1000//表达式的单个元素所使用的结构体 typedef struct elem {int num = 0; //若元素存储操作数则num为该操作数char oper = ‘=‘; //若元素存储操作符则oper为该操作符bool IsNum = false; //用于判断元素是否为操作...
c语言实现动态指针数组Dynamic arrays
c语言实现动态数组。基本原理:事先准备好一个固定长度的数组。如果长度不够的时候,realloc一块区域。另外:在数组元素减少的情况下,需要缩减数组长度。主要接口:cp_bool DyArrayAppend(DyArray* pArr, void* pData)//加数据到数组末尾 cp_bool DyArrayExpand(DyArray* pArr, cp_int32 nNeed)//扩展数组 cp_bool DyArrayDelete(DyArray* pArr, cp_int32 nIndex)//删除元素by index cp_bool DyArrayShrink(DyArray* pArr)//缩减数...
C语言查漏补缺——单引号和双引号【代码】【图】
一直对于单引号和双引号有些混淆,本节讨论一下单引号和双引号的问题。一、基本知识 1、C语言中单引号用来表示字符字面量 2、C语言中双引号用来表示字符串字面量 比如:'a'表示字符字面量,在内存中占1个字节, 'a'+1表示的是'a'的ASCII码加1,结果为'b' "a"表示字符串字面量,在内存中占2个字节,其中,第一个字节是"a",第二个字节是结束符'\0',"a"+1表示的是进行指针运算,结果指向"a"结...
比之前那个版本更简单的C语言实现的比较大小【代码】
之前那个是输入一堆数据,找最大那个,这次是更简单的版本,求两个数的最大值。#include "stdafx.h" #include <stdio.h> int GetMax(int a ,int b){ if(a>b) return a; elsereturn b; } void main(){ int x,y,max; printf("请输入两个数值\n"); scanf_s("%d%d",&x,&y); max=GetMax(x,y); printf("最大值为%d\n",max); } 原文:http://www.cnblogs.com/weijunyu/p/5675079.html
C语言指针教程----入门到精通<一>【图】
一、指针是什么?指针也是一个变量,但是这个变量存储的是一个地址,指向一个存储单元。我们可以根据指针(地址)找到他所指的变量,并对这个变量进行操作(赋值等)。通过C里面的取地址符号&和取所指内容的符号*可以很方便的表示指针以及指针所指的变量之间的关系。' src="/upload/getfiles/default/2022/11/15/20221115082951909.jpg" />' src="/upload/getfiles/default/2022/11/15/20221115082952252.jpg" />二、为什么要用指针...
c语言:输入一个字符串 输入一个字符 把字符串中与输入字符相同的删除
#include <stdio.h>#include <string.h>int main (){ void fun(char *a,char c); char b[20],d; gets(b); scanf("%c",&d); fun(b,d); puts(b); return 0;}void fun(char *a,char c){ int i,m,n=0; m=strlen(a); for (i=0;i<m;i++) { if(*(a+i)!=c)*(a+(n++))=*(a+i); } *(a+n)=‘\0‘;}原文:https://www.cnblogs.com/wyh543928678/p/14129001.html
1000道C语言和C++语言的练习题及答案 #0000-0050
汇集1000道C语言和C++语言的练习题 (例题、笔试题、编程题、算法设计题),由我亲自配上答案(点此查看)。 语法题我就不出了,那个没意思,看书就可以了。本贴汇集50题 (0000-0050),持续更新...0001. 抽签题 从10个数中随机抽取5个数。(相当于双色球抽签问题)0002. 插入排序 已有10个按增序排列好的整数1,3,5,7,9,11,13,15,17,19。要求把一个整数n插到数组中,保持增序排列。0003. 数学公式类计算题 已经圆柱体的底半...
【C语言】10-字符和字符串常用处理函数【代码】【图】
一、字符处理函数下面介绍的两个字符处理函数都是在stdio.h头文件中声明的。1.字符输出函数putcharputchar(65); // Aputchar(‘A‘); // Aint a = 65; putchar(a); // A上面的3种用法,输出的都是大写字母A。* putchar一次只能输出一个字符,而printf可以同时输出多个字符printf("%c %c %c", ‘A‘, ‘B‘, ‘a‘); 2.字符输入函数getcharchar c; c = getchar();getchar会将用户输入的字符赋值给变量c。* getchar函数可以读入空格、...
C语言的标准输入输出【图】
欢迎探讨,如有错误敬请指正 如需转载,请注明出处 http://www.cnblogs.com/nullzx/1. 标准输入输出标准输入、输出主要由缓冲区和操作方法两部分组。缓冲区实际上可以看做内存中的字符串数组,而操作方法主要是指printf、scanf、puts、gets,getcha、putcahr等操作缓冲区的方法。在C++以及Java等面向对象的编程语言中,将缓冲区以及操作缓冲区的方法封装成一类对象,这类对象就称为流。缓冲区最大的特点主要体现在数据的一次性,即...
二叉查找树(二叉排序树)(C语言)【代码】
#include<stdio.h> #include "fatal.h"struct TreeNode; typedef struct TreeNode *Position; typedef struct TreeNode *SearchTree; typedef int ElementType; SearchTree MakeEmpty(SearchTree T); Position Find(ElementType X,SearchTree T); Position FindMin(SearchTree T); Position FindMax(SearchTree T); SearchTree Insert(ElementType X,SearchTree T); SearchTree Delete(ElementType X,SearchTree T); ElementType R...
c语言二级指针内存模型【代码】
第一种: 指针数组作为输入参数char *myArray[] = {"aaaaaa", "ccccc", "bbbbbb", "111111"};//指针数组,数组中的每个元素都是指针,int num = 4;void printMyArray11(char **myArray, int num) {int i = 0;for (i=0; i<num; i++){//printf("%s \n", myArray[i]);printf("%s \n", *(myArray+i) );} }正确地调用方法:printMyArray11(myArray, num); 第二种 : 二级指针作输入---内存模型(分配内存块已知的情况)char myArray[10][3...
C语言第四讲:一维数组,字符数组
数组: 定义: 数据类型 数组名[数组元素个数] = {值1,值2,....} 本质:快速定义多个 相同数据类型的变量 数组的缺点:定义出来的是 相同数据类型 的变量.如:int c[5] = {0};//在给定数组元素个数的时候,可以按照该模式,全部赋初值为零 int a[] = {4, 5, 6};//在没有给定数组元素个数的时候,可以按照该模式,此时,一定要写清楚所有的初值.数组元素的访问: 通过数组名加下标来访问的 如:a[1],切记下标从零开始...
一:c语言(数据类型和运算符)【代码】【图】
1 #include <stdio.h> /*就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。*/2int main() /*C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。*/3{ 4 printf("I love imooc!"); /*看一下这里的打印语句是否正确*/5return0; 6 }二:数据类型1 #include <stdio.h> 2int main() 3{ 4int age=18;/*定义age变量*/5 printf("我今年...
【C语言】(数组方式)求n名同学的平均成绩【代码】
原理就不说了代码:#include <stdio.h> int main() {float score[5], sum = 0;int i;printf("请输入5名童鞋的成绩:\n");for (i = 0; i < 5; i = i + 1)scanf_s("%f", &score[i]);for (i = 0; i < 5; i = i + 1)sum = sum + score[i];printf("平均成绩为:%.1f\n", sum / 5);} 原文:https://www.cnblogs.com/HGNET/p/11919525.html
C语言中数字转为字符串【代码】
由于C语言中并不像C++、python、Java等已经集成好 string 类,因此使用“数组型字符串”的时候时常会出现问题。 现在以标准c语言中的数字转换成字符串为例。直接上代码。 1 #include<iostream>2 #include<string.h>3usingnamespace::std;4 5//sprintf 用于格式化输出字符串6//假设现在有两个整型数据 183 70 我们想把它变为一个字符串 “身高:183cm,体重:70kg”,那么可以用sprintf做到 7 8int main()9{ 10int height = 183...
[C语言]一个很实用的服务端和客户端进行UDP通信的实例【代码】
前段时间发了个TCP通信的例子,现在再来一个UDP通信的例子。这些可以作为样本程序,用到开发中。“裸写”socket老是记不住步骤,经常被鄙视……下面的例子很简单,写一个UDP的server用于收包,写一个UDP的client用于发包并接收来自server的回复。其中UDP的client写了两个,一个是不需要connect的,另一个是带上connect的,两个client实现的功能是一样的。从效率上,带上connect的UDP肯定效率稍微高一些。不过UDP的connect和TCP里面...
c语言中输入数组元素的值【代码】【图】
1、一维数组#include <stdio.h>#define NUMBER 6int main(void) {int i;int v[NUMBER];for (i = 0; i < NUMBER; i++){printf("v[%d] = ", i); scanf("%d", &v[i]);}for (i = 0; i < NUMBER; i++){printf("v[%d]: %d \n", i, v[i]);}return0; } 原文:https://www.cnblogs.com/liujiaxin2018/p/14587337.html
c语言-杨辉三角的两种输出方法【代码】【图】
c语言对杨辉三角的简单实现 杨辉三角是数字与几何的完美融合,杨辉三角有着非常神奇的排列规律。 下面我们来复习以下杨辉三角形的特性,并用程序来输出杨辉三角形。 11 11 2 11 3 3 11 4 6 4 1如上,可以看出一个很简单的规律:每个数等于它上方两数之和。每行数字左右对称,由1开始逐渐变大。第n行的数字有n项。利用这三个规律,我们可以用数组来实现杨辉三角的排列。 #include <stdio.h>#defin...
const C语言(转)
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰的对象为常量(immutable)。我们来分情况看语法上它该如何被使用。1、函数体内修饰局部变量。例:void func(){const int a=0;}首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量,我们给它赋予初始值0。然后再看const.const作为一个类型限定词,和int有相同的地位。const int a;int const a;是等价的。于是此处我们一定要清晰的明白...
2018.3 江苏省计算机等级考试 C语言 编程题答案【代码】
题目要求:给定一个数字范围,输出满足这些条件:1.能被3整除;2.包含数字5,将满足的数字放在特定的数组里输出、输出这些数里5出现的个数、数字的个数。想起来有点伤心,本来很简单的题,考试的时候程序写错一行,结果成了死循环,最后还没找出来错,下来以后才想起来。以后必须长点心。代码:#include<stdio.h>int flag(int x0,int x1,int b[],int *p);int main(){int i,intnumber,fivenumber;//数字的个数、5的个数int b[301];/...
【c语言】求1-1/2+1/3-1/4...+1/99-1/100
// 求1-1/2+1/3-1/4...+1/99-1/100#include <stdio.h>int main() {double a = 1.0;int i;double sum = 1.0;for( i = 2; i <= 100; i++ ){a = (-1) * a;sum = sum + a/i; }printf("1-1/2+1/3-1/4...+1/99-1/100=%f\n",sum);return 0; }<img src="http://img.blog.csdn.net/20150423114517322?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb3lhcWlhbjU1Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity...
C语言学习DAY5【代码】
1.函数:程序的最小单位2.写一个交换函数swap1(int x, int y) //传值调用 { int tmp; tmp = x; x = y; y = tmp; }swap2(int* x, int* y) //传址调用{i...
C语言实现 读取写入ini文件实现(转)【代码】
#include <stdio.h> #include <string.h> /* * 函数名: GetIniKeyString * 入口参数: title * 配置文件中一组数据的标识 * key * 这组数据中要读出的值的标识 * filename * 要读取的文件路径 * 返回值: 找到需要查的值则返回正确结果 * 否则返回NULL */char *GetIniKeyString(c...
C语言之指针
没有内存就没有指针CPU 只能通过地址来取得内存中的代码和数据,程序在执行过程中会告知 CPU 要执行的代码以及要读写的数据的地址。如果程序不小心出错,或者开发者有意为之,在 CPU 要写入数据时给它一个代码区域的地址,就会发生内存访问错误。这种内存访问错误会被硬件和操作系统拦截,强制程序崩溃,程序员没有挽救的机会。CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被...
用C语言写一个好玩的宝石一样的图像【代码】【图】
#include<stdio.h>main(){int n;scanf("%d",&n); for(int i=0;i<n;i++) {for(int j=0;j<n-i-1;j++){printf(" ");}for(int j=0;j<i*2+1;j++){printf("*");}printf("\n"); }for(int i=n-1;i>0;i--) {for(int j=0;j<n-i;j++){printf(" ");}for(int j=0;j<i*2-1;j++){printf("*");}printf("\n"); }} 原文:http://blog.51cto.com/13176924/2089298
黑马程序员——c语言学习心得—— 电影购票系统
黑马程序员——c语言学习心得—— 电影购票系统-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------1,基础信息类#import <Foundation/Foundation.h>#import "Cinema.h"void buyMovieTicket(){ //购买电影票 //调用 电影院的类的 buyTicket的方法 // [[Cinema alloc] init]; Cinema *cinema = [[Cinema alloc] initWithCinemaName:@"亿达影城"];; //开始购票 [c...
C语言标准库函数qsort详解【图】
1 函数简介功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序2 基本用法使用qsort()排序并用 bsearch()搜索是一个比较常用的组合,使用方便快捷。qsort 的函数原型是void__cdecl qsort (void *base,size_tnum,size_t wid...