C语言
imxlw00
这个作者很懒,什么都没留下…
展开
-
C语言 sscanf strstr
sscanf名称:sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型:Int sscanf( string str, string fmt, mixed var1, mixed var2 … );int scanf( const char *format [,argument]… );说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)...原创 2020-04-10 14:35:50 · 229 阅读 · 0 评论 -
C语言 数组长度
借助sizeof()函数# include <stdio.h>int main(void){ int a[10] = {0}; printf("sizeof(a) = %d\n", sizeof(a)); return 0;}sizeof(a) = 40 ,数组 a 是 int 型的,每个元素占 4 字节,所以长度为 10 的数组在内存中所占的...原创 2019-04-29 08:47:13 · 4728 阅读 · 2 评论 -
位运算
运算符意义示例对于每个位位置的结果(1=设定,0=清除)&与运算x&y如果 x 和 y 都为 1,则得到 1;如果 x 或 y 任何一个为 0,或都为0,则得到 0|或运算x| y如果 x 或 y 为 1,或都为 1,则得到 1;如果 x 和 y 都为 0,则得到 0^异或运算x^y如果 x 或 y 的值不同,则得到 1;如果两...原创 2019-04-27 20:39:16 · 174 阅读 · 0 评论 -
C语言 10_随机数
我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为:int rand (void);rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。#include <stdio.h>#include <stdlib.h>int main(){ int a = rand(); printf...原创 2019-04-22 16:37:10 · 8861 阅读 · 0 评论 -
C语言 09_字符数组和字符串
C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串。#include <stdio.h>#include <string.h>int main(void){ /*字符数组赋初值*/ char cArr[] = {'I','L','O','V','E','C'}; /*字符串赋初值*/ char sArr[] = "IL...原创 2019-04-22 16:19:26 · 253 阅读 · 0 评论 -
C语言 08_switch
语法switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* 您可以有任意数量的 cas...原创 2019-04-22 15:28:29 · 215 阅读 · 0 评论 -
C语言 07_三目运算符和逗号表达式
三目运算符C语言中的三目运算符:“?:”,其格式为:表达式1 ? 表达式2 : 表达式3;执行过程是:先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。#include <stdio.h> int main(){ int a = 1; int b = 2; int c = 0; char c1...原创 2019-04-22 15:22:51 · 488 阅读 · 0 评论 -
C语言 06_常量
常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。常量就像是常规的变量,只不过常量的值在定义后不能进行修改。整数常量85 /* 十进制 /0213 / 八进制 /0x4b / 十六进制 /30 / 整数 /30u ...原创 2019-04-22 14:13:18 · 246 阅读 · 0 评论 -
C语言 05_变量
变量定义type variable_list;int i, j, k;char c, ch;float f, salary;double d;变量可以在声明的时候被初始化extern int d = 3, f = 5; // d 和 f 的声明与初始化int d = 3, f = 5; // 定义并初始化 d 和 fbyte z = 2...原创 2019-04-22 11:55:48 · 197 阅读 · 0 评论 -
C语言:输出整数各位数字
正序输出int main(){ int num=0,t=0,mask=1; scanf("%d",&num); t=num; while(t>9){ t/=10; mask*=10; } while(mask>0){ printf("%d ",num/mask); num%=mask; mask/=10; } retu...原创 2019-04-20 11:11:24 · 9398 阅读 · 0 评论 -
C语言中1<<n是什么意思
1<<21的二进制为 0000 0001 左移2位 0000 0100. 如果再转成10进制就是4。原创 2019-05-22 10:23:07 · 64617 阅读 · 3 评论 -
为什么main()函数要返回int值
在 C89 中,void main( ) 是正确的。在最新的 C99 标准中,只有以下两种定义方式是正确的:int main()int main( int argc, char *argv[] )如果你不需要从命令行中获取参数,请用 int main() ;否则请用 int main( int argc, char *argv[] ) 。main 函数的返回值类型必须是 int ,这样...原创 2019-06-07 20:48:09 · 4598 阅读 · 0 评论 -
C语言 指针变量和整数的运算
在C 语言中,指针也能进行自加、自减运算以及与整数做加减运即让指针变量加、减1或者加上一个整数、减一个整数都是合法的运算。指针运算与整数的运算并不相同,指针变量运算的时候,表示了数据的移动。float X ,*pf=&x ;假设变量X 的地址为4 0 0 0 H , pf+5所表示的地址值为4000H+5*4=4014H 因此表示了当前地址开始往后移动了5 个元素。指针的自加,利...原创 2019-06-16 16:29:06 · 2982 阅读 · 0 评论 -
C语言 地址传递
原创 2019-06-15 17:39:51 · 1546 阅读 · 1 评论 -
C语言 char*和char[]用法
char []定义的是一个字符数组,注意强调是数组。char * 定义的是一个字符串指针,注意强调是指针。char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以:当char *s = “hello”;后,不能使用s[0]=‘a’;语句进行赋值。这是将提示内存不能为"written"。当用char s[]=“hello”;后,完全可以使用s[...原创 2019-06-15 16:30:38 · 79211 阅读 · 11 评论 -
C语言 野指针、空指针与 万能指针
野指针、空指针与 万能指针1、野指针:野指针是指向一个未知的内存空间,可能在读写的时候出现错误。0-255都是系统保留的 不可以读,不可以写2、空指针 没有指向任何的地址(其指向0的地址)空制指针就是指向内存编号为零的空间,操作该内存空间会报错,一般情况空指针用于程序条件判断3、万能指针:void * 指针可以指向任意变量的内存空间...原创 2019-06-14 22:21:16 · 878 阅读 · 0 评论 -
C语言 二维数组和指针
二维数组可以看成是元素为一维数组的数组,假设有一个三行四列的二维数组a,它定义为:int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };a 是二维数组名。a 数组包含 3 行,即 3 个行元素:a[0],a[1],a[2]。每个行元素都可以看成含有 4 个元素的一维数组。而且 C 语言规定,a[0]、a[1]、a[2]分别是这三个一...原创 2019-06-14 17:21:55 · 8799 阅读 · 7 评论 -
C语言 结构体
1.有名构造类型-结构体struct student //<-------结构名{ char name[30]; //<-------结构成员 char sex; int age; float high;}stu; //定义数据类型同时定义stu结构体变量(不要忘记;号,在C语言中,凡是构造类型都要加分号,比如union)struct student...原创 2019-06-08 21:54:01 · 130 阅读 · 0 评论 -
C语言 结构体指针
当一个指针变量指向结构体时,我们就称它为结构体指针struct 结构体名 *变量名;//结构体struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩} stu1 = { "Tom", 12, 18, 'A'...原创 2019-06-14 11:21:41 · 3691 阅读 · 0 评论 -
C语言 用指针访问数组元素
指针与数组的关系一个变量有地址,一个数组包含若干个元素,每个元素在内存中都有地址。int a[10];int *p = a;比较p和&a[0]的地址是否相同在C语言当中数组的名称代表数组的首地址,如果取数组名称的地址,C语言认为就是取数组的首地址。通过指针使用数组元素通过指针计算,不是把指针当做一个整数,计算结果,而是指针在内存当中移动p + 1代表&a[...原创 2019-06-14 11:05:11 · 17584 阅读 · 6 评论 -
C语言 04_数据类型
数据类型short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。C99标准提供的7种基本数据类型及其对应的关键字如表所示。关键字数据类型关键字字符型char无值类型void整型int逻辑型浮点(单精度)型float复数型双精度型double字符型:描述单个字符;整型:...原创 2019-04-22 11:24:24 · 255 阅读 · 0 评论 -
C语言 03_利用system函数来启动一个外部程序
#include <stdio.h>#include <stdlib.h>int main(){ //printf("即将打开记事本程序!\n"); system("notepad"); //printf("即将打开计算器"); system("calc"); /* printf("即将打开程序目录\n"); system("dir"); */...原创 2019-04-22 10:46:30 · 2080 阅读 · 0 评论 -
C语言 位运算符
#include <stdio.h> int main(){ unsigned int a = 60; /* 60 = 0011 1100 */ unsigned int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = ...原创 2019-04-13 20:50:31 · 140 阅读 · 0 评论 -
C语言 逻辑运算符
#include <stdio.h> int main(){ int a = 5; int b = 20; int c ; if ( a && b ) { printf("Line 1 - 条件为真\n" ); } if ( a || b ) { printf("Line 2 - 条件为...原创 2019-04-13 20:48:44 · 411 阅读 · 0 评论 -
C语言 关系运算符
#include <stdio.h> int main(){ int a = 21; int b = 10; int c ; if( a == b ) { printf("Line 1 - a 等于 b\n" ); } else { printf("Line 1 - a 不等于 b\n" ); }...原创 2019-04-13 20:47:12 · 1279 阅读 · 0 评论 -
C语言 加减乘除运算
加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。#include <stdio.h>int main(){ int a = 12; int b = 100; float c = 8.5; int m = a + b; float n = b * c; double p = a / c...原创 2019-04-13 20:43:05 · 11176 阅读 · 0 评论 -
C语言 转义字符
字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十...原创 2019-04-13 20:35:20 · 2885 阅读 · 0 评论 -
C语言 scanf
scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入,和 printf 的功能正好相反。#include <stdio.h>int main(){ int a = 0, b = 0, c = 0, d = 0; scanf("%d", &a); //输入整数并赋值给变量a scanf("%d", &b...原创 2019-04-13 20:23:28 · 786 阅读 · 0 评论 -
C语言 字符串
在 C 语言中,字符串实际上是使用 null 字符 ‘\0’ 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 “Hello” 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 “Hello” 的字符数多一个。char greeting[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};依...原创 2019-04-13 20:08:53 · 259 阅读 · 0 评论 -
C语言 printf
格式控制符说明%c输出一个单一的字符%hd、%d、%ld以十进制、有符号的形式输出 short、int、long 类型的整数%hu、%u、%lu以十进制、无符号的形式输出 short、int、long 类型的整数%ho、%o、%lo以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数%#ho、%#o、%#...原创 2019-04-13 19:27:28 · 1381 阅读 · 0 评论 -
C语言 赋值运算符
#include <stdio.h> main(){ int a = 21; int c ; c = a; printf("Line 1 - = 运算符实例,c 的值 = %d\n", c ); c += a; printf("Line 2 - += 运算符实例,c 的值 = %d\n", c ); c -= a;...原创 2019-04-13 20:51:45 · 4210 阅读 · 0 评论 -
C语言 循环结构和选择结构
C语言中常用的编程结构有三种(其它编程语言也是如此),它们分别是:顺序结构:代码从前往后依次执行,没有任何“拐弯抹角”,不跳过任何一条语句,所有的语句都会被执行到。选择结构:也叫分支结构。代码会被分成多个部分,程序会根据特定条件(某个表达式的运算结果)来判断到底执行哪一部分。循环结构:程序会重新执行同一段代码,直到条件不再满足,或者遇到强行跳出语句(break 关键字)。if else#...原创 2019-04-14 07:25:16 · 690 阅读 · 0 评论 -
C语言 函数
函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。定义函数return_type function_name( parameter list ){ body of the function}下面列出一个函数的所有组成部分:返回类型:一个函数可以返回一个值。return_type 是函数返回的值的...原创 2019-04-14 08:30:07 · 502 阅读 · 0 评论 -
C语言 02_编写第一个控制台程序
新建项目新建文件调试运行示例#include <stdio.h>int main(){ printf("hello world!!"); getchar(); return 0;}原创 2019-04-22 09:38:05 · 1462 阅读 · 0 评论 -
C语言 指针
通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。地址每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:#include <stdio.h>int main (...原创 2019-04-14 09:35:36 · 184 阅读 · 0 评论 -
C语言 传递数组参数
#include <stdio.h> /* 函数声明 */double getAverage(int arr[], int size); int main (){ /* 带有 5 个元素的整型数组 */ int balance[5] = {1000, 2, 3, 17, 50}; double avg; /* 传递一个指向数组的指针作为参数 */...原创 2019-04-14 09:24:33 · 3732 阅读 · 0 评论 -
C语言 数组元素的遍历
#include <stdio.h>int main(){ int nums[10] = {1, 10, 6, 296, 177, 23, 0, 100, 34, 999}; int i, num, thisindex = -1; printf("Input an integer: "); scanf("%d", &num); ...原创 2019-04-14 09:21:31 · 16718 阅读 · 1 评论 -
C语言 二维数组
int a[4] = {20, 345, 700, 22};上面的数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,多维数组元素有多个下标,以确定它在数组中的位置。二维数组的定义dataType arrayName[length1][length2];dataType 为数据类型arrayName 为数组名length1 为第一维下...原创 2019-04-14 09:14:14 · 9965 阅读 · 4 评论 -
C语言 数组
数组是用来存储一系列数据,它可以存储一个固定大小的相同类型元素的顺序集合。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。数组内存是连续的,下图演示了int a[4];在内存中的存储情形:数组的初始化int a[4] = {20, 345, 700, 22};//给 a[0]~a[4] 5个元素赋值,而后面 5 个元素自动初始化为 0。in...原创 2019-04-14 09:03:46 · 260 阅读 · 0 评论 -
C语言 局部变量和全局变量
作用域(Scope),变量的有效范围。局部变量定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错。例如:int f1(int a){ int b,c; //a,b,c仅在函数f1()内有效 return a+b+c;}int main(){ int m,n; //m,n仅在函数m...原创 2019-04-14 08:49:38 · 884 阅读 · 0 评论