计算机应用专业c语言编程基础科试卷及答案y
计算机应用专业c语言编程基础科试卷及答案y
职业学校计算机应用专业C语言编程基础科试卷及答案
一、填空(共35分)
A. 子程序 B. 主程序和子程序 C. 函数 D. 过程
C. 程序中的main函数 D. 包含文件中的第一个函
2、源程序要正确地运行,必须要有什么函数?A. printf函数 B. 自定义的函数C. main函数 D. 不需要函数
1、Unix系统诞生于 年,是由 实验室的KT和DMR用汇编语言开发成功的。
2、在C语言中,标识符主要为 , , 及 3、若a为整型变量,且有以下语句
数
9、有一个函数原型如下所示:则该函数的返回类型为___。
abc(float x,float y);
A. void B. double C. int D. float
的名字使用。 3、C语言中中的基本数据类型包括 、 和 三种。 4、数组是有序是的并且有 的数据的集合。 5、C语言中,二维数组元素在内存中的存储顺序是 。 6、C语言函数的实参、形参二者类型 ,一般个数 。 7、在C语言中,变量的存储类别有四种,它们是 , , 和 。
8、根据函数能否被其他源文件调用,函数分为数和 函数两类。
函
9、文件是存储在外部存储设备上的 。
10、定义文件指针变量的格式为 。 11、feof( )函数是 检测函数,当文件位置指针
处于 时,它返回一个 值。
12、用逻辑运算符将表达式。
或 连接起来就是逻辑
13、结构化程序设计方法,采用 的设计原则和 的 来构造程序。
14、程序结构一般采用 、 和 结构。
15、第三代高级语言是 ,注重的是 ,
之间的关系是从属性的层层调用关系。二、单项选择题(共15分)1、C语言程序由 组成。
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]=\
printf(\
A. 12 B. 8 C. 7 D. 11
8、C语言可执行程序从什么地方开始执行?
A. 数
程序中第一条可执行语句 B. 程序中第一个函
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(\
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. _908E. *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..
. 在定义字符数组的同时初始化数组外,可以用赋值的形式把字符串存入一个字符的数组中。()
2
10....
用逻辑运算符将关系表达式或变量连接起来就
是逻辑表达式。
11....
在关系运算中,若规定的关系成立,则其结果为1,反之为0。
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(\ 屏幕上显示___ }3 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(\ } 2、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空 . #include {___ n,i,j; printf(\输入非零的整数(输入零结束程序)\ i=j=0; scanf(\ while___ { if(n>0)i=___; if(n<0)j=___;___; }