北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx

上传人:b****1 文档编号:1473289 上传时间:2022-10-22 格式:DOCX 页数:17 大小:43.13KB
下载 相关 举报
北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx_第1页
第1页 / 共17页
北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx_第2页
第2页 / 共17页
北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx_第3页
第3页 / 共17页
北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx_第4页
第4页 / 共17页
北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx

《北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx》由会员分享,可在线阅读,更多相关《北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx(17页珍藏版)》请在冰豆网上搜索。

北理工《C语言程序设计》期末考试精选题汇总含答案解析 33.docx

北理工《C语言程序设计》期末考试精选题汇总含答案解析33

2015下半年C语言期末复习资料

一、课程内容的重点、难点

第一章:

程序设计基础知识

重点:

算法和算法的表示、结构化程序的三种基本结构。

难点:

算法的表示。

第二章:

C语言概述

重点:

C程序的基本结构、C语言的基本组成、用C语言解题的全过程。

第三章:

数据类型与运算规则

重点:

C语言的基本数据类型及其表示、算术运算与赋值运算、关系运算与逻辑运算、位运算和其它运算,混合运算及数据类型转换。

第四章:

顺序结构的程序设计

重点:

C语言中的各种语句、C语言中数据的输入与输出。

难点:

输入、输出函数的使用。

第五章:

选择结构的程序设计

重点:

if语句构成的选择结构程序和switch语句构成的选择结构程序。

难点:

嵌套的if语句和嵌套的switch语句。

第六章:

循环结构的成程序设计

重点:

while、do-while和for构成的循环结构程序设计,循环的嵌套。

难点:

for语句的使用,循环的嵌套。

第七章:

数组

重点:

一维数值数组的定义与使用,一维字符数组的定义与使用及常用字符处理函数的使用,二维数组的定义和使用。

难点:

用数组求解实际问题的编程。

第八章:

函数

重点:

函数的定义、函数的调用(嵌套调用和递规调用)与返回、函数间的数据传递、变量的存储类别。

难点:

递规函数的定义与调用。

第九章:

指针

重点:

指针的定义与引用、数组与指针、指针与函数、用指针处理字符串数据、指针数组和多级指针。

难点:

二维数组的指针与使用,多级指针。

第十章:

结构、联合与枚举类型

重点:

结构类型的定义、结构变量和结构数组的定义、函数间传递结构数据,联合类型的定义和应用,枚举类型的定义,用typedef定义类型。

难点:

结构类型的应用,链表的操作和应用。

第十一章:

文件

重点:

文件的打开和关闭,文件的顺序读写操作,文件的随机读写操作,文件操作的状态和出错检查。

难点:

文件的读写操作

二、期末考试题型介绍

1、选择填空题:

从四个备选答案中选择一个正确的答案。

每小题1分。

2、填空题:

根据题目的要求在题目的空白处填上适当的内容。

其中包括基本概念的填空和程序完整填空。

每空2分。

3、判断题:

对正确的描述画√,对错误的描述画×。

每题1分。

4、阅读程序题:

阅读程序,写出程序的输出结果。

每小题5分。

5、编程题:

编写出题目要求的程序。

每题10分。

说明:

1、考试时间为120分钟。

闭卷。

2、试卷满分100分(占课程总分的60%)。

3、试题说明:

选择填空题、填空题和判断题主要考查C语言的基本概念、简单程序的阅读和简单算法的掌握。

题目以教材后题目为主。

阅读程序,写出程序的输出结果:

主要考查程序阅读能力和对常用各种算法的掌握。

编程题:

主要考查C语言的综合应用能力。

三、举例

(一)选择题(四选一)

1)下面描述中,不正确的是()。

A.递归法的关键是必须有一个递归终止的条件。

B.递归算法要求语言具有反复自我调用子程序的能力。

C.对于同一个问题,递推算法比递归算法的执行时间要长。

D.递推算法总可以转换为一个递归算法。

2)以下描述中不正确的是()。

A.程序就是软件,但软件不仅仅是程序。

B.程序是指令的集合,计算机语言是编写程序的工具。

C.计算机语言都是形式化的语言,它有一个语法规则和定义。

D.计算机语言只能编写程序而不能表示算法。

上述选项中,答案D是错误的,因为算法语言以就是用来描述算法的。

3)以下()不是C语言的特点。

A.语言的表达能力强

B.数据结构系统化

C.语言定义严格

D.控制流程结构化

4)以下不属于算法基本特征的是()。

A.有穷性B.有效性C.可靠性D.有一个或多各输出

5)下列常数中不能作不能为C语言的数据类型是()。

A.0xa5B.2.5e-2C.0582D.3e2

6)下面各选项组中,均属于C语言关键字的一组是()。

A.auto,enum,include

B.switch,typedef,continue

C.signed,union,scanf

D.if,struct,type

7)已知inti;floatf;正确的语句是()。

A.(int)f%i;B.int(f)%i;C.int(f%i);D.(intf)%i;

8)运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。

A.逻辑运算符高于算术运算符,算术运算符高于关系运算符

B.算术运算符高于关系运算符,关系运算符高于赋值运算符

C.算术运算符高于逻辑运算符,逗号运算符高于关系运算符

D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符

9)已知:

inti=5;执行语句i+=++i;i的值是()。

A.12B.11C.10D.A,B,C答案都不对

10)已知:

chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是()。

A.intB.charC.floatD.double

11)已知“inta=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A.5B.4C.1D.0

12)已知:

charc='A';inti=1,j;执行语句j=!

c&&i++;则i和j的值是()。

A.1,1B.1,0C.2,1D.2,0

13)若inta,b,c;则为它们输入数据的正确的语句是()。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",&a,&b,&c);

D.scanf("%d%d%d",&a,&b,&c);

14)若在键盘上输入:

283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。

A.scanf("8f",&c);B.scanf("8.4f",&c);

C.scanf("%6.2f",&c);D.scanf("%f",&c);

15)if语句的控制条件()。

A.只能用关系表达式B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式D.可以是任何表达式

16)执行下列程序段后,x、y和z的值分别是()。

intx=10,y=20,z=30;

if(x>y)z=x; x=y;y=z;

A.10,20,30B.20,30,30C.20,30,10D.20,30,20

17)下列程序段()。

x=3;

do{y=x--;

if(!

y){printf(“x”);continue;}

printf(“#”);

}while(1<=x<=2);

A.输出##B.输出##xC.是死循环D.有语法错

18)执行语句for(i=1;i++<4;);后,i的值是()。

A.3B.4C.5D.不定

19)若intx;则执行下列程序段后输出是()。

for(x=10;x>3;x--)

{if(x%3)x--;--x;--x;

printf(“%d”,x);

}

A.62B.63C.73D.74

20)以下正确的数组定义语句是()。

A.inty[1][4]={1,2,3,4,5};B.floatx[3][]={{1},{2},{3}};

C.doublet[][3]={0};D.longs[2][3]={{1},{1,2},{1,2,3}};

21)以下程序的输出结果是()。

main()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

printf(“%d\n”,k);

}

 A.20B.21C.22D.23

22)以下叙述中错误的是()。

A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值

B.在C语言中,在定义函数时,实参和对应的形参在类型上只需赋值兼容

C.在C语言中,外部变量的隐含类别是自动存储类别

D.在C语言中,函数形参的存储类型是自动(auto)类型的变量

23)以下程序的输出结果是()。

main()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);

}

 A.1,5,9B.1,4,7

C.3,5,7D.3,6,9

24)在下列结论中,只有一个是正确的,它是()。

A.递归函数中的形式参数是自动变量

B.递归函数中的形式参数是外部变量

C.递归函数中的形式参数是静态变量

D.递归函数中的形式参数可以根据需要自己定义存储类别

25)C语言中函数返回值的类型是由()决定的。

A.return语句中的表达式类型

B.调用该函数的主调函数类型

C.调用函数时临时

D.定义函数时所指定的函数类型

26)已知:

chars[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;B.s[2]=p[4];C.s=p+s;D.*p=s[0];

27)main(argc,argv)中形式参数argv的正确说明形式应当为()。

A.char*argvB.charargv[][]

C.charargv[]D.char*argv[]

28)以下对C语言中联合类型数据的正确叙述是()。

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员

B.一个联合变量中可以同时存放其所有成员

C.一个联合变量中不能同时存放其所有成员

D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

29)当说明一个联合类型变量时,系统分配给它的内存是()。

A)各成员所需内存量的总和

B)第一成员所需的内存量

C)成员中占内存量最大者所需的容量

D)联合变量中最后一个成员所需的内存量

30)C语言结构类型变量在程序执行期间()。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

31)以下在对typedef的叙述中错误的是()。

A.用typedef可以定义各种类型名,但不能用来定义变量

B.使用typedef有利于程序的通用和移植

C.用typedef只能是将已存在的类型用一个新的标识符来代替

D.用typedef可以增加新类型

32)要打开一个已存在的非空文件“file”用于修改,正确的语句是()。

A.fp=fopen("file","r");B.fp=fopen("file","r+");

C.fp=fopen("file","w");D.fp=fopen("file","a+");

二)、填空题

1)一个完整的C程序必须要有一个________函数。

2)在三种基本结构中,先执行后判断的结构被称为_________。

3)在内存中,存储字符串“X”要占用______个字节,存储字符’X’要占用_____个字节。

4){a=3;c+=a-b;}在语法上被认为是________条语句,空语句的形式是______。

5)下列程序的输出结果是__________。

#include“stdio.h”

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1