一、选择题(共30分,每题2)
1. 字符串常量“\MyName\\103”的长度是( )。
A. 6 B.8 C.12 D.14 2. 算法的时间复杂度是指( )。
A.执行算法程序所需要的时间 B.算法程序的长度
C.执行算法程序所需要的时间 D.算法程序中的指令条数
3. 下面关于完全二叉树的叙述中,错误的是( )
A.除了最后一层外,每一层上的结点数均达到最大值 B.可能缺少若干个左右子结点 C.完全二叉树一般不是满二叉树
D.具有结点的完全二叉树的深度为[long2n]+1
4. 一个良好的算法由下面的基本结构组成,但不包括( )。
A. 顺序结构 B.选择结构 C.循环结构 D.跳转结构5. 下面程序在屏幕上的输出是( )。 main() {
printf(\"ab\\b\\bc\")
}
A. ab\\b\\bc B.ac C.abc D.ab c 6. 若执行下面程序时从键盘输入5
main() {
int x; scanf(”%d”,
if(x++>5)
printf(”%d\n”,else
printf(”%d\n”,x);
c语言笔试题
&x);
x);
1
山东省远大网络多媒体股份有限公司 c语言笔试题
}
A. 6 B.5 C.7 D.4
7. 下面关于字符数组的叙述中,错误的是( )
A. 字符数组可以放字符串
B. 字符数组的字符可以整体输入、输出
C. 可以在赋值语句中通过赋值运算符对字符数组整体赋值 D. 可以用关系运算符对字符数组比较大小
8. if„„else中为避免嵌套出现二义性,规定else字句总与( )配对。
A.其之前最近的if语句
B.其之前最近且尚未配对的if语句 C.缩排位置相同的if语句 D.与其之后最近的if语句
9. 非数组、指针或引用型变量做实参时,它和对应形参之间的数据传递方式是
( )。
A. 地址传递 B.单向值传递 C.双向值传递 D.由用户指定传递方式 10. 下列可用于C语言用户标识符的一组是( )。
A. void define WORD B. a3_b3_123 Car C. For -abc IDCase D. 2ajo sizeof
E. 由new运算符分配的内存空间,当函数执行结束时系统会自动收回 D. 对于程序中的静态数组占用的存储空间不能使用delete来释放 11. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
( )。
A. 只读 B.追加 C.读或或读写 D.以上均正确 12. 设有定义 struct aa {
int rl;double r2;float r3;
2
山东省远大网络多媒体股份有限公司 c语言笔试题
union uu{char u1[5];long u2[2];}ua; }mya;
结构体变量mya占用内存的字节数是( ) A.30 B.29 C.24 D.32
13. 下面程序运行后,输出的结果是( ) main() {
char *p1=\"abc\”xyz”; strcpy(str+2,strcat(p1,p2)); printf(“%s\\n”,str); }
A.xyzabcABC B.zabcABC C.yzabcABC D.xyabcABC 14. 下面程序运行后,输出结果是( ) main() { int
a[2][3]={1,3,5,7,9,1
1}
,
*s[2]
,
**pp
,
*p
s[0]=a[0],
s[1]=a[1]
pp=s
p=(int*)malloc(sizeof(int))
**pp=s[1][1] p=*pp printf(
”
%
d
\
n
”
,
*p)
}
A.1 B.7 C.9 D.11
15. 关于结构体概念的叙述中,正确的说法是( )。
A.相同类型数据的集合称为结构体 B.不同类型数据的集合称为结构体C.数据的集合称为结构体 D.整数的集合称为结构体
3
;;;;;;; 山东省远大网络多媒体股份有限公司 c语言笔试题
二、判断题(共10分,每题1分)
1. 在C语言中do-while语句和for循环语句均是先执行循环体语句,再判断
表达式。( )
2. strcmp()函数的功能是比较两个字符串的大小,其返回值为逻辑值。( ) 3. C语言的函数可以嵌套定义,也可以嵌套调用。( )
4. 若改变函数中与全局变量名同名的局部变量的值,不会影响全局变量。( ) 5. 一个共用体变量所占字节数为各成员所占字节数的和。( ) 6. C语言中运算符的优先级最低的是逗号运算符。( ) 7. 指针变量是专门用来存放另一个变量地址的变量。( ) 8. 设对变量int x进行“<<”运算,结果等价x/2。( ) 9. 表达式x+=a/b等价于表达式x=(x+a)/b。( )
10. 静态局部变量在函数调用结束后就释放其存储单元。( ) 三、简答题(共20分,第1题6分,第2、3题各8分)
1.三种循环结构中的条件是什么时候开始执行?循环结构中break语句和contine语句作用是什么,二者有何区别。
2.简单描述排序算法中冒泡排序、选择排序、插入排序的基本实现思路。
3.C语言中栈、队列的概念及特点?树与二叉树的区别?
4
山东省远大网络多媒体股份有限公司 c语言笔试题
四、阅读分析题(共15分,每题5分) 1. 阅读以下程序并写出输出结果。 void main() {
int i=1; int s=0;
for(i=1;i<20;i++) {
if(i%2==0 || i%3==0) continue; printf(\"%d \);
s+=i; }
printf(\"%d \); }
2. 阅读以下程序并写出输出结果。 void main() {
int a[]={1,3,5,7,9}; int *p,*q,k; p=&a[0]; q=&a[4];
for(;q-p>0;p++,q--) {
k=*p; *p=*q; *q=k; }
for(k=0;k<4;k++) printf(\"%d \); }
3. 在以下程序中输入17856392,并写出输出结果。 void fun(long int , long int *); void main() { l
long s, t;
scanf(\"%ld\ fun(s, &t);
5
山东省远大网络多媒体股份有限公司 c语言笔试题
printf(\"%ld\\n\ }
void fun(long int s, long int *t) { int d; long s1=1; *t=0;
while(s>0) { d=s%10;
if(d%2!=0)
{
*t=d*s1+*t; s1*=10; }
s/=10; } }
五、编程题(共25分,第1题10分,第2题15分) 1. 输入某年某月某日,判断这一天是这一年的第几天? 2. 定义一个结构体指针,实现单链表的创建及遍历。
6
因篇幅问题不能全部显示,请点此查看更多更全内容