北京信息科技大学 2008 ~2009 学年第 一 学期 《C语言程序设计》课程期末考试试卷(A卷) 授课系别:_计算机学院_ 适用班级:_计科所有班级 _ 考试形式:_闭卷_ 班级: 姓名: 学号: 题号 一 二 三 四 五 六 七 总分 得分 一:填空题:(每题2 分,共1 0 题) 1、结构化程序设计的基本结构有三种,分别是顺序结构、 选择 结构和 循环 结构。 2、有如下程序: void main() { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf("%d\n",k); } 则 k 值为____36______。 3、有如下程序 char a[]="China",int num=sizeof(a),num 的值为____6_____。 4、函数直接或间接的调用自己成为函数的________递归调用__________。 5、有如下定义: static int a[6]={1,2,3,4,5,6}; int*p=a+1; p++; 则*(p+1)的值为____4______。 6、有以下程序: #define A 4 #define B(x) A*x/2 void main() { float c,a=4.5; c =B(a) ; printf("%5.1f\n",c); } 则 c 的值为___9.0_____。 7、C 语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。 8、C语言可以定义枚举类型,其关键字为 enum 。 9、写出下面程序的运算结果。 struct ks { int a; } s[4],*p ; void main() { int n=1,i ; for (i=0;i<4;i++) { s[i].a=n; n=n+2; } p=&s[0]; p++; printf("%d",p->a); } p->a 的值为__________3__________。 10、C 语言打开文件的函数是_____fopen_______,关闭文件的函数是______fclose_______。 二 单项选择题:(每题 2分,共 12题) 1:以下程序片段_____D______。 void main() { int x=0,y=0,z=0; if (x=y+z) printf("***"); else printf("###"); } A)有语法错误,不能通过编译 B)输出:*** C)可以编译,但不能通过连接,所以不能运行 D)输出:### 2:若 w=1,x=2,y=3,z=4,则条件表达式 w>x ? w:y100) break ; }...