首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷53

二级C语言选择题专项强化真题试卷53

本单篇文档共8654字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 真题试卷 5750人下载
价格: 0.60 原价:¥8.00
收藏

二级C语言选择题专项强化真题试卷53

选择题

1.软件按功能可以分为:应用软件、系统软件、支撑软件(或工具软件)。下面各项中属于应用软件的是( )。(C)

A. 编译程序

B. 操作系统

C. 教务管理系统

D. 汇编程序

解析:系统软件主要包括:

①操作系统软件;

②各种语言的解释程序和编译程序;

③各种服务性程序;

④各种数据库管理系统。

操作系统、编译程序与汇编程序属于系统软件,编译程序与汇编程序也称为支撑软件,而教务管理系统属于应用软件。

2.有以下程序:

#include<stdio.h>

main()

{

FILE*f:

f=fopen(\\(C)

A. helloabc

B. abelo

C. abc

D. abchello

解析:fopen(\\

3.有以下程序:

#include<stdio.h>

main()

{

int a,b;

for(a=0;a<3;a++)

{

scanf(\\(A)

A. 2 3 3 4 5 6

B. 2 3 4

C. 2 2 3 4 4 4

D. 2 3 4 3 4 4

解析:本题是一个循环结构嵌套选择结构,按照外层循环,内层选择一步一步处理即可。重点注意地是,switch语句中并没有出现break语句,所以内层循环是不会跳出的。

4.下列数据结构中,属于非线性结构的是( )。(C)

A. 循环队列

B. 带链队列

C. 二叉树

D. 带链栈

解析:线性结构的特点:

①有且只有一-个根结点;

②每一个结点最多有一个前驱,也最多有一个后继。

不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继,属于非线性结构。

5.函数fgetc的功能是从指定文件中读入一个字符,以下与其功能完全相同的函数是( )。(D)

A. fread

B. fscanf

C. fgets

D. getc

解析:flgets读取一个长度为(n一1)的字符串;fread按照指定的长度读取数据项;对应二进制的打开方式;fscanf按指定格式读,对应文本打开方式;gete从指定的文件读入一个字符,即从fp所指向的文件中读入一个字符赋给ch。因此答案为D选项。

6.有以下程序(strcat函数用于连接两个字符串):

#include<stdio.h>

#include<string.h>

main( )

{

char a[20]=\\(C)

A. IJK

B. ABCDE\0FG\0UK

C. ABCDIJK

D. EFGIJK

解析:字符数组a中包含两个‘\0’,遇到第一个‘\0’时就表示字符串a结束。字符串处理函数strcat(字符数组a,字符数组b),功能是连接两个字符数组中的字符串,把字符串b连接到a的后面,结果放在字符数组a中。连接时将字符串a后的‘\0’取消,只在新串最后保留一个‘\0’。本题相当于将“ABCD”和“IJK”连接。因此C选项正确。

7.以下叙述正确的是( )。(C)

A. 有些算法不能用3种基本结构来表达

B. C语言程序不编译也能直接运行

C. 结构化程序的3种基本结构是循环结构、选择结构、顺序结构 .

D. 如果C语言程序实现的算法很简单,则计算机不进行任何代码转换就能执行程序

解析:算法的3种基本结构可以表达任何算法,只是不同的实现复杂度不相同,因此A选项错误。C语言是编译型语言,程序必须先编译、链接才能运行,因此B选项错误。C语言是高级程序语言,计算机不能识别除了机器语言以外的任何语言,因此C程序代码转换为机器语言才能在计算机上运行,因此选项D错误。答案为C选项。

8.有以下程序:

#include

main()

{ int i,j,m=1;

for(i=1;i<3;i++)

{for(j:3;j>0;j- -)

{if(i*j>3)break;

m *=i*j;

}

}

printf(\\(C)

A. m=4

B. m=2

C. m=6

D. m=5

解析:第一次外循环i的值为1,第一次内循环j的值为3,不满足条件执行m*=i*j,即m的值为3;第二次j的值为2,不满足条件执行m*=i*j,即m的值为6;第三次j的值为1,不满足条件执行m*=i*j,即m的值仍为6。第二次外循环i的值为2,j的值为3,满足条件,执行break语句,跳出循环。

9.有以下程序:

#include<stdio.h>

main( )

{

int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;

for(i=0;i<3;i++)

for(k=i+l;k<4;k++)

if(a[i][i]<a[k][k])

{t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}

for(i=0;i<4;i++)

printf(\\(C)

A. 1,1,2,6,

B. 6,2,1,1,

C. 6,4,3,2,

D. 2,3,4,6,

解析:首先对二维数组进行赋值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值为1、4、…、6、1。通过for嵌套循环语句和if条件语句,对二维数组对角线元素进行由大到小的排序操作,程序最后通过for语句输出二维数组第l行的4个元素。因此C选项正确。

10.有以下程序:

#include

main()

{ int a=1,b=1;

for(;a一一;)

b一一;

printf(\\(A)

A. 一1,0

B. 0,0

C. 一1,一1

D. 1,1

解析:题干中语句for(;a一一;)的执行过程是,先判断表达式a一一是否为0,因为运算符“一一”在变量的后面,表示先进行其他操作,再让变量a减1,即判断a!=0成立,则进入循环,然后a减1,起始a=1不等于0,满足条件进入for循环,然后a自减1为0,b自减1为0,继续循环;再跳回for语句时,a!=0不成立,不会进入循环,但是a也要自减1为一1,循环结束;故最后输出a=一1,b=0,因此答案为A选项。

11.以下数组定义中错误的是( )。

D

解析:D)选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。

12.有以下程序I

本文档预览:3600字符,共8654字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷53

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号