2012年软件学院专业课试题-C语言部分
- 格式:doc
- 大小:66.50 KB
- 文档页数:6
2012年天津市大学软件学院高职升本专业课试题-理工类
1 2012年天津市大学软件学院高职升本专业课试题-理工类
考场号 考生号 姓名
第一部分 C语言部分 100分
一、单项选择题(共25小题,每题2分,共50分)
以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。
1. 一个C语言程序是由( )组成的。
A. 一个主程序和若干个子程序 B. 函数
C. 若干过程 D. 若干子程序
2. 若x、i、j和k均是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )。
A. 4 B. 16
C. 32 D. 52
3. 下列程序不是..死循环的是( )。
A. int i=100; B. int k=0;
while(1) do { ++k; } while(k>=0);
{ i=i%100+1;
if(i>100) break;
}
C. for(;;); D. int s=36;
while(s);--s;
4. 在C语言中一维数组的定义形式为:类型说明符 数组名( )。
A. [常量表达式] B. [整型表达式]
C. [整型常量]或[整型表达式] D. [整型常量]
5. 下面四个选项中,均是正确的八进制数或十六进制数的选项是( )。
A. -10 B. 0abc
-0x8f -017
-011 0xc
C. 010 D. 0a12
-0x11 -0x123
0xf1 -Ox8
6. putchar函数可以向终端输出一个( )。
A. 整型变量表达式值 B. 实型变量值
C. 字符串 D. 字符或字符型变量值
7. 下列程序的输出结果是( )。
main()
{ printf("%x",'A'); }
A. 65 B. 41
C. A D. 101
8. 程序int a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;的输出结果是( )。
printf("%d",*--p);
A. 非法 B. a[4]的地址
C. 5 D. 3
9. 以下选项中,与k=n++完全等价的表达式是( )。
A. k=n,n=n+1 B. n=n+1,k=n 2012年天津市大学软件学院高职升本专业课试题-理工类
2 C. k=++n D. k+=n+1
10. 被调函数调用结束后,返回到( )。
A. 主调函数中该被调函数调用语句处 B. 主函数中该被调函数调用语句处
C. 主调函数中该被调函数调用语句的前一语句 D. 主调函数中该被调函数调用语句的后一语句
11. 以下程序的输出结果是( )。
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i,j,k;
i=10,j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A. 15 B. 100
C. 10 D. 150
12. 对于以下变量定义,正确的赋值是( )。
int *p[3],a[3];
A. p=a B. *p=a[0]
C. p=&a[0] D. p[0]=&a[0]
13. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。
A. float型 B. long型
C. int型 D. double型
14. 以下关于指针概念的叙述中,错误..的是( )。
A. 一个指针变量只能指向同一类型的变量 B. 一个变量的地址称为该变量的指针
C. 两个同类型的指针变量可以加减运算 D. 任何指针变量都可以与指针NULL进行比较
15. C语言的整型数据在内存中的存储形式是( )。
A. 原码 B. 反码
C. 补码 D. ASCII码
16. 调试程序是指对程序进行( )。
A. 编辑 B. 编译
C. 查错和排错 D. 连接
17. 以下叙述正确的是( )。
A. 可以把define和if定义为用户标识符
B. 可以把if定义为用户标识符,但不能把define定义为用户标识符
C. define和if都不能定义为用户标识符
D. 可以把define定义为用户标识符,但不能把if定义为用户标识符
18. 以下程序的输出结果是( )。
void prtv(int *x)
{ printf("%d\n",++*x);}
main()
{ int a=25;
prtv(&a); }
A. 25 B. 26
C. 27 D. 以上均不对
19. 在C语言程序中( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套 2012年天津市大学软件学院高职升本专业课试题-理工类
3 B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义和调用均可以嵌套
20. 以下程序的输出结果是( )。
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2)); }
A. 3 B. 4
C. 1 D. 2
21. 构成C语言程序的基本单位是( )。
A. 过程 B. 函数
C. 语句 D. 命令
22. 在C语言中,复合语句的构成是将一系列语句置于( )。
A. begin和end之间 B. 方括号“[]”之间
C. 圆括号“()”之间 D. 花括号“{}”之间
23. 以上对一维整型数据a进行正确初始化的语句是( )。
A. int a[10]=(0,0,0,0,0); B. int a[10]={};
C. int a[]={}; D. int a[10]={10*1};
24. 在C语言中,要求运算数必须是整型的运算符是( )。
A. / B. ++
C. != D. %
25. 以下程序的输出结果是( )。
#define PS 3+4
#include
main()
{ int z;
z=PS*2;
printf("%d",z);
}
A. 14 B. 11
C. 2 D. 24
二、填空题(共5小题,每题1分,共10分,请按照试题中对应的标号顺序填写到答题表中)
1. 设有定义int x=9,y=8;表达式x==y+1的结果是 。
2. 在内存中存储"A"要占用 个字节,存储'A'要占用 个字节。
3. 访问变量的方式有 和 。
4. 结构化程序的三种结构是 、 、 。
5. C语言中,数组在内存中是一块 的存储区域,由 代表它的首地址。
三、判断题
判断下题是否正确,正确的划√,错误的划×(每题1分,共15分)
( )1. 在C语言中,除了main函数外,任何函数都可以递归调用。
( )2. break和return语句所起的作用是一样的,都是跳出循环。
( )3. 结构体类型本身不占内存空间,结构体变量占用内存空间。
( )4. C语言函数的返回值只能是数值,不能是地址。
( )5. 在C语言中,字符串常量存放在字符数组中要有一个结束符,该结束符是0。
( )6. 在C语言中,逗号既可以作为运算符,也可以作为分隔符。 2012年天津市大学软件学院高职升本专业课试题-理工类
4 ( )7. 任何表达式语句都是表达式加分号组成的。
( )8. 形参只有在被调用时才分配存储空间。
( )9. 对于二维数组a来说a+1与*(a+1)的值相等,因此二者的含义是一样的。
( )10. 将一个字符串"abc"赋值给字符串变量str的方法是str="abc"。
( )11. C语言的重要特点是能够直接处理物理地址,其指针类型数据就是用来存放变量地址的。
( )12. 凡在函数中未指定存储类别的局部变量,其默认的存储类别为static。
( )13. for语句作为循环控制语句时,其括号内各个表达式与其后的分号都可省略。
( )14. unsigned和void在C语言中都是保留字。
( )15. 设有定义: int (*ptr)();ptr指向函数的指针,该函数返回一个int型数据。
四、阅读程序题
本题共5小题,每小题5分,共25分,请写出程序的运行结果
1. 【程序】
#include
main()
{ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;
for(i=0;i<6;i++)
{ for(j=0;j<6;j++)
if(a[i]==b[j]) break;
if(j<6) printf("%d ",a[i]);
}
printf("\n");
}
【运行结果】
2. 【程序】
#include
int f(int x,int y)
{ return ((y-x)*x); }
main()
{ int a=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf("%d\n",d);
}
【运行结果】