2009年福建省高职专升本科入学考试 软件工程/计算机科学与技术 专业知识试卷
C 01
2009年福建省高职专升本科入学考试
软件工程
计算机科学与技术
专业知识试卷
(考试时间150分钟,满分300份,共三部分)
答题说明: 请将答案写在答题纸相应的位置上。 注意事项: 答案写在试卷上一律不给分。 第一部分 C语言程序设计(共100分)
一、单项选择题(本大题共30小题,每小题2份,共60份) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将正确答案代码填写在答题纸相应位置上。 1. 下列选项中,合法的C语言标识符是________。
A. my_name B. $234 C. my name D. 23b
2. 已知:int x= 5;执行完printf(\后,输出的结果是:________。
A. 4 B. 5 C. 6 D. 不确定
3. 已知:int x = 5,y = 3;则逻辑表达式(x-y)&&(y-3)的值为________。
A. 7 B. 2 C. 1 D. 0
4. 已知:int a = 3,b = 6,c = 8;则执行完语句:a=a>b?a(b A. 3 B. 6 C. 8 D. 17 5. 有如下程序段执行后的结果是________。 main() { int a = 11,b = 3; printf(\} A. 3,2 B. 11,2 C. 3,3 D. 3.3,2 6. 有如下程序段: main() { char c; scanf(\ switch(c) { case 'A':printf(\ case 'B':printf(\ case 'C':printf(\ case 'D':printf(\ 1 2009年福建省高职专升本科入学考试 软件工程/计算机科学与技术 专业知识试卷 7. 8. 9. 10. 11. 12. default : printf(\ } } 当运行时输入“B回车”,则输出结果是________。 A. 4 B. 43 C. 432 D. 4321 已知字符'a'的ASCII码值为97,'A'的ASCII码值为65,则如下程序段的运行结果是________。 main() { char c = 'd'; int i = c - 32; printf(\} A. d,68 B. D,68 C. d,100 D. D,100 如下程序段的执行结果是________。 main() { int x = 1,y = 100; while(y > 0) {x *= 2; y /= 3;} printf(\} A. 8,0 B. 16,0 C. 32,0 D. 64,0 如下选项中正确的数组定义是________。 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} 执行程序段:char str[12]; scanf(\如果输入如下字符串(其中□表示空格): what’s□your□name? 则str的值是________。 A. what’s B. what’s□ C. what’s□your D. what’s□your□name? 如下程序段的运行结果是________。 main() { int i = 5,sum = 100; do{ sum = sum + (--i);}while(i >= 0); printf(\} A. 100 B. 109 C. 105 D. 110 如下程序段的运行结果是________。 main() { int i; for(i = 1; i <= 10; i++) { if(i % 3 == 0) continue; printf(\ 2 2009年福建省高职专升本科入学考试 软件工程/计算机科学与技术 专业知识试卷 13. 14. 15. 16. 17. 18. 19. } } A. 1,2,4,5,7,9,10, B. 1,2,3,4,5,6,7,8,9,10 C. 3,6,9, D. ,1,2,4,5,6,7,8,9,10, 若有说明:int a[5][6];则数组a的正确引用是________。 A. a[5][4] B. a[3,4] C. a(3)(4) D. 在C语言中,凡不加类型说明的函数,自动________。 A. 按无类型void处理 B. 按整型int处理 C. 按字符类型char处理 D. 按浮点型float处理 如下程序段的输出结果是________。 void kk(int a,int b) { a = a * b; printf(\main() { int a = 5,b = 6; kk(a,++b); printf(\} A. 30,6,30,6 B. 35,6,35,6 C. 30,7,5,7 D. 如下程序段的输出结果是________。 main() { static int a[6] = {3,6,9,12,15,18}; int *c = &a[2]; printf(\} A. 18,12 B. 15,18 C. 18,15 D. 如下程序段中语法正确的是________。 A. int *p; p = 1000; B. int a,*p; p = &a; C. int a,*p; *p = &a; D. int a = 1000,*p; p = a; 如下程序段的输出结果是:________。 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(\} A. 3,6,9 B. 8,6,26 C. 8,18,26 D. 如下程序段的输出结果是________。 main() { static int a[2][3] = {3,6,9,12,15,18}; int *c = a[1]; printf(\} a[3][4] 35,7,5,7 15,12 3,18,11 3 2009年福建省高职专升本科入学考试 软件工程/计算机科学与技术 专业知识试卷 20. 21. 22. 23. 24. 25. 26. A. 15,13 B. 6,7 C. 9,10 D. 12,13 已有函数定义如下________。 void aa(int a,char b,float c) {c = (float)(a+b);} 则下列程序段能够进行函数正确调用的是 A. main() {aa(5.0,'a',5);} B. main() {int *a; scanf(\ C. main() {int *a = 1; char b = 'b'; float c = 1.0; aa(a,b,c);} D. main() {int *a; scanf(\有如下定义: struct student { char name[10]; float score; int age; }stu1,*p; 则在C语言程序中给变量stu1赋值正确的是________。 A. str1 = {\ B. strcpy(stu1,name,\C. p = &stu1; p->name = \D. p = &stu1; p.name = \下面程序段中语法正确的是________。 A. int mm(int x,int y) {int x,y; return x + y;} B. char str[10]; scanf(\C. int i,a[10]; for(i = 0; i <= 10; i++) scanf(\D. int i,a[10],*p; for(i = 0,p = a;p < a + 10; p++) scanf(\已知int a;并且a已经被正确赋值,则下列逻辑表达式中与(!a)等价的是________。 A. (a == 0) B. (a > 0) C. !(a == 1) D. (a == 1) 若变量已经正确定义,要求程序段完成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); 已知int k;且k已经正确赋值,则下列表达式中存在语法错误的是________。 A. 2 < k < 6 B. (k < 6)++ C. k<6&&k>2 D. k == 1 如下程序段的输出结果是________。 main() { int i,j,a = 0; for(i = 1; i <= 5; i++) for(j = i; j <= 5; j++) a = a + j; printf(\ 4 2009年福建省高职专升本科入学考试 软件工程/计算机科学与技术 专业知识试卷 } A. 10 B. 25 C. 55 D. 75 27. 语句:printf(\执行时的输出结果是(□表示空格)________。 A. -0.36□□□□ B. -036□□□□□ C. □□□□-036 D. □□□□□-036 28. 如下程序段的输出结果是________。 main() { int a[10] = {34,22,12,66,8,33,22,338,56,99}; int i,x = 0; for(i = 1; i <10; i++) if(a[i] < a[x]) x = i; printf(\} A. 8 B. 34 C. 99 D. 338 29. 如下程序段的输出结果是________。 main() { char str[] = {'s','t','u','d','e','n','t','\\0'}; char *q = str; while(*q != '\\0') q++; printf(\} A. 5 B. 6 C. 7 D. 8 30. 如下程序段的输出结果是________。 #define n 5 struct student { int no; float score; } main() { struct student str[n] = {{1,12.5},{2,55.5},{3,90.5},{4,78.0},{5,34.0}}; int i; float a = 0,b; for(int = 0 i < n; i++) a += stu[i].score; b = a / n; printf(\} A. 0054.1000 B. 054.1000 C. 0054.1 D. 54.10000 二、程序阅读题(本大题共4小题,每小题5份,共20分) 阅读下列程序,请将运行时输出的结果写在答题纸相应的位置上。 31. /* 程序段中□表示空格 */ #include char str1[] = \□morning!\ 5