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

南京信息工程大学试卷

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

if (a

if (b

A)1 B)2 C)3 D)4 6.下述语句执行后,变量k的值是 。

int k=1;

第1页 共9页

while (k++<10);

A)10 B)11 C)9 D)无限循环,值不定 7. 引用数组元素时,其下标表达式的值类型一定是: A) char B) int C) double D) bool 8.若对两个数组a和b进行初始化 char a[]=\

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

第2页 共9页

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)的提法,一个计算机程序应包括数据结构和 两部分。

a2?b23.数学表达式y?的C语言表达式是 。

x?y4.若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 ;

第3页 共9页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4