C语言
C语言基础
吃个桃子吧
这个作者很懒,什么都没留下…
展开
-
C语言 字符指针
定义:指向字符类型的指针变量//一般类型 char arr[] = "abcdef"; char* p = arr; printf("%s\n",arr); printf("%s",p);形式:字符指针存放的是首个字符元素的地址 char* p = "abcdef";//p指针指向的是一个常量字符串 printf("%c",*p); //a printf("%s",p);//abcdef...原创 2021-11-29 20:02:28 · 1037 阅读 · 0 评论 -
C语言 指针数组和数组指针的区别
指针数组: 存放变量的地址,数组里的每个元素都是指针。形式:int* arr3[5] = {&a,&b,&c,&d,&e}[]优先级高,先与arr结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素1.用指针将十个元素存入数组中 int arr[10] = {0}; int* p = arr; //指向数组第一个元素的地址 int i = 0; for(i = 0;i < 10;i++) { *(p + i)原创 2021-11-27 11:15:21 · 727 阅读 · 0 评论 -
C语言 通过指针传参改变两个整数的值
//接受a,b的地址void swap(int* pa,int* pb){ int tmp = 0; tmp = *pa; *pa = *pb; *pb = tmp;}int main(){ int a = 10; int b = 20; printf("a=%d,b=%d\n",a,b); swap(&a,&b);//传a,b的地址 printf("a=%d,b=%d",a,b); return 0;}原创 2021-11-03 20:17:20 · 502 阅读 · 0 评论 -
C语言 数组及二维数组的遍历
一维数组形式:int arr1[10] = {1,2,3,4};char arr2[5] = {‘a’,98};char arr3[] = “abc”;关于数组sizeof和strlen的区别:sizeof是计算数组或变量在内存中所占的空间大小,如arr3在内存中的存储形式为 a b c 0,所以sizeof输出的值为printf("%d",sizeof(arr3)); //4**strlen()**是一个函数,求字符串的长度 -‘0’之前的字符个数 arr3为printf("%d原创 2021-10-26 19:51:40 · 872 阅读 · 0 评论 -
C语言 goto语句的应用
goto:可以任意跳转到需要执行的行char input[20] = {0}; system("shutdown -s -t 60"); again: printf("请注意你的电脑将在一分钟之内关机,如果输入:我是猪,就取消关机!\n请输入:"); scanf("%s",&input); if(strcmp(input,"我是猪") == 0) { //比较两个字符串 system("shutdown -a"); } else goto again;...原创 2021-10-18 20:28:55 · 91 阅读 · 0 评论 -
C语言 猜数字游戏的实现
逻辑思考:1.首先需要编写菜单函数2.记录用户输入,进入分支语句。(程序至少执行一次,所以使用do while循环)3.编写game函数 //猜数字,给定随机数 int ret = 0; ret = rand() % 100 + 1; //和100取模生成数字是0-99 //printf("%d",ret); while(1){ printf("请猜数字:"); int guess = 0; scanf("%d",&guess); if(guess < r原创 2021-10-18 14:59:12 · 108 阅读 · 0 评论 -
C语言求1/1 - 1/2 +1/3 ...-1/100的和
分析题目:1.分母部分依次递增 从1-100,分子不变;2.每项前的符号一正一负的规律变化;int main(){ int i ; //定义分子 double sum = 0.0; int flag = 1; //定义符号 for(i = 1;i <= 100;i++){ sum += flag * 1.0/i; //不能是整型除 flag = -flag; } printf("%lf",sum); return 0;}注意:1.分子的题目,结果要用浮点数输出;原创 2021-10-12 20:40:53 · 4881 阅读 · 0 评论 -
C语言 九九乘法表
int main(){ int i ;//行 for(i = 1;i <= 9;i++){ //打印一行 int j ;//列 for(j = 1;j <= i;j++){ printf("%d*%d = %2d ",i,j,i*j); } printf("\n"); } return 0;}注意:列数 <= 行数,这样才能输出梯形效果%2d 右对齐 %-2d左对齐...原创 2021-10-12 20:26:04 · 126 阅读 · 0 评论 -
C语言 数组中寻找一个数 (二分查找法)
//在一个数组中,查找具体的某个数字 int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int k = 7; int sz = sizeof(arr)/sizeof(arr[0]); //计算元素个数 int left = 0; int right = sz - 1; //右下标 while(left <= right) { int mid = (left + right) / 2; //中间下标 .原创 2021-09-26 22:55:33 · 2558 阅读 · 0 评论 -
C语言 for循环面试题
问:这段代码循环多少次?答:0次,因为判断部分为赋值语句,将0赋值给了K,那么执行判断语句时,结果为0,则不执行此循环。原创 2021-09-26 15:27:46 · 180 阅读 · 0 评论 -
C语言 指针变量及大小
指针变量:用来存放地址的变量称为指针变量格式: int a = 10; int* p= &a; printf("%p",p); / return 0;&:单目操作符,用来取变量的地址%p:用来打印地址的字符类型关于指针变量的大小: 指针变量的大小只跟地址线有关,32位地址线 = 32个01组成的二进制序列大小 :32位 / 8位 = 4个字节,64位 / 8位 = 8个字节通过指针变量修改变量的值:*p = 20 ;// * 解引用操作符、间接访问操作符...原创 2021-09-22 15:30:30 · 669 阅读 · 0 评论 -
C语言 continue的用法
先看两个代码的比较代码1:int i = 1; while(i <= 10) { if(i == 5) continue; printf("%d",i); i++; }这段代码输出为:1 2 3 4 _(光标); 死循环代码2:int i = 0; while(i < 10) { i++; if(i == 5) continue; printf("%d\n",i); }这段代码输出为:1 2 3 4 6 7 8 9 10所原创 2021-09-22 15:03:03 · 32142 阅读 · 6 评论 -
C语言 结构体的定义和用法
1.结构体的定义://定义一个结构体类型 struct Book{ //书名,价格 char name[20]; int price;};2.使用: //利用结构体类型-创建一个该类型的结构体变量 struct Book book = {"c语言基础",20}; printf("名字:%s\n",book.name); printf("价格:%d",book.price);3.用指针的方法打印book的值:(1)需要注意的是,指针变量存的是地址(2)bk->pri原创 2021-09-20 21:07:54 · 2598 阅读 · 0 评论 -
C语言 前置++(--)a和后置a++(--)的区别
后置a++:先将a赋值给b,在对a进行++ int a = 10; int b = a++; printf("a=%d b=%d",a,b); //11 10前置++a::先对a进行++,再将运算后a的值赋给b int a = 10; int b = ++a; printf("a=%d b=%d",a,b); //11 11原创 2021-09-20 18:36:21 · 341 阅读 · 0 评论 -
C语言 sizeof的用法
sizeof 是单目运算符的一种,常用于计算变量的所占内存的大小(以字节为单位),常用形式: int a = 10; int arr[] = {1,2,3,4,5,6}; printf("%d",sizeof(a)); //4 printf("%d",sizeof(arr)); //4*6=241.可以计算数据类型的大小,如: printf("%d\n",sizeof(int));//4 printf("%d",sizeof(double));//82.当然,sizeof()函数也可以用原创 2021-09-19 18:13:52 · 304 阅读 · 0 评论 -
C语言 常量、字符串与转义字符
常量类型常量类型分为四种:字面常量、常变量、标识符常量、枚举常量字面常量 如: 1 2 3 4常变量2.1 变量 如: //变量值可以改变 int num = 8; printf("%d",num); num = 4; printf("%d",num);2.2常变量 //会报错,常变量是披着羊皮的变量 const int max = 10; char arr[max] ={0} //常变量值不可改 const int num = 6; 标识符常量 如原创 2021-09-17 21:49:01 · 227 阅读 · 0 评论 -
C语言 字符类型及比较两个数的大小
return 0的含义int main() //int表示main函数调用后返回一个整型值{return 0; //函数执行完毕时返回0}字符类型%d 打印整型%c 打印字符%f 打印浮点数%p 以地址的形式打印%e 打印8进制数字%x 打印16进制数字比较两个数的大小(最大值)...原创 2021-09-15 19:36:27 · 919 阅读 · 0 评论