2013 — 2014 学年第二学期。
2013 年级计算机科学与技术、信息管理与信息系统专业。
本科层次《c语言程序设计》试题a卷。
课程** 0710082 考试方式闭卷考试时长 110 分钟。
一、选择题(共15题,每题2分,共30分)
1、若有以下语句,描述正确的是 (
char x
char y 12345”;
a.x数组和y数组的长度相同 b.x数组的长度大于y数组的长度。
c.x数组的长度小于y数组的长度 d.x数组等价于y数组。
2、对一维数组定义正确的是( )
a. int a(4b. int n=8,a[n];
c. int m; scanf(“%d”,&m); int a[m]; d. #define len 13 int a[len];
3、以下程序的输出结果是( )
main()
int i=2,p;
p=f( i, i-- printf(“%d”,p);
int f(int a, int b)
int c=a;
if(a>b) c=1;
else if(a= =b) c=0;
else c= -1;
return(c);
a.-1 b. 0 c.1 d.2
4、下列关于指针描述中,错误的是 (
a.指针的类型是它所指向的变量的类型
b.指针在内存中占据内存空间
c.指针可以指向一个函数。
d.指针占内存空间的大小与它的类型无关。
5、设已经定义数组float a[10],首地址为1012,则a[7]的地址为 (
a. 1019; b. 1040; c. 1026; d. 1036;
6、若int(*p)[5];其中p的含义是 (
a. 5个指向整型变量的指针
b. 指向5个整型变量的函数指针
c. 一个指向具有5个整型元素的一维数组的指针。
d. 具有5个指针元素的指针数组名,每个元素都指向整型变量。
7、已知:char a abcde”,*p=a;则表达式*(p+5)的值是( )
a. ‘e’; b.‘\0’; c. null; d. 不确定;
8、若有以下定义,则不能表示a数组元素的表达式是 (
int a[10]=,p=a;
a. *p b. a[p-a] c. *a d. a[10]
9、设有以下语句int x,*p=&x;则下列表达式中错误的是 (
a.*&x b. *pc. &x d. &p
10、执行下面程序段后,*p等于 (
int a[5]=,p=a; p++;
a.1b.3c.5d.7
11、以下叙述中正确的是( )
struct ss,*p=a;下列对数组元素地址的引用中正确的是 (
a.&(a+1) b.&(p+2) c.pd.*(p+1)
14、已知int a[3][4], p=a;下列表示数组元素a[1][0]的地址是 (
a.*(p+1) b. *a+1) c. p+1d. &a[2]
15、下列关于int *p[3];其中p的描述错误的是 (
a.p是一个指向一维数组的指针。
b.p是一个指针数组名
c.名为p的数组是一个一维指针数组。
d.数组p中的每个元素是指向int型变量的指针。
二、填空题(共10题,每空2分,共20分)
1、 结构体类型定义如图所示:
struct node
int data;
struct node *link图2-1
p,q,s;
在两个节点p、q之间插入新的节点s(p、q和s均为struct node类型的结构体变量),请写出插入节点s的语句。
2、函数调用中,简单变量作为实参时,传递给形参的是数组名作为实参时,传递给形参的是。
3是指函数功能的确立,包括指定函数名、函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位;而则是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统。
4、变量的存储类别从作用域(空间)的角度分为和。
5、已经有以下定义:
struct node
int data;
struct node *next;
*p;以下调用malloc函数,使指针p指向一个具有struct node类型的动态存储空间。请填空:p=(struct node *)malloc
6、设有以下定义:
struct node
int data;
struct node *link;
x,y,z;
已建立如下所示的链表结构:
xyz请写出删除y节点的语句。
三、判断题(共10题,每题1分,共10分)
1、 指针和一般变量一样都有两个值,一个是它在内存中的地址值,另一个是它所存放的数据值。 (
2、宏名的定义必须用大写字母。
3、宏定义是c语句,不必在行末加分号。
4、函数调用是在程序运行时处理的,为形参分配临时的内存单元;宏展开则是在编译前进行的,展开时分配内存单元,但不进行值的传递。
5、两个指针可以相减,如果两个指针变量指向同一个数组中的元素,它们的差是两个指针之间的元素个数。 (
6、int (*p)( int,int);p为指向函数的指针,该函数返回一个地址。
7、用指针作为函数参数时,采用的是“地址传递”方式。
8、通过变量名或地址访问一个变量的方式称为“直接访问”方式。
9、语句y=*p++;和y=(*p)++是等价的。
10、int *p( )p是返回一个指针的函数,该指针指向整型数据。
四、读程序并填空(共4题,每空2分,共10分)
1、输出链表的函数print
#include <>
void print(struct student *head)
struct student *p;
printf("now,these %d records are:",n);
if(head!=null)
dowhile(p!=null);
2、指向结构变量的指针的应用。
#include <>
#include <>
main()
struct student
struct student stu, *p;
p=&stu;
10001对结构体变量赋值。
ma lin");
printf("no.:%ldname:%s ",p).id,(*p).name
3、返回指针值的函数的应用,输出若干个学生的成绩。
C语言程序设计期末考试样卷
2008年c语言程序设计期末考试样卷。一 填空题。1 c语言程序从函数开始执行。2 关系运算的结果得一个整数值 或者。3 已知int a 则它的最大下标是。4 结构化程序的3种基本结构是和。5 若a1和a2都是double型变量,且a1的初值为3.0,a2的初值为2.0,则表达式pow a2,fab...
C语言程序设计期末考试说明
c语言程序设计 期末考试说明。1.所有c语言程序设计内容全部列为考试内容,但类似于栈 链表等数据结构方面的内容及排序 查找等算法本身不列入考试内容,同时问题求解本身也不列为考试内容,但考试中可能会涉及问题求解 排序 查找等算法,此时会以流程图或伪 的形式给出问题求解过程或算法的描述,请同学们一定要熟...
C语言程序设计期末考试试题
一 单项选择题 30分 1.下列不属于算法应该具有的特性是 a.确定性 b.有穷性 c.可行性 d.有零个或者多个输入。2.以下不正确c语言标识符是 b.abc c.bc 3.计算机能直接执行的程序是 a.源程序 b.目标程序 c.汇编程序 d.可执行程序。4.以下运算符优先级最高的是 a.b.c....