c语言

[C]为什么发明指针?

故事扮演 提交于 2020-03-23 09:16:18
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。 指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的介绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。对于一个内存单元来说,单元的地址即为指针,

C语言指针的概念

萝らか妹 提交于 2020-03-23 09:15:51
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。 内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时,银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。 对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。 在C语言中,允许用一个变量来存放指针,这种变量称为 指针变量 。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。 图中,设有字符变量C,其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址用十六进数表示)。设有指针变量P,内容为011A,这种情况我们称为 P指向变量C ,或说 P是指向变量C的指针 。 严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针

C语言I作业004

若如初见. 提交于 2020-03-23 06:51:12
C语言I作业004 这个作业属于那个课程 C语言程序设计|| 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9773 我在这个课程的目标是 熟悉并熟练 for 循环语句的使用 这个作业在那个具体方面帮助我实现目标 for语句的PTA作业的循环程序设计 参考文献 https://www.cnblogs.com/pengchen511/p/10564067.html PTA实验作业 1.1 7-4 求平方与倒数序列的部分和 本题要求对两个正整数 m 和 n ( m ≤ n )编写程序,计算序列和 m 2+1/ m +( m +1)2+1/( m +1)+⋯+ n 2+1/ n 。 1.1.1数据处理 数据表达:运用了i, n, m的整形变量,item,sum的双精度浮点型变量和for循环语句。 数据处理:表达式:for (i=n;i<=m;i++){ item=i*i+1.0/i; sum=sum+item; n=n+1.0; 流程:先定义变量,再用for循环语句进行累加,最后输出得到答案。 1.1.2实验代码截图 1.1.3造测试数据 输入数据 输出数据 说明 5,10 sum=355.845635 n等于5,m等于10 4,8 sum=190.884524 n等于4,m等于8 8,70 sum

| C语言I作业04

时光总嘲笑我的痴心妄想 提交于 2020-03-23 06:50:49
| C语言I作业004 标签: 18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://www.cnblogs.com/pengchen511/p/10564067.html 我在这个课程的目标是 熟悉和掌握c语言语感 这个作业在那个具体方面帮助我实现目标 通过不断写代码,阅读代码行,举一反三 参考文献 https://www.cnblogs.com/linli069/ 1.PTA实验作业 1.1 求交错序列前N项和 1.1.1数据处理 数据表达:int 类型 i,denominator,flag; double类型 item, sum。 数据处理:for循环语句,其流程结构如下 流程图 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 17 0.900 小于50 250 0.392 输入数据放大10倍,输出缩小1/2多 300 0.392 输入增幅不大,输出基本上不变 500 0.392 同输入300一样 1000 0.393 与300相比,放大3倍多,仍然看不出明显变化,是因为只是精确到3位小数 1.1.4 PTA提交列表及说明 提交列表说明: 第一次:编译错误,在molecule分子这里后面没有加“;”如(1) 第二次:答案错误。原因,定义符号出现了问题。如(2) 第三次:学到新的关系运算符,±=

C语言I作业04

六眼飞鱼酱① 提交于 2020-03-23 06:50:22
本周教学内容&目标 第2章 用C语言编写程序-循环结构 2.4 输出华氏-摄氏温度转换表。要求学生掌握使用for循环语句实现指定次数的循环程序设计。 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9772 我在这个课程的目标是 要求掌握使用for循环语句实现指定次数的循环程序设计。 这个作业在那个具体方面帮助我实现目标 for语句的正确使用。 参考文献 无 1.PTA实验作业 1.1 题目名1 本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。 1.1.1数据处理 数据表达:运用int(整型),double(双浮点型)定义变量。 数据处理:流程控制使用顺序结构for循环语句。 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 5 0.197 n小于10 10 0.380 n等于10 20 0.386 n大于10 -1 Invalid Value! 小于0 1.1.4 PTA提交列表及说明 提交列表说明: 1.编译错误:for语句中分号按错。修改for语句中的; 2.运行超时:for语句中逻辑错误。 3.答案错误:对于for语句中i+2,和2*i-1理解不到位。 1.2 题目2

C语言I作业004:第八周作业

佐手、 提交于 2020-03-23 06:49:55
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9774 我在这个课程的目标是 掌握for语句并能举一反三解决相似问题,锻炼自己的思维 这个作业在那个具体方面帮助我实现目标 PTA作业方面 参考文献 《c语言程序设计》《ACM解题》 1.PTA实验作业 1.1 ​求奇数分之一序列前N项和:本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和 1.1.1数据处理 数据表达:int定义 i,denominator,N为整型变量;double定义 sum 为双精度浮点数; 数据处理:用到了赋值运算符,算术运算符;“ i++”含义为自增;用到了for语句,结构为循环结构。 1.1.2实验代码截图 1.1.3 造测试数据 输入数据 输出数据 说明 1 sum=1.000000 小于50 100 sum=5.187378 大于50 0 sum = 0.000000 小于0 1.1.4 PTA提交列表及说明 (1)部分正确:“for(i = 1; i <= N; i++)"的后面加了";”看了好几遍才发现。 (2)编译错误:printf 打成 prinf 。 (3)运行超时:多打了一些其他的代码。 1.1.4 代码互评 同学代码截图 我的代码截图

C语言I博客作业06——符鹏程

人盡茶涼 提交于 2020-03-23 06:49:16
一丶本周教学内容&目标 第3章 分支结构 3.1-3.2 使学生熟悉多分支结构、字符型数据类型和逻辑运算符。 二丶本周作业头 这个作业属于哪个课程 C语言设计ll 这个作业要求在哪里 https://pintia.cn/problem-sets/1188780513629859840/problems/type/4 我在这个课程的目标是 熟悉多分支结构、字符型数据类型和逻辑运算符 这个作业在哪个具体方面帮助我实现目标 实际操作以及对知识的了解 参考文献 《智慧的提问》《C语言程序设计》网上资料 三丶本周作业 1.PTA实验作业 2.代码互评 3.学习总结 四丶 1.PTA实验作业 7.1.1 题目名1 题目内容描述 高考结束不久,各校的入取分数线也出来了,北京大学(Peking University)720,浙江大学(Zhejiang University)650,工业大学(University Of Technology)600,文理学院(Shaoxing University)550,文理学院元培学院(Shaoxing University Yuanpei College)500,绍兴职业技术学院(Shaoxing Vocational & Technical College)400,张三的分数为n,请问张三能去哪个大学? 如果分数低于400,则回家种地(to be a

C语言I博客作业08——符鹏程

谁都会走 提交于 2020-03-23 06:48:58
一、本周教学内容&目标 第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。 二、本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://pintia.cn/problem-sets/1194071649374597120/problems/1194071816442114051 我在这个课程的目标是 熟悉while和do-whwhile结构 这个作业在那个具体方面帮助我实现目标 实际操作 参考文献 《C语言程序设计》《智慧的提问》网上资料 三、本周作业 1.PTA实验作业 2.代码互评 3.学习总结 四、 7.1.1题目名 对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10 ​9 ​​的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例: 321 输出样例: 3 6 7.1.2数据处理 数据表达: 数据处理: 来源: https://www.cnblogs.com/1245hy/p/11870720.html

了解C语言

此生再无相见时 提交于 2020-03-22 22:29:53
初学时的程序都需要打#include<stdio.h>及int main() //int main中int 声明函数类型为整形,main为主函数;‘//’为注释的意思,后面的内容不会运行; 用一个较简单的程序解释。 #include<stdio.h>//头文件,写就行了 int main()//主函数,学函数之前照着写就行了 {//花括号,表明函数的开始 printf("HELLO WORLD!");//printf为输出的意思,后面的形式为()加“”加语句,以封号结尾,否则没办法执行。 return 0;//将0作为主函数的返回值,如果不写的话输出也没错,但可能会造成数据的混乱。 }//表明函数的结束 来源: https://www.cnblogs.com/a1113775906/p/9873097.html