《2022年中等职业学校计算机应用专业c语言编程基础科试卷及答案 2.pdf》由会员分享,可在线阅读,更多相关《2022年中等职业学校计算机应用专业c语言编程基础科试卷及答案 2.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中等职业学校计算机应用专业c语言编程基础科试卷及答案1 / 6 中等职业学校计算机应用专业C 语言编程基础科试卷及答案一、填空(共 35分)1、Unix 系统诞生于年,是由实验室的 K和用汇编语言开发成功的。2、在 C语言中,标识符主要为,及的名字使用。3、C语言中中的基本数据类型包括、和三种。4、数组是有序是的并且有的数据的集合。5、C语言中,二维数组元素在内存中的存储顺序是。6、C语言函数的实参、形参二者类型,一般个数。7、在 C语言中,变量的存储类别有四种,它们是,和。8、根据函数能否被其他源文件调用,函数分为函数和函数两类。9、文件是存储在外部存储设备上的。10、定义文件指针变量的格式
2、为。11、feof( )函数是检测函数,当文件位置指针处于时,它返回一个值。12、 用逻辑运算符将或连接起来就是逻辑表达式。13、结构化程序设计方法,采用的设计原则和的来构造程序。14、程序结构一般采用、和结构。15、第三代高级语言是,注重的是,之间的关系是从属性的层层调用关系。二、单项选择题(共分)1、C语言程序由组成。A. 子程序 B. 主程序和子程序C. 函数 D. 过程2、源程序要正确地运行,必须要有什么函数?A. printf函数 B. 自定义的函数C. main 函数 D. 不需要函数3、若 a 为整型变量,且有以下语句a=-017L;printf(%dn,a);则下面 _说法是正
3、确的 ?A. 赋值不合法 B. 输出值为 -17C. 输出为不确定值 D. 输出值为 -154、下面表达式的值为 4.A. 11/3 B. 11.0/3C. (float)11/3 D. (int)(11.0/3+0.5)5、在 C语言的 if 语句中 , 用作判断的表达式为 _。A. 关系表达式 B. 逻辑表达式C. 算术表达式 D. 任意表达式6、 下面哪一项是不正确的字符串赋值或赋初值的方式。A. char *str; str=string;B. char str7=s,t,r,i,n,g;C. char str110;str1=string;D. char str1=string,st
4、r2=12345678;7、若有以下说明和语句,则输出结果是哪一项?(strlen(s)为求字符串 s 的长度的函数 )char s12=a book!;printf(%d,strlen(s);A. 12 B. 8 C. 7 D. 118、C语言可执行程序从什么地方开始执行?A. 程序中第一条可执行语句 B. 程序中第一个函数C. 程序中的 main 函数 D. 包含文件中的第一个函数9、有一个函数原型如下所示:abc(float x,float y);则该函数的返回类型为 _。A. void B. double C. int D. float10、在 C语言程序中,下面哪一个是正确的?A.
5、函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义可以嵌套,函数的调用也可以嵌套D. 函数的定义和函数的调用都不可以嵌套11、对于类型相同的指针变量,不能进行哪种运算?A. + B. - C. = D. =12、若有以下说明和语句,且0=i10, 则下面是对数组元素的错误引用 ?int a=1,2,3,4,5,6,7,8,9,0, *p, i;p=a;A. *(a+i) B. ap-a C. p+i D. *(&ai)13、如果想把一些新的数据添加到文件xh.txt中,则应该以下面方式打开文件?A. fp=fopen(xh.txt,a);
6、 B.fp=fopen(xh.txt,a);C. fp=fopen(xh.txt,a); D.fp=fopen(xh.txt,a);14、下面哪条语句是从文件中读取一个字符?A. ch=getc(); B. fputc(ch,fp);C. fscanf(%c,&ch); D. scanf(%c,&ch);15、C语言中的文件类型如何划分?A. 索引文件和文本文件两种B. ASCII 文件和二进制文件两种C. 只有文本文件一种名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共
7、6 页 - - - - - - - - - 中等职业学校计算机应用专业c语言编程基础科试卷及答案2 / 6 D. 只有二进制文件一种三、多选题(共 20 分)1、下面是定义局部变量储存类别的保留字。A. int B. auto C.static D.floatE. register F.extern G. unsigned H.signed2、指出下面各说明语句中是合法的 :A. int abcd0 x80; B. char 9ab10;C. char chi-200; D. int aaa5=3,4,5;E. float key=3.0,4.0,1,0; F. char disk;G. in
8、t n,floppyn; H. int cash4=1,2,3,4,5,6;3、C程序的结构可分为类?A.顺序结构 B.循环结构 C. 程序结构 D. 选择结构4、C语言的主要特点有A.简洁、紧凑,使用方便、灵活,易于学习和应用。B.语言是面向结构化程序设计的语言。C.语言允许直接对位、字节和地址进行操作。D.数据类型丰富。 E C语言生成的目标代码质量高。5、指出下面合法的标识符: A. 3ab B. int C. ABC D. a_3E. sum.a F. #abc G. _stu2 H. abc f6、指出下面是合法的用户定义的标识符。A. P-S B. putchar C. doubl
9、e D. _908E. *par F. sheep! G. wind H. x y7、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. float10、下面写法是对的 , 而且是常量。A. 125 B. -.456 C. 1.25e20 D. ABE. E6 F. 0238 G. 0 xabcdef
10、 H. n123四、判断(共分)1. 在 C语言中,函数的参数传递有两种方式: 传递值和传递地址。()2. 一般来说,使用指针能使目标程序占用存储空间大,运行速度快。()3. 指针变量可以定义为指向字符型、 实型以及其他类型的变量。()4. 内存区的每一个字节都有一个编号, 这个编号就称为“ 地址” 。()5. 条件编译的好处是可以增加被编译的语句,从面增加目标代码的长度。6. 写带有参数的宏定义时, 宏与带括号的参数间有空格。()7. fscanf()函数从文件中读取字符串, 只当遇到空格符时才结束字符的读取。()8. 形式参数是指定义函数时跟在函数名后的小括号内的变量名。实际参数则是指调用
11、函数时,跟在函数名后的小括号内的表达式。()9. 在定义字符数组的同时初始化数组外, 可以用赋值的形式把字符串存入一个字符的数组中。()10. 用逻辑运算符将关系表达式或变量连接起来就是逻辑表达式。11. 在关系运算中, 若规定的关系成立, 则其结果为1,反之为 0。12. 格式字符前面的数字,指定输入数据所占宽度,不能指定小数位数。13. c 格式符,用为输出一个字符。对于整数,只要它的值在 0256 范围内。()14. 参数 ch 通常为字符型变量、字符码或字符本身。()15. C语言提供了整型、 实型、字符型三种基本类型。()16. 逗号运算符在所有运算符中优先级虽最低,逗号运算符的结合
12、方向是 “ 从左至右 ” 。()17. C语言提供了一个惟一的两目运算符(?:),即条件运算符。()18. 递增、递减运算符的优先级与 “ 取正负 ” 的优先级不同。()19. 当赋值号两边的数据类型不同时, 一般由系统自动进行类型转换。()20. 自动转换的规则是按照低类型转换到高类型或赋值号的右边类型转换到赋值号左边的类型来进行的。()五、A、写出下列程序的运行结果。(共分)1、void main()int count,i;int x,y,z;x=y=z=0;scanf(%d,&count);for(i=0;i0)case 1:switch(b10)case 1:printf();brea
13、k;case 0:printf(!);break;case 0:switch(c=5)case 0: printf(*);break;case 1: printf(#);break;default:printf(%);break;default:printf(&);printf(n);运行结果:3、#include main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;printf(x=%dn,x);运行结果:4、void main()float array34=3.4,-5.6,56.7,56.8,999.,
14、-.0123,0.45,-5.77,123.5,43.4,0,111.2;int i,j;int min;int m,n;min = array00;m=0;n=0;for(i=0;i3;i+)for(j=0;j arrayij)min = arrayij;m=i;n=j; printf(min=%d,m=%d,n=%dn,min,m,n);运行结果:5、void main()char str=ABCDEFGHIJKL;printf(%sn,str); 屏幕上显示 _printf(%sn,&str4); 屏幕上显示 _str2=str5;printf(%sn,str); 屏幕上显示 _str9
15、=0;printf(%sn,str); 屏幕上显示 _B,补充程序(共 20 分)1,下面这个程序的作用是统计公元1 年到公元 2000年的闰年个数。判断闰年的方法是: 能被 400 整除的年是闰年 ; 除能被 400 整除的年以外,凡是能被4 整除,但不能被 100 整除的年是闰年。其余年份是平年。#include void main()int year;int count=0;for(year=0;year=2000;year+)if( (_)|( year%4=0 & _) )_;printf(%d,count);2、 以下程序从读入的整数数据中, 统计大于零的整数个数和小于零的整数个数
16、 . 用输入零来结束输入 , 程序中用变量 i 统计大于零的整数个数 , 用变量 j 统计小于零的整数个数 . 请填空 .#include main()_ n,i,j;printf(输入非零的整数 ( 输入零结束程序 );i=j=0;scanf(%d,&n);while_if(n0)i=_;if(n0)j=_;_;printf(i=%4d j=%4dn,i,j);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 中等职业学校计算机
17、应用专业c语言编程基础科试卷及答案4 / 6 3、下面这个程序打印出以下这个三角形. 请填空。0112223333444445555558888888889999999999void 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 name80;int age;float score;fp=fopen(_,w);for
18、(i=0;i5;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
19、 flag;for(i=2;i=_;i+)flag=1;k=(int)sqrt(i);for(j=2;j0) 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 %d,&a,&b,&c); 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(%d,
20、%d,%d,*p1,*p2,*p3); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 中等职业学校计算机应用专业c语言编程基础科试卷及答案6 / 6 3,main() int m,n,k; for(m=1;m6;m+,m+) printf(tt); for(k=1;k=m;k+,k+) printf(b); for(n=1;n=m;n+) printf(*); printf(n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -