全国计算机等级二级C语言模拟试题及答案9.docx
《全国计算机等级二级C语言模拟试题及答案9.docx》由会员分享,可在线阅读,更多相关《全国计算机等级二级C语言模拟试题及答案9.docx(7页珍藏版)》请在冰豆网上搜索。
![全国计算机等级二级C语言模拟试题及答案9.docx](https://file1.bdocx.com/fileroot1/2023-5/23/80a9853c-8823-4377-a86a-9d6856b02f60/80a9853c-8823-4377-a86a-9d6856b02f601.gif)
全国计算机等级二级C语言模拟试题及答案9
一、选择题
1.一个C语言程序是由( )构成。
A.语句
B.行号
C.数据
D.函数
2.下面标识符中正确的是( )。
A.d&ef
B.6a
C.z4x5c
D.a3/b4
3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4
B.1、1、4
C.1、2、8
D.2、2、8
4.为了避免嵌套的条件分支语句 if--else中的else总是与( ) 组成成对关系。
A. 缩排位置相同的
B. 在其之前未配对的
C. 在其之前未配对的最近的if
D. 在同一行上的if
5.下列表达式的结果正确的是( )。
int aa,bb,cc,dd;
aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
(aa+1==2)?
bb=aa+2:
aa+3
A.2
B.3
C. 1
D.5
6.设有int x=11 ;则表达式(x+1/3)的值是( )。
A.3
B. 4
C. 11
D.12
7.设有字符串A=“He has 钱!
”,则该字符串的长度为( )。
A. 9
B. 10
C. 11
D. 8
8.有如下程序段,则正确的执行结果是( )
int m=3;
while(m<=5)
{ printf(“%d ”,m-3); m++;}
A. 0 0 0
B.0 1 2
C.1 2 3
D.无结果
9.执行语句:
printf("%d",(a=2)&&(b= -2);后,输出结果是( )。
A.无输出
B.结果不确定
C.-1
D. 1
10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。
int x; char y; char z[20];
A. scanf("%d%c%c",&x,&y,&z);
B. scanf("%d%c%s",&x,&y,&z);
C. scanf("%d%c%c",&x,&y,z);
D. scanf("%d%c%s",&x,&y,z);
11. struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是( )。
A. struct结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型
12.在C语言中对于实型数组,其每个数组元素的类型是( )。
A. 实型
B. 整型
C. 可以为任何类型
D. 不确定
13. 若已定义:
int a[9],*p=a;不能表示a[1] 地址的表达式是( )。
A. p+1
B. a+1
C. a++
D. ++p
14. 在TC2.0环境中,对文件进行保存使用的命令是( )。
A. OPEN
B. SAVE
C. LOAD
D. WRITE TO
15.在C++的类中,用于表示公共类型的关键字是( )。
A. class
B. private
C. protect
D. public
二、填空题
1.在C语言中,正确的标识符是由字母、数字、下划线组成的,且由以字母、下划线开头。
开头的。
2. 设p=30,那么执行q=(++p)后,表达式的结果q为___4___,变量p的结果为____4____。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是___该变量的地址。
__-12____。
3. 一个变量的指针是指该变量的地址。
。
4. 在C语言程序中,对文件进行操作首先要_______打开_____________;然后对文件进行操作,最后要对文件实行______________关闭____________操作,防止文件中信息的丢失。
5. 以下程序运行后的输出结果是____20,10_____。
该程序的功能是____变量的交换____ 。
main()
{ int x=10,y=20 ,t=0;
if(x!
=y) t=x; x=y; y=t;
printf("%d,%d\n",x,y); }
6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:
fp=fopen.(“d1.dat”,“rb” );。
7. 有以下程序,当输入的数值为2,3,4时,输出结果为_____sumofnumberis:
14 ____。
main()
{ int x,y,z;
cout << “please input three number”;
cin >>x>>y>>z;
sum=x*x+y*2+z;
cout<<“sum of number is :
”<}
8. 有以下程序
main()
{ char c;
while((c=getchar())!
='?
') putchar( - - c ); }
程序运行时,如果从键盘输入:
YDG?
N?
<回车>,则输出结果为____xcf 9 9 9 _____ 。
9.在循环中,continue语句与break语句的区别是:
continue语句是语句的区别是:
continue语句是 __结束本次循环进入下一次循环_______ ,break 是 ____结束循环_____。
三、程序填空与算法题
1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。
#include
main()
{ int a,b,c,i;
a=c=0;
for(i=1;i<=10;i++)
{ scanf(“%d”,&b);canf(“%d”,&b);
_____if(b%2==0)____
___a=a+b______
___else c=c+b______ }
printf("偶数的和=%d\n",a);
printf("奇数的和=%d\n",c); }
2.编写一个自定义函数,实现求两个实数的平方和
float sum(float x,float y)
{ return x*x+y*y; }
3. 以下程序运行后的输出结果是______ABC___。
main()
{ char s[ ]="GFEDCBA";
int p=6;
while(s[p]!
=‘D’)
{ printf("%c ", p);
p=p-1; } }
4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。
struct student{
char name[10];
char sex;
int age;
float score; }
5.以下程序输出的结果是 ____1 2 6 24 120_____。
int ff(int n)
{ static int f=l;
f=f*n;
return f; }
main()
{ int i;
for(i=1;i<=5;i++) printf("%d\n",ff(i)); }
6. 设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!
=0)
{ n1=n2;
n2=n2/10;
printf("%d ",n1); } }
程序运行后,如果从键盘上输入1298;则输出结果为____8 9 2 1_____。
7.下面程序的功能是:
输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。
#Include<stdio.h>
main()
{ int i, j;
for(i=1; _______i<100 _____; i++)
if (_________if(i%3==0&&i==6)_______)
printf("%d", j); }
8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。
所需要的语句为:
(如果用到指针,在图中标出指针的位置)
.P->NEXT=Q->NEXT
P->NEXT=NEW
四、编程题
1. 编程实现求解下面的式子的结果
main()
{ int m,n,sum=0;
for(m=1;m<=20;m++)
sum=sum+m*(m+1);
printf(“%s”,sum);
}
s=1*2+2*3+3*4+…+20*21
2.编程实现求下面的式子的结果
#include“math.h”
main()
{ floatx,y;
scanf(“%f”&x);
if(x>6)
y=(x-3)/(2*x-12);
else
y=-2*x*x+4*x-10;
printf(“y=%f”,y); }
3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。
main()
{ charch;
FILE*fp1,*fp2;
fp1=fopen(“file1.dat”,“r”);
fp2=fopen(“file2.dat”,“r”);
fp3=fopen(“file3.dat”,“w”);
Ch=fgetc(fp1);
While(ch!
=EOF)
{ fputc(ch,fp3);fputc(ch,fp3);
Ch=fgetc(fp1); }
Ch=fgetc(fp2);
While(ch!
=EOF)
{ fputc(ch,fp3);fputc(ch,fp3);
Ch=fgetc(fp2); }
Fclose(fp1);
Fclose(fp2);
Fclose(fp3);
}