当前位置:首页 > 计算概论2009期末考试试题
装订线内 不要答题 北京大学信息科学技术学院考试试卷
(计算概论B 城市与环境学院)
考试科目: 姓名: 学号: 考试时间: 年 月 日 任课教师: 题号 一 二 三 四 五 六 七 八 总分 分数 阅卷人 考 场 纪 律 1 . 请持学生证入场考试,并按指定座位就座;除必要的文具和教师指定的用 具用书外,其他所有物品包括手机、呼机、MP3、电子词典、书籍、笔记、 纸张等严禁带入座位,必须放在指定位置。凡有试题印制问题请向监考教 师提出,不得向其他考生询问。 2. 认真、诚实、独立并在规定时间内完成答卷,严禁任何形式的违纪作弊行为;否则,本答卷成绩以以下以下为答题纸,共0分记,并根据《北京大学本科考试工作与学术 页 规范条例》给予纪律处分。 3 . 提前交卷的考生不要在考场逗留,不要在门口、窗外大声喧哗。考试结束 时间到,请停止答卷,在座位等候监考教师收卷并清点完毕,方可离开考 场;考题和试卷不得带出考场。
以下为试题和答题纸,共 9 页。
1
一、选择题(每题2分,共30分)
1.下列符号中属于非法的自定义标识符的是
A. alf_num B. _line C. MAX_11 D. float 2. 在C语言中,逻辑值“真”用 表示。
A. 大于0的数 B. 非0的数 C. 非0整数 D. 小于0的数 3.语句while(!E);中的条件!E等价于( )。
A. E = = 0 B. E!=1 C. E!=0 D. ~E 4.对于switch语句下列错误的说法是( )
A. case和default的次序不影响程序的执行结果; B. 多个case可以共用一组语句; C. case后面可以是变量;
D. switch后面的括号内可以使用表达式。 5.属于静态存储方式的变量是( ).
A.寄存器变量 B.函数的形参变量 C. static局部变量 D.自动变量 6. 选出年龄age在30到40(包括30,不包括40)之间的人,其C语言 表达式应为( ) A. (age>=30) and (age<40) B. (40>age>=30)
C. (age>=30)&(age<40) D. (age>=30)&&(age<40) 7.数组名作为实参数传递给函数时,数组名被处理为( )。
A. 该数组的长度 B. 该数组的元素个数 C. 该数组的首地址 D. 该数组中各元素的值 8.下面的选项中正确的赋值语句是(char a[5],*p=a;)( )。
A. p=“abcd”; B. a=“abcd”; C. *p=“abcd”; D. *a=“abcd”; 9.两个指针变量不可以( )。
A. 相加 B. 比较 C. 相减 D. 指向同一地址 10.若有以下程序段,则值为6的表达式是( )。 struct st{
int n;
struct st *next; };
static struct st a[3] = {5,&a[1],7,&a[2],9,?\\0?}, *p;
p = &a[0];
A. p++->n B. p->n++ C. (*p).n++ D. ++p->n 11.以下程序的输出结果是( )。
main( ) {
2
int a=7,b=5;
printf(“%d\\n”,b=b/a);
}
A. 不确定值 B. 5 C. 1 D. 0 12.C语言中函数调用的方式有( )。
A. 函数调用作为语句1种 B. 函数调用作为函数表达式1种 C. 函数调用作为语句或函数表达式2种 D. 函数调用作为语句、函数表达式
或函数参数3种
13.若有下面的变量定义,以下语句中合法的是( )。
int i,a[10],*p;
A. p=a+2; B. p=a[5]; C. p=a[2]+2; D. p=&(i+2); 14.设a为int型变量,执行下列赋值语句后,a的取值分别是( )。
a=125.534; a=(int)125.521%4; a=5<<2;
A. 125, 31, 1 B. 125, 1, 20 C. 125, 31, 20 D. 125.534, 2, 20 15.以下程序的输出结果为( )。
int i;
void prt( ) {
for(i=5;i<8;i++) printf(\ printf(\}
main( ) {
for(i=5;i<=8;i++) prt( ); }
A *** B *** *** *** *** C *** *** D * * *
二、填空题. (每空1分,共10分)
1. 有以下说明:double a[2][3]={1, 0, 2.0, 3.0, 4.0, 5.0, 6.0}; 假设数组a的存储空间首地址为0x194, 则a的值为 。(用16进制数表示)
2.若有以下语句,在程序中可用( ) 、( )、( )三种形式引用数组a的元素i。
int a[10], i ,?p; p=a; (假设i>=0&&i<10) 3.下面程序段的输出结果是( )。 int a=125; printf(“%d\\n”,a>>4); 4.当执行完以下语句后,变量a的值为( ),d的值为( ),e的值为( )。
a=6; b=++a; c=--a; d=a++; e=a--;
3
5.若有char a[3]=“as”; *(a+2)=( )。
6.若有char ch=0x31; printf(\屏幕显示( )。
三、判断题. (每题1分,共10分) 1.函数若无返回值,则它一定无形参。( ) 2.被main函数调用的函数只能是库函数。( )
3.对整型变量可进行自加或自减运算,而对常量或表达式不可以。( ) 4.在int *p;和语句printf(“%d”, *p);中的*p含义相同。( ) 5.表达式1/4+2.75的值是3。( )
6.break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )
7.数组名和指针一样可以作为函数参数进行传地址递调用。( ) 8.char *p=\;的含义是定义字符型指针变量p,p的值是字符串\。( ) 9.若有定义:char *p(char a[10]);则p是函数名。( )
10.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( )
四 写出下列程序的运行结果。(每题5分,共10分) 1.
# include \stdio.h\ # void fun(void); main() {
fun (); fun (); }
void fun(void) {
static int a[3]={0,1,2}; int i;
for (i=0;i<3;i++) a[i]+=a[i];
for (i=0;i<3;i++) printf (\%d \,a[i]); }
4
共分享92篇相关文档