C 012009年福建省高职专升本科入学考试软件工程专业知识试卷计算机科学与技术(考试时间150分钟,满分300份,共三部分)答题说明:请将答案写在答题纸相应的位置上。
注意事项:答案写在试卷上一律不给分。
第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2份,共60份)在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。
1. 下列选项中,合法的C语言标识符是________。
A. my_nameB. $234C. my nameD. 23b2. 已知:int x= 5;执行完printf("%d",++x);后,输出的结果是:________。
A. 4B. 5C. 6D. 不确定3. 已知:int x = 5,y = 3;则逻辑表达式(x-y)&&(y-3)的值为________。
A. 7B. 2C. 1D. 04. 已知:int a = 3,b = 6,c = 8;则执行完语句:a=a>b?a(b<c?b:c);后,a的值是________。
A. 3B. 6C. 8D. 175. 有如下程序段执行后的结果是________。
main(){ int a = 11,b = 3;printf("%d,%d",a/b,a%b);}A. 3,2B. 11,2C. 3,3D. 3.3,26. 有如下程序段:main(){ char c;scanf("%c",&c);switch(c){ case 'A':printf("5");case 'B':printf("4");case 'C':printf("3");case 'D':printf("2");default : printf("1");}}当运行时输入“B回车”,则输出结果是________。
A. 4B. 43C. 432D. 43217. 已知字符'a'的ASCII码值为97,'A'的ASCII码值为65,则如下程序段的运行结果是________。
main(){ char c = 'd';int i = c - 32;printf("%c,%d",i,i);}A. d,68B. D,68C. d,100D. D,1008. 如下程序段的执行结果是________。
main(){ int x = 1,y = 100;while(y > 0){x *= 2; y /= 3;}printf("%d,%d",x,y);}A. 8,0B. 16,0C. 32,0D. 64,09. 如下选项中正确的数组定义是________。
A. #define m 10; static int a[m] = {3,4,5,6};B. static int a[2] = {3,4,5,6}C. static int a[10] = {3,4,5,6};D. int m = 4; static int a[m] = {3,4,5,6}10. 执行程序段:char str[12]; scanf("$s",str);如果输入如下字符串(其中□表示空格):what’s□your□name?则str的值是________。
A. what’sB. what’s□C. what’s□yourD. what’s□your□name?11. 如下程序段的运行结果是________。
main(){ int i = 5,sum = 100;do{ sum = sum + (--i);}while(i >= 0);printf("%d",sum);}A. 100B. 109C. 105D. 11012. 如下程序段的运行结果是________。
main(){ int i;for(i = 1; i <= 10; i++){ if(i % 3 == 0) continue;}}A. 1,2,4,5,7,9,10,B. 1,2,3,4,5,6,7,8,9,10C. 3,6,9,D. ,1,2,4,5,6,7,8,9,10,13. 若有说明:int a[5][6];则数组a的正确引用是________。
A. a[5][4]B. a[3,4]C. a(3)(4)D. a[3][4]14. 在C语言中,凡不加类型说明的函数,自动________。
A. 按无类型void处理B. 按整型int处理C. 按字符类型char处理D. 按浮点型float处理15. 如下程序段的输出结果是________。
void kk(int a,int b){ a = a * b; printf("%d,%d,",a,b); }main(){ int a = 5,b = 6;kk(a,++b);printf("%d,%d",a,b);}A. 30,6,30,6B. 35,6,35,6C. 30,7,5,7D. 35,7,5,716. 如下程序段的输出结果是________。
main(){ static int a[6] = {3,6,9,12,15,18};int *c = &a[2];printf("%d,%d",*(c+3),*c+3);}A. 18,12B. 15,18C. 18,15D. 15,1217. 如下程序段中语法正确的是________。
A. int *p; p = 1000;B. int a,*p; p = &a;C. int a,*p; *p = &a;D. int a = 1000,*p; p = a;18. 如下程序段的输出结果是:________。
int mm(int *a,int b){ *a = *a + 5; b *= 3; return *a + b; }main(){ int a = 3,b = 6;int c = mm(&a,b);printf("%d,%d,%d",a,b,c);}A. 3,6,9B. 8,6,26C. 8,18,26D. 3,18,1119. 如下程序段的输出结果是________。
main(){static int a[2][3] = {3,6,9,12,15,18};printf("%d,%d",*(c+1),*c+1);}A. 15,13B. 6,7C. 9,10D. 12,1320. 已有函数定义如下________。
void aa(int a,char b,float c) {c = (float)(a+b);}则下列程序段能够进行函数正确调用的是A. main() {aa(5.0,'a',5);}B. main() {int *a; scanf("%d",&a); aa(a,'a',9);}C. main() {int *a = 1; char b = 'b'; float c = 1.0; aa(a,b,c);}D. main() {int *a; scanf("%d",a); aa(a,'a',3.0);}21. 有如下定义:struct student{ char name[10];float score;int age;}stu1,*p;则在C语言程序中给变量stu1赋值正确的是________。
A. str1 = {"ddd",60.0,55};B. strcpy(stu1,name,"ddd"); stu1.score = 66.0; stu1.age = 15;C. p = &stu1; p->name = "ddd"; p->score = 66.0; p->age = 15;D. p = &stu1; = "ddd"; p.score = 66.0; p.age = 15;22. 下面程序段中语法正确的是________。
A. int mm(int x,int y) {int x,y; return x + y;}B. char str[10]; scanf("%s",&str);C. int i,a[10];for(i = 0; i <= 10; i++) scanf("%d",&a[i]);D. int i,a[10],*p;for(i = 0,p = a;p < a + 10; p++) scanf("%d",p);23. 已知int a;并且a已经被正确赋值,则下列逻辑表达式中与(!a)等价的是________。
A. (a == 0)B. (a > 0)C. !(a == 1)D. (a == 1)24. 若变量已经正确定义,要求程序段完成1到100的累加,下列选项中不能完成此功能的程序段是________。
A. for(i = 1,sum = 0; i <= 100; i++) sum = sum + i;B. i = 1;sum = 0; while(i++ <= 100) sum = sum + i;C. for(i = 1; i <= 100; i++) {sum = 0; sum = sum + i;}D. i = 1; sum = 0; do{sum = sum + i;}while(++i <= 100);25. 已知int k;且k已经正确赋值,则下列表达式中存在语法错误的是________。
A. 2 < k < 6B. (k < 6)++C. k<6&&k>2D. k == 126. 如下程序段的输出结果是________。
main(){int i,j,a = 0;for(i = 1; i <= 5; i++)for(j = i; j <= 5; j++)printf("%d",a);}A. 10B. 25C. 55D. 7527. 语句:printf("%-8.4d",-36);执行时的输出结果是(□表示空格)________。