文档库 最新最全的文档下载
当前位置:文档库 › 2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)

2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)

2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)

一、填空题

1、请读程序段:

int x=1;

printf("%d\n",~x);

上面程序段的输出结果是_______。

2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是

3、一个C语言源程序由若干函数组成,其中至少应含有一个________

4、在C语言中的实型变量分为两种类型,它们是_______和_______。

5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。

6、请填空:

建立如图所示存储结构所需的说明语句是_______。

建立如图所示为变量a输入数据的输入语句是_______。

建立如图所示存储结构所需的赋值语句是_______。

7、下面程序段的运行结果是_______。

x=2;

do{printf("*");x--;)while(!x==0);

8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;

_______

}node;

9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、

b=20、c=30;交换后,a=20、b=30、c=10。请填空。

_______;a=b;b=c;_______;

10、设有以下宏定义:

#define WIDTH80

#define LENGTH(WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。

二、选择题

11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( )

12、下面4个选项中,是合法转义字符的选项是( )。

A.’\"

B. '\ '

C. ' \018'

D. '\\o'

'\\ ' ' \017' '\f' '\10l'

'\n' '\ " ' xab' ' xlf'

13、以下C程序的运行结果是。(注:口表示空格)

#include

int main()

{int y=2456;

printf("y=%3o\n",y);

printf("y=%8o\n",y);

printf("y=%#8o\n",y);

return 0;

}

A.y=口口口2456

B.y=囗口□4630

y=口口口口口口口口2456 y=口口口口口口口04630 y= ########2456 y= ########4630 C.y=2456 D.y=4630

y=口口口口2456 y=口口口口4630

y=口口口02456 y=口口口04630

14、设x、y均为float型变量,则以下不合法的赋值语句()。

A.++x;

B.yy=(x%2)/10;

C.x*=y+8;

D.x=y=0;

15、判断字符串s1是否大于字符串s2,应当使用()。

A.if(s1>s2)

B.if(strcmp(s1,s2))

C.if(strcmp(s2,s1)>0)

D.if(strcmp(s1,s2)>0)

16、以下叙述不正确的是( )

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

17、对for(表达式1;;表达式3)可理解为()。

A.for(表达式1;0;表达式3)

B.for(表达式1;1;表达式3)

C.for(表达式1;表达式1;表达式3)

D.for(表达式1;表达式3;表达式3)

18、若用数组名作为函数调用的实参,则传递给形参的是()

A.数组的首地址

B.数组第一个元素的值

C.数组中全部元素的值

D.数组元素的个数

19、若有说明语句,则以下不正确的叙述是()。

char a[]="It is mine";char*p="It is mine";

A.a+1表示的是字符t所在存储单元的地址

B.p指向另外的字符串时,字符串的长度不受限制

C.p变量中存放的地址值可以改变

D.a中只能存放10个字符

20、若有定义:inta[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[4],k;则下面程序段的输出结果是()。

for(k=0;k<4;k++)

q[k]=&a[k*3];

printf("%d\n",q[3][0]);

A.8

B.16

C.20

D.输出项不合法,结果不确定

21、以下程序的运行结果是()。

#include

int fun(int a,int B.

{if(a>B.return(a+B.;

else return(a-B.;

int main()

{int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

printf("%d\n",r);

return(0);

}

A.-16

B.-17

C.17

D.16

22、定义如下变量和数组:

int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。

for(k=0;k<3;k++)printf("%d",a[k][2-k]);

A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

23、当运行以下程序时,从键盘输入:

aa bb<回车>

ccdd<回车>

则下面程序的运行结果是()。

#include

int main()

{char al[5],a2[5],a3[5],a4[5];

scanf("%s%s",al,a2);

gets(a3);gets(a4);

puts(a1);puts(a2);

puts(a3);puts(a4);

return 0;

}

A)aa B)aa C)aa D)aa bb bb bb bb cc

cc cc dd dd cc dd dd ee

24、以下程序()。

#include

int main()

{int a=5,b=0,c=0;

if(a=b+C.printf("***\n");

else printf("$$$\n");

return 0;

}

A.有语法错不能通过编译

B.可以通过编译但不能通过连接

C.输出***

D.输出$$$

25、下面程序的运行结果是()。

#include

int main()

{int i;

for(i=1;i<=5;i++)

{if(i%2)printf(”x");

else continue;

printf("#");

printf("$\n");

return 0;

}

A.*#*#*#$

B.#*#*#*$

C.*#*#$

D.#*#*$

三、读程序填空

26、以下程序的输出结果是_______。

#include

int main()

{int x=1,y=2;

printf("x=%dy=%d*sum*=%d\n",x,y,x+y);

printf("10 Squared is:%d\n",10*10);

return 0;

}

27、以下程序的输出结果是_______。

#include

int main()

{int x=10;float pi=3.1416;

printf("(1)%d\n",x);

printf("(2)%6d\n",x);

printf("(3)%f\n",56.1);

printf("(4)%14fNn", pi);

printf("(5)%e\n",568.1);

printf("(6)%14e\n", pi);

printf("(7)%g\n", pi);

printf("(8)%12g\n", pi):

return 0;

}

28、若运行时输入:4.4<回车>,则以下程序的运行结果是_______。

#include

int main()

{float costPrice,sellingPrice;

printf("Enter costPrice$:");

scanf("%f",&costPrice);

if(costPrice>=5)

{sellingPrice=costPrice+costPrice*0.25;

printf("Selling Price(0.25)$%6.2f", sellngPrice):

}

else

(sellingPrice=costPrice+costPrice*0.30;

printf("Selling Price (0.30)$%6.2f', sellingPrice);

return 0;

}

29、若运行以下程序时输入:100<回车>,则程序的运行结果是_______。

#include

int main()

{int a;

scanf("%d",&a);

printf("%s",(a%2!=0)?"no":"yes");

return 0;

}

30、下面程序的输出结果是_______。

#include

int main()

{inti,j,k=19;

while(i=k-1)

{k-=3;

if(k%5==0){i++;continue;}

else if(k<5)break;

i++;

}

printf("i=%d,k=%d\n",i,k);

return 0;

}

31、函数f中的形参a为一个10×10的二维数组,n的值为5,以下程序的运行结果为_______。

void f(int a[10][10],int n)

{inti,j,k;

j=n/2+1;a[1][j]=1;i=1;

for(k=2;k<=n*n;k++)

{i=i-1;j=j+1;

if((i<1)&&(j>n))

{i=i+2;j=j-1;}

else

{if(i<1)i=n;

if(j>n)j=1;i

}

f(a[i][j]==0)a[i][j]=k;

else{i=i+2;j=j-1;a[i][j]=k;}

}

}

32、下面程序的功能是生成并打印某数列的前20项,该数列第1、2项分别为0和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存放在一维数组x中,并按每行4项的形式输出。请填空。

# include

int main()

{ int x[21],i=3,j:

x[1]=0;x[2]=1;

do

{x=[1]:

x[i+1]=[2];

i=[3]:

}while(i<=20);

for(i=1;i<=20;i++)

{ printf("%5d",x[]);

if(i%4==0) printf("\n");

}

return 0;

}

33、以下程序给方阵a中所有边上的元素和两个对角线上的元素置1,其他元素置0。要求对每个元素只置一次值,最后按矩阵形式输出a。请填空。

#include

int main()

{int a[10][10];

int i,j=9;

for(i=0;i<10;_______)

{a[i][i]=1;*(*(a+i)+j)=1;}

for(i=1;i<9;i++)*(*a+i)=1;

for(i=1;i<9;i++)*(_______)=1;

for(i=8;i>0;i-一)*(*(a+9)+_______)=1;

for(i=8;i>0;i-一)*(*(a+i)+9)=1;

for(i=1;i<=8;i++)

for(j=1;j<=8;j++)

if(*(*(a+i)+j)!=1)*(*(a+i)+j)=0;

for(i=0;i<10;i++)

{for(j=0;j<10;j++)

printf("%2d",*(*(a+i)+j));

printf("\n");

}

return(0);

}

四、编程题

34、编写程序实现功能:读入两个运算数(datal和data2)及一个运算符(op),计算表达式datal op data2的值,其中op可以为十、一、*、/四个符号中的任一

种(用switch语句实现)。

35、编写程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。

参考答案

一、填空题

1、-2

2、【1】.c【2】.obj【3】.exe

3、主函数(或main函数)

4、【1】单精度型(或:float型)【2】双精度型(或:double型)

5、0

6、【1】char a,*p;【2】scanf("%c",8.a);【3】p=8.a;

7、**

8、structs*next;

9、【1】t=a【2】c=t

10、2400

二、选择题

11、C

12、A

13、D

14、B

15、D

16、D

17、B

18、A

19、D

20、C

21、B

22、A

23、A

24、D

25、A

三、读程序填空

26、x=1 y=2*sum*=310 Squared is:100

27、(1)10

(2)口口口囗10

(3)56.100000

(4)口口口口口口3.141600

(5)5.68100e+02

(6)口口口3.14160e+00

(7)3.1416

(8)口口口口囗囗3.1416

(注:答案中的囗代表空格)

28、Selling Price(0.30)$5.72

29、yes

30、i=6,k=4

31、打印5阶幻方:

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 31

11 18 25 2 9

32、【1】x[i-1]+x[i-2]

【2】fabs((double)(x[i-1]-x[i]))

【3】i+2

33、【1】++,j--【2】*(a+i)【3】i

四、编程题

34、#include

#include

int main()

{float datal,data2,data3;

char op;

printf("\ nType in your expression:");

scanf("%f%c%f",8. datal,8. op,&. data2); switch(op) { case'+': data3=datal+data2;

break;

case'-': data3=datal-data2;

break;

case'*': data3=datal* data2;

break;

case'/': i

f(data2==0)

{printf("\ nDivision by zero!");

exit(1);}

data3=datal/data2;

break;

printf("This is %6.2f%c%6.2f=%6.2f\n", datal, op, data2, data3); return 0;

}

35、#include

int main()

{static char x[]="computer";

char*p;

for(p=x;p

putchar(*p);

printf("\n");

return 0;

}

2022年成都东软学院公共课《C语言》科目期末试卷A(有答案)

2022年成都东软学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、请读程序段: int x=1; printf("%d\n",~x); 上面程序段的输出结果是_______。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、在C语言中的实型变量分为两种类型,它们是_______和_______。 5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。 6、请填空: 建立如图所示存储结构所需的说明语句是_______。 建立如图所示为变量a输入数据的输入语句是_______。 建立如图所示存储结构所需的赋值语句是_______。 7、下面程序段的运行结果是_______。 x=2;

do{printf("*");x--;)while(!x==0); 8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。 struct s{char data; _______ }node; 9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。例如:交换前,a=10、 b=20、c=30;交换后,a=20、b=30、c=10。请填空。 _______;a=b;b=c;_______; 10、设有以下宏定义: #define WIDTH80 #define LENGTH(WIDTH+40) 则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。 二、选择题 11、对应以下各代数式中,若变量a和x均为double类型,则不正确的C语言表达式是( )

2022年西安文理学院公共课《C语言》科目期末试卷A(有答案)

2022年西安文理学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x为无符号整数。表达式x^(~(~0<

2022年成都东软学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年成都东软学院计算机科学与技术专业《数据结构与算法》科目 期末试卷A(有答案) 一、选择题 1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为()排序法。 A.插入 B.选择 C.希尔 D.二路归并 2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。 A.13 B.33 C.18 D.40 3、单链表中,增加一个头结点是为了()。 A.使单链表至少有一个结点 B.标识表结点中首结点的位置 C.方便运算的实现 D.说明单链表是线性表的链式存储 4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列 中的元素数是()。 A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D.rear-front 5、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。 A.h->next=s B.s->next=h C.s->next=h;h->next=s D.s->next=h-next;h->next=s 6、下列选项中,不能构成折半查找中关键字比较序列的是()。 A.500,200,450,180 B.500,450,200,180

C.180,500,200,450 D.180,200,500,450 7、下列叙述中,不符合m阶B树定义要求的是()。 A.根结点最多有m棵子树 B.所有叶结点都在同一层上 C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接 8、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。 A.107 B.108 C.214 D.215 9、设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲的右孩子,下列结论正确的是()。 A.在树T中,X是其双亲的第一个孩子 B.在树T中,X一定无右兄弟 C.在树T中,X一定是叶结点 D.在树T中,X一定有左兄弟 10、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是()。 A.(100,80,90,60,120,110,130) B.(100,120,110,130,80,60,90) C.(100,60,80,90,20,110,130) D.(100,80,60,90,120,130,110) 二、填空题 11、以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。

成都东软信息技术学院数据结构试题2

成都东软信息技术学院 期末试题--数据结构(C语言) 本课程为闭卷考试,试卷共六道大题,试卷满分100分,考试时间120分钟。 一.选择题(10×2分):共10小题,请将答案填入题中的括号中,每小题只有一个正确答案,错选或不选均不给分。 1.组成数据的基本单位是(C ) A.数据项B.数据类型 C.数据元素D.数据变量 2.下面程序段的时间复杂度为(D )。 for(i=0;inext=p->next; p->next=s; B.q->next=s; s->next=p; C.p->next=s->next; s->next=p; D.p->next=s; s->next=q;

5.若让元素a,b,c依次进栈,则出栈次序不可能出现(C )种情况。 A.cba B.bac C.Cab D.acb 6.在一个链队列中,假定front和rear分别为队头和队尾指针,则插入*s结点的操作应执行()。 A.front->next=s; front=s; B.s->next=rear; rear=s; C.rear->next=s; rear=s; D.s->next=front; front=s; 7.当采用顺序存储方式存储队列时,可能出现存储空间剩余,而不允许继续入队的情况,称为()。 A.溢出B.队列不能用顺序存储方式 C.数组存储空间过小D.假溢出 8.一棵深度为k的满二叉树有()个结点。 A.2k -1 B.2k-1 C.2k D.2k 9.一棵完全二叉树的结点按层次遍历从1开始编号,如果编号为m的结点有双亲,则双亲的编号为()。 A.2×m B.m/2 C.m+1 D.m-1 10.快速排序在()情况下最不利于发挥其长处。 A.被排序的数据量很大B.被排序的数据完全无序 C.被排序的数据已基本有序D.被排序的数据中最大的值与最小值相差不大 二.填空题(30分):每空2分, 1. 数据的逻辑结构被分为、、和线性表。

2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案)

2022年重庆理工大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、请读程序段: int a=-1; a=a|0377; printf("%d,%o\n",a,a);以上程序段的输出结果是_______。 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、C语言源程序的基本单位是________ 4、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。 5、在C语言的赋值表达式中,赋值号左边必须是_______ 6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。) for(k=0;k<10;k++) printf("%d,",_______); printf("\n"); 7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分 是_______,改正后为_______。 void add(float a,float b) {float c;

c=a+b; return c; } 8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及 相应的格式说明。 union {int n;doublex;}num; num.n=10; num.x=10.5; printf("_______",_______); 9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=_______;b=a-_______;a-=_______; 10、下面程序wdm的运行结果是_______。 int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0}; for(i=0;i<10;i++)y[x[i]]++; printf("%d\n",y[3]); 二、选择题 11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 为( )。 A.4 B.16 C.32 D.52

2022年西北民族大学公共课《C语言》科目期末试卷A(有答案)

2022年西北民族大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 2、一个C语言源程序由若干函数组成,其中至少应含有一个________ 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______ 5、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为 _______,b的值为_______,c的值为_______。 6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。已有调用语句process(a,b,max);和process(a,b,min);。请填空。 void process(_______) {int result; result=(*fun)(x,y); printf("%d\n",result); } 7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。 a[0]=1;a[1]=2;swap(a,2); 8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union {int n;doublex;}num; num.n=10; num.x=10.5; printf("_______",_______); 9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。 #include int main() {int a,b; float x,y; char cl,c2; scanf("a=%d b=%d",&.a,&.b); scanf("x=%f y=%",8.x,8.y); scanf("c1=%cc2=%c”,8.cl,8.c2); printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2); return0; } 10、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 二、选择题

2022年西京学院公共课《C语言》科目期末试卷A(有答案)

2022年西京学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、请读程序段: int x=1; printf("%d\n",~x); 上面程序段的输出结果是_______。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、在C语言源程序中,一个变量代表【】。 4、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。 5、表达式x=6应当读做_______ 6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。已有调用语句process(a,b,max);和process(a,b,min);。请填空。 void process(_______) {int result; result=(*fun)(x,y); printf("%d\n",result); } 7、下面程序段的运行结果是_______。 x=2;

do{printf("*");x--;)while(!x==0); 8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正 确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=_______;b=a-_______;a-=_______; 10、下面程序段的运行结果是_______。 char ch[]="600";int a,s=0; for(a=0;ch[a]>= '0'&&ch[a]<='9';a++) s=10*s+ch[a]-'o'; printf("%d",s); 二、选择题 11、下面4个选项中,是合法转义字符的选项是( )。 A.’\" B. '\ ' C. ' \018' D. '\\o' '\\ ' ' \017' '\f' '\10l' '\n' '\ " ' xab' ' xlf' 12、在C语言中,要求运算数必须是整型的运算符是( )。 (A) / B.++ C.!= D.% 13、以下不符合C语法的赋值语句是()。

2022年集美大学公共课《C语言》科目期末试卷A(有答案)

2022年集美大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______ 5、在C语言的赋值表达式中,赋值号左边必须是_______ 6、以下程序的运行结果是_______。 #include int main() {char s[]="ab\'cdefg\",*p=s+1; printf("%c”,*(p++)); printf("%s",p+2); return(0); } 7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。 a[0]=1;a[1]=2;swap(a,2);

8、设有如下结构体说明: struct ST {int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 10、下面程序段的运行结果是_______。 char ch[]="600";int a,s=0; for(a=0;ch[a]>= '0'&&ch[a]<='9';a++) s=10*s+ch[a]-'o'; printf("%d",s); 二、选择题 11、若有代数式3ac ,则不正确的C语言表达式是( )。 bc A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3 12、以下正确的叙述是( )。 A.在C程序中,每行中只能写一条语句 B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

2022年湖南农业大学东方科技学院公共课《C语言》科目期末试卷A(有答案)

2022年湖南农业大学东方科技学院公共课《C语言》科目期末试卷 A(有答案) 一、填空题 1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。 2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过 连接后,生成文件的后缀是 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、在C语言的赋值表达式中,赋值号左边必须是_______ 5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。 6、下面程序段的运行结果是_______。 Char a[]="123456789",*p; inti=0;p=a; while(*p) {if(i%2==0)*p='*'; p++;i++; } puts(a); 7、执行下面程序段后,k的值是_______。 k=1;n=263; do{k*=n%10;n/=10;} while(n);

8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 10、下面程序段的运行结果是_______。 int i=5;char c[6]="abcd"; do{c[i]=c[i-1];}while(--i>0); puts(c); 二、选择题 11、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( ) A.7 B.8 C.6 D.2 12、设有说明语句:int k=7,x=12;则以下能使值为3的表达式是( )。 A..x%=(k%=5) B..x%=(k-k%5) C..x%=k-k%5 D..(x%=k)-(k%=5) 13、若有以下定义,则正确的赋值语句是()。 int a,b;float x; A.a=1,b=2, B.b++; C.a=b=5 D.b=int(x); 14、已知ch是字符型变量,下面不正确的赋值语句是() A.ch='a+b'; B.ch='\o'; C.ch='7'+'9'; D.ch=5+9; 15、以下不正确的定义语句是()。 A.double x[5]={2.0,4.0,6.0,8.0,10.0};

数据结构(C语言)试卷(1)

成都东软信息技术学院 200 ~200 学年第学期期末试题——数据结构(C语言) 本课程为闭卷考试,试卷共六道大题,试卷满分100分,考试时间120分钟。 一.选择题(10×2分):共10小题,请将答案填入题中的括号中,每小题只有一个正确答案,错选或不选均不给分。 1.组成数据的基本单位是() A.数据项B.数据类型 C.数据元素D.数据变量 2.线性表的链式存储实现有利于()运算。 A.插入B.读表元 C.查找D.定位 3.二叉树第i(i≥1)层最多有()个结点。 A.2i B.2i C.2i-1D.2i -1 4.设单链表中指针p指向结点A,若删除A后的结点存在,则需要修改指针的操作为()。 A.p->next=p->next->next B.p=p->next C.p=p->next->next D.p->next=p 5.设一数列的输入顺序为1,2,3,4,5,6,通过栈操作不可能排成的输出序列为()。 A.3,2,5,6,4,1 B.1,5,4,6,2,3 C.2,4,3,5,1,6 D.4,5,3,6,2,1 6.如果结点A有3个兄弟,而且B为A的双亲,则B是度为() A.3 B.4 C.5 D.1 7.设循环队列Q[0..N-1]的头尾指针为F.R,当插入元素时尾指针R加1,头指针F总是指向队列中第一个元素的前一个位置,则队列中元素计数为()。 A.R-F B.N-(R-F) C.(R-F+N)%N D.(F-R+N)%N 8.若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束后,键值的排序为()。 A.10,15,14,18,20,36,40,21 B.10,15,14,18,20,40,36,21 C.10,15,14,20,18,40,36,21 D.15,10,14,18,20,36,40,21 9.设有100个元素,用二分法查找时,最大比较次数是(),最小比较次数是()。 A.25 B.7 C.10 D.1 10.具有2000个结点的二叉树,其高度至少为()。 A.9 B.10

2022年西安理工大学公共课《C语言》科目期末试卷A(有答案)

2022年西安理工大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。 2、C语言源程序的基本单位是________ 3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是 4、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______ 5、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 6、下面程序可求出图中方括号内的元素之积,请填空。 # include int main() { int x[3][3]={7,2,1,3,4,8,9,2,6}; int s,*p; p=_______; s=*p*_______; printf("product=%d",s); return(0); }

7、函数swap(int x,inty)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。 a[o]=1;a[1]=2; swap(a[o],a[1]); 8、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 10、下面程序wdm的运行结果是_______。 int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0}; for(i=0;i<10;i++)y[x[i]]++; printf("%d\n",y[3]); 二、选择题 11、下面4个选项中,是合法整型常量的选项是( )。 A.160 B.-0xcdf C.-01 D.-0x48a -0xffff 01a 986 0122e5 011 0xe 066 80x 12、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( ) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和下划线中任一种字符 13、以下针对scanf函数的叙述中,正确的是()。

2022年西安理工大学高科学院公共课《C语言》科目期末试卷A(有答案)

2022年西安理工大学高科学院公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、请读程序段: int a=1,b=2; if(a&b)printf("***\n"); else printf("$$ $\n"); 以上程序段的输出结果是_______。 2、C语言的源程序必须通过【】和【】后,才能被计算机执行。 3、结构化程序由________、________ 、________ 3种基本结构组成。 4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%= (n%=2)后x的值为_______。 5、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 6、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。请填空。(假设程序段中的所有变量均已正确说明。) for(k=0;k<10;k++) printf("%d,",_______); printf("\n"); 7、下面程序段中循环体的执行次数是_______。 a=10;b=0;

do{b+=2;a-=2+b;}while(a>=0); 8、设有如下结构体说明: struct ST {int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。 struct s{char data; _______ }node; 10、下面程序wdm的运行结果是_______。 int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0}; for(i=0;i<10;i++)y[x[i]]++; printf("%d\n",y[3]); 二、选择题 11、下面4个选项中,是合法整型常量的选项是( )。 A.160 B.-0xcdf C.-01 D.-0x48a -0xffff 01a 986 0122e5

2022年武汉工程大学公共课《C语言》科目期末试卷A(有答案)

2022年武汉工程大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。 5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。 5x7+3x6-4x5+2x1+x3-6x2+x+10 6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。请填空。(假设程序段中的所有变量均已正确说明。) for(k=0;k<10;k++,m++)scanf("%d",_______); 7、下面程序段是找出整数的所有因子。请填空。 scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i);

i++; } 8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。 union {int n;doublex;}num; num.n=10; num.x=10.5; printf("_______",_______); 9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。 #include int main() {int a,b; float x,y; char cl,c2; scanf("a=%d b=%d",&.a,&.b); scanf("x=%f y=%",8.x,8.y); scanf("c1=%cc2=%c”,8.cl,8.c2); printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2); return0;

2022年成都大学公共课《C语言》科目期末试卷A(有答案)

2022年成都大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、请读程序段: unsigned a=16; printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。 5x7+3x6-4x5+2x1+x3-6x2+x+10 5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。 6、下面程序段的运行结果是_______。 chara[]="12345",*p; int s=0; for(p=a;*p!=\0';p++) s=10*s+*p-'o'; printf("%d\n",s); 7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。 for(x=0;x<=30;x++) {y=30一x;

if(_______)printf("%d,%d\n",x,y); } 8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。 struct s{char data; _______ }node; 9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。 a+=_______;b=a-_______;a-=_______; 10、下面程序wdm的运行结果是_______。 int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0}; for(i=0;i<10;i++)y[x[i]]++; printf("%d\n",y[3]); 二、选择题 11、在C语言中,char型数据在内存中的存储形式是()。 A.补码 B.反码 C.原码 D.ASCII码 12、设有说明语句:char w;intx;float y;double z;则表达式w*x+z-y值的 数据类型为()。 A.float. B.char C.int D.double

2022年山东财经大学东方学院公共课《C语言》科目期末试卷A(有答案)

2022年山东财经大学东方学院公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、结构化程序由________、________ 、________ 3种基本结构组成。 3、C语言的源程序必须通过【】和【】后,才能被计算机执行。 4、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______ 5、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为 _______。 6、若有以下定义和语句: int*p[3],a[6],i; for(i=0;i<3;i++) p[i]=8&a[2*i]; 则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。 7、下面程序段中循环体的执行次数是_______。 a=10;b=0; do{b+=2;a-=2+b;}while(a>=0); 8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2; scanf("%4c%4c",&cl,8&c2); 9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、 cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为 _______。 10、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。 二、选择题 11、设有说明语句:int k=7,x=12;则以下能使值为3的表达式是( )。 A..x%=(k%=5) B..x%=(k-k%5) C..x%=k-k%5 D..(x%=k)-(k%=5) 12、C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( ) A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字和下划线中任一种字符 13、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&C.;为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是()。(注:囗表示空格) A.132<回车> B.1,3,2<回车> C.a=1囗b=3囗c=2<回车> D.a=1,b=3,c=2<回车> 14、若有以下定义,则正确的赋值语句是()。 int a,b;float x; A.a=1,b=2, B.b++; C.a=b=5 D.b=int(x); 15、对以下定义语句的正确理解是()。

2022年北方民族大学公共课《C语言》科目期末试卷A(有答案)

2022年北方民族大学公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、请读程序段: int x=1; printf("%d\n",~x); 上面程序段的输出结果是_______。 2、C语言源程序的基本单位是________ 3、在C语言源程序中,一个变量代表【】。 4、在C语言中,用“\”开头的字符序列称为转义字符。转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。 5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。 6、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。请填空。(假设程序段中的所有变量均已正确说明。) for(k=0;k<10;k++,m++)scanf("%d",_______); 7、下面程序段的运行结果是_______。 x=2; do{printf("*");x--;)while(!x==0);

8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。 #include int main() {int a,b; float x,y; char cl,c2; scanf("a=%d b=%d",&.a,&.b); scanf("x=%f y=%",8.x,8.y); scanf("c1=%cc2=%c”,8.cl,8.c2); printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2); return0; } 10、下面程序段的运行结果是_______。 int i=5;char c[6]="abcd"; do{c[i]=c[i-1];}while(--i>0); puts(c); 二、选择题 11、在C语言中,char型数据在内存中的存储形式是()。

2022年成都银杏酒店管理学院公共课《C语言》科目期末试卷A(有答案)

2022年成都银杏酒店管理学院公共课《C语言》科目期末试卷A(有 答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、若x和a均是int型变量,则执行表达式(1)后的x值为_______,执行表达式(2)后的x值为_______。 (1)x=(a=4,6*2)(2)x=a=4,6*2 5、若a是int型变量,则执行表达式a=25/3%3后a的值为_______ 6、请填空: 建立如图所示存储结构所需的说明语句是_______。 建立如图所示为变量a输入数据的输入语句是_______。 建立如图所示存储结构所需的赋值语句是_______。 7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。 for(x=0;x<=30;x++) {y=30一x;

if(_______)printf("%d,%d\n",x,y); } 8、设有如下结构体说明: struct ST {int a;float b; struct ST*c; doublex[3]; }st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。 _______ 9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正 确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 10、设有如下定义: #define SWAP(T,X,Y){T=X;X=Y;Y=T;} 以下程序段将通过调用宏实现变量x和y内容的交换,请填空。 Double x=2.5,y=6.4,z;SWAP(_______); 二、选择题 11、下面4个选项中,是C语言关键字的选项是( )。 A.auto B. switch C. signed D. if Enum typedef union struct include continue scanf type

2022年南昌工程学院公共课《C语言》科目期末试卷A(有答案)

2022年南昌工程学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。 2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 3、一个C语言源程序由若干函数组成,其中至少应含有一个________ 4、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______ 5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。 6、下面程序段的运行结果是_______。 Char a[]="123456789",*p; inti=0;p=a; while(*p) {if(i%2==0)*p='*'; p++;i++; } puts(a); 7、下面程序段是找出整数的所有因子。请填空。 scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i);

i++; } 8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。 9、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。 #include int main() {int a,b; float x,y; char cl,c2; scanf("a=%d b=%d",&.a,&.b); scanf("x=%f y=%",8.x,8.y); scanf("c1=%cc2=%c”,8.cl,8.c2); printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2); return0; } 10、字符串"ab\n\\012\\\"”的长度是_______。 二、选择题 11、以下不正确的叙述是( )。 A.在C程序中,逗号运算符的优先级最低

相关文档