座位号:
杭州电子科技大学学生考试卷(B)卷 考试课程 程序设计基础 课程号 考生姓名 教师号 学号(8位) 考试日期 2015年月日 任课教师姓名 年级 专业 成 绩 说明: 请将全部答案都书写在最后页答题纸上,否则答题无效。 试题一、单项选择题(每小题2分,共20分) 1.若有语句int x; float y; scanf(\,则要使x和y的值是123和456.7,从键盘上正确的输入是() A.123456.7 B.00123456.7 C.123,456.7 D.12300456.7 2. 若有定义int x; double y;,下列表达式中不合法的是( )。 A. x=12.34 B. y/=x C. x+y D. x%=y 3. 若有定义int x=10;以下表达式的值为1的是() A.0<=x<=9 B.x=10 C.x!=10 D.x 4.若有语句inti; for(i=0;i<10;i++);,则上述语句执行结束后i的值是() A.0B.9C.10D.不确定 5. 关于函数的说法正确是() A.函数调用结束后,必须返回一个值。 B. C程序可以由多个函数组成,任何函数之间可以相互调用。 C. 函数定义时可以没有形参。 D. 在函数中定义的变量可以给其他函数使用,只要用extern说明一下。 6. 若有定义int a[M][N],i,j;,则a[i][j]前有多少个数组元素() A. M*i+jB. N*i+j C. N*(i-1)+j-1D. N*i+j-1 7.以下定义一个字符数组str并对其进行初始化,有错误的是() A. char str[9]={'c',' ','p','r','o','g','r','a','m'}; B. char str[9]={'c'}; C.char str[9]={\D.char str[]={\ 8. 程序调用了库函数isalpha,必须包含头文件() A. stdio.hB. string.hC. math.h D. ctype.h 9. 若有定义int a=3,b=4,*p=&a;*p=5;p=&b,则下列说法正确的是() A. p的值是4B. *p的值是5C. *p的值是4 D.a的值是3
10.若有定义: struct student { int num; char name[10]; }stu[5],*p=stu; 下面正确的语句是() A.*p.num=1000;B. stu[2].name={\C. (p++)->num=1000;D. stu.num=1000; 试题二、程序阅读题(每题3分,共15分) 1. #include
座位号:
intx,y,t; scanf(\输入120 180 if(x 试题三、填空题(每空3分,共30分) 1.程序功能:求多项式1!+3!+5!+7!+……+n!的和 。 #include 座位号: } scanf(\ (8); for(j=0;j<3;j++){ scanf(\ stu[i].sum+=stu[i].score[j]; } if(stu[i].sum>stu[max].sum) max=i; } if(( (9))==NULL){ printf(\ exit(0); } (10); for(j=0;j<3;j++) fprintf(fp,\fprintf(fp,\fclose(fp); return 0; 试题四、程序设计题(共35分) 1.(10分)编写程序判断一个正整数是不是完数。 完数:一个数的所有因子之和等于该数本身,其中1是因子,自身不是因子。 比如6是完数:6=1+2+3;28是完数:28=1+2+4+7+14 2.(10分)编写一个子函数voiddel_bk(char *s),将s指向的字符串中的所有空格都删除掉。 要求用指针实现,主函数输入一个字符串,调用子函数void del_bk(char *s)删除空格,然后在主函数中输出删除空格后的字符串。 3.(15分)编写程序,输入10个整数,要求用结构体类型描述每个数的序号和数值,比如: struct DT { int no; int data; } 要求将这10个数按照其数值进行从小到大排序,并给出每个数据排序前的序号。并把输出结果写入磁盘文件D:\\tmp\\out.txt中。比如: 输入:4 3 6 9 2 10 8 5 7 1 输出:1(10) 2(5) 3(2) 4(1) 5(8) 6(3) 7(9) 8(7) 9(4) 10(6) 第3页共4页