软件学院专业课试题文史类answer.docx
- 文档编号:13742095
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:12
- 大小:19.24KB
软件学院专业课试题文史类answer.docx
《软件学院专业课试题文史类answer.docx》由会员分享,可在线阅读,更多相关《软件学院专业课试题文史类answer.docx(12页珍藏版)》请在冰点文库上搜索。
软件学院专业课试题文史类answer
2013年软件学院专业课试题-文史类(answer)
2013年天津市大学软件学院高职升本专业课试题-文史类
考场号考生号姓名
第一部分C语言部分100分
一、单项选择题(共20小题,每题2分,共40分)
以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。
1.表示当x的取值在[1,10]和[200,210]范围内为真,否则为假的C语言表达式为C
A.(x>=1&&x<=10)&&(x>=200&&x<=210)B.(x>=1||x<=10)||(x>=200||x<=210)
C.(x>=1&&x<=10)||(x>=200&&x<=210)D.(x>=1||x<=10)&&(x>=200||x<=210)
2.若有以下定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则为数组元素a[i]不正确的引用是D
A.*(p+i)B.*(a+i)
C.p[i]D.*a[i]
3.判断char型变量ch是否为数字的C表达式为B
A.('0'<=ch&ch<='9')B.(ch>='0'&&ch<='9')
C.(ch>="0"&&ch<="9")D.(ch>=0&&ch<=9)
4.以下程序段构成的循环是C
for(x=0,y=0;(y!
=12&&x<4);x++);
A.无限循环B.循环次数不定
C.执行4次D.执行3次
5.以下程序的输出结果是A
#include
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)printf("*");
elsecontinue;
printf("#");
}
}
A.*#*#*#B.*##*##*##*##
C.*#*#D.#*#*
6.以下程序的输出结果是C
#include
#defineMAX(x,y)(x)>=(y)?
(x):
(y)
main()
{inti=10,j=15;
printf("%d",10*MAX(i,j));
}
A.15B.100
C.10D.150
7.设有说明:
int(*ptr)[8];则ptr是C
A.指向整形变量的指针
B.指向函数的指针,该函数的返回值为int数据
C.指向一维数组的指针,该数组的基类型为int
D.长度为8的一维指针数组
8.以下程序段的输出结果是A
chara[]="0123456789",*p=a+4;
printf("%c",*p++);
A.4B.a[4]的地址
C.6D.5
9.下面程序的运行结果是B
#include
main()
{inta=1,b=10;
do
{b−=a;
a++;
}while(b−−<0);
printf("a=%d,b=%d\n",a,b);
}
A.a=3,b=11B.a=2,b=8
C.a=1,b=−1D.a=4,b=9
10.执行下面程序,输入2后的输出结果是C
#include
main()
{intk;
scanf("%d",&k);
switch(k)
{case1:
printf("%d\n",k++);break;
case2:
printf("%d\n",k++);
case3:
printf("%d\n",k++);break;
default:
printf("Full!
\n");
}
}
A.1B.2
C.23D.23Full
11.若有以下结构体和变量定义,则以下引用方法不正确的是D
structworker
{intsno;
char*name;
}work,*p=&work;
A.work.snoB.(*p).name
C.p->snoD.work->sno
12.chars[10],*p=s;则以下不正确的表达式是B
A.p=s+1;B.p=s++;
C.*(s+1)=*p;D.*p++=s[2];
13.以下不能对二维数组a正确初始化的语句是A
A.inta[2][3]={{1,2,3},{4,5},{6}};B.inta[][3]={{1,2,3},{4,5,6}};
C.inta[2][4]={1,2,3};D.inta[][3]={{1,0,1},{},{1,1}};
14.若有以下说明和语句,则输出结果是C
charsp[]="\t\n\\0will\n";
printf("%d",strlen(sp));
A.4B.3
C.9D.字符串中有非法字符
15.对于结构体类型,以下说法正确的是C
A.定义结构体时不能定义结构体变量
B.结构体变量所占的空间等于占空间最大的成员所需空间
C.结构体类型可以作为返回值类型
D.结构体定义后可以与标准类型一样使用,但前面必须使用struct
16.在C语言中,要求运算数必须是整型的运算符是D
A./B.++
C.!
=D.%
17.以下程序段在VC6.0环境中运行的输出结果是
structstudentinfo
{charname[10];
intSNO;
charsex;
}student,*ps=&student;
printf("%d,%d",sizeof(student),sizeof(ps));的输出结果是B
A.15,15B.15,4
C.15,2D.4,2
18.根据17题中的结构体和变量定义,不能正确输出name成员的语句是C
A.printf("%s",student.name);B.printf("%s",ps->name);
C.printf("%s",*ps.name);D.printf("%s",(*ps).name);
19.以下程序的输出结果是A
main()
{inta[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.0650B.147
C.5430D.输出值不定
20.设有以下变量定义:
charstr[20],i;
当输入“zhang空格hong回车”时,能正确读入“zhanghong”的程序段是C
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分)
请按照试题中对应的标号顺序填写到答题表中
1.C函数中若省略函数类型说明,则该函数类型默认为int。
2.局部变量默认的存储类型为auto。
3.文件包含命令#include有两种形式,区别是搜索路径不同。
包含系统文件string.h应该使用#include
4.如果要限定变量的作用域仅在当前文件有效,应使用static关键字。
5.break和continue都可以用于循环结构中,其中continue只是结束本次循环,回到循环体第一条语句开始下次循环。
6.C语言变量有四种存储类别,其中关键字extern的含义是声明外部变量。
7.静态变量的初始化是在编译阶段完成的。
8.数组名作为实参使用时,传送的是数组首地址。
9.sizeof运算符的对象即可以是变量,也可以是常量。
10.C语言中多维数组可嵌套定义,即n维数组可看作元素类型为n-1维数组。
三、判断题
判断下题是否正确,正确的划√,错误的划×(每题1分,共15分)
1.在do-while循环中,循环体至少执行一次。
(√)
2.C语言中局部变量和全部变量可以同名,并且在函数内局部变量优先于全局变量。
(√)
3.预处理命令都是以#号开头,且每行只能写一条命令。
(×)
4.定义二维数组时,如果对数组的所有元素赋值,则可省略长度说明。
(×)
5.C语言要求所有被调用的函数一定要在调用语句之前进行定义。
(×)
6.函数内定义的静态变量当函数执行完其值依然存在。
(√)
7.void关键字只能用于定义函数,不能定义变量。
(×)
8.一个函数直接或间接的调用自己,称作递归调用。
(√)
9.全局变量是指在main函数中定义的变量。
(×)
10.for(exp1;exp2;exp3)语句s;中的s可以是空语句。
(√)
11.结构体可以与标准类型一样使用,但前面须用struct关键字。
(×)
12.main函数称为主函数,是个无参函数。
(×)
13.表达式n=++i等价于n=i;i=i+1;。
(√)
14.语句chars[]="test";与chars[]={'t','e','s','t'};是等价的。
(×)
15.C函数中的函数即可以嵌套定义,也可以嵌套调用。
(×)
四、阅读程序题
本题共5小题,每小题5分,共25分,请写出程序的运行结果
1.【程序】
#include
#include
main()
{chari,s[5][81],max=0;
printf("input5strings");
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","Iamastudent","wee","computer"
Iamastudent
2.【程序】
#include
main()
{inti,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);
}
【运行结果】
1123581321345589,144
3.【程序】
#include
voidfun(intn)
{staticintfn=1;
fn=fn*n;
printf("\t%d",fn);
}
main()
{inti;
for(i=2;i<=5;i++)fun(i);
}
【运行结果】
2624120
4.【程序】
voidselect(intmax,inta[],intn)
{inti;
max=a[0];
for(i=1;i if(a[i]>max)max=a[i]; } main() {inti,max=10,a[10]={10,20,30,40,50,60,70,80,90,100}; select(max,a,10); printf("\nmax=%d",max); } 【运行结果】 max=10 5.【程序】写出输入84时程序运行结果 #include main() {intscore; printf("\ninputscore: "); scanf("%d",&score); switch(score/10) {case10: case9: printf("\n优"); case8: printf("\n良"); case7: case6: printf("\n及格"); default: printf("\n不及格"); }} 【运行结果】 良 及格 不及格 五、编程题(本题共1题,10分) 已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串: “1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。 请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果: 1.总有效投票数。 2.每个候选人姓名及投票数。 提示: 候选人信息已保存在以下的数组中,无须再从键盘输入。 structitem/*保存候选人及得票信息的结构体*/ {charname[20];/*候选人姓名*/ intcount;/*得票数*/ }mans[5]={{"name1",0},{"name2",0},{"name3",0},{"name4",0},{"name5",0}}; #include main() {charstr[6]; inti,flag,count=0; gets(str); while(str[0]! ='\0') {for(flag=0,i=0;i<6;i++) if(str[i]=='1')flag++; if(flag==3) {count++; for(i=0;i<6;i++) if(str[i]=='1')mans[i].count++; } gets(str); } printf("count=%d\n",count); for(i=0;i<5;i++)printf("%s=%d\n",mans[i].name,mans[i].count);}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 学院 专业课 试题 文史类 answer