【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《河南大学专业测试卷及答案-C语言期末考试2010-2011B》,欢迎阅读!
•••••••
••• ••• •••
•••••
•:•
业密
•专•••• •
• •• • • •• • • •• :•• •级•••年••• • •
封
• •• • • •:•••名••姓•••• • •• • • • •• • • •:•• 号线
学••••••••• ••••••••••••••
河南大学民生学院2010~2011学年第2学期期末考试
C/C++语言 试卷B卷
考试方式:闭卷 考试时间: 120分钟 卷面总分: 100分
题 号 一 二 三 四 总成绩
合分人
得 分
得 分 评阅人
一 、判断题(每小题2分,共20分)
1、编译器可以发现程序中的语法错误以及逻辑错误。( )
2、表达式4>3>2>1的运行结果为“真”。( ) 3、switch语句属于分支结构的一种。( ) 4、用户定义的函数只能被main函数调用。( )
5、任何复杂的问题的,都可以由顺序、分支和循环组成的程序实现。( ) 6、若有int a[3]={5,7,8}; 则*(a+1)等同于a[1]。( ) 7、函数若无返回值,则它一定无形参。( )
8、定义在main函数后的任何函数都需在main中调用前进行函数声明。( ) 9、算术运算符和赋值运算符的结合方向均由左自右。( ) 10、其他函数中定义的变量在主函数中不能使用。( )
得 分
评阅人
二 、选择题(每小题2分,共20分)
1、以下( )是C/C++合法的标识符。
A.char2 B.@x C.int
D.7Bw
第 1 页 共6页
2、下列不合法的常量是( )。
A. 2.7 B.1.0E+3 C. 3.5E -3.0 D.3.4e -5 3、下列不正确的变量定义方法是( )。
A.int a,&b =a; B.float a,*b =&a; C.int a(4),b(0); D.int a=b=5;
4、已知x、y为整型,z为实型,ch为字符型,下列表达式中合法的是( )。 A.z=(y+x)++ B.x+y=z C.y=ch+x D.y=z%x 5、设 int a=12; 表达式a+=++a的值是( )。
A.24 B.25 C.26 D.13
6、下列叙述错误的是( )。
A.主函数中定义的变量在整个程序中都是有效的 B.复合语句中定义的变量只在该复合语句中有效 C.函数实参的数据类型必须和形参完全一致 D.形式参数是局部变量
7、数组名作为实参传递给形参时,数组名被处理为( )。
A. 该数组的长度 B. 该数组的元素个数 C. 该数组的首地址 D. 该数组中各元素的值 8、下面的函数定义正确的是( )。
A. float f(float x;float y) B. float f(float x , y) {return x﹡y;} {return x﹡y;} C. float f(x,y) D. float f(int x , int y ) {int x , y ; return x*y;} {return x * y} 9、函数调用语句func((a+b),(c+d+e));中含有( )个实参。
A. 2 B. 3 C. 4 D. 5
10、若有定义"int a[5];",fp是指向某一个已经正确打开了的文件指针,下面的函数调用形式中不正确的是( )。 A.fread(a[0],sizeof(int),5,fp); B.fread(&a[0],5*sizeof(int),1,fp); C.fread(a,sizeof(int),5,fp); D.fread(a,5*sizeof(int),1,fp);
第 2 页 共6页
•••••••••••••••
得 分 评阅人
for(i=0;iif( ) { t=pstr[i]; 三、读程序填空(每空2分,共20分)
••••••
•:•
业密
•专•••• • • •• • • •• • • •• :•••级•••年••• • •
封
• •• • • •:•••名••姓•••• • •• • • • •• • • •:••号线
学• •••• •••••••• ••• •••••••
1、以下程序实现输出
1+2+3+„„+100的和。 void main()
{ int i,sum =0;
for( ) sum+= printf(”sum = %d”,sum);}
2、以下search函数的功能是在数组a的10个元素中顺序查找关键数值m,直到找
到或查找到数组尾部时结束,找到则返回此元素的下标,若未找到,返回值—1。 # include
int search(int a[],int m) { int i;
for(i = 0;i <= 9;i + +)
if ( ) return(i);//判断数组元素是否为m return(—1);} main ( )
{ int a [10],m=2,i,no;
for (i = 0;i <= 9;i + +)
cin>>a;
no = //调用函数
if(no>= 0)cout<<” OK FOUND!”<; else cout<<”SORRY NOT FOUND”<; } 3、实现一函数sort,用“起泡法”对一字符数组的指定个数字符从小到大排序。 sort(char *pstr, int n)
{ int i,j;
char t;
for(j=1;j
3 页 共6页
;
;}
}
4、一下程序由键盘输入一个文件名,然后输入一字符串(用#结束输入)存放到此文件中,
形成文件,并要求将字符个数在屏幕上输出。 #include "stdio.h" #include "iostream.h" void main() { FILE *fp;
char ch,fname[30]; int count=0;
cout<<"input the filename:\n"; cin>>fname;
if(fp=fopen( ))==NULL) { cout<<"error\n";
exit(1); }
while( )
{
第 4 页 共6页 fputc(ch,fp);
; }
cout<fclose(fp); }
第 4 页 共6页
••••••••••••••••••
得 分 评阅人
四、程序编写(共40分)
•••
•:•
业密
•专•
••• • • •• • • •• • • •• :•••级•••年••• • •
封
• •• • • •:•••名••姓•••• • •• • • • •• • • • :••号线
学•••••••••••••••••••••••
编写完整的程序,程序中定义一个结构类型score,该类型描述了一个学生的学号和3门课的成绩(名称分别为num,kemua,kemub,kemuc)以及这3门课的平均分(名称为aver),定义一个函数,功能为计算stu数组(该数组类型为score)中各个学生的3门平均分,并将结果赋值给各自结构变量中的aver,编写主函数,定义10个元素的score类型结构数组,输入10个学生的学号及3门课成绩,并调用上述函数。
函数声明为: void calc (score stu[ ] );
第 5 页 共6页
第 6 页 共6页
本文来源:https://www.wddqxz.cn/f7cba328340cba1aa8114431b90d6c85ed3a88e9.html