高级语言程序设计课程模拟试卷一

发布 2021-04-18 20:52:28 阅读 1255

一、选择题(共12题,每题2分)

1.在c语言程序中( )

a)函数的定义可以嵌套,但函数的调用不可以嵌套。

b)函数的定义不可以嵌套,但函数的调用可以嵌套。

c)函数的嵌套和函数的调用均不可以嵌套。

d)函数的嵌套和函数的调用均可以嵌套。

2.下面程序段的输出结果是( )

int a=011;

printf(“%d”,+a);

a)12 b)11c)10d)9

3.若k为整型,则while循环( )

k=2;while(k==0) printf("%d",k);

k--;printf("%d",i);

a)0b)123456789c)0123456789d)10

5.以下对二维数组a进行正确初始化的是___

a)int a[2][3]=,

b)int a[3]=;

c)int a[2]

d)int a[2]

6.若有定义:int a[4][10],则以下选项中对数组元素a[i][j]的错误引用是___此处 0<=i<4,0<=j<10)

a)(&a[0][0]+10i+j) b)*(a+i)[j]

c)*(a+i)+j)d)*(a[i]+j)

7.以下程序段的输出结果是___

int a=p;

p=a; *p+3)+=2;

printf("%d,%d",*p,*(p+3));

a)0,5b)1,5c)0,6d)1,6

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

a)char s[5]=

b)char *s;get(s)

c)char *s;s=“adfa”;

d)char s[5];scanf(“%s”,&s);

9.下列程序段的运行结果为___

#define p 3

#define s(a) p*a*a

main()

int ar;

ar=s(3+5);

printf("%d",ar);}

a)192 b)29 c)27 d)25

10.下面程序段的运行结果是( )

x=y=0;

while(x<15) y++,x+=+y;

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

a)20,7 b)6,12 c)20,8 d)8,20

11.有以下说明和语句:

struct worker

int no;

char*name;

work,*p=&work;则以下引用方式不正确的是___

a) b)(*p).no c)p->no d)work->no

12.在说明一个联合全变量时,系统分配给它的存储空间是___

a)该联合体中第一个成员需存储空间。

b)该联合体中最后一个成员所需存储空间。

c)该联合体中占用最大存储空间的成员所需存储空间。

d)该联合体中所有成员所需存储空间的总和。

二。填空题(共8题,每题2分)

1.设n=10,i=4,则赋值运算n%=i+1执行后n的值是___

2.若int x=1,y=2,z=3;则表达式z+=x>y?++x,++y的值是___

3.若a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值是___

4.当a=1,b=2,c=3时,执行以下语句后 a=__b

if(a>c)b=a;a=c;c=b;

5.若所用变量都已正确定义,请填写以下程序段的输出结果___

s=7;do s-=2; while(s=0);

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

6.定义int a=p=a;表达式(*+p)++的值是___

7.设a=000101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数应为___

语言中的文件类型有___和___两种。

三。程序分析题(共5题,每题4分)

1.若输入b,以下程序的运行结果为___

main()

char grade; scanf("%c",&grade);

switch(grade)

case'a':printf(">85");

case'b':printf(">75");

case'c':printf(">60");

case'd':printf("<60");

default:printf("errror");

2.程序运行结果是___

main()

int i=1;

while(i<10)

if(++i%3!=1) continute;

else printf("%d",i);}

3.程序输出结果是___

#include <>

sub1(char a,char b)

sub2(char a,char b)

sub3(char a,char b)

main()

char a,b;

a='a';b='b';sub1(a,b);putchar(a);putchar(b);

a='a';b='b';sub2(&a,b);putchar(a);putchar(b);

a='a';b='b';sub1(&a,&b);putchar(a);putchar(b);

4.程序输出结果是___

int fact(int n)

static int f=1;

f=f*n;

return(f);}

main()

int i;

for(i=1;i<=5;i++)printf("%d1=%d",i,fact(i));

5.程序输出结果是___

#define n 5

main()

int a[n]=,i,temp;

for(i=0;i四。程序填空题(共5题,每题4分)

1.完善程序,将输入字符的大写转换成小写后显示出来。

#include

main()

int c;

c=getchar9);

ifputchar(c);}

2.下面程序的功能是调用max()函数,求两个数中较大者,请填空。

max(x,y)

intx,y;

int z; if(x>y) z=x; else z=y; return z;}

int a=8,b=12,c;

p=max; cprintf("%d",c);}

3.以下程序实现将三个数中的大数输出在前,小数输出在后,请填空。

#include <>

swap(int *p1, int *p2)

int *t;

t=p1; *p1=*p2; *p2=*t;}

chang(int *q1, int *q2 int *q3)

if(*q1>*q2) swap(q1,q2);

if(*q1>*q3) swap(q1,q3);

if(*q2>*q3) swap(q2,q3);}

main()

int a=6,b=4,c=2;

changprintf("%d,%d,%d",a,b,c):}

4.以下程序的功能是输出字符串。

main()

char *a=

charint j=0;

p=a;for(;j<4;j++)

printf("%s

5.下面程序有终端键盘输入字符,存放到文件中,用#结束输入。请填空。

#inckude <>

main()

file *fp; char ch,fname[10];

gets(fname);

if()fp=fopen(fname,"w"))null)

printf("enter data:");

whilefputc

fclose(fp);

五。编程题(共2题)

1.判断输入的数是否为素数,是则输入yes,否则输出no,要求用函数调用完成。(8分)

2.编写程序。用键盘输入10名学生的成绩,显示其中的最低分,最高分及平均成绩,要求利用指针。(12分)

高级语言程序设计模拟试卷

卷号 abc2011年5月 机密。湖北师范学院普通本科期末考试模拟试卷。高级语言程序设计 一 单选题 本题共15小题,每小题2分,共30分 从下列四个备选答案中选出一个正确答案,并将其代号写入下表中 1.以下叙述中正确的是。a c程序中的注释只能出现在程序的开始位置和语句的后面。b c程序书写格式严...

高级语言程序设计模拟试卷

卷号 abc2011年5月 机密。湖北师范学院普通本科期末考试试卷。高级语言程序设计 一 单选题 本题共15小题,每小题2分,共30分 从下列四个备选答案中选出一个正确答案,并将其代号写入下表中 1.以下叙述中正确的是。a c程序中的注释只能出现在程序的开始位置和语句的后面。b c程序书写格式严格,...

高级语言程序设计》试卷模拟试题

1.输入一个字符串,内有数字和非数字字符,例如 a123x456 17960?302tab5876 将其中连续的数字作为一个整数,依次存在到一数组a中。例如,123放在a 0 456放在a 1 统计共有多少个整数,并输出这些数。完成fun函数 如 输入a123x456 17960?302tab587...