好文档 - 专业文书写作范文服务资料分享网站

中等职业学校计算机应用专业c语言编程基础科试卷及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

中等职业学校计算机应用专业 C 语言编程基础

科试卷及答案

一、填空(共 35 分) 1、Unix 系统诞生于

年,是由

实验室的 KT和DMR用汇编语言开发成功的。 2、在 C 语言中,标识符主要为 , , 及 的名字使用。

3、C 语言中中的基本数据类型包括

三种。

4、数组是有序是的并且有 的数据的集合。

5、C 语言中,二维数组元素在内存中的存储顺序是

6、C 语言函数的实参、形参二者类型 ,一般个

数 。 7、在 C 语言中,变量的存储类别有四种,它们是 ,

8、根据函数能否被其他源文件调用,函数分为 函

数和 函数两类。

9、文件是存储在外部存储设备上的

10、定义文件指针变量的格式为 。 11、feof( )函数是 检测函数,当文件位置指针 处于 时,它返回一个

值。

12、用逻辑运算符将

连接起来就是逻辑

表达式。

13、结构化程序设计方法,采用 的设计原则和

来构造程序。

14、程序结构一般采用 、

结构。 15、第三代高级语言是

,注重的是

之间的关系是从属性的层层调用关系。 二、单项选择题(共15分) 1、C 语言程序由

组成。

A. 子程序 B. 主程序和子程序 C. 函数 D. 过程

2、源程序要正确地运行,必须要有什么函数? A. printf 函数 B. 自定义的函数 C. main 函数 D. 不需要函数 3、若 a 为整型变量,且有以下语句 a=-017L;

printf(\

则下面___说法是正确的?

A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-15 4、下面 表达式的值为 4. A. 11/3 B. 11.0/3

C. (float)11/3 D. (int)(11.0/3+0.5)

5、在 C 语言的 if 语句中,用作判断的表达式为___。 A. 关系表达式 B. 逻辑表达式 C. 算术表达式 D. 任意表达式

6、下面哪一项是不正确的字符串赋值或赋初值的方式。A. char *str; str=\

B. char str[7]={'s','t','r','i','n','g'}; C. char str1[10];str1=\

D. char str1[]=\ 7、若有以下说明和语句,则输出结果是哪一项? (strlen(s)为求字符串 s 的长度的函数) char s[12]=\ book!\ printf(\

A. 12 B. 8 C. 7 D. 11

8、C 语言可执行程序从什么地方开始执行?

A. 程序中第一条可执行语句 B. 程序中第一个函 数

1

C. 程序中的 main 函数 D. 包含文件中的第一个函 数

9、有一个函数原型如下所示: abc(float x,float y);

则该函数的返回类型为___。

A. void B. double C. int D. float 10、在 C 语言程序中,下面哪一个是正确的? A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义可以嵌套,函数的调用也可以嵌套 D. 函数的定义和函数的调用都不可以嵌套

11、对于类型相同的指针变量,不能进行哪种运算? A. + B. - C. = D. ==

12、若有以下说明和语句,且 0<=i<10, 则下面 是对数组元素的错误引用?

int a[]={1,2,3,4,5,6,7,8,9,0}, *p, i; p=a;

A. *(a+i) B. a[p-a] C. p+i D. *(&a[i])

13、如果想把一些新的数据添加到文件 xh.txt 中,则应该以下面 方式打开文件? A. fp=fopen(xh.txt,\ B.fp=fopen(\ C. fp=fopen(\

D.fp=fopen(\

14、下面哪条语句是从文件中读取一个字符? A. ch=getc(); B. fputc(ch,fp); C. fscanf(\ D. scanf(\ 15、C 语言中的文件类型如何划分? A. 索引文件和文本文件两种 B. ASCII 文件和二进制文件两种 C. 只有文本文件一种

D. 只有二进制文件一种 三、多选题(共 20 分) 1、下面 是定义局部变量储存类别的保留字。 A. int

B. auto

C.static

D.float

E. register F.extern G. unsigned H.signed

2、指出下面各说明语句中 是合法的: A. int abcd[0x80]; B. char 9ab[10]; C. char chi[-200]; D. int aaa[5]={3,4,5};

E. float key[]={3.0,4.0,1,0};

F. char disk[];G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6}; 3、C 程序的结构可分为 类?

A.顺序结构

B.循环结构 C.程序结构 D.选择结构

4、C 语言的主要特点有

A.简洁、紧凑,使用方便、灵活,易于学习和应用。 B.C语言是面向结构化程序设计的语言。 C.C语言允许直接对位、字节和地址进行操作。 D.数据类型丰富。 E.C 语言生成的目标代码质量

高。

5、指出下面合法的标识符: A. 3ab

B. int

C. ABC

D. a_3

E. sum.a F. #abc G. _stu2 H. abc f 6、指出下面 是合法的用户定义的标识符。 A. P-S

B. putchar

C. double

D. _908 E. *par F. sheep! G. wind H. x y

7、C 语言的基本类型有 A. 整型

B. 枚举型

C. 数组型 D. 指针型 E. 字符型 F. 构造型 G. 实形

H. 空类型

8、C 语言中整形常量按进制划分,有以下几种:

A. 十六进制常量 B. 十进制常量 C. 八进制常量

D. 二进制常量

9、如果要把常量 327 存入变量 a 中,a 可以定义成 类型。

A. int B. char C. long D. float 10、下面 写法是对的,而且是常量。 A. 125 B. -.456 C. 1.25e20 D. 'AB' E. E6 F. 0238 G. 0xabcdef H. \

四、判断(共20分)

1. 在 C 语言中,函数的参数传递有两种方式:传

递值和传递地址。( )

2. 一般来说,使用指针能使目标程序占用存储空

间大,运行速度快。()

3. 指针变量可以定义为指向字符型、实型以及其

他类型的变量。()

4. 内存区的每一个字节都有一个编号,这个编号

就称为“地址”。()

5. 条件编译的好处是可以增加被编译的语句,从

面增加目标代码的长度。

6. 写带有参数的宏定义时,宏与带括号的参数间

有空格。()

7. fscanf()函数从文件中读取字符串,只当遇到

空格符时才结束字符的读取。()

8. 形式参数是指定义函数时跟在函数名后的小括

号内的变量名。实际参数则是指调用函数时,跟在函数名后的小括号内的表达式。()

9. 在定义字符数组的同时初始化数组外,可以用

赋值的形式把字符串存入一个字符的数组中。()

10. 用逻辑运算符将关系表达式或变量连接起来就

是逻辑表达式。

11. 在关系运算中,若规定的关系成立,则其结果

为 1,反之为 0。

2

12. 格式字符前面的数字,指定输入数据所占宽度,

不能指定小数位数。

13. c 格式符,用为输出一个字符。对于整数,只

要它的值在 0—256 范围内。()

14. 参数 ch 通常为字符型变量、字符码或字符本身。

()

15. C 语言提供了整型、实型、字符型三种基本类

型。()

16. 逗号运算符在所有运算符中优先级虽最低,逗

号运算符的结合方向是“从左至右”。()

17. C 语言提供了一个惟一的两目运算符(?:),

即条件运算符。()

18. 递增、递减运算符的优先级与“取正负”的优先

级不同。()

19. 当赋值号两边的数据类型不同时,一般由系统

自动进行类型转换。()

20. 自动转换的规则是按照低类型转换到高类型或

赋值号的右边类型转换到赋值号左边的类型来进行 的。()

五、A、写出下列程序的运行结果。(共5X4分) 1、void main()

{int count,i;int x,y,z;x=y=z=0; scanf(\ for(i=0;i

{x=(x+1)%2;y=(y+1)%3;z=(z+1)%5;} printf(\

}

如果运行时输入 10, 结果是 x=___,y=___,z=___。 如果运行时输入 17, 结果是 x=___,y=___,z=___。 2、

void main()

{int a,b,c;a=2;b=7;c=5; switch(a>0) {case 1: switch(b<10)

{case 1:printf(\ case 0:printf(\ case 0: switch(c==5)

{case 0: printf(\ case 1: printf(\ default:printf(\ default: printf(\ printf(\ }

运行结果:

3、#include main() {int i,j,x=0; for(i=0;i<2;i++) {x++;

for(j=0;j<=3;j++) {if(j%2) continue;x++;} }

printf(\ }

运行结果: 4、void main()

{float array[3][4]={{3.4,-

5.6,56.7},{56.8,999.,-.0123},{0.45,-5.77,123.5},{43.4,0,111.2}}; int i,j;int min;int m,n; min = array[0][0]; m=0;n=0;

for(i=0;i<3;i++) for(j=0;j<4;j++) if(min > array[i][j]) {min = array[i][j]; m=i;n=j;}

printf(\ }

运行结果: 5、void main()

{char str[]=\

printf(\ 屏幕上显示___ printf(\ 屏幕上显示___ str[2]=str[5];

printf(\ 屏幕上显示___ str[9]='\\0';

printf(\ 屏幕上显示___ }

B,补充程序 (共 20 分)

1,下面这个程序的作用是统计公元 1 年到公元 2000 年的闰年个数。判断闰年的方法是:能被 400 整除的年是闰年;除能被 400 整除的年以外,凡是能被 4 整除, 但不能被 100 整除的年是闰年。其余年份是平年。 #include void main() {int year; int count=0;

for(year=0;year<=2000;year++)

3

if( (_____)

||( year%4==0 && ____) ) ____;

printf(\

}

2、以下程序从读入的整数数据中,统计大于零的整数 个数和小于零的整数个数.用输入零来结束输入,程序 中用变量 i 统计大于零的整数个数,用变量 j 统计小于零的整数个数.请填空. #include main()

{___ n,i,j;

printf(\输入非零的整数(输入零结束程序)\ i=j=0;

scanf(\ while___ {

if(n>0)i=___; if(n<0)j=___;___; }

printf(\ j=M\\n\

}

3、下面这个程序打印出以下这个三角形.请填空。

0 11 222 3333 44444 555555 6666666

77777777 888888888 9999999999 void main() {int i,j;

for(i=0;i<=___;i++) {for(j=0;j<___;j++) printf(___); ___ }

}

4, 有 5 个学生的成绩需要保存在文件 score.dat 文件中。保存格式如下: 学生姓名,年龄,成绩 学生姓名,年龄,成绩 ...

...

请完成下面这段源程序。 void main() {

FILE *fp; int i;

char name[80]; int age; float score; fp=fopen(___,\

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

{printf(\请输入第%d 个学生的信息\\n\ printf(\姓名:\ scanf(___);

printf(\年龄:\

___

printf(\成绩:\ ___

fprintf(fp,___,name,age,score); }

___

} 5, 除 1 外,只能被 1 和自己本身整除的自然数叫素数。下面这个程序就是求 2 到 100 之间的素数。其中判断 某数为素数的方法为用 2 到该数平方根之间的自然数

去试整除该数。如果没有哪个数能够整除该数,那么 该数为素数;如果有,那么时合数。请填空。 (函数 sqrt(a)求 a 的平方根) #include #include void main()

{int i,j,k;int flag; for(i=2;i<=___;i++) {flag=1;k=(int)sqrt(i); for(j=2;j<___;j++) if(___==0) {flag=0; break; }

if(flag)printf(\ }

六、编写程序,

1、用递归的方法求 n!(n!=1*2*3*4…*n)(共7分)

4

2、输入在个数,要求设三个指针变量 P1,P2,P3, 使 P1 指向三个数的最小数,P2 指向中间数,P3 指向 最大数,然后按由小到大的顺序输出。(用指针的方 法编写)(7分)

3、一循环程序编写下面图形。(6分)

* * * * * * * * *

参考答案

一、填空

1、1969 年,美国贝。

2、常量,变量,函数,自定义。 3、整型,浮点型,字符型。 4、相同类型。 5、限性。 6、一致,相同。

7、自动,外部,静态,寄存器。 8、内部,外部。 9、信息集合。 10、FILE*fp。 11、二进制文件尾,0。 12、关系表达式,逻辑量。

13、自顶向下逐步求精,单入口单出口,好结构。 14、顺序结构,分支结构,循环结构。 15、过程式语言,模块设计,模块。 二、单项选择题

1C,2C,3B,4D,5D,6C,7C,8C,9C,10B,11A,12C ,13C,14C,15B。 三、多选题。

1BCE,2ADE,3ABD,4ABCDE,5CDG,6BDG,7ABEG ,8ABC,9ACD,10ABCGH。 四、判断

1 对,2 错,3 对,4 对,5 错,6 错,7 错,8 对,9 错,10 错,11 对,12 错,13 错,14 对,15 对,16 对,17 错,18 错,19 对,20 对。

五、A、写出下列程序的运行结果。 1 、0

1 0 2、^#&

3、x=8

1

2

2

4、min=-5.77,m=1,n=2. 5、ABCDEFGHIJKL EFGHIJKL AFCDEFGHIJKL AFCDEFGHI

B、补充程序,

1、year@0==0 2, int

year0!=0 (n!=0) count++ i+1

j+1

scanf(\

3,9 i \ printf(\ 4, 答案: \

i

\ scanf(\ scanf(\ \ fclose(fp);

5,答案:100

k

i%j

六,编写程序, 1,main() { int a; long power(),t;

printf(\输入一个整数\\n\ scanf(\ \ t=power(a); printf(\ }

long power(x) int x; { long y; if(x>0)

5

y=x*power((x-1,(x-1)); else y=1; return y; } 2,main() {

int a,b,c,*p1,*p2,*p3,t; printf(\输入三个数\\n\ scanf(\ %d %d\ p1=&a;p2=&b,p3=&c; if(*p1>*p2)

{t=*p1;*p1=*p2;*p2=t;} if(*p1>*p3)

{t=*p1;*p1=*p3;*p3=t;} if(*p2>*p3)

(t=*p2;*p2=*p3;*p3=t;} printf(\} 3,main() { int m,n,k;

for(m=1;m<6;m++,m++) {

printf(\

for(k=1;k<=m;k++,k++) {

printf(\ }

for(n=1;n<=m;n++) {

printf(\ } printf(\ } }

6

中等职业学校计算机应用专业c语言编程基础科试卷及答案

中等职业学校计算机应用专业C语言编程基础科试卷及答案一、填空(共35分)1、Unix系统诞生于年,是由实验室的KT和DMR用汇编语言开发成功的。2、在C语言中,标识符主要为,,及的名字使用。3、C语言中中的基本数据类型包括、和
推荐度:
点击下载文档文档为doc格式
76klh90xeq6o2vt5lzj67d82u9zjlx00iha
领取福利

微信扫码领取福利

微信扫码分享