IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言期末考试测试题及答案 -> 正文阅读

[C++知识库]C语言期末考试测试题及答案

目录

期末复习:

1、什么叫分配内存,什么叫释放内存:

2、变量为什么必须初始化:

3、详细说明系统是如何执行:int i=5;这个语句的

4、请详细列出C语言所有的基本类型:

5、在printf函数中int用%d输出,请问longint、char、double、float分别用什么输出??

6、函数的优点是什么??

7、谈谈你对函数的理解:?

8、什么是指针,什么是地址,什么是指针变量,三者之间是什么关系?

9、请写出静态变量和动态变量的异同:

10、C语言中那些知识点是我们学习的重点,请一一列举出来:

11、for语句题目1:

12、for语句题目2:

13、for语句题目3:

14、判断下列程序语法上是否错误:

15、编程实现:

?16、若变量已正确定义,有以下程序段:

17、执行以下程序后,输出‘#’号的个数是:

18、有以下程序:

19、若有一些定义和语句:

20、有以下程序:?

21、以下程序:?

?22、以下程序:?

23、进制题目:

24、以下叙述正确的是:?

?25、以下叙述正确的是:?

编程题:?

1、

2、

?3、

4、

5、


期末复习:

1、什么叫分配内存,什么叫释放内存:

操作系统该某一块内存空间的使用权限分配给该程序叫分配内存

操作系统把分配给该程序的内存空间的使用权利收回,该程序就不能够再使用这一块内存空间,这叫释放内存。

附注:释放内存不是把该内存的内容清零

2、变量为什么必须初始化:

不初始化,则变量通常是垃圾值

不初始化,输出语句,编译会报错。

3、详细说明系统是如何执行:int i=5;这个语句的

1、vs2019软件请求操作系统为i分配存储空间

2、操作系统会在内存中寻找一块空闲的局域,把该区域当i来使用

3、vs2019会把i和这块空闲区域关联起来,今后对字母i操作就是对这块空闲的区域操作

4、把5存储到字母i所关联的内存区域中

附注:所谓的内存区域也就是内存的一块存储单元

4、请详细列出C语言所有的基本类型:

int? ? ? ? longint? ? ? ? shorint? ? ? ? char? ? ? ? float? ? ? ? double

5、在printf函数中int用%d输出,请问longint、char、double、float分别用什么输出??

%ld? ? ? ? %c? ? ? ? %lf? ? ? ? %f?

6、函数的优点是什么??

1、避免重复性操作

2、有利于程序的模块化

7、谈谈你对函数的理解:?

略,看个人笔记函数部分

8、什么是指针,什么是地址,什么是指针变量,三者之间是什么关系?

地址是内存单元的编号,指针就是地址,指针和地址是同一个概念

指针变量是存放内存单元编号的变量,指针变量和指针是两个完全不同的概念

只不过人们通常把指针变量简称指针

9、请写出静态变量和动态变量的异同:

相同:

? ? ? ? 都需要分配内存

不同

? ? ? ? 静态变量是由系统自动分配的,自动释放,程序员无法在程序运行的过程中手动分配,也无法在程序运行的过程中手动释放

? ? ? ? 静态变量是在栈中分配的

? ? ? ? 函数终止之后,静态变量的存储空间才会被系统自动释放

?

????????动态变量是由程序员手动分配的,手动释放,程序员可以在程序运行的过程中手动分配,可以在程序运行的过程中手动释放

? ? ? ? 动态变量是在堆中分配的

? ? ? ? 程序员可以函数执行的过程当中的任何一个时刻手动的释放动态变量的空间,不需要等到函数终止时才释放。

10、C语言中那些知识点是我们学习的重点,请一一列举出来:

?流程控制? ? ? ? 函数? ? ? ? 指针? ? ? ? 静态内存和动态内存

11、for语句题目1:

?for (1; 2; 3)
?? ??? ?A;
?? ??? ?B;

1、2成立,会继续执行那个语句:A

2、3执行完毕后,会继续执行那个语句:2

3、A执行完毕,会继续执行那个语句:3

4、1总共执行几次:1

12、for语句题目2:

?for (1; 2; 3)

? ? ? ? for(4;5;6){

? ? ? ? ? ? ? ? A;

? ? ? ? ? ? ? ? B;

????????}

? ? ? ? C;

1、6执行完毕,会继续执行那个语句:5

2、5成立,会继续执行那个语句:A

3、5不成立,会继续执行那个语句:3

4、2不成立,会继续执行那个语句:C

5、2成立,会继续执行那个语句:4

6、A和B语句是否一定会被执行:不一定

7、C语句是否一定会执行:一定

13、for语句题目3:

for(1;2;3){

? ? ? ? while(4){

? ? ? ? ????????5;

? ? ? ? }

????????????????6;

? ? ? ? if(7){

? ? ? ? ????????8;

? ? ? ? }

? ? ? ? ????????9;

}

10;

一次顺序:12454(不成立)67(成立)8932(不成立)10(可以看黑色读一遍)

1、5执行完毕后,会继续执行那个文件:4

2、如果8是break语句,则8执行完毕之后会继续执行那个语句:10

3、如果7不成立,会继续执行那个语句:9

14、判断下列程序语法上是否错误:

A:int *p;? ? ? ? *p=10????????(x,10不是地址)

B:char *p;? ? ? ? char ch= A;? ? ? ? p=&ch;? ? ? ? (x,字符要用单引号)

C:int i.j;? ? ? ? i=j=0;? ? ? ? int *p;? ? ? ? p=&;? ? ? ? (√)

D:int *p;? ? ? ? int **q;? ? ? ? q=&p;? ? ? ? ? ? ? ? (√)多级指针内容

E:int *p;? ? ? ? int i=5;? ? ? ? p=&i;? ? ? ? *p=10;(√)

15、编程实现:

如果x大于0,则y为1,如果x小于0,则y为-1,如果x等于0,则y=0;

以下程序段中不能依据x值正确计算y值的是:CD

?16、若变量已正确定义,有以下程序段:

17、执行以下程序后,输出‘#’号的个数是:

i? ? ? ? 1? ? ? ? 2? ? ? ? 3? ? ? ? 4

j? ? ? ? 0? ? ? ? 1? ? ? ? 2? ? ? ? 3

1+2+3=6?

内层结束后回到外层for循环内层的值会回到初始。

18、有以下程序:

s=s+(i+1)

i? ? ? ? 1? ? ? ? 3? ? ? ? 5? ? ? ? 7? ? ? ? 9

s=1+1+3+1+5+1+7+1+9+1?

19、若有一些定义和语句:

NULL本质也是零,而这个零不代表数字零,而表示的是内存单元的编号零(地址0)
?? ?我们计算机规定了,以零为编号的存储单元的内容不可读,不可写

20、有以下程序:?

*a接受p1 (&c1)? ? ? ?*b接受p2(&c2)? ? ? ??

a=b a变成c2地址? ? ? ? *a表示a a++ a+1=b(ascall)

A的值没有修改,所以输出Ab

21、以下程序:?

k? ? ? ? ?2? ? ? ? 4

? ? ? ? ?##2? ? ? ? ##4

?22、以下程序:?

#include <stdio.h>
void main()
{
?? ?int x = 1, y = 0, a = 0, b = 0;


?? ?switch (x)
?? ?{
?? ?case 1:
?? ??? ?switch (y)
?? ??? ?{
?? ??? ?case 0:
?? ??? ??? ?a++;
?? ??? ??? ?break;//执行break把这个switch (y)终止了
?? ??? ?case 1:
?? ??? ??? ?b++;
?? ??? ??? ?break;//执行break把这个switch (y)终止了
?? ??? ?}
?? ?case 2:
?? ??? ?a++;
?? ??? ?b++;
?? ??? ?break;//执行break把switch (x)终止了执行输出
?? ?case 3:
?? ??? ?a++;
?? ??? ?b++;
?? ?}
?? ?printf("a=%d,b=%d\n", a, b);//a=2,b=1
}

终止的语句记得看分号,分清楚已经结束那个语句

23、进制题目:

解析:?

128 64 32 16 8 4 2 1

? ? ? ? ? 1? ?1? ?0? 0 1 0 0---10进制10转2进制

1、100、100---砍3位

1? ? ?421? ? 421

得出144

?

128 64 32 16 8 4 2 1

? ? ? ? ? 1? ?1? ?0? 0 1 0 0---10进制10转2进制

1100100---砍四位

110、0100

421? ? 8421

得出64

24、以下叙述正确的是:?

?25、以下叙述正确的是:?

编程题:?

1、

代码解析:?

# include <stdio.h>

2、

代码解析:?

# include <stdio.h>

?3、

?代码解析:?

# include <stdio.h>

4、

??代码解析:

# include <stdio.h>

5、

???代码解析:

# include <stdio.h>

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:33:07  更:2022-09-30 00:34:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 6:03:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码