C语言
文章平均质量分 62
赤焰梦
菜鸟一个
展开
-
分别用C和JavaScript打印等腰三角形和等边三角形
其实,等边三角形和等腰三角形里面是一样的,一个是i+空格,一个是2i-1;一个以空格结束一行,一个以 * 结束一行。与C语言有所不同,空格为’& nbsp;’ 换行为’ < br>’原创 2022-10-08 17:34:57 · 943 阅读 · 0 评论 -
【C语言】结构体的基本内容
结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员” ,其描述了一块内存区间的大小及解释意义。结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常用来表示类型不同但是又相关的若干数据。结构体类型不是由系统定义好的,而是需要程序设计者自己定义的。C语言提供了关键字struct来标识所定义的结构体类型。...原创 2022-08-08 10:43:56 · 1687 阅读 · 0 评论 -
C语言,一些因为粗心给的警告
根据内存中的存储形式,发现 ‘’ 引起的字符串按照整数的存储形式,将第一个字符识别为最高位,最后一个字符识别为最低位,按此顺序存入 int 变量 4 个字节的存储空间中;‘a’表示字符字面量,在内存中占一个字节,‘a’+1表示‘a’的ASCII码加1,结果为‘b’。“a”表示字符串字面量,在内存中占两个字节,“a”+1表示指针运算,结果指向“a”结束符‘\0’:‘’ 引起的一个字符代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。“” 引起的字符串代表的是一个指向无名数组起始字符的指针。...原创 2022-08-08 08:14:58 · 81 阅读 · 0 评论 -
指针函数和函数指针
对应谭浩强第八章指针的8.5节 指向函数的指针(函数指针)8.6返回指针值的函数(指针函数)一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是函数指针。函数指针的定义形式为:returnType (*pointerName)(param list);returnType 为函数返回值类型,poin原创 2022-07-09 18:31:19 · 159 阅读 · 2 评论 -
【C语言】看小甲鱼视频写代码(1)
指针数组:char* p[] 数组里面存放指针数组指针:int(*p2)[5] 指针指向数组任何类型的指针都可以赋值给void指针。地址可以直接赋值,但是输出里面的值的时候,必须进行强制类型转换原创 2022-06-25 23:10:27 · 234 阅读 · 0 评论 -
【指针】8.5-8.9节内容
输入两个函数,让用户选择函数,决定输出结果#includeint max(int x, int y) {int z;if (x > y) z = x;else z = y;return z;}int min(int x, int y) {int z;if (x > y) z = y;else z = x;return z;}int main() {int min(int x, int y);int max(int x, int y);int (*p)(in...原创 2022-06-24 19:28:06 · 242 阅读 · 0 评论 -
【C语言指针】通过指针引用字符串 (代码)
//#include//int main() {// char a[] = “i am a student.”,b[20];// int i=0;// for (i = 0; *(a + i) != ‘\0’; i++)// *(b + i) = *(a + i);// *(b + i) = ‘\0’;//字符串结束标志,没有’\0’会出现乱码// printf(“%s\n”, a);// printf(“%s\n”, b);// return 0;//}//用指针变...原创 2022-06-23 09:34:02 · 620 阅读 · 0 评论 -
C语言 如何用scanf函数输入带空格的字符串
scanf的返回值是正确输入的参数个数。scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(1)遇空格、“回车”、“跳格”键;(2)遇宽度结束;(3)遇非法输入。以下这段代码:遇到空格则判定输入结束,后续不再接收:只能输入不带空格的一串字符,且输入的字符串超出定义的数组长度,则无法正常输出:解决方法1:定义多个数组用于存储字符串方法2:%[]的格式控制法:%[scanfset]scanfset有两种形式:一种是以非“^”字符开头的scanset ,表示在读入字符串时将匹配所有在sc原创 2022-06-22 10:25:05 · 11625 阅读 · 2 评论 -
二维数组和指针
前三行均为输出首元素a[0] [0]的地址a[i]=(a+i)4-5行均为输出a[1][0]的地址,一行四个int类型的元素,所以地址相差166-7行均为输出a[2][1]的地址,相差8X4=32个地址8-9行有具体地址,输出值(a[i]+j)=*(*a+i)+j)=a[i][j]a是3行4列的二维数组名,a可单指二维数组的首行起始地址,如2000二维数组名(a)是指向行(一维数组)的。因此a+1中的1代表一行中全部元素所占的字节数。一维数组名(a[0])是指向列元素的。a[0]+1中的1代表原创 2022-06-21 20:21:12 · 139 阅读 · 0 评论 -
第八章 指针(第二部分)
引用一个数组元素可以使用:(1)下标法:如a[i](2)指针法 :如*(p+i)和 *(a+i) a是数组名,p是指针变量例题:输入十个数并输出*p++:等价于 *(p++)。先引用p的值,实现 *p的运算,再让p自增。以数组名作函数参数,通过函数调用能改变实参数组的值。实参数组名代表一个固定的地址,或者说是指针常量,但形参数组名并不是一个固定的地址,而是按指针变量处理。在函数调用进行虚实结合后,形参的值就是实参数组元素的地址。在函数执行期间,它可以再被赋值。例题:将数组a中n个整数按原创 2022-06-20 19:54:28 · 86 阅读 · 0 评论 -
第八章 指针(第一部分)
引用指针变量指针变量里面只能存放地址(指针)例题:输入两个整数,按先大后小的顺序输出p1的值原来为&a,后来变成&bp2的值原来为&b,后来变成&a在输出p1和p2时就变成输出b和a的值了。&为取地址运算符 &p1代表p1的地址*是 取值运算符 *p代表指针变量p指向的对象指针变量作为函数参数采用指针变量作为函数参数可以改变变量的值,而不能使用改变实参指针的值而使变量的值改变。temp = p1;p1 = p2;p2 = temp;我们要改变的是指针变量指向的变量的值(a),而原创 2022-06-18 12:05:59 · 101 阅读 · 0 评论 -
【C语言第七章】用函数实现模块化程序设计(额外部分)
C语言学习日记(5)7.9变量的存储方式和生存期从变量的生存期来划分,可分为:静态存储和动态存储静态存储区:全局变量都存放在静态存储区中,在程序开始时分配存储区,执行完毕释放,在执行过程中它们占据固定的存储单元。动态存储区存放:1.函数形式参数2.自动变量3.调用的现场保护和返回地址等C的存储类型包括:auto(自动)、static(静态局部)、register(寄存器)、extern(外部)auto(自动):调用时,系统分配存储空间,调用结束后自动释放。程序中大多数变量都是自动变量,可原创 2022-06-13 10:18:20 · 280 阅读 · 0 评论 -
【C语言第七章】用函数实现模块化程序设计(下部分)
C语言学习日记(4)定义变量的三种情况:1.在函数开头定义2.在函数内的复合语句3.在函数的外部定义**在复合语句内定义的变量**主函数中定义的变量只在主函数内有效;主函数也不能使用其他函数中定义的变量;不同的函数可以使用同名的变量,互不干扰;形参是局部变量;局部变量只在复合语句内有效,离开就会释放占用的内存单元。**在函数之外定义的变量**全局变量可以被本文件中其他函数共用有效范围:定义开始——源文件结束为了便于区别,全局变量首字母大写。例题:结果:不建议在普通条件下使用原创 2022-06-13 09:00:02 · 179 阅读 · 0 评论 -
【C语言第七章】用函数实现模块化程序设计(上部分)
C语言学习日记(3)#includeint main() {void print_star(); //声明:写函数声明时,可以简单复制已定义的函数的首行,再加一个分号,就构成函数的声明void print_message();print_star();//调用print_message();print_star();return 0;}void print_star() { //无参函数printf(“****************************...原创 2022-06-12 17:45:54 · 532 阅读 · 0 评论 -
C语言学习日记(2)
****需要注意的是,int类型的取值范围,阶乘正整数最大为12,。**3.和尚搬盘子问题结果:4.求10个数最大值并显示位置5.求10个人的平均成绩6.用一个average函数求两个班的学生成绩结果:7.选择排序结果:...原创 2022-06-05 17:06:52 · 230 阅读 · 0 评论 -
【使用 VS2022】与vc++6.0的不同
(1)首先,输入语句 scanf 在VS里面会报错解决方法就是报错给的提示:‘scanf’:该函数或变量可能不安全。考虑改用scanf_s。所以,在使用VS时,需要改为scanf_s(2)gets函数(输入字符串的函数)在VS里面无法使用下面的代码在VS里面无法运行,在VC6.0可以正常运行可以换成如下代码实现单词个数的统计暂时就发现这些,后续有发现会更新......原创 2022-06-03 17:22:20 · 4352 阅读 · 0 评论 -
C语言学习日记(1)
例题:5.4 122页1000名学生去捐款,捐至100000元停止捐款,统计捐款人数及平均捐款金额//1000人募捐,捐到100000元时停止,默认捐款金额是整数#include<stdio.h>#define sum 100000 //定义一个常量int main() { int i ; //捐款人数 int amount = 0; //捐款金额 int total = 0;//捐款总数目 for (i = 1; i <= 1000; i++) { pri原创 2022-06-01 19:10:15 · 401 阅读 · 0 评论