生产实习日报(3)

今日学习任务:数组的学习与编程练习。

今日任务完成情况:基本完成任务,完成200行的代码编写。

问题汇总:对数组的定义仍了解的不彻底,字符串与数组仍存在混淆,文件的包含存在误解。数组与指针的运用存在错误。

未解决问题:无

今日开发收获:通过今日的学习,对数组、关键字、文件的包含有了更深层次的理解,

自我评价:学习仍需加强,对于出现的问题,要及时解决。

题目

1.一维数组,二维数组如何定义,初始化?如何在程序中赋值?

一维数组:

类型说明符  数组名[常量表达式];  例如:  int a[10];  

赋值:在定义数组时对数组元素赋以初值   例如:int a[10]={0,1,2,3,4,5,6,7,8,9};

二维数组:类型说明符  数组名[常量表达式][常量表达式]; 如:float[3][4];

赋值:1.分行给二维数组赋初值。 如:int a[2][2]={{1,2},{3,4}};

          2.可以将所有数据写在一个花括号内,按数组排列的顺序对各元素赋初值。例如:int a[2][3]={1,2,3,4,5,6};

          3.可以对部分元素赋初值。

          4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

2.字符数组如何定义,初始化,如何程序中赋值?

对字符数组初始化,可逐个字符赋给数组中各元素。
例如:
char c[10]={‘I’, ‘’,‘a’,‘m’,‘’,‘h’,‘a’,‘p’, ‘p’,‘y’} ;

3.字符串常见函数的使用,不用函数如何实现字符串的复制,字符串长度的实现?

新建一个空数组,将字符串一个一个放入空数组中。

定义一个计数位flag,将字符串中的字符一个个和\0进行比较,不相等时flag+1,相等时结束比较,此时flag值为字符串长度。

4.函数的构造有哪些?入参,返回值如何在函数中体现?形参,实参是如何传递数据?

构造:函数类型     函数名(形式参数类型说明表){声明部分 执行部分}

入参用形式参数来体现,返回值则由函数类型来决定。

数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值。

5.值传递,地址传递是怎么回事?如何实现在子函数中数值交换后在主函数中能实现?

值传递:

函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值;

地址传递:

函数调用时,将数据的存储地址作为参数传递给形参

6. Auto,register,extern,static关键字的使用,详细说明

auto    
普通局部栈变量,是自动存储,这种对象会自动创建和销毁 ,建议这个变量要放在堆栈上面,调用函数时分配内存,函数结束时释放内存。一般隐藏auto默认为自动存储类别。我们程序都变量大多是自动变量。
register
 寄存器变量,请求编译器将这个变量保存在CPU的寄存器中,从而加快程序的运行
extern   
外部变量声明,是指这是一个已在别的地方定义过的对象,这里只是对变量的一次重复引用,不会产生新的变量。 
static  
 静态数据,数据存放在全局数据区,但作用域只是本文件/函数 中,所以你可以在两个不同的文件/函数内部申明同名的static变量,但是它们是两个不同的全局变量。 如果是定义在函数内,那么该对象具有无链接,函数外不能对其访问。如果是定义在函数外,那么该对象具有内部链接,其它程序文件不能对其访问。

7.文件的包含有几种?分别表示什么意思?

#include  "stdio.h"  在当前目录和TC指定的目录中找该文件
#include  <stdio.h> 在由TC指定的文件目录中找该文件

8.宏定义如何实现?撤销定义如何实现?

实现:#define   宏名    [宏体]

撤销:#undef    宏名


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值