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

发布 2021-04-24 16:34:28 阅读 4514

试题1一、选择题:本题共 10 小题,满分 20 分。

1、以下选项中不能作为c语言合法常量的是a )

a)‘cd’ b)0.1e+6 c)“\a” d)‘\011’

2、以下不能正确表示代数式2ab/cd的c语言表达式是d )

a)2*a*b/c/d b)a*b/c/d*2 c)a/c/d*b*2 d)2*a*b/c*d

3、以下定义语句中正确的是b )

a)inta=b=0b)chara=65+1, b= ‘b’;

c)floata=1,*b=&a, c=&bd)doublea=0.0;b=1.1;

4、设有如下程序段。

char s[20]= bejing”, p;

p=s;则执行p=s;语句后,以下叙述正确的是a )

a)可以用*p表示s[0]

b)s数组中元素的个数和p所指字符串长度相等。

c)s和p都是指针变量。

d) 数组s中的内容和指针变量p中的内容相等。

5、执行以下程序段后,w的值为c )

int w=’a’,x=14,y=15;

w=((x||y)&&w<’a’))

a)-1 b)null c)1 d) 0

6、若定义:int a[2][3]=;以下描述正确的有 ( a )

a)*(a+1)为元素6的地址 b)*(a[1]+1)的值为2

c、*(a+1)+2的值为8 d)a[0]与a的值不相同。

7、‘\t’表示什么b )

a)字符串常数 b)标识符 c)变量 d)字符常量。

8、以下表达式取值正确的是d)

a)6>5结果为6 b)6&&5结果为7 c)6||5结果为7 d)6<5结果为0

9、若有定义语句:

double x[5]=,p=x; 错误引用x数组元素的是 ( b )

a)*p b)x[5] c)*(p+1d)*x

10、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是d

a、x++;printf(“%d”, x); b、n=++x; printf(“%d”, n);

c、++x; printf(“%d”, x); d、n=x++;printf(“%d”, n);

二、填空题:本题共 10 小题,满分 20 分。

1、判断一个字符ch是数字字符的表达式是 if((ch>=’0’)&ch<=’9

2、若n是一个常量,则int (*p)[n];表示定义一个含有n个元素的一位数组的指针变量,而int *p[n];表示含有n列的二维数组的指针变量。

3、若有定义:int m=5,y=2; 则计算表达式y+=y-=m*=y;后的y的值是 -16 。

4、c语言规定了以字符 ‘\0’ 作为字符串结束标志。

5、若有定义int x=3,y=2; floata=2.5,b=3.5; 则表达式(x+y)%2+(int)a/(int)b的值是 1 。

6、若有定义:int a[3][4]=,则初始化后,a[2][1]的值是 6 。

7、若有定义:char s=t\\\0will”; 则strlen(s)= 3 。

8、c语言规定,在一个源程序中,main函数的位置可以任意位置。

9、设变量a和b已定义为int型变量,若要通过scanf(“a=%d,b=%d”, a, &b );语句分别给a和b输入1和2,则正确的数据输入内容是 a=1,b=2

10、设a,b,c都是整型变量,如果a的值为1,b的值为2,则执行c=a++|b++;语句后,变量b的值是 2

三、应用题:本题共 5 小题,满分 25 分。

1、写出下列程序的运行结果:

#include <>

void main()

int i,j=4

for( i=j; i<=2*j; i++

switch( i%j )

#*2、写出下列程序的运行结果:

#include<>

int f(int m)

staticint n=0

n+=m;return n;

void main( )

intn=0;

printf("%d,",f(++n));

printf("%d", f(n++)

3、写出下列程序的运行结果:

#include <>

void exch(int t

t[0]=t[5];

void main()

intx[10]=,i=0;

while(i<=4)

for( i=0; i<5; i++ printf(“%d ”,x[i] )

printf(“”);

4、写出下列程序的运行结果:

#include <>

void main()

int a[3][4]=;

printf("%8d%8d",a, *a);

printf("%8d%8d",&a[0][0],a[0][0]);

printf("%8d%8d",a+1,*(a+1));

printf("%8d%8d",*a[1]+1),*a+2)+1));

假设数组a的首地址是2000,每个数组元素占4个字节,则运行结果为:2000 2000 2000 0 2016 2016 5 9

5、写出下列程序的运行结果:

#include <>

#include <>

typedef struct

char name[9

char sex;

int score[2];

stu;stu f(stu a)

stub=;

int i;

strcpy(

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

return a;

void main( )

stu c=,d;

d=f(c);

printf("%s,%c,%d,%d",printf("%s,%c,%d,%d", zhao,m,85,90

qian,f,95,92

四、程序设计题:本题共 3 小题,满分 35 分。

1、随机产生100个100~200之间的整数,编程实现分别统计十位数上0~9的数字个数。(10分)

#include<>

#include<>

#include<>

int main()

int a[100];

int i,count[100];

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

count[i]=0;

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

srand(time(0));

if(rand()>100&&rand()<200)

a[i]=rand();

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

if(a[i]/10%10==0)

count[0]++

else if(a[i]/10%10==1)

count[1]++

else if(a[i]/10%10==2)

count[2]++

else if(a[i]/10%10==3)

count[3]++

else if(a[i]/10%10==4)

count[4]++

else if(a[i]/10%10==5)

count[5]++

else if(a[i]/10%10==6)

count[6]++

else if(a[i]/10%10==7)

count[7]++

else if(a[i]/10%10==8)

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

1.输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。如 输入36和60,输出为 zdgys 12,zxgbs 180 2.输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。3.用递归调用的方法求n!如 输入为5,输出为5!120。4.按以下递归...

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

试题6一 单项选择题 本题共10小题,每小题2分,满分20分 1.下列运算符中,结合方向为 自右至左 的是 d a.算术运算符 b.左移运算符 c.赋值运算符 d.关系运算符 2.用以下语句从键盘接收两个整型值并赋值给整型变量a,b scanf d,d a,b 则以下输入正确的是 b a.5,6 回...

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

试题4一 单项选择题。本题共10小题,每小题2分,满分20分。1 下列运算符中优先级最低的是a a b c d 2 对for 表达式1 表达式3 可理解为b a for 表达式1 0表达式3b for 表达式1 1 表达式3 c for 表达式1 表达式1 表达式3 d for 表达式1 表达式3 ...