南京信息工程大学2009-2010(1)C语言期末考试试卷B

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京信息工程大学试卷

2009 - 2010 学年第 1学期程序设计基础/C语言程序设计课程试卷( B 卷) 本试卷共 9 页;考试时间 120分钟;任课教师课程组;出卷时间 2010 年 1月

学院专业2009 年级班

学号姓名得分

一、单项选择题 (每小题 1分,共 14分)

1. C语言规定:在一个源程序中,main的位置

A)必须在最开始 B)必须在系统调用的库函数后面

C)可以任意 D)必须在最后

2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A)必须为字母

B)必须为下划线

C)必须为字母或下划线

D)可以是字母、数字和下划线中的任意一种

3.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是。

int a1,a2; char c1,c2;

scanf(“%d%c%d%c”,&a1,&a2,&c1,&c2);

A)10A 20B↙B)10 A 20 B↙

C)10A20B↙D)10A20 B↙

4.C语言对嵌套if语句的规定是:else总是与。

A)其之前最近的if配对B)第一个if配对

C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对

5.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。

if (a

if (c

else

if (a

if (b

else x=3;

else x=6;

else x=7;

A)1 B)2 C)3 D)4

6.下述语句执行后,变量k的值是。

int k=1;

while (k++<10);

A)10 B)11 C)9 D)无限循环,值不定

7. 引用数组元素时,其下标表达式的值类型一定是:

A) char B) int

C) double D) bool

8.若对两个数组a和b进行初始化

char a[]="ABCDEF";

char b[]={'A', 'B', 'C', 'D', 'E', 'F'};

则下列叙述正确的是。

A) a与b数组完全相同B) a与b数组占用内存相同

C) a与b数组都存放字符串 D) 数组a比数组b占用内存大

9.若调用一个函数,且此函数中没有return语句,则正确的说法是。A)该函数没有返回值

B)该函数返回若干个系统默认值

C)能返回一个用户所希望的函数值

D)返回一个不确定的值

10.若用数组名作为函数调用的实参,传递给形参的是。

A)数组的首地址B)数组中第一个元素的值

C)数组中的全部元素的值D)数组元素的个数

11.设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是。

A)s和p完全相同

B)数组s中的内容和指针变量p中的内容相等

C)s数组长度和p所指向的字符串长度相等

D)*p与s[0]相等

12.若已定义char s[10];则在下面表达式中不表示s[1]的地址是。

A)s+1 B)s++

C)&s[0]+1 D)&s[1]

13.若有定义:int a[2][3];则对a数组的第i行第j列元素的正确引用是。A)*(a[i]+j) B)(a+i)

C)*(a+j) D)a[i]+j

14.已知学生记录描述为:

struct student

{

int no ;

char name[20];

char sex;

struct {

int year;

int month ;

int day ;

} birth ;

} s ;

设结构变量s中的“birth”为“1985年10月1日”,则下面正确的赋值方式是。A)year=1985 B)birth.year=1985

month=10 birth.month=10

day=1 birth.day=1

C )s.year=1985

D )s.birth.year=1985

s.month=10 s.birth.month=10

s.day=1 s.birth.day=1

二、基础知识填空(每空2分,共22分)

1.C 源程序的基本单位是 。

2.按照计算机科学家沃思(Wirth )的提法,一个计算机程序应包括数据结构和 两部分。

3.数学表达式y

x b a y ++=2

2的C 语言表达式是 。 4.若s 是int 型变量,s=6;则表达式s%2+(s+1)%2的值为

5.C 语言本身不提供输入输出语句,其输入输出操作是由 来实现的。

6.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || AB 的值是 。

7.设有以下定义语句:

int a[3][2]={10,20,30,40,50,60}, (*p)[2];

p=a;

则表达式*(*(p+2)+1)的值为 。

8.设i,j,k 均为int 型变量,则执行完下面的for 循环后,k 的值为 。

for(i=0,j=10;i<=j ;i++,j--) k=i+j;

9.在一个C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 。

10.C 程序中,文件可以用 和二进制两种代码形式存放。

11.下面程序的运行结果是

#include

#define S(x) 4*x*x+1

void main ( )

{

int m=6,n=8 ;

printf(“%d\n ”,S(m+n)) ;

}

三、程序阅读题(每题3分,共24分)

1.以下程序运行后的输出结果是 。

#include

int main( )

{

int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

int i=0,j=0,s=0;

while (i++<4)

{

if (i==2 || i== 4 ) continue ;