视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
2022年辽宁大学公共课《C语言》科目期末试卷A(有答案)
2025-10-03 15:14:41 责编:小OO
文档
2022年辽宁大学公共课《C语言》科目期末试卷A(有答案)

一、填空题

1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、在C语言源程序中,一个变量代表【   】。

4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。

5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______

6、请填空:

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

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

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

7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。请填空。

for(x=0;x<=30;x++)

{y=30一x;

if(_______)printf("%d,%d\\n",x,y);

}

8、执行以下程序时,若从第一列开始输入数据,为使变量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;

}

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、下面4个选项中,是正确的八进制数或十六进制数的选项是(   )。

    

12、表达式18/4*sqrt(4.0)/8值的数据类型为(  )

A.int          B.float          C.double      D.不确定

13、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(   )。

A.int a=b=c=5; B.int a,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;

14、已知ch是字符型变量,下面不正确的赋值语句是(   )

A.ch='a+b';      B.ch='\\o';     C.ch='7'+'9';     D.ch=5+9;

15、若有以下程序段:

int a[]={4,0,2,3,1},i,j,t;

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

{t=a[i];j=i-1;

while(j>=0&&t>a[j]

{a[j+1]=a[j];j--;}

a[j+1]=t;

则该程序段的功能是(   )。

A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)

C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)

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

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

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

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

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

17、以下描述中正确的是(   )

A.while、do-while、for循环中的循环体语句都至少被执行一次

B.do-while循环中,while(表达式)后面的分号可以省略

C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作

D.do-while 循环中,根据情况可以省略 while

18、以下程序有语法性错误,有关错误原因的正确说法是(  )。

#include

int main()

{int G=5,k;

void prt_char();

-----

k=prt_char(G);

--- 

}

A.语句void prt_char();有错,它是函数调用语句,不能用void说明

B.变量名不能使用大写字母

C.函数说明和函数调用语句之间有矛盾

D.函数名不能使用下划线

19、设有以下定义:

char*cc[2]={"1234","5678");则正确的叙述是(  )。

A.cc数组的两个元素中各自存放了字符串”1234”和"5678”的首地址

B.cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

C.cc是指针变量,它指向含有两个数组元素的字符型一维数组

D.cc数组元素的值分别是1234和5678

20、若有说明:char*language[]={"FORTRAN","BASIC","PASCAL",JAVA","C");则language[2]的值是(   )。

A.一个字符  B.一个地址  C.一个字符串      D.一个不定值

21、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。

#include

#include

float f(float,float);

int main()

{floatx,y,z,sum;

scanf("%f%1%f",8.x,&y,8.z);

sum=f(【】)+f(z+y,z-y);

printf("sum=%fNn",sum);

return(0);

}

float f(float a,float B.

{float value;

value=a/b;

 return(value);

}

A)x-y,x+y         B)x+y,x-y      C)z+y,z-y         D)z-y,z+y

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

int a[6],i;

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

{a[i]=9*(i-2+4*(i>3))%5;

printf("%3d",a[i]) ;

}

A)-4 0 4 0 4    B)-4 0 4 0 3      C)-4 0 4 4 3       D)-4 0 4 4 0

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

#include

int main()

{chara[]="morming",t;int i,j=0;

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

if(a[j]t=a[j];a[j]=a[7]; 

a[7]=a[j]; puts(a); 

return 0; 

}

A)mogninr          B)mo            C)morning         D)mornin

24、当a=1、b=3、c=5、d=4时,执行以下程序段后x的值是(  )。

if(aif(celse

if(aif(belse x=3;

else x=6;

else  x=7;

A.1               B.2          C.3           D.6

25、下面程序的功能是计算正整数2345的各位数字的平方和,请选择填空(    )。

#include

int main()

{int n=2345,sum=0;

do

{sum=sum+【1】;

n= n/10;

}while(n);

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

return 0;

}

A.n%10  B.(n%10)*(n%10)   C.n/10         D.(n/10)*(n/10)

三、读程序填空

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

#include

int main()

{int a=325;

double x=3.1415926;

printf("a=%+06dx=%+e\\n",a,x);

return 0;

}

27、已知字母A的ASCII码值为65。以下程序的输出结果是_______。

#include

int main()

{char a,b;

a='A'+'4'-'3';

b='A'+'6'-2';

printf("a=%d,b=%c\\n",a,b);

return0;

}

28、以下程序的运行结果是_______。

# include int main()

{ intx,y,z;

 x=3; y=3; 

z=x==y; 

printf("z=%d\\n",z); 

return 0;

}

29、以下程序的功能是:某邮局对邮寄包裹有如下规定,若包裹的长、宽、高任一尺寸超过1m或重量超过30kg,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据表4-5按不同重量weigh计算的邮资。请填空。

重量与邮资

重量/kg

邮资/元

0.80

0.75

0.70

# include

int main()

{ float len, weigh, hei, wid, mon,r;

 scanf("%f %f %f %f",&len,&wid,&hei,&weigh); 

if(len>1|| wid>1||  hei>1  ||  weigh>30)___________; 

else if (weigh<10) r=0.8; 

else if (weigh<=20) r=0.75;

else if (weigh<=30) ___________;

 if (r==-1) printf("error\\n"); 

else

{___________;printf("%f",mon);}

return 0;

}

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

#include

int main()

{int i,t,sum=0;

for(t=i=1;i<=10;)

{sum+=t;++i;

if(i%3==0)t=-i;

else t=i;

}

printf("sum=%d,sum);

 return 0;

}

31、以下程序的运行结果是_______。

#include

void sub(int x,int y);

int x1=30,x2=40;

int main()

{int x3=10,x4=20;s

ub(×3,×4);

sub(x2,x1);

printf("%d,%d,%d,%d\\n",x3,x4,x1,x2);

return(0);

void sub(int x,int y)

{x1=x;

x=y;

y=x1;

}

32、运行程序时若输入“52<回车>”,则下面程序的运行结果是_______。

#include

int main()

{int a[8]={6,12,18,42,44,52,67,94};

int low=0,mid,high=7,found=0,x;

scanf("%d",&.x);

while((low<=high)&&(found==0))

{mid=(low+high)/2;

if(x>a[mid])low=mid+1;

else if(xelse{found=1;break;}

}

if(found==1)

printf("Search Successful!The index is:%d\\n",mid);

else printf("can't search!\\n");

return0;

}

33、以下程序通过指针数组p和一维数组a构成如下所示的二维数组的左下半三角结构,然后输出。请填空。

#include

#define M 5

#define NUM(M+1)x(M)/2

int main()

int a[NUM],*p[M],i,j,index,n;

for(i=0;i{index=i*(i+1)/2;

p[i]=_______;

}

for(i=0;i{n=1;

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

{p[i][j]=_______;

n++;

}

printf("The Output:\\n");

for(i=0;i{for(j=0;_______;j++)

printf("%4d",p[i][j]);

printf("\\n");

}

return(0);

}

四、编程题

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

35、从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[]=

"ab")。试编程。

一、填空题

1、0377

2、【1】scanf【2】printf

3、内存中的一个存储单元

4、f

5、5.500000

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

7、2*x+4*y==90

8、a=3囗b=7x=8.5囗y=71.82c1=ADc2=a<回车>

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

9、【1】scanf("%d%f%f%c%c”,&a,&.b,8.c1,8.c2);

【2】3囗6.5囗12.6aA<回车>

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

10、double a[M][M]={0};

二、选择题

11、C

12、C

13、A

14、A

15、B

16、D

17、C

18、C

19、A

20、B

21、B

22、C

23、B

24、B

25、B

三、读程序填空

26、a=+00325囗囗囗x=+3.14159e+00

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

27、a=66,b=E

28、z=1

29、【1】r=-1【2】r=0.7【3】mon=wei*r+0.2

30、sum=19

31、10,20,40,40

32、Search Successful!The index is:5

33、【1】8.a[index]【2】i*M+n【3】j<=i

四、编程题

34、#include

int main()

{static char x[]="computer";

char*p;

for(p=x;pputchar(*p);

printf("\\n");

return 0;

}

35、#include 

#include

int main()

{char a[80],b[]="ab",max;

int i=1,j;

printf("Input a string\\n");

gets(a);

puts(a);

max=a[0];while(a[i]!='\\o')

{if(a[i]>max)

{max=a[];j=i;}

i++;

}

for(i=strlen(a)+2;i>j;i--)

a[i]=a[i-2];

a[i+1]='a';

a[i+2]='b';

puts(a); 

return 0;

}下载本文

显示全文
专题