PAGE
第 PAGE 6 页 共 NUMPAGES 6 页
杭州电子科技大学学生考试卷(A )卷
考试课程
程序设计基础
考试日期
年 月 日
成绩
课 程 号
教 师 号
任课教师姓名
考生姓名
学号(8位)
年级
专业
座位号
注意:
所有答案均写在答题纸上,写在试卷上无效;
考试结束后请将试卷和答题纸一起交上来。
试题中若出现C源代码,考虑源代码的大小写,不考虑标点符号的中英文状态;
本试题中C代码的开发环境为Microsoft Visual C++6.0,运行环境为Windows2000/XP系统;
当题目中只有程序片段时,假设完整程序已经具有其它必要代码且能够正确运行,如包含相应的库文件、main()函数的定义等。
一、选择题(每题2分,共30分)
1.下列叙述中错误的是 D ;
A)C程序经编译后生成后缀为.obj的目标程序;
B)C程序经编译、连接后才能形成一个真正可执行的二进制文件;
C)用C语言编写的源程序是以ASCII码形式存放的文本文件;
D)C语言的每条可执行语句和非执行语句最终都将被转换为二进制的机器指令。
2.以下叙述正确的是 A 。
A)每个C程序文件中都必须有一个main函数;
B)C程序中main函数的位置是固定的;
C)C程序中所有函数之间可以相互调用,与函数的位置无关;
D)在C程序的函数中不能定义一个函数。
3. 下列定义变量的语句中错误的是 D 。
A)int _int; B)double int_;
C)char For; D)float US$
4. 表达式3.6-5/2+1.2+5%2的值为 D 。
A)4.3 B)4.8 C)3.3 D)3.8
5.若定义int x,y;并已给变量正确赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是 C
A)(x-y>0) B)(x-y<0)
C) (x-y<0||x-y>0) D)(x-y==0)
6. 有以下程序:
main()
{
int x ,y,z;
x=y=1;
z=x++,y++,++y;
printf(“%d,%d,%d\n”,x,y,z);
}
程序的运行结果为: C
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1
7. 有以下语句:”int b; char c[10];”则正确的输入语句是: B
A)scanf(“%d%s”,&b,&c); B)scanf(“%d%s”,&b,c);
C)scanf(“%d%s”,b,c); D)scanf(“%d%s”,b,&c);
8.在嵌套的if语句中,C语言规定else总是 C
A)和之前与其具有相同缩进位置的if配对;
B)和之前与其最近的if配对;
C)和之前与其最近的且不带else的if配对;
D)和之前的第一个if配对。
9.下列叙述正确的是 D 。
A)break语句只能用于switch语句;
B)在switch语句中必须使用default;
C)break语句必须和switch语句中的case配对;
D)在switch语句中不一定使用break语句
10.有以下程序
main()
{int k=5;
while(--k) printf(“%d”,k-=3);
printf(“\n”);
}
执行的输出结果是 A 。
A)1 B)2 C)4 D)死循环
11.有以下程序
fun(int x,int y){return (x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf(“%d\n”,sum);
}
执行的结果是 C 。
A)6 B)7 C)8 D)9
12.有以下的程序
main()
{ char s[]=”abcde”;
s+=2;
printf(“%d\n”,s[0]);
}
执行的结果是 D 。
A)输出字符a的ASCII码 B)输出字符c的ASCII码
C)输出字符c D)程序出错
13.下列程序的输出结果是 C 。
fun(int x)
{int p;
if(x==0||x==1)return (3);
p=x-fun(x-2);
return p;
}