2011计算机二级考试-C语言试题
1.C语言程序由()组成。
A.声明
B.行数
C.数据
D.功能
2.以下正确的标识符是()。
公元前
公元前123年
c .西蒙
D.青年医学博士
3.在C语言中,存储一个整数、字符和双精度实变量所需的字节数是()。)。)。)。
A.2、1、8
B.4、1、4
C.4、1、4
D.2、2、8
4.为了避免嵌套条件分支语句if - else,else总是与()成对出现。
A.具有相同的缩进位置
B.前无古人
C.如果之前没有配对,则为最近的。
D.如果在同一条线上
5.下列表达式的结果正确的是()。
int a,b,c,d;
a = b = c = d = 2;
d=a+1==3?b=a+2:a+3
A.2 B.4 C.3 D.5
第二,填空
1.在C语言中,正确的标识符由_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _组成
2.设x=3,那么表达式y=(++x)+(++x)的结果是_ _ _ _ _ _ _ _,表达式执行后,变量x的结果是_ _ _ _ _ _ _ _。
3.指向一个变量的指针指的是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
4.组成数组的元素的特征是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
结构要素的特点是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
5.在C语言程序中,要操作文件,必须先_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;然后操作文件,最后是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
6.对字符串进行操作的函数有_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
7.c语言程序由_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _组成
8.如果你要定义整型变量A,实型变量B和字符型变量C,你应该使用的正确说法是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
9.写出下面表达式的值。
3 * 5/7+7% 3 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ x = 2;y = 4;(x++)+y _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
3+4 & gt;= 7-10 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 3 >;4 ?3%2: 1 ______________________________
x=2,y = 2;++ x & amp;& amp++ y _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ x = 3;x+= x-= 2 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
三、判断题
1的一个特点。c语言在于它能操作计算机硬件()。
2.在循环过程中,使用break语句和continue语句的作用是一样的()。
3.在函数定义和调用过程中,形参和实参的数量可以不一致()
4.指针变量可以接收任何类型的值()。
5.在C语言编程中,字符数组和字符串并不是完全相同的概念()。
6.文件指针是一种结构类型,用符号file()表示。
7.嵌套形式()可用于选择结构(if语句)和循环结构。
8.定义二维数组时,可以省略数组的所有两个维度()。
9.逻辑运算符&;& amp|| !的操作顺序是!优先于&;& amp优先于||()
10.任何数组都可以作为一个整体使用()
第四,程序填空
1.下面是打印99乘法表的程序。请在下划线的位置填入适当的句子,使节目(片段)完整。
主()
{ int i,j,k;
for(I = 1;_____________;i++)
{ for(j = 1;______________;j++)
printf(" % d * % d = % d " ,_ _ _ _ _ _ _ _ _ _ _ _);
printf(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _);
}
}
2.设计一个自定义函数,实现求两个数最大数的功能。自定义函数如下:
int max(x,y)
int x,y;
{
}
3.对于以下结构,请用C语言中的语句定义正确的结构形式:
学生信息:包括(姓名,性别,年龄,分数),定义变量stud和数组stud1[30]。
结构学生
{
}
根据给定的程序段,请写出正确的结果。
x = 1;sum = 1;
for(x = 1;x & lt=5 ;x++)
sum = sum * x;
上述程序段实现的功能有:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;
运行结果是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
5.设置以下语句。
int a=43,b,c;
b = 23
c = a++ *-b;
(1) a= b= c=执行完上述句子片段后;
(2)简述a++和++a的异同:
6.有以下程序:
主( )
{ int i=3,* p 1;
int a[3]={15,30,45},* p2
p 1 = & amp;我;p2 = a;
p 1 = p2+2;
printf("%d,%d\n ",*p1,* p2);
}
程序的运行结果是_ _ _ _ _ _。
五、编程题(25分)
1.编程实现10整数的冒泡排序(升序)。
2.编程实现以下公式的结果。
3.编程将文本文件file1.dat的内容复制到文本文件file2.dat
第六,附加问题
c语言程序用来在已知链表的第三个位置插入一个值为A的程序。
参考答案
一、选择题
1.D 2。C 3。A 4。C 5。B
第二,填空
1.字母、数字和下划线;从字母和下划线开始。
2.10;5。
3.变量的地址。
4.由一组具有相同数据类型的元素组成;一组具有不同数据类型的元素。
5.打开它;关闭。
6.字符串长度、子字符串、字符串替换、字符串复制等。
7.功能;声明。
8.int a;浮动b;char c;
9 9 9.3 6 1 1 1 2
三、判断题
1.右二。错误3。错误4。错误5。对吧
6.错误7。右八。错误9。右10。不对。
第四,程序填空
1.我& lt= 9j & lt;=9
printf("%d*%d=%d ",I,j,I * j);
printf(" \ n ");I,j,k;
2.int z;
if(x & gt;= y)z = x;
else z = y;
返回z;
3.char name[20];
迷人的性爱;
int age
浮动分数;
4.实现功能:计算连续数的乘积,即sum = 1 * 2 * 3 * 4 * 5;
运行结果:sum=120
5.44 22 946
A++:先加1,再用表达式的值;++a表示先加1,然后用表达式的值。他们的最终结果是1。
6.45,15
五、编程问题
1.编程实现12整数的冒泡排序(升序)。
主()
{ int a[12];int m,n,p;
for(m = 0;m & lt=11;m++)(m = 0;m & lt=11;m++)
scanf("%d ",& ampa[m]);
for(m = 0;m & lt=11;m++)
for(n = 0;n & lt11-m;n++)
if(a[n]& gt;a[n+1])
{ p = a[n];a[n]= a[n+1];a[n+1]= p;}
for(m = 0;m & lt=11;m++)
printf("%d ",a[m]);}
2.编程实现以下公式的结果。
#包含“math.h”
主()
{ float x,y;
scanf(" % f " & amp;x);
if(x & gt;6)y =(x-3)/(2 * x-12);
else y =-2 * x * x+4 * x-10;
printf("y=%f ",y);}
3.编程将文本文件file1.dat的内容复制到文本文件file2.dat
主()
{ char ch
FILE *fp1,* fp2
FP 1 = fopen(" file 1 . dat "," r ");
Fp2=fopen("file2.dat "," w ");
ch = fgetc(FP 1);
而(ch!=EOF)
{ fputc(ch,fp2);
ch = fgetc(FP 1);}
fclose(FP 1);
fclose(fp2);}
第六,附加问题
p = H;k = 0;
而(p!= NULL & amp& ampk
{ p = p-& gt;接下来;
k++;}
if(p = = NULL & amp;& amph!= NULL)printf(" this is in vilid ");
其他
{ q =(Struct Linklist *)malloc(sizeof(Struct Linklist));
q->;数据= x;q->;数据= x;
q->;next = p-& gt;接下来;
p->;next = q;}