C语言基础知识考核错误总结

函数实参和对应形参之间的数据传递方式

实参可以是常量,变量或表达式。
实参与形参的类型应相同或赋值兼容。
当要返回形参的值时,采用return的方式。
不使用形参时,形参不占用内存单元,使用时会临时分配。

实参向形参的数据传递是“值传递”,单向传递,只能由实参传给形参,不能由形参传给实参。
函数实参传递给形参,实参与形参是从右向左结合。

二维数组的定义及引用

二维数组的定义总的来说就是以下表达式:
类型标识符 数组名 [常量表达式1] [常量表达式2]
当然了,如果给定初始化的值,常量表达式1可以没有,但是常量表达式而必须存在;否则无法确定数组大小,定义失败。
关于引用,直接用一个错题的实例来展开:
在这里插入图片描述
在这里,加n指的是加n个数组类型代表的单位大小,当然对于数组来说就是给下标加n;如果x是数组*x就是指数组x的首地址。

转义字符

转义字符代表的是控制字符,是为控制作用而设计的;通常用于输入和输出的格式控制。以下是转义字符表:
在这里插入图片描述

结构体和共用体的区别

结构体可以同时存储多种变量类型,而共同体同一个时间只能存储和使用多个变量类型的一种。最大的区别在于内存的分配,结构体的各个成员会占用不同的内存,相互之间没有影响;而共用体的成员占用同一段内存,修改一个成员会影响其他的成员。结构体占用的内存大于所有成员占用的内存之和,而共用体占用的内存等于最长的成员占用的内存;共用体使用了内存覆盖技术,同一时刻只能保存一个成员的值,如果对新的成员赋值,就会把原来的成员覆盖掉。共用体变量起作用的成员是最后一次被赋予值的成员。共用体类型可以出现在结构体类型定义中,也可以定义共用体数组,反之结构体也可以出现在共用体类型定义中,数组也可以作为共用体的成员。

指针

1、指针
题目:

以下代码:

int main()
{
    int a[5] = { 1, 2, 3, 4, 5 };
    int *ptr = (int *)(&a + 1);
    printf("%d,%d", *(a + 1), *(ptr - 1));
    system("pause");
    return 0;
}

输出答案为____.(答案用单个空格分隔)(4.0分)

分析:
①system(“pause”) :
可以实现冻结屏幕,便于观察程序的执行结果。
②&a :
数组的整体 的地址,这里的 a 是数组整体;
③a+1:
数组的第二个成员,这里的 a 是数组首地址。
④关于指针 ptr :
假设是 int *ptr = (int *)(&a); 那么实际上 ptr 指向的是 a 这个数组整体,而我们又将 &a 进行强制转换为 int 型指针,所以那么执行 &a+1后,ptr 的偏移量相当于 a + sizeof(int) * 5 ,那么 ptr -1 其实就是 ptr - sizeof(int),综上所述,相当于 a + sizeof(int) * 4,而 a 的地址是数组首元素地址,所以加 4个int的就得到了 a[4] 的地址,即5。

正确答案: 2 5

逗号运算符

题目:

以下代码:

int main()
{
    int a[3][2] = { (0, 1 ), ( 2, 3 ), (4, 5 ) };
    int *p;
    p = a[0];
    printf("%d\n", p[0]);
    system("pause");
    return 0;
}

输出答案为____.(4.0分)

分析:
主要还是考察了逗号运算符的运用,逗号运算符的优先级是最低的,顺序是从左向右依次进行,以(0,1)为例,先将 0 赋给数组 a 的首元素,然后再将 1 赋给数组 a 的首元素,最后数组 a 的首元素的值为 1,举一反三,实际上数组 a ={1,3,5};所以 p[0] 的值为1。

正确答案: 1

双向链表

题目:
在双向链表指针p的指针前插入一个指针q的结点,操作是____A_______.(4.0分)

A、q->next=p; q->prior =p->prior; p->prior->next=q; p->prior =q;

B、q->prior =p->prior; q->next=q; p->prior=q; p->prior =q;

C、p->prior=q; q->next=p; p->prior->next=q; q->prior =q;

D、p->prior=q; p->prior->next=q; q->next=p; q->prior =p->prior;

分析:
在单链表中,我们有一个数据域,还有一个指针域,数据域用来存储相关数据,而指针域则负责链表之间的“联系”。 而在双向链表中,我们需要有两个指针域,一个负责向后连接,一个负责向前连接。

关于双链表的插入,图解如下:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: C语言基础知识入门PDF是一份C语言的教学材料,适合初学者学习和掌握C语言的基本语法、语义和编程方法。 C语言是一种高效、灵活、可移植、可扩展的编程语言,被广泛应用于操作系统、数据库系统、嵌入式系统等领域。学习C语言,需要掌握计算机基本原理、编程思想和算法设计等知识,而C语言基础知识入门PDF提供了一种快速入门、易于理解的学习途径。 C语言基础知识入门PDF包括了C语言的基本数据类型、运算符、流程控制语句、函数、指针、数组、结构体等内容,通过实例演示和练习题目的方式,帮助学生深入理解C语言的编程思想和技巧。 此外,C语言基础知识入门PDF还介绍了一些常用的C语言开发工具,如编辑器、编译器和调试器等,帮助学习者掌握基本的开发环境和技巧。 总之,C语言基础知识入门PDF是一本很好的C语言入门教材,通过细致详尽的篇章结构、浅显易懂的代码示范和解释,对于初学者学习C语言或复习C语言基础知识来说,都是一份很好的参考资料。 ### 回答2: 《C语言基础知识入门》是一本适合初学者入门的C语言教材,它由浅入深地介绍了C语言的基本语法、数据类型、控制结构、函数以及指针等内容。这本教材所包含的知识点非常基础和易懂,对于初学者来说非常友好,能够循序渐进地帮助他们逐步掌握C语言的基本概念和基础知识。 在学习过程中,这本教材还特别注重实践,提供了大量的实例代码以及习题和答案,帮助学生巩固所学知识,培养编程思维,提高编程能力。此外,这本教材还介绍了一些C语言的衍生语言和标准库,让学生在了解基础知识的同时,对C语言的发展和应用方向也有所了解。 总之,对于初学者来说,《C语言基础知识入门》是一本非常好的入门教材,它简单易懂、注重实践、知识面广泛、涵盖了C语言的基本知识点和实际应用场景,推荐给所有对于C语言感兴趣的初学者。 ### 回答3: 《C语言基础知识入门PDF》是一本适合初学者的C语言教程,它详细介绍了C语言的各个方面。该教程涵盖了C语言的基本语法、数据类型、运算符、流程控制、函数、指针、结构体、文件操作等重要内容。通过学习这本教程,初学者可以逐步掌握C语言基础知识,轻松理解编程思路。 该教程首先讲解了C语言的数据类型,包括整型、浮点型、字符型等,以及变量的定义和命名方法。接着介绍了运算符的使用方法,包括算术运算符、关系运算符和逻辑运算符。 在掌握了基础语法之后,该教程讲解了流程控制语句,如if语句、switch语句和循环语句等。这些语句非常重要,可以让程序根据不同的情况执行不同的操作。 接着,该教程介绍了函数的定义和调用方法。函数可以让程序模块化,使代码更具可读性。同时,它还讲解了指针的概念和使用方法,指针可以让程序更加灵活。 最后,该教程讲解了文件操作。文件是计算机存储数据的重要方式,学会文件操作可以让程序更好地处理数据。 总的来说,《C语言基础知识入门PDF》适合没有任何编程基础的初学者阅读。通过阅读该教程,初学者可以了解C语言的基本语法和编程思想,为以后深入学习打下基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠–

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值