???????密?????封?????线?????密?????封????? (A)无限和0 (B)0和无限 (C)都是无限 (D)都是0 10、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( ) (A) char s[10]=”abcdefg”; (B) char t[]=”abcdefg”,*s=t; (C) char s[10];s=”abcdefg”; (D) char s[10];strcpy(s,”abcdefg”); 学院计算机科学与技术系《高级语言程序设计》 课程考试题(2016年7月)A卷 题 号 得 分 评卷人 班 姓 名 座 号 一 二 三 四 五 总分 复核人 一、 单项选择题(本大题共15题,每题2分,共30分) 在每小题列出的四个选项中,选出一个正确答案,并将正确答案的号码写在题干后面的括号内。 1、正确的自定义标识符是( ) (A)name (B)1_a (C) a=2 (D)default 2、以下叙述中正确的是( ) (A)C程序中注释部分可以出现在程序中任意合适的地方 (B)花括号\和\只能作为函数体的定界符 (C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 (D)分号是C语句之间的分隔符,不是语句的一部分 3、设int x=8,y,z; 执行y=z=x++;x=y==z后,变量x的值是( )。 (A)0; (B)1 (C)8 (D)9 4、要把k+4的值转换成double型,正确的表达式是( )。 (A)double k+4 (B)(double)k+4 (C) (double)(k+4) (D) double 4+k 5、假定 int a=2, b=3, c=0, 表达式: (a= =b>1)+(a&&!c)+b/a*2.0 的值是( )。 (A) 2.0 (B) 3.0 (C) 4.0 (D) 5.0 6、有以下变量均为int型,则值不等于7的表达式是( ) (A)(x=y=6,x+y,x+1) (B)(x=y=6,x+y,y+1) 11、某文件中定义的静态全局变量(或称静态外部变量)的作用域是( ) (A)本文件 (B)只限某个函数 (C)跨文件 (D)没有限制 12、若有以下定义:char s[20] =\则不能代表字符n的表达式是( ) (A)ps+9 (B)s[9] (C) ps[9] (D) ps+=9,*ps 13、要使指针变量p指向1维数组A的第5个元素,正确的赋值表达式是( )。 (A) p=&A或 p=&A[4] (B) p=A+4或 p=&A[4] (C) p=&A+4或 p=A[4] (D) p=A+4或 p=A[4] 14、设x和y均为int型变量,则执行下面的循环后,y的值为( )。 for(y=1,x=1;y<=50;y++) { if (x>=10)break; if (x%2==1) { x+=5;continue;} x-=3; } (A) 2 (B) 4 (C) 6 (D) 8 15、上机运行以下程序会出现一个错误,这个错误的性质是( )。 main() { int i,j,a[]={3,2,1},b[]={6,4,2,0}; float s=0; for(i=0;i<3;i++) { j=b[a[i]]; s+=1.0/j; } printf(“\\n %f”,s); } (A) 数组说明语法错 (B)数组元素引用语法错 (C)分母为0运算错 (D)数组元素引用下标超界错 二、填空题(每空2分,共10分) 1、 存储字符串\所用的字节数是________。 (C)(y=6,y+1,x=y,x+1) (D)(x=6,x+1,y=6,x+y) 2、若a为float类型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100.0的值为________。 7、在C语言中,要求运算数是整型的运算符是( ) 3、以下函数调用语句中含有____________个实参。 (A)/ (B)% Punc((exp1,exp2,exp3),(exp4,exp5),(exp6,exp7)); (C)++ (D)!= 4、已知函数f的定义是:int f(int n){n+=1;return 2*n} 8、设i和x都是int型变量,则表达式x=625,i=(x>0?20:100);的值和i的值分别是( )。 则执行int m=5,n=3; m=f(n); 后,m的值是____________。 5、设有以下定义:#define a 6 (A) 20,20 (B) 11,11 (C) 9,9 (D) 625,100 #define b a+4 9、设int k;则语句for(k=0;k=2;k++);和for(k=0;k==2;k++);各自执行的次数是( ) 则执行语句c=b*10(c为int型数据)后,c的值为___________。 ???????密?????封?????线?????密?????封????? 班 姓 名 座 号 三、程序分析题(每题5分,共20分) 阅读下列程序段,在每题后写出其输出结果。 1、void main() { int x=80,a=10,b=16,y=9,z=0; if (a,程序执行后的输出结果是 3、char fun(char x , char y) {if(x ???????密?????封?????线?????密?????封????? 班 姓 名 座 号 五、程序设计题(共3题,共30分) 1、 求出10至1000之内能同时被2、3、7整除的数,并输出(8分) 2、 任意输入十个整数,求出它们的平均值(aver),找出十个数的最大值(max)和最小值(min) ,并将三者输出。(8分) 3、写一个用函数调用来实现统计字符串中某字符的出现次数的程序。函数f1(str,ch)的功能是统计并返回字符ch在字符串str中出现的次数。例如:调用f1(“every”,’e’)后返回2,因为在字符串”every”中字符’e’出现了2次。字符串和要统计的字符用scanf函数在主函数中输入,并在主函数中输出该字符在字符串中出现的次数。(14分)