首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷285

国家二级C语言机试(选择题)模拟试卷285

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

国家二级C语言机试(选择题)模拟试卷285

选择题

1.以下选项中,不合法的C语言用户标识符是(B)

A. AaBc

B. a-b

C. a_b

D. _1

解析:在C语言中的用户标识符只能由字母,数字和下划母组成,并且第一个字符必须是字母或下划线,在选项A中出现了非法的字符–。

2.以下选项中表示一个合法的常量是(说明:符号□表示空格)(D)

A. 123E0.2

B. 2.7eC. 0999D. 0Xab

解析:本题考查C语言中的常量。选项A字母E后面必须是整型数,浮点数错误:选项B字母e后面没有整型数:选项C以0开始表示8进制数,8进制数没有9:选项D是一个正确的16进制常数。

3.数据库设计过程不包括( )。(D)

A. 概念设计

B. 逻辑设计

C. 物理设计

D. 算法设计

解析:数据库设计过程主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为D选项。

4.数据流图中带有箭头的线段表示的是(D)

A. 控制流

B. 事件驱动

C. 模块调用

D. 数据流

解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中带箭头的线段表示数据流。沿箭头方向传递数据的通道,一般在旁边标注数据流名。

5.若有定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是( )。(B)

A. (*p)++;

B. *p++;

C. ++(*p);

D. *p+=1;

解析:由于自加运算符++的运算级别高于间接运算*的运算级别,所以B选项的表达式*p++不能使变量year中的值增至2010,因此选择B选项。

6.下列描述中正确的是(D)

A. 程序就是软件

B. 软件开发不受计算机系统的限制

C. 软件既是逻辑实体,又是物理实体

D. 软件是程序、数据与相关文档的集合

解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成: 一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。

7.执行以下程序段后,w的值为( )。

int w=’A’,x=14,y=15;

w=((x‖y)&(w<’a’));(C)

A. 一1

B. 2

C. 1

D. 0

解析:本题考查表达式和逻辑运算。x和y分别为14和15,因此(x‖y)的值是真。w的值为A,其ASCⅡ值为65,a的ASCⅡ值为97,因此(w<’a’)的值为真。表达式w=((x‖y)&(w<’a’))的前后两个值均为真,整个表达式的值为真。

8.由以下while构成的循环,循环体执行的次数是int k=0;while(k=1)k++;(C)

A. 一次也不执行

B. 执行一次

C. 无限次

D. 有语法错,不能执行

解析:循环条件表达式为赋值表达式k=1,因此循环执行无限次。

9.以下叙述中正确的是(B)

A. C语言程序总是从最前面的函数开始执行

B. C语言程序总是从main函数开始执行

C. C语言程序中main函数必须放在程序的开始位置

D. C语言程序所调用的函数必须放在main函数的前面

解析:C语言中一个源程序都有一个且只能有一个main函数,即主函数;C语言规定必须用main作为主函数名。其后的一对圆括号中可以是空的,但不能省略。程序中的main()是主函数的起始行,也是C程序执行的起始行。每一个程序都必须有一个且只能有一个主函数。一个C程序总是从主函数开始执行,到main函数体执行完后结束,而不论main函数在整个程序中的位置如何。而调用函数的定义位置和调用没有直接关系。

10.若有定义语句int a[2][3],*p[3];,则以下语句中正确的是( )。(C)

A. p=a;

B. p[0]=a;

C. p[0]=&a[1][2];

D. p[1]=&a;

解析:A选项错误,因为p是指向一个指针数组,作为数组名,不能指向别的地方。B选项错误,因为p[0]是一个int指针,也就是int*;而a是一个指向指针的指针int**。C选项正确,因为p[0]是一个int*,a[1][2]是int,&a[1][2]是int*,类型吻合。D选项错误,因为a作为数组名,不能取地址,即使能取,p[1]是int*,&a是int***,类型不对。

11.有以下程序:

#include<stdio.h>

void f(int*p,int*q);

main()

{

int m=1,n=2,*r=&m;

f(r,&n);

printf(’’%d,%d’’,m,n);

}

void f(int *p,int*q)

{

p=p+1:

*q=*q+1:

}

程序的运行结果是( )。(B)

A. 2,3

B. 1,3

C. 1,4

D. 1,2

解析:在f(int*p,int*q)函数中,执行p=p+1是将p所对应的地址加1,而*q=*q+1是将q所指向n的地址所对应的值加1,所以m的值所对应的值没有变,而n的值则为3了,因此B选项正确。

12.若有定义int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。(D)

A. *(&w[0][0]+1)

B. *(**+3)

C. *(*(w+1))

D. *(w+1)[4]

解析:A选项中*(&w[0][0]+1)表示w[0][1];B选项中*(*w+3)表示w[0][3];C选项中*(*(w+1))表示w[1][0];而D选项中*(w+1)[4]的正确写法是(*w+1)[4],表示w[1][4],因此选择D选项。

13.有以下程序

#include

#define N 3

void fun(int a[][N],int b[])

{ int i,j;

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

{b[i]=a[i][0];本文档预览:3600字符,共7827字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷285

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号