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