您的当前位置:首页正文

c语言笔试题

2021-08-06 来源:钮旅网
山东省远大网络多媒体股份有限公司 C语言笔试题

一、选择题(共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

因篇幅问题不能全部显示,请点此查看更多更全内容