2019春季学期C语言复习样卷

发布 2024-01-14 15:35:07 阅读 6828

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

说明:请将你认为各小题最恰当的正确答案的编号填写在下表中(阅卷以下表为准)。

1.有如下程序:

main()

int n=9;

while(n>6)

该程序的输出结果是【 】

a.987b.8765c.876d.9876

2.有如下程序:

main()

int x=1,a=0,b=0;

switch(x)

case 0: b++;

case 1: a++;

case 2: a++;b++;

printf("a=%d,b=%d",a,b);

该程序的输出结果是【 】

a.a=2,b=1 b.a=1,b=1c.a=1,b=0d.a=2,b=2

3.有如下程序:

main()

float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

printf("%f",y);

该程序的输出结果是【 】

a.0.000000 b.0.250000c.0.500000d.1.000000

4.有如下程序:

int add(int a,int b)

return(a+b);

main()

int x=3,y=6,z=9,r;

r=add(add(x,y),z);

printf("%d",r);

该程序的输出结果是【 】

a.15b.16c.17d.18

5.有如下程序段:

int *p,a=13,b=2;

p=&a; a=*p+b;

执行该程序段后,a的值是【 】

a.16b.15c.14d.编译出错。

6.有如下程序:

long fib(int n)

if(n<2) return(1);

else return(fib(n-1)+fib(n-2));

main()

printf("%ld",fib(3));

该程序的输出结果是【 】

a.2b.3c.4d.6

7.有如下程序:

#define n 2

#define m n+1

#define num 2*m+1

main()

int i;

for(i=1;i<=num;i++)printf("%d",i);

该程序中的for循环执行的次数是【 】

a.5b.6c.7d.8

8.有如下程序段:

int a=14,b=15,x;

char c='a';

x=(a&&b)&&c<'b');

执行该程序段后,x的值为【 】

a.trueb.falsec.0d.1

9.若有如下定义:

int a[10]=,p=a;

则数值为9的表达式是【 】

a.*p+9b.*p+=9c.*(p+8d.p+8

10.有如下程序:

main()

int n[5]=,i,k=2;

for(i=0;in[i]=n[i]+1;

printf("%d",n[k]);

该程序的输出结果是【 】

a.3b.5c.4d.不确定的值。

二、阅读程序,写出运行结果(每小题3分,共18分)

说明:请将答案填写在下表中(阅卷以下表为准)。

1.以下程序的输出结果是【 】

#include <>

main()

2.以下程序的输出结果是【 】

#include <>

main( )

main()

4.以下程序的输出结果是【 】

#include <>

main()

int i;

for(i=3;i>=0;i--)printf("%c",*p[i]);

printf("");

5.以下程序的输出结果是【 】

#include <>int y=5; void sub(int x) main()

6.以下程序的输出结果是【 】

#include <>main()

int a[3][3]=,i,j,s=0;

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

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d",s);

三、填空题 (每空2分,共22分)

1.以下函数返回a所指数组中最小值所在的下标值,请填空。

int fun(int *a,int n)

int i,p;

for(i=1;i if(a[i] return(p);

2.以下函数把b字符串连到a字符串的后面,并返回a中新字符串的长度,请填空。

int strcen(char a,char b)

int num=0,n=0;

while(*(a+num

num++;

while(b[n])

*(a+num)=b[n];

num++;

return num;

3.在磁盘的当前目录下有名为“的文本文件,下面的程序是从文件中读出其中的字符,并统计文件中字符的个数,同时还要求统计出字母“m”或“m”出现的次数,请填空。

#include <>

main()

char ch; int num=0,cm=0 ;

if( (fp=fopennull)

exit(1);

elsewhile((ch=fgetc(fp)) eof )

printf("num=%d\t cm=%d",num,cm);

4. 下面程序的功能是求1!+2!+3!+4!+5!,请填空。

main( )

int i,j,f,sum=0;

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

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

5. 下面程序的功能是计算一个3×3矩阵的主对角线的元素之和,请填空。

main()

int i

int a[3][3]=,

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

sumprintf("%d",sum);

四、编程题(每小题10分,共50分)

1.请编写一个完成输入长方形的长和宽,计算并输出该长方形面积的程序。

2.请编写一个实现符号函数的程序。

1 x>0

符号函数即:y=f(x)= 0 x=0

1 x<0

3.请编写一个输出如下图案的程序。

要求:必须用循环结构实现。

4.请编写子函数 sub_fun(int x),返回1-2+3-4+…+99-100的值。

5.请编写一个实现对数组a的10个数按从小到大排序的程序。

参***和评分标准。

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

二、阅读程序,写出运行结果(每小题3分,共27分)

三、填空题 (每空2分,共30分)

1.p=0;

p=i2.'\0'或0

n++或++n或n=n+1或n+=1

2019春季学期C语言复习样卷

一 选择题 每小题1分,共10分 说明 请将你认为各小题最恰当的正确答案的编号填写在下表中 阅卷以下表为准 1 有如下程序 main int n 9 while n 6 该程序的输出结果是 a 987b 8765c 876d 9876 2 有如下程序 main int x 1,a 0,b 0 swi...

C C 语言样卷

计算机程序设计基础 c c 样卷。一 单项选择题 每题1分,共10分 1 要定义三个整型变量,正确的是。a int a,3a,pb int x,sum c int a,b,sum abd int n,struct,y 2.数学关系式x y z可用c语言的表达式表示为 a x y y z b x y ...

C语言样卷

c语言程序设计 模拟试题 一 一 单项选择题 每题4分,共52分 1 根据c语言的特点以下选项中不正确的选项是 b a 习惯用小写字母,大小写字母有区别。b c 语言主要由语句构成,语句是c程序的基本单位。c c语言本身没有输入输出语句。d 用c语言写的程序可移植性好。2 c语言中运算对象必须是整型...