(A卷)第 1 页 共 11 页
韩山师范学院2012年专升本插班生考试
教育技术学 专业 C语言程序设计 试卷 (A卷)
题号 得分
一 二 三 四 五 总分 评卷人 得分 评卷人 一、填空题(每空1分,共10分)
1.每个C程序都必须包括一个________函数。
2.C语言源程序编辑完成后,需要经过 ________、________两个环节,才能执行。
3.若变量a,b已经定义为int类型并赋值为4和5,要求用printf函数以a=4,b=5的形式输出,请写出完整的输出语句 。 4.表达式10/3的结果是 。
5.算法的复杂度主要包括时间复杂度和 。 6.C语言语句的结束符是____________。
7.数组int A[10];中有 个元素,下标上限为_____________。 8.若x=2,y=12,则 x&y>>2的结果是___________。 得分 评卷人 二、单项选择题(每题1.5分,共30分)
题号 答案 题号 答案 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20
(A卷)第 2 页 共 11 页
1.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。
A.高效性 B.有穷性 C.有零个输入或多个输入 D.确定性 2.以下哪个不是C语言程序的三种基本结构( )。
A.顺序结构 B.递归结构 C.循环结构 D.选择结构 3.有以下程序: main() { int m,n,p;
scanf(\"m=%dn=%dp=%d\
printf(\"%d%d%d\}
若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是( )。 A.m=123n=456p=789 B.m=123 n=456 p=789 C.m=123,n=456,p=789 D.123 456 789
4.下面四个选项中,哪个选项是合法变量( )。
A.4as B.a#3 C._3a D.“a” 5.若执行以下程序时从键盘上输入9,则输出结果是( )。 A.11 B.10 C.9 D.8 mainn() { int n; scanf(\"%d\
(A卷)第 3 页 共 11 页
if(n<10) printf(\"%d\\n\else printf(\"%d\\n\}
6.y、t均为int型变量,x=y=3;t=x+y++;后,y的值为 设x、则执行语句:( )。A.不定值 B.4 C.3 D.1 7.有以下程序段 int k=0; while(k<1)k++;
while 循环执行的次数是( )。
A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次
8.若变量c为int类型,能正确判断出c为数字的表达式是( )。 A.('0'<=c)and ('9'>=c) B.(c>= '0')&&(c<= '9') C.'0'<=c<= '9' D.(c>= '0')||(c<= '9') 9.以下正确的函数声明形式是( )。 A. double fun(int x , int y) B. double fun(int x ; int y) C. double fun(int x , int y) ; D. double fun(int x ; int y) ;
10.以下程序的输出结果是( )。
A.0 B.29 C.31 D.无定值 int fun(int x, int y)
{ int z; z=x*x+y*y; return z;} main()
(A卷)第 4 页 共 11 页
{ int a=31; a=fun(5,2); printf(\"%d\}
11.下列程序的输出结果是( )。
A.非法 B.a[1]的地址 C.9 D.8 main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+1; printf(\"%d\}
12.下列能正确定义一维数组的选项是( )。
A.int a[5]={0,1,2,3,4,5}; B.int a[ ]={0,1,2,3,4,5}; C.char a={'A', 'B', 'C'}; D.int a[5]=\"0123\"; 13.有下列程序: #include void WriteStr(char *fn,char *str) { FILE *fp;
fp=fopen(fn,\"w\"); fputs(str,fp); fclose(fp); } main( ) {
WriteStr(\"t1.dat\ WriteStr(\"t1.dat\}
程序运行后,文件t1.dat 中的内容是( )。
(A卷)第 5 页 共 11 页
A.start B.end C.startend D.endrt 14.以下程序的输出结果是( )。 main( )
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;pA.1,2,3,4,5,6,7,8,9,0, B.2,3,4,5,6,7,8,9,10,1, C.0,1,2,3,4,5,6,7,8,9, D.1,1,1,1,1,1,1,1,1,1,15.有定义语句:int b;char c[10];,则正确的输入语句是 ( )。 A.scanf(\"%d%s\B.scanf(\"%d%s\C.scanf(\"%d%s\D.scanf(\"%d%s\
16.下列程序的功能是:给r 输入数据后计算半径为r 的圆面积s。程序在编译时出错。 main( ) /* Beginning */ { int r; float s; scanf(\"%d\s=π*r*r; printf(\"s=%f\\n\}
(A卷)第 6 页 共 11 页
出错的原因是( )。 A.注释语句书写位置错误
B.存放圆半径的变量r不应该定义为整型 C.输出语句中格式描述符非法
D.计算圆面积的赋值语句中使用了非法变量 17.下列程序段的输出结果( )。 int b=10;
printf(\"%d \
A.01 B.20 C.21 D.11 18.在C语言中,对文件进行操作的一般步骤是( )。 A.操作文件——修改文件——关闭文件 B.打开文件——操作文件——关闭文件 C.读文件——写文件——关闭文件 D.读写文件——打开文件——关闭文件
19.使用fopen()函数打开文件时,向文本文件尾增加数据,文件的使用方式应为( )。
A.r B.a C.w+ D.ab+ 20.以下程序运行后结果是( )。 #define A 5 main() { int x=0; x=3*(A+7); printf(\"%d\\n\}
(A卷)第 7 页 共 11 页
A.36 B.0 C.21 D.不确定 得分 评卷人 三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)
1.main()
{ int a=0;
a='a';
printf(\"%c\}
2.#includemain( ) {
char p[]={'a','b','c', '\\0'}; char q[10]={'a','b','c'}; printf(\"%d,\printf(\"%d \}
3.long func(int x) { long p;
if (x==0||x==1) return(2); p=x*func(x-1); return(p); } main()
(A卷)第 8 页 共 11 页
{ printf(\"%d\\n\ } 4.struct date
{ int a; char s[5]; }arg={27,\"abcd\main() {
arg.a=5;
strcpy(arg.s,\"AB\"); printf(\"%d,%s\}
5.#include main() { if (100)
printf(\"Great!\\n\");
else if (60)
printf(\"Pass\\n\");
else } 得分 评卷人 四、阅读程序或程序段,填空(每题4分,共20分)
1.以下程序打印左下三角的九九乘法表,请填空。 #include main() {printf(\"Fail\\n\");
(A卷)第 9 页 共 11 页
int i,j;
for(i=1;i<10;i++)
{ for(j=1; ;j++) printf(\"%d*%d=%2d \ ); printf(\"\\n\"); } }
2.以下程序的功能是:输出a,b,c三个变量中的最大值,请填空。 #include void main() { int a,b,c,t1,t2;scanf(\"%d%d%d\ t1= ? a:b; t2= ? c:t1 ; printf(\"%d\\n\}
3.以下程序中,select函数的功能是:在一维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值的下标。请填空。 #define N 10 select(int a[N],int *n) { int i,k=0; for(i=1;ia[k]) k=i;;
; } main()
(A卷)第 10 页 共 11 页
{ int a[N] ={9,11,23,6,1,15,9,17,20},max,n; max=select(a,&n);
printf(\"max=%d,n=%d\\n\}
4.以下程序的功能是:输入a和b两整数,按由大到小顺序输出,请填空。 main() {
int *p1,*p2,*p,a,b; scanf(\"%d,%d\ ;
; if(a{ p=p1;p1=p2;p2=p; } printf(“*p1=%d,*p2=%d\ }
5.以下函数的功能是:将from指针所指向的内容复制到to指针所指向空间,请填空。
void copy_string(char *from,char *to) {
for(; ;from++,to++) ; *to='\\0'; } 得分 评卷人 五、编程题(每题10分,共20分)
1.编写程序, 把从键盘输入的数字按下列对应关系显示。
(A卷)第 11 页 共 11 页
输入数字 显示 1 One 2 Two 3 Three 其他 Other
2.求1+2+3+4+……+n 的值,并输出结果,其中n由用户输入。