全国计算机二级C语言模拟640文档格式.docx
- 文档编号:13697972
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:20
- 大小:47.10KB
全国计算机二级C语言模拟640文档格式.docx
《全国计算机二级C语言模拟640文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言模拟640文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
printf("
%d\n,%d\n,k,n);
}
程序运行后的输出结果是______。
A.1,2
B.3,4
C.5,6
D.123,456
答案:
C
[解答]此题是考查fprintf和fscanf,其中fprintf是向文件输出,文件为da2.dat文件,fscanf是向文件输入,所以根据程序循环写入和写出,可知答案为C。
2.有以下程序:
#include<stdio.h>
{charch;
ch='
A'
+'
5'
-'
3'
;
%d,%c\n"
ch,ch);
程序的输出结果是
A.67,C
B.B,C
C.C,D
D.不确定的值
A
3.若有以下程序:
#include<stdio.h>
main()
{inta=1,b=2,c=3,d=4;
if((a=2)&
&
(b=1))c=2;
if((c==3)||(d=-1))a=5;
%d,%d,%d,%d\n"
a,b,c,d);
则程序的输出结果是______。
A.2,2,2,4
B.2,1,2,-1
C.5,1,2,-1
D.1,2,3,4
[解答]第一个if语句的判断条件是逻辑与表达式,只有运算对象均非零结果才为真,执行第一个if判断条件,均为赋值表达式,第一个运算对象a=2非零,判断第二个表达式b=1也非零,所以条件成立执行c=2的赋值操作。
执行第二个if判断条件中的逻辑或表达式,只要有一个对象非零结果就是真,本条件中c==3运算对象为假,所以需要判断第二个运算对象d=-1,结果为非零,所以条件成立,执行a=5,的操作,所以a值为5,b值为1,c值为2,d值为-1。
4.对于循环队列,下列叙述中正确的是______。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
D
[解答]循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。
因为是循环利用的队列结构,所以对头指针有时可能大于队尾指针有时也可能小于队尾指针,故本题答案为D。
5.为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),则在[]处应填入的选项是______。
A.structlink*next;
B.linknext;
C.link*next;
D.structlinknext;
[解答]本题考查链表的定义形式,答案选择A。
6.以下叙述正确的是______。
A.表达式sizeof(FILE*)==sizeof(int*)的值为真
B.文件指针的值是一个整数,它的值一定小于文件字节数
C.文件指针的值是所指文件的当前读取位置
D.使用fscanf函数可以向任意类型的文件中写入任意数量的字符
[解答]sizeof(FILE*)=4,因为FILE*为指针,指针的大小4,sizeof(int*)=4,理由同前面。
文件指针的值是地址,是一个十六进制的数,它的值不一定小于文件字节数,因此选项B错误。
文件指针是所指文件的当前读取位置,而不是文件指针的值,因此选项C错误。
intfscanf(FILE*stream,constchar*format,[argument...]);
fscanf函数可以向任意类型的文件,写入任意数量的字符,但不能超过系统的缓冲区,写文件先写入缓冲区,最后一起写入文件,因此选项D错误。
答案为A选项。
7.有以下程序:
{intx,i;
for(i=1;
i<=100;
i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
%d"
x);
\n"
A.2870
B.4284
C.2668
D.3981
8.已知在ASCII字符集中,数字0的序号为48,下列程序的输出结果为______。
}chara='
0'
b='
9'
;
%d,%c\n"
a,b);
A.因输出格式不合法
B.48,57
C.0,9
D.48,9
[解答]注意输出控制符%d,%c,分别表示以十进制形式输出字符的ASCII码值和字符。
9.有以下程序:
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
{printf("
NuM);
A.4
B.8
C.9
D.6
B
[解答]本题考查宏定义。
宏定义只是做简单的替换,执行语句NUM=(N+1+1)*N+1/2=8,故选项B正确。
10.有以下程序:
voidfun(doublex,double*y,double*z)
{*y=*y-1.0;
*z=*z+x;
}
{doublea=2.5,b=9.0,*pa,*pb;
pa=&
a;
pb=&
b;
fun(b-a,pa,pb);
%f\n"
a);
A.8.000000
B.9.000000
C.1.500000
D.10.500000
[解答]main()函数定义两个double类型的变量a、b,分别赋初值为:
2.5、9.0,另外定义两个double类型的指针变量pa、pb,其中pa指向a,pb指向b;
然后将b-a、pa、pb传给函数fun,此时x的值为7.5,y指向a,z指向b;
所以*y=*y-1.0,是将变量a的值减去1.0赋给a,a的值为1.5;
*z=*z+x,是将变量b的值加上7.5赋给b,b的值为16.5;
fun()函数执行完毕后,输出a的值为1.5。
故本题答案为C选项。
11.以下叙述中错误的是______。
A.C语句必须以分号结束
B.复合语句在语法上被看做一条语句
C.空语句出现在任何位置都不会影响程序运行
D.赋值表达式末尾加分号就构成赋值语句
[解答]C程序中所有语句都必须由一个分号“;
”作为结束符。
如果只有一个分号,这个分号也是一条语句,称为“空语句”,程序执行时不产生任何动作。
程序设计中有时需要加一个空语句来表示存在一条语句,但随意加分号也会导致逻辑上的错误,影响程序的运行。
所以选项C的说法是错误的。
12.C语言中的简单数据类型有______。
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.整型、实型、逻辑型、字符型
[解答]整(数)型(长、短)、实(数)型(长、短)、字符型这3种是最常用,也是最简单的数据类型。
13.若有定义:
inta[4][10];
,则以下选项中对数组元素a[i][i]引用错误的是______。
(0<=i<4,0=i<10)
A.*(&a[0][0]十10*i+j)
B.*(a+i)+j
C.*(a+i)+j)
D.*(a[i]+j)
[解答]本题中选项B是错误的引用,*(a+i)+j只代表了a[i][j]的地址。
14.有以下程序
{
intx;
for(x=3;
x<6;
x++)
printf((x%2)?
("
*%d"
):
#%d"
),x);
程序的输出结果是______。
A.*3#4*5
B.#3*4#5
C.*3*4#5
D.*3#4#5
[解答]本题中,printf语句中,条件表达式的功能是对循环变量x进行判断,若x为奇数,输出数据前加*,否则数据前加#,所以选择A。
15.结构化程序由3种基本结构组成,3种基本结构组成的算法()。
A.可以完成任何复杂的任务
B.只能完成部分复杂的任务
C.只能完成符合结构化的任务
D.只能完成一些简单的任务
[解答]C程序由3种基本的结构组成,分别为顺序结构、选择结构和循环结构,这3种结构可以组成任何复杂的C程序,即可以完成任何复杂的任务,故选项B、选项C和选项D都不正确。
所以,4个选项中选项A符合题意。
16.以下能正确定义一维数组的选项是______。
A.inta[5]={0,1,2.3,4,5};
B.chara[]={0,1,2.3,4,5};
C.chara={'
'
B'
C'
};
D.inta[5]="
0123"
[解答]数组下标从0开始,A选项中所赋值的个数超过了数组的长度;
C选项中定义a为字符型变量,而不是数组,赋值错误;
D选项中,整型数组不能赋字符串。
17.C源程序中不能表示的数制是______。
A.二进制
B.八进制
C.十进制
D.十六进制
[解答]在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,因此选择A。
18.下列程序的运行结果是______。
voidsub(int*s,int*y)
{staticintm=4;
*y=s[0];
m++;
voidmain()
{inta[]={1,2,3,4,5},k;
for(k=0;
k<=4;
k++)
{sub(a,&
x);
%d,"
x);
A.1,1,1,1,1,
B.1,2,3,4,5,
C.0,0,0,0,0,
D.4,4,4,4,4,
[解答]本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。
主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 模拟 640