logo资料库

天津市大学软件学院 专业课试题 文史.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
2013 年天津市大学软件学院高职升本专业课试题-文史类 考场号 考生号 姓名 一、单项选择题(共 20 小题,每题 2 分,共 40 分) 第一部分 C 语言部分 100 分 以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表” 对应的格中,未填入答题表,错选或多选均不得分。 1. 表示当 x 的取值在[1,10]和[200,210]范围内为真,否则为假的 C 语言表达式为 A. (x>=1&&x<=10)&&(x>=200&&x<=210) C. (x>=1&&x<=10)||(x>=200&&x<=210) B. (x>=1||x<=10)||(x>=200||x<=210) D. (x>=1||x<=10)&&(x>=200||x<=210) 2. 若有以下定义: int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中 0≤i≤9,则为数组元素 a[i]不正确的引用是 A. *(p+i) C. p[i] B. *(a+i) D. *a[i] 3. 判断 char 型变量是否为数字的 C 表达式为 A. ('0'<=ch&ch<='9') C. (ch>="0"&&ch<='9') 4. 以下程序段构成的循环是 B. (ch>='0'&&ch<='9') D. (ch>=0&&(ch<=9) for(x=0,y=0;(y!=12&&x<4);x++) ; A. 无限循环 C. 执行 4 次 B. 循环次数不定 D. 执行 3 次 5. 以下程序的输出结果是 #include main() { int i; for(i=1;i<=5;i++) { if(i%2) printf("*"); else continue; printf("#"); } } A. *#*#*# C. *#*# B. *##*##*##*## D. #*#* 6. 以下程序的输出结果是 #include #define MAX(x,y) (x)>=(y)?(x):(y) main() { int i=10,j=15; printf("%d",10*MAX(i,j)); } A. 15 C. 10 B. 100 D. 150 7. 设有说明:int (*ptr)[8];则 ptr 是 A. 指向整形变量的指针 B. 指向函数的指针,该函数的返回值为 int 数据 C. 指向一维数组的指针,该数组的基类型为 int D. 长度为 8 的一维指针数组 1
B. a[4]的地址 D. 5 8. 以下程序段的输出结果是 char a[]="0123456789",*p=a+4; printf("%c",*p++); A. 4 C. 6 9. 下面程序的运行结果是 #include main() { int a=1,b=10; do { b−=a; a++; }while(b−−<0); printf("a=%d,b=%d\n",a,b); } A. a=3,b=11 C. a=1,b=−1 10. 执行下面程序,输入 2 后的输出结果是 B. a=2,b=8 D. a=4,b=9 #include main( ) { int k; scanf("%d",&k); switch(k) { case 1:printf("%d\n",k++);break; case 2:printf("%d\n",k++); case 3:printf("%d\n",k++);break; default:printf("Full!\n"); } } A. 1 C. 2 3 B. 2 D. 2 3 Full 11. 若有以下结构体和变量定义,则以下引用方法不正确...的是 struct worker { int sno; char *name; } work,*p=&work; A. work.sno C. p->sno 12. char s[10],*p;则以下不正确的表达式是 A. p=s+1; C. *(s+1)=*p; B. (*p).name D. work->sno B. p=s++; D. *p++=s[2]; 13. 以下不能对二维数组 a 正确初始化的语句是 A. int a[2][3]={{1,2,3},{4,5},{6}}; C. int a[2][4]={1,2,3}; B. int a[][3]={{1,2,3},{4,5,6}}; D. int a[][3]={{1,0,1},{},{1,1}}; 14. 若有以下说明和语句,则输出结果是 char sp[]="\t\n\\0will\n"; 2
printf("%d",strlen(sp)); A. 4 C. 9 15. 对于结构体类型,以下说法正确的是 B. 3 D. 字符串中有非法字符 A. 定义结构体时不能定义结构体变量 B. 结构体变量所占的空间等于占空间最大的成员所需空间 C. 结构体类型可以作为返回值类型 D. 结构体定义后可以与标准类型一样使用,但前面必须使用 struct 16. 在 C 语言中,要求运算数必须是整型的运算符是 A. / C. != B. ++ D. % 17. 以下程序段在 VC6.0 环境中运行的输出结果是 struct studentinfo { char name[10]; int SNO; char sex; } student,*ps=&student; printf("%d,%d",sizeof(student),sizeof(ps));的输出结果是 A. 15,15 C. 15,2 B. 15,4 D. 4,2 18. 根据 17 题中的结构体和变量定义,不能..正确输出 name 成员的语句是 A. printf("%s",student.name); C. printf("%s",*ps.name); B. printf("%s",ps->name); D. printf("%s",(*ps).name); 19. 以下程序的输出结果是 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A. 0650 C. 5430 B. 147 D. 输出值不定 20. 设有以下变量定义:char str[20],i; 当输入“zhang 空格 hong 回车”时,能正确读入“zhang hong”的程序段是 A. scanf("%s",str); B. for(i=0,str[i]=getchar();str[i]!='\n';) str[i++]=getchar(); C. gets(str); D. for(i=0,str[i]=getchar();str[i]!='\0';i++) str[i]=scanf("%c",str[i]); 二、填空题(共 10 题,每题 1 分,共 10 分) 请按照试题中对应的标号顺序填写到答题表中 C 函数中若省略函数类型说明,则该函数类型默认为 1. 2. 局部变量默认的存储类型为 3. 文件包含命令#include 有两种形式,区别是搜索路径不同。 。 。 包含系统 string.h 应该使用 。 4. 如果要限定变量的作用域仅在当前文件有效,应使用 5. break 和 continue 都可以用于循环结构中,其中 3 关键字。 只是结束本次循环,回到循环体第一条
语句开始下次循环。 C 语言变量有四种存储类别,其中关键字 extern 的含义是 6. 7. 静态变量的初始化是在 8. 数组名作为实参使用时,传送的是 。 9. 10. C 语言中多维数组可嵌套定义,即 n 维数组可看作元素类型为 三、判断题 sizeof 运算符的对象即可以是变量,也可以是 阶段完成的。 。 。 。 判断下题是否正确,正确的划√,错误的划×(每题 1 分,共 15 分) C 语言中局部变量和全部变量可以同名,并且在函数内局部变量优先于全局变量。( ) ) ) ) void 关键字只能用于定义函数,不能定义变量。( C 语言要求所有被调用的函数一定要在调用语句之前进行定义。( 1. 在 do-while 循环中,循环体至少执行一次。( 2. 3. 预处理命令都是以#号开头,且每行只能写一条命令。( 4. 定义二维数组时,如果对数组的所有元素赋值,则可省略长度说明。( 5. 6. 函数内定义的静态变量当函数执行完其值依然存在。( 7. 8. 一个函数直接或间接的调用自己,称作递归调用。( 9. 全局变量是指在 main 函数中定义的变量。( ) 10. for(exp1;exp2;exp3) 语句 s;中的 s 可以是空语句。( 11. 结构体可以与标准类型一样使用,但前面使用 struct 关键字。( 12. main 函数称为主函数,是个无参函数。( 13. 表达式 n=++i 等价于 n=i;i=i+1;。( 14. 语句 char s[]="test"与 char s[]={'t','e','s','t'};是等价的。( 15. C 函数中的函数即可以嵌套定义,也可以嵌套调用。( 四、阅读程序题 ) ) ) ) ) ) ) ) ) ) 本题共 5 小题,每小题 5 分,共 25 分,请写出程序的运行结果 1. 【程序】 #include #include main() { char i,s[5][81],max=0; printf("input 5 strings"); for(i=0;i<5;i++) gets(s[i]); for(i=0;i<5;i++) if(strlen(s+i)>max) max=i; puts(s[max]); } 【运行结果】写出从键盘输入一下 5 个字符串时程序的运行结果 "Program","test","I am a student","wee","computer" 4
2. 【程序】 #include main() { int i,f1=1,f2=1; for(i=1;i<=5;i++) { printf("\t%d\t%d",f1,f2); f1=f1+f2;f2=f1+f2; } printf("%d,%d\n",f1,f2); } 【运行结果】 3. 【程序】 #include void fun(int n) { static int fn=1; fn=fn*n; printf("\t%d",fn); } main() { int i; for(i=2;i<=5;i++) fun(i); } 【运行结果】 4. 【程序】 void select(int max,int a[],int n) { int i; max=a[0]; for(i=1;imax) max=a[i]; } main() { int i,max=10,a[10]={10,20,30,40,50,60,70,80,90,100}; select(max,a,10); printf("\nmax=%d",max); } 【运行结果】 5
5. 【程序】写出输入 84 时程序运行结果 #include main() { int score; printf("\n input score: "); scanf("%d",&score); switch(score/10) { case 10: case 9: printf("\n 优"); case 8: printf("\n 良"); case 7: case 6: printf("\n 及格"); default: printf("\n 不及格"); } } 【运行结果】 五、编程题(本题共 1 题,10 分) 已知每张选票上按序印有候选人姓名,要求选民从中勾选 3 人,多选或少选都视为废票不予统计,统 计选票时输入数据的格式为长度为 5 的由 0 和 1 组成的字符串:“1”表示对相应候选人被选中,“0” 表示未选中,如“01011”表示第 2、4、5 个候选人被选中。 请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下 统计结果: 1. 总有效投票数。 2. 每个候选人姓名及投票数。 提示:候选人信息已保存在以下的数组中,无须再从键盘输入。 struct item { char name[20]; int count; /*保存候选人及得票信息的结构体*/ /*候选人姓名*/ /*得票数*/ } mans[5]={{"name1",0},{"name2",0},{"name3",0},{"name4",0},{"name5",0}}; 6
分享到:
收藏