自考计算机专业《C语言程序设计》模拟试题2.docx
《自考计算机专业《C语言程序设计》模拟试题2.docx》由会员分享,可在线阅读,更多相关《自考计算机专业《C语言程序设计》模拟试题2.docx(9页珍藏版)》请在冰豆网上搜索。
自考计算机专业《C语言程序设计》模拟试题2
XX大学计算机学院第学期
《C语言程序设计》期末考试试卷
年级专业层次:
普通本科普通高职
(本试卷考试时间120分钟满分100分)
题号
一
二
三
四
五
总分
复核
得分
得分
阅卷人
一、选择题(本大题共15小题,每小题2分,共30分)
1、在一个C程序中()
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置
2、C语言中,char型数据在内存中的存放形式是()
A、ASCII码B、原码C、反码D、补码
3、以下选项中合法的用户标识符是()
A、intB、A.datC、3DmaxD、_2Test
4、下列运符中优先级最高的是()
A、++B、&&C、?
:
D、!
=
5、已知inti,a;执行语句i=(a=2*3,a*5),a+6后,i的值是()
A、6B、12C、30D、36
6、若定义inta[10];则对a数组元素的正确引用是()。
A、a[10]B、a[4.3]C、a(5)D、a[6-6]
7、在宏定义#defineA3.897678中,宏名A代替一个()。
A、单精度数B、双精度数C、常量D、字符序列
8、以下代表文件包含命令的关键字是
A、defineB、printfC、includeD、double
9、有以下程序:
main()
{inta=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf("%d,%d\n",k,m);
}
程序运行后的输出结果是()
A、0,0B、1,0C、0,1D、1,1
10、为了判断两个字符串s1和s2是否相等,应使用()
A、if(s1=s2)B、if(strcmp(s1,s2))
C、if(s1==s2)D、if(strcmp(s1,s2)==0)
11、下列选项中正确的语句组是()
A、char*s;s="Beijing";B、chars[8];s={"Beijing"};
C、chars[8];s="Beijing";D、char*s;s={"Beijing"};
12、若有以下定义:
chars[20]=”programming”,*ps=s;则不能代表字符o的表达式是()
A、ps+2B、s[2]C、ps[2]D、ps+=2,*ps
13、有以下函数定义:
voidfun(intn,doublex){……}
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()
A、fun(inty,doublem);B、k=fun(10,12.5);
C、fun(x,n);D、voidfun(n,x);
14、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()
A、函数调用可以作为独立的语句存在
B、函数调用可以作为一个函数的实参
C、函数调用可以出现在表达式中
D、函数调用可以作为一个函数的形参
15、有结构定义如下:
structstudent{intnum;
charname[10];}STU;
则下面的叙述不正确的是()
A、STU是用户定义的结构类型名
B、struct是结构类型关键字
C、structstudent是用户定义的结构类型
D、num是结构成员名
得分
阅卷人
二、填空题(本大题共10小题,每小题1分,共10分)
1、C源程序的基本单位是。
2、用switch语句来实现选择结构的程序设计时,一般要和语句连用才能实现真正的分支。
3、为表示关系20≥y≥10,应使用C语言表达式。
4、C语言的数组名是一个常量,不能对其进行赋值运算和自加、减运算。
5、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
6、若未指定函数的类型,则默认函数的类型为类型。
7、如果在程序中用到sqrt()函数,则应该在程序的开头部分加上相应的头文件,其命令是:
。
8、定义一个指向整型变量的指针变量p的语句为:
。
9、C语言中根据数据的组织形式,把文件分为ASCII文件和文件两种。
10、引用结构体变量中的成员需要使用”.”或运算符。
得分
阅卷人
三、阅读程序并写出其执行结果(本题共25分)
1、以下程序输出结果是。
#include
main()
{intnum=0;
while(num<=2)
{num++;
printf("%d",num);
}
}
2、下面程序的运行结果是。
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
3、下面程序的运行结果是:
。
main()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=i;j>=0;j--)
s+=a[i][j];
printf("%d\n",s);
}
4、以下程序的输出结果是。
main()
{intarr[]={30,25,20,15,10,5};
int*p=arr;
p++;
printf(“%d\n”,*(p+3));
}
5、以下程序的输出结果是。
f1(inta,intb)
{intc;
a+=a;b+=b;
c=f2(a,b);
returnc*c;
}
f2(inta,intb);
{intc;
c=a*b%3;
returnc;
}
main()
{intx=11,y=19;
printf("%d\n",f1(x,y));}
得分
阅卷人
四、程序填空题(本大题共2小题,共20分)
1、求1!
+2!
+3!
+……+5!
longfun(intn)
{longp=1;inti;
for(i=1;i<=n;i++)
①;
return②;
}
main()
{longs;intk,n=5;
③;
for(k=1;k<=n;④)
s=s+⑤;
printf(“%ld\n”,s);
}
2、完成下面的程序,使它能够输出10~1000之间的所有素数。
(只有能被本身及1除尽的数,称为素数)
#include
main()
{inti;
for(i=10;i<=1000;i++)
if(isprime(①))
printf(“%d,”,i);
printf(“\n”);
}
isprime(intn)
{inti;
for(i=2;i<=sqrt(n);②)
if(n%i==0)return(③);
return(④);
}
得分
阅卷人
五、编程题(本大题共2小题,共15分)
1、定义一个函数,实现将两个数按由大到小的顺序输出(用指针的方法实现)(8分)
swap(int*p,int*q)
{③
}
main()
{inta,b;
Int*p1=&a,*p2=&b;
Scanf(“%d,%d”,①,②);
swap(p1,p2);
Printf(“%d,%d”,a,b);
}
2、用函数的递归来实现N!
(N为输入的任意的一个数)。
XX大学计算机学院2008~2009学年第一学期
《C语言程序设计》期末考试试卷
年级08专业信管、应用、网络、电子信息工程层次:
普通高职普通本科
(本试卷考试时间120分钟满分100分)
题号
一
二
三
四
五
总分
复核
得分
得分
阅卷人
一、选择题(本大题共15小题,每小题2分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
答案
题号
11
12
13
14
15
答案
得分
阅卷人
二、填空题(本大题共10小题,每小题1分,共10分)
1、 2、 3、4、
5、6、7、
8、9、10、
得分
阅卷人
三、阅读程序并写出其执行结果(本题共25分)
1、程序的执行结果是:
2、程序的执行结果是:
3、程序的执行结果是:
4、程序的执行结果是:
5、程序的执行结果是:
得分
阅卷人
四、程序填空题(本大题共2小题,共20分)
1、①、②、③、④、⑤、
2、①、②、③、
得分
阅卷人
五、编程题(本大题共2小题,共15分)
1、
2、