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

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

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

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

选择题

1.设有定义:int x=2;,则以下表达式中,值不为6的是( )。(D)

A. x*=x+1

B. x++,2*x

C. x*=(1+x)

D. 2*x,x+=2

解析:A项,因为赋值运算优先级最低,所以先做x+1,此时x为3,然后再x*=3,所以为x=2*3=6;B项,x++得3然后2*x得6;C项与A项原理一致。2*x虽然结果为4,但未有赋值,此时x的值仍为2,所以最终为4。

2.数据库设计中反映用户对数据要求的模式是( )。(C)

A. 内模式

B. 概念模式

C. 外模式

D. 设计模式

解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,因此选择C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取的方法。

3.以下叙述中正确的是( )。(D)

A. 分支结构是根据算术表达式的结果来判断流程走向的

B. 在C语言中,逻辑真值和假值分别对应1和0

C. 对于浮点变量x和y,表达式:x==y是非法的,会出编译错误

D. 关系运算符两边的运算对象可以是C语言中任意合法的表达式

解析:C语言中,运算符两侧的运算对象可以是任意合法的表达式,选项D正确;非0和0分别对应逻辑真值和假值,选项B错;关系运算符“==—”两侧的运算对象只要为合法的表达式就可以编译通过,选项C错;分支结构是根据if或者else if后面的圆括号内的表达式(不仅仅是算术表达式,还有赋值表达式、逗号表达式、关系表达式、逻辑表达式等)的值来判定流程走向的,选项A错误;所以答案选D。

4.以下程序用来统计文件中字符的个数(函数feof用于检查文件是杏结束,结束时返回非零):

#include<stdio.h>

main()

{

FILE*fp;long num=0;

fp=fopen(\\(C)

A. feof(fp)==NULL

B. !feof(fp)

C. feof(fp)

D. feof(fp)==0

解析:本题考查文件的定位。feof函数的用法是从输入流读取数据,如果到达文件末尾(遇文件结束符),feof函数值为非零值,否则为0。while判断条件应是如果没有到达文件末尾,所以选项C不能得到正确结果。

5.有以下程序:

#include<stdio.h>

main()

{

int a[10]={11,12,13,14,15,16,17,18,19,20),*p=a,i=9;

printf(\\(A)

A. 11 20 20

B. 12 20 20

C. 11 19 19

D. 12 19 20

解析:a表示数组a的第一个元素的地址,*p=a则将p指向了数组a的第一个元素的地址,p—a=0,所以a[p—a]即为a[0],p[i]相当于a[i]即a[9],输出第一个结果为11、第二个结果为20。取地址运算符&和取值运算符*互为逆运算,所以*(&a[i]))的值仍为a[i]即a[9],输出第三个结果为20,答案选A。

6.若有定义:double a,b,c;能正确给a,b,c输入数据的语句是( )。(D)

A. scanf(\\

B. scanf(\\

C. scanf(\\

D. scanf(\\

解析:%If,%le是针对double类型的,如果仅用%f,输入的数据可能不完全被接收,数据的精度可能不足。%f主要针对float类型的变量输入,因此B选项错误。根据题目格式可知A,C选项错误。故答案为D选项。

7.有以下程序:

#include

main()

{char s[10]=\\(A)

A. too

B. verygood

C. very

D. good

解析:程序中定义指针ps后,将数组s首地址赋给ps初始化后,再使指针ps指向字符串“too”的首地址,修改s[4](即字符g)不会改变ps的值,所以输出ps的结果是“too”,答案为选项A。

8.设有宏定义:

#define IsDIV(k,n)((k%n==1)?1:0)

且变量m已正确定义并赋值,则宏调用:

IsDIV(m,5)&&IsDIV(m,7)

为真时所要表达的是( )。(B)

A. 判断m是否能被5和7整除

B. 判断m被5和7整除是否都余1

C. 判断m被5或者7整除是否余1

D. 判断m是否能被5或者7整除

解析:本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即m都能被5和7整除都余1,所以选项B正确。

9.有以下程序

#include

main()

{int c,d;

c=(13>>1)| 1;

d=(13>1)‖1;

printf(\\(C)

A. 6,1

B. 1,1

C. 7,1

D. 7,2

解析:表达式c=(13>>1)|1中,>>是右移符号,数字13换算成二进制后右移1位,再和1进行按位或运算,结果为7;表达式d=(13>1)‖中,首先判断13是否大于1,此时条件成立返回1后,再和1进行或运算,结果为1,因此答案为C选项。

10.有以下程序:

#include<stdio.h>

#define SUB(a)(a)-(a)

main( )

{int a=2,b=3,c=5,d;

d=SUB(a+b)*c;

printf(\\(C)

A. 0

B. -12

C. -20

D. 10

解析:本题考查宏定义,宏定义只是做简单的替换,所以本题中SuB(a+b)*c=(a+b)-(a+b)*c=-20,所以答案为C选项。

11.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。(B)

A. int a[5+5];

B. int n=10,a[n];

C. #define n5

int a[2*n];

D. #define N10

int a[N];

解析:一维数组的定义方式为:类型说明符数组名[常量表达式];注意定义数组时,元素个数不能是变量。因此应该选B选项。

12.有以下程序:

#include

typedef struet stu{

char name[10];

char gender;

int scpre;

}STU;

void f(STU a,STU*b,STU c)

{*b=c=a;

printf(\\(A)

A. Zhao,m

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号