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

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

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

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

选择题

1.下列叙述中正确的是( )。(A)

A. 程序执行的效率与数据的存储结构密切相关

B. 程序执行的效率只取决于程序的控制结构

C. 程序执行的效率只取决于所处理的数据量

D. 以上说法均错误

解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。

2.若有以下定义:

int x[10],*pt=x;

则对x数组元素的正确引用是( )。(B)

A. *&x[10]

B. *(x+3)

C. *(pt+10)

D. pt+3

解析:数组的下标是从O开始的,故x[10]实际上具体为x[0],x[1],…,x[9],而若使用x[10]就会溢出,编译出错。所以AC两项错误;D项是指向地址的,并未引用到元素;B项的表达正确,代表x[3]中的元素。

3.有如下程序段:

int x=1 2;

double y=3.141593;

printf(\\(A)

A. 123.141593

B. 123.141493

C. 12,3.141593

D. 123.1415930

解析:输出的x与y间没有空格,“%8.6f”代表输出字符型数据y的格式应为小数点后保留6位。

4.下面描述中不属于数据库系统特点的是( )。(C)

A. 数据共享

B. 数据完整性

C. 数据冗余度高

D. 数据独立性高

解析:数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,故C选项错误。

5.下面选项中关于位运算的叙述正确的是( )。(A)

A. 位运算的对象只能是整型或字符型数据

B. 位运算符都需要两个操作数

C. 左移运算的结果总是原操作数据的2倍

D. 右移运算时,高位总是补0

解析:本题考查位运算。按位取反只需要一个操作数,所以B选项错误;左移一位是原操作数的2倍,其他情况不是,比如左移两位就是原操作数的4倍,所以C选项错误;右移运算时,高位在某些情况下不是补0,所以D选项错误。故A选项正确。

6.有以下程序:

#include<stdio.h>

void fun(char*c){

while(*c){

if(*c>=’a’&&*c<=’z’)

*c=*c=-(’a’-’A’)。

c++;

}

}

main( )

{

char s[81];

gets(s);

fun(s);

puts(s);

}

当执行程序时从键盘上输入Hello Beijing<回车>,则程序运行后的输出结果是( )。(C)

A. hello beijing

B. Hello Beijing

C. HELLO BEllING

D. hELLO Beijing

解析:主程序读取整个字符串存于s中,调用fun函数,字符指针c指向数组s。函数fun的功能是把指针c所指向的字符数组中的所有小写字符转换为大写。gets函数可以把空格作为字符串的一部分输入,以回车作为输入结束。如果*c为小写字符,则*c=*c-32(转大写)。因此C选项正确。

7.有以下程序:

#include<stdio.h>

main( )

{

int a[4][4]={{1,4,3,2},

{8,6,5,7},

{3,7,2,5},

{4,8,6,1}};

inti,j,k,t;

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

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

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i])

{

t=a[j][i];

a[j][i]=a[k][i];

a[k][i]=t;

}/*按列排序*/

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

printf(\\(D)

A. 1,6,2,1,

B. 8,7,3,1,

C. 4,7,5,2,

D. 1,6,5,7,

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

8.有以下程序

#include

main()

{FILE*fp;

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

fp=fopen(\\(A)

A. 6

B. 21

C. 123456

D. 654321

解析:本题首先定义文件指针变量fp和一个数组a[],再打开一个文件“dat(a)dat”,随后先给文件写入数据a[0],由于rewind函数是将文件指针从当前位置重新指向文件开始位置,所以for循环依次将数组a中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321,重新使指针指向文件开始位置,将此时fp指向的数据(即文件中第一个数据6)写入变量k中,关闭文件,输出k值,答案为A选项。

9.有以下程序:

#include<stdio.h>

void fun1(char*p)

{

char*q;

q=p;

while(*q!=’\0’)

{

(*q)++;

q++;

}

}

main( )

{

char a[]={\\(B)

A. Prphsbn

B. Prohsbn

C. Progsbn

D. Program

解析:(*q)++是q所指的字符加1,q++就是指针移到下一个字符。因此B选项正确。

10.若要建立下图所示的存储结构,以下正确的程序段是( )。

(A)

A. char**q,*p,c;

p=&c;q=&p;

B. char**q,*p,c;

p=&c;q=*p;

C. char*q,*p,c;

p=&c;*q=p;

D. char*q,*p,c;

q=p;p=* c;

解析:由图示可知,c是个普通变量,p指向c,因此p是指针,且p=&c,q指向p,但是p也是指针,因此q是指向指针的指针q=&p,因此定义是int**q,*p,c,q=&p,P=&c。答案为A选项。

11.有以下程序:

#include

mmn()

{ char s[

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号