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. 若有以下定义:
int a[]={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型变量是否为数字的C表达式为 B
A. ('0'<=ch&ch<='9') B. (ch>='0'&&ch<='9') C. (ch>=\ 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
for(i=1;i<=5;i++)
{ if(i%2) printf(\ else continue; printf(\ } }
A. *#*#*# B. *##*##*##*## C. *#*# D. #*#* 6. 以下程序的输出结果是 C
#include
#define MAX(x,y) (x)>=(y)?(x):(y) main()
{ int i=10,j=15;
printf(\ }
A. 15 B. 100 C. 10 D. 150 7. 设有说明:int (*ptr)[8];则ptr是 C
A. 指向整形变量的指针 B. 指向函数的指针,该函数的返回值为int 数据 C. 指向一维数组的指针,该数组的基类型为int D. 长度为8的一维指针数组
1
8. 以下程序段的输出结果是 A
char a[]=\printf(\
A. 4 B. a[4]的地址 C. 6 D. 5 9. 下面程序的运行结果是 B
#include
{ int a=1,b=10; do
{ b?=a; a++;
}while(b??<0);
printf(\}
A. a=3,b=11 B. a=2,b=8 C. a=1,b=?1 D. a=4,b=9 10. 执行下面程序,输入2后的输出结果是 C
#include
scanf(\ switch(k)
{ case 1:printf(\ case 2:printf(\
case 3:printf(\ default:printf(\ } }
A. 1 B. 2 C. 2 3 D. 2 3 Full 11. 若有以下结构体和变量定义,则以下引用方法不正确的是 D ...
struct worker
{ int sno; char *name; } work,*p=&work;
A. work.sno B. (*p).name C. p->sno D. work->sno 12. char s[10],*p;则以下不正确的表达式是 B
A. p=s+1; B. p=s++; C. *(s+1)=*p; D. *p++=s[2]; 13. 以下不能对二维数组a正确初始化的语句是 A
A. int a[2][3]={{1,2,3},{4,5},{6}}; B. int a[][3]={{1,2,3},{4,5,6}}; C. int a[2][4]={1,2,3}; D. int a[][3]={{1,0,1},{},{1,1}}; 14. 若有以下说明和语句,则输出结果是 C
char sp[]=\
2
printf(\
A. 4 B. 3
C. 9 D. 字符串中有非法字符 15. 对于结构体类型,以下说法正确的是 C
A. 定义结构体时不能定义结构体变量
B. 结构体变量所占的空间等于占空间最大的成员所需空间 C. 结构体类型可以作为返回值类型
D. 结构体定义后可以与标准类型一样使用,但前面必须使用struct 16. 在C语言中,要求运算数必须是整型的运算符是 D
A. / B. ++ C. != D. % 17. 以下程序段在VC6.0环境中运行的输出结果是
struct studentinfo { char name[10]; int SNO; char sex;
} student,*ps=&student;
printf(\的输出结果是 C A. 15,15 B. 15,4 C. 15,2 D. 4,2 18. 根据17题中的结构体和变量定义,不能正确输出name成员的语句是 C ..
A. printf(\ B. printf(\
C. printf(\ D. printf(\19. 以下程序的输出结果是 A
main()
{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf(\ }
A. 0650 B. 147
C. 5430 D. 输出值不定 20. 设有以下变量定义:char str[20],i;
当输入“zhang空格hong回车”时,能正确读入“zhang hong”的程序段是 C A. scanf(\
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(\
二、填空题(共10题,每题1分,共10分)
请按照试题中对应的标号顺序填写到答题表中
1. C函数中若省略函数类型说明,则该函数类型默认为 int 。 2. 局部标量默认的存储类型为 auto 。
3. 文件包含命令#include有两种形式,区别是搜索路径不同。
包含系统string.h应该使用 #include
4. 如果要限定变量的作用域仅在当前文件有效,应使用 static 关键字。
5. break和continue都可以用于循环结构中,其中 continue 只是结束本次循环,回到循环体第一条语
3
句开始下次循环。
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. 语句char s[]=\与char s[]={'t','e','s','t'};是等价的。( × ) 15. C函数中的函数即可以嵌套定义,也可以嵌套调用。( × ) 四、阅读程序题
本题共5小题,每小题5分,共25分,请写出程序的运行结果 1. 【程序】
#include
{ char i,s[5][81],max=0; printf(\ 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个字符串时程序的运行结果 \,\,\,\,\
I am a student
4
2. 【程序】
#include
{ int i,f1=1,f2=1; for(i=1;i<=5;i++)
{ printf(\ f1=f1+f2;f2=f1+f2; }
printf(\ }
【运行结果】
1 1 2 3 5 8 13 21 34 5589,144
3. 【程序】
#include
printf(\ } main() { int i;
for(i=2;i<=5;i++) fun(i); }
【运行结果】
2 6 24 120
4. 【程序】
void select(int max,int a[],int n) { int i; max=a[0];
for(i=1;i if(a[i]>max) 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(\ } 【运行结果】 max=10 5 5. 【程序】写出输入84时程序运行结果 #include { int score; printf(\ scanf(\ switch(score/10) { case 10: case 9: printf(\优\ case 8: printf(\良\ case 7: case 6: printf(\及格\ default: printf(\不及格\ } } 【运行结果】 良 及格 不及格 五、编程题(本题共1题,10分) 已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串:“1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。 请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果: 1. 总有效投票数。2. 每个候选人姓名及投票数。 提示:候选人信息已保存在以下的数组中,无须再从键盘输入。 struct item /*保存候选人及得票信息的结构体*/ { char name[20]; /*候选人姓名*/ int count; /*得票数*/ } mans[5]={{\#include { char str[6]; int i,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(\ for(i=0;i<5;i++) printf(\ 6 5. 【程序】写出输入84时程序运行结果 #include { int score; printf(\ scanf(\ switch(score/10) { case 10: case 9: printf(\优\ case 8: printf(\良\ case 7: case 6: printf(\及格\ default: printf(\不及格\ } } 【运行结果】 良 及格 不及格 五、编程题(本题共1题,10分) 已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串:“1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。 请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果: 1. 总有效投票数。2. 每个候选人姓名及投票数。 提示:候选人信息已保存在以下的数组中,无须再从键盘输入。 struct item /*保存候选人及得票信息的结构体*/ { char name[20]; /*候选人姓名*/ int count; /*得票数*/ } mans[5]={{\#include { char str[6]; int i,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(\ for(i=0;i<5;i++) printf(\ 6 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2013年软件学院专业课试题-文史类(answer)在线全文阅读。
相关推荐: