当前位置:网站首页 > 编程语言 > 正文

条件变量和互斥锁定的关系(条件变量和互斥锁定的关系是)



西安电子科技大学网络与继续教育学院

2024 学年下学期

《C语言程序设计》期末考试试题

(综合大作业)

考试说明:

1、大作业试题公布时间:2024 年 11 月 1 日;

2、考试必须独立完成,如发现抄袭、雷同均按零分计;

3、答案须用《西安电子科技大学网络与继续教育学院 2024 秋期末考试答题纸》(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;

4、在线上传时间:2024 年 11 月 1 日至 2024 年 11 月 11 日在线上传大作业答卷;

5、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。

各种学习辅导,答案分析: ↓↓++

一、选择题(每小题 1 分,共 20 分)

1、以下有 4 组用户标识符,其中合法的一组是( )。

A.For -sub Case B.4d DO Size

C.f2_G3 IF abc D.WORD void define

2、若有下面的程序片段:

int a[12]={0}, *p[3], pp, i;

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

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是( )。

A.pp[0][1] B.a[10] C.p[3][1] D.*(*(p+2)+2)

3、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表

达式为( )。

A.a<>0 B.!a C.a=0 D.a

4、若已定义:

int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;

其中 0≤i≤9, 则对 a 数组元素不正确的引用是( )。

A.a[p-a] B.*(&a[i]) C.p[i] D.a[10]

5、以下程序的输出结果是( )。

int main( )

{ int x=10,y=10,I;

for(i=0;x>8;y=++i)

printf("%d,%d ",x--,y);

}

A.10 1 9 2 B.9 8 7 6 C.10 9 9 0 D.10 10 9 1

6、下面程序的输出是( )。

void prtv(int *x)

printf("%d ", ++*x);}

int main()

{ int a=25;

prtv(&a);

return 0;

}

A.23 B.24 C.26 D.28

7、下面能正确进行字符串赋值操作的语句是( )。

A.char s[5]={"ABCDE"};

B.char *s;s="ABCDEF";

C.char s[5]={'A'、'B'、'C'、'D'、'E'};

D.char *s; scanf("%s",s);

8、设 x,y,z,t 均为 int 型变量,则执行以下语句后,t 的值为( )。

x=y=z=1;t=++x||++y&&++z;

A.不定值 B.2 C.1 D.0

9、设 p1 和 p2 是指向同一个 int 型一维数组的指针变量,k 为 int 型变量,则不能正

确执行的语句是( )。

A.k=*p1+*p2; B.k=*p1 *(*p2); C.p1=p2; D.p2=k;

10、请读程序:

#include<stdio.h>

#define SUB(X,Y) (X)*Y

int main()

{

int a=3, b=4;

printf("%d", SUB(a++, b++));

return 0;

}

上面程序的输出结果是( )。

A.12 B.15 C.16 D.20

11、sizeof(float)的结果是( )。

A.4 B.6 C.8 D.不确定

12、若执行下面的程序时从键盘上输入 3 和 4,则输出是( )。

int a,b,s;

scanf("%d %d",&a,&b);

s=a;

if(a<b)s=b;

s=s*s;

printf("%d ",s);

A.14 B.16 C.18 D.20

13、以下程序的输出结果是( )。

# include <stdio.h>

int main()

{

printf("%d ",NULL);

return 0;

}

A.不确定的(因变量无定义) B.0 C.-1 D.1

14、读程序:

#include<stdio.h>

f(char *s)

{

char *p=s;

while( *p!='0') p++;

return(p-s);

}

int main()

{

printf("%d ",f("ABCDEF"));

return 0;

}

上面程序的输出结果是( )。

A.3 B.6 C.8 D.0

15、下面各语句行中,能正确进行赋字符串操作的语句行是

A.char st[4][5]={"ABCDE"}; B.char s[5]={'A','B','C','D','E'};

C.char *s; scanf("%s",s); D.char *s; s="ABCDE";

16、若有说明:long *p,a;则不能通过 scanf 语句正确给输入项读入数据的程序

段是( )。

A.*p=&a; scanf("%ld",p);

B.p=(long *)malloc(8); scanf("%ld",p);

C.scanf("%ld",p=&a);

D.scanf("%ld",&a);

17、若已定义:int a[9],*p=a;并在以后的语句中未改变 p 的值,不能表示 a[1]

地址的表达式是( )。

A.p+1 B.a+1 C.a++ D.++p

18、下面程序的输出是( )。

enum team {my,your=4,his,her=his+10};

printf("%d %d %d %d ",my,your,his,her);

A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.1 4 5 15

19、以下程序输出结果是( )。

int m=5;

if(m++>5)printf("%d ",m);

else printf("%d ",m--);

A.7 B.6 C.5 D.4

20、以下程序运行后,输出结果是( )。

int d=1;

fun(int p)

{

int d=5;

d+=p++;

printf("%d",d);

}

int main()

{

int a=3;

fun(a);

d+=a++;

printf("%d ",d);

return 0;

}

A.95 B.99 C.84 D.44

二、判断对错,并给出解析(每小题 4 分,共 20 分)(判对错占 1 分,解析占 3 分)

1、虽然 goto 语句能提高程序运行效率,但为防止程序结构混乱应该禁用。( )

2、条件表达式可以取代 if 语句,或者用 if 语句取代条件表达式。( )

3、在 C 程序中对用到的所有数据都必须指定其数据类型。( )

4、实参和与其对应的形参共占用一个存储单元。( )

5、一个实型变量的值肯定是精确的。( )

三、程序分析题(22 分)

注:当有循环语句,若已经出了循环无对应的值时,可填“无”或“循环结束”。

1、(每空 1 分,共 6 分)

int main()

{ int i=5;

char c[6]="abcd";

do

{

c[i]=c[i―1];

}while(――i>0);

puts(c);

}

2、(每空 1 分,共 6 分)

int main( )

{

int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;

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

s=s+a[i][i];

printf("s=%d ",s);

}

3、(每空 1 分,共 10 分)

设 n=24

void prnt(int n, int aa[ ])

{

int i;

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

{

printf("%6d", aa[i]); // (1)

if(!(i%5)) printf(" "); // (2)

}

printf(" ");

}

四、编程题(38 分)

编程题要求:

(1)先给出自顶向下逐步细化的伪代码,然后再写出源码,重要变量和语句要加注释;

 (2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。

1、(19 分)从键盘输入一个一维数组,将这个数组逆序输出。

2、(19 分)编写一个函数,该函数可以统计一个长度为 2 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出 6。

到此这篇条件变量和互斥锁定的关系(条件变量和互斥锁定的关系是)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • max30100心率血氧模块(max30100心率血氧模块放在哪个部位检测)2025-09-27 17:54:05
  • 二维码登录(爱奇艺手机怎么扫描二维码登录)2025-09-27 17:54:05
  • 华为耳机怎么断开连接(华为耳机断开连接如何定位找回来)2025-09-27 17:54:05
  • 485的协议(485协议什么意思)2025-09-27 17:54:05
  • 2258xt怎么样(2259xt和2258xt)2025-09-27 17:54:05
  • ghjk是什么意思(ghjk是什么缩写)2025-09-27 17:54:05
  • 密码仓库(密码库在哪)2025-09-27 17:54:05
  • 打印机共享修复合集(打印机共享失败怎么解决)2025-09-27 17:54:05
  • wifi字典安卓(wifi字典探秘和快速探秘)2025-09-27 17:54:05
  • linux 命令安装(linux命令安装谷歌浏览器)2025-09-27 17:54:05
  • 全屏图片