(21)有以下程序:

程序运行后的输出结果是( )。

A、1*1=1 1$2=2 1*3=3

(22)有以下程序:

程序运行后的输出结果是( )。

A,*2*6

B.}3*5一

C.}5

D.*7

(23)有以下程序:

程序运行后的输出结果是( )。

A.500

B.401

C.503

D.1404

(24)若有以下函数首部:

int fun(double x[10],int*n)

则下面针对此函数的函数声明语句中正确的是( )。

int fun(double,int);

B.int fun(double木,int*);

C.int mn(double*x,int n);

D.int fun(double x,intint*n)

(25)有以下程序:

程序运行后的输出结果是( )。

A.2,1,1,2

B.1,2,1,2

C.2,1,2,1

D.1,2,2,1

(26)若有以下定义:

int x[10],* pt=x;

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

A.pt+3

B.}&x[10]

C.*(pt+10)

D.*(x+3)

(27)有以下程序:

程序执行后的输出结果是( )。

A.20

B.25

C.45

D.36

(28)有以下程序:

程序运行后的输出结果是( )。

A.1,O,7,0,

B.1,2,3,4,

C.1,4,5,9,

D.3,4,8,10,

(29)设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。

A.char str( )=”strin9”;C=str;

B.scanf(”%s”,C.;

C.c=getchar( );

D.*c=”strin9”;

(30)若有定义语句:

char S[10]=”1234567\0\0”;则strlen(s)的值是( )。

A.7

B.8

C.9

D.10

(31)有以下程序:

程序运行后的输出结果是( )。

A.11

B.9

C.6

D.7

(32)有以下程序(说明:字母A的ASCIl码值是65):

程序运行后的输出结果是( )。

A.BT

B.YE

C.YT

D.BY

(33)有以下程序:

程序运行后的输出结果是( )。

A.120

B.11

C.6

D.21

(34)有以下程序:

程序运行后的输出结果是( )。、

A.A B E F

B.C D E F

C.A B C D

D.C D A B

(35)以下关于typedef的叙述错误的是( )。

A.用typedef可以增加新类型

B.typedef只是将已存在的类型用一个新的名字来代替

C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名

D.用typedef为类型说明一个新名,通常可以增加程序的可读性

(36)程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为指针指向链表的第一个结点。

若有以下程序段:

该程序段实现的功能是( )。

A.删除尾结点

B.尾结点成为首结点

C.删除首结点

D.首结点成为尾结点

(37)有以下程序:

程序运行后的输出结果是( )。

A.33

B.197

C.143

D.28

(38)若有以下程序段:

程序运行后的输出结果是( )。

A.16

B.8

C.4

D.2

(39)以下叙述中错误的是( )。

A.gets函数用于从终端读人字符串

B.getehar函数用于从磁盘文件读人字符

C.fputs函数用于把字符串输出到文件

D.fwrite函数用于以二进制形式输出数据到文件

(40)有以下程序:

以上程序执行后abc.dat文件的内容是( )。

A.China

B.Chinang

C.ChinaBeijing

D.BeijingChina

(21)A【解析】外循环第一次i的值为1,内循环第一次j的初值为1,打印1 *1=1;内循环第二次j的值为2,打印1$2=2;内循环第三次J的值为3,打印1}3=3,打印回车换行,退出内循环。外循环第二次i的值为2,内循环第一次j的初值为2,打印2*2=4;内循环第二次j的值为3,打印2。3=6,打印回车换行,退出内循环。外循环第三次i的值为3,内循环第一次j的初值为3,打印3*3=9,打印回车换行,退出内循环。

(22)D【解析】d0...whi1e语句是先执行后判断,所以第一次先执行循环体,判断i%3==1的条件,由于i为5,所以余数为2,条件不成立,执行i++,i的值为6,判断whi1e条件为真;第二次执行循环体,同第一次循环的执行过程一样,i的值变为7,判断whi1e条件为真;第三次执行循环体,此时i%3==1,条件成立,再判断i%5==2也成立,打印*与i的值,即*7,然后执行break语句,跳出循环。所以选择D选项。

(23)C【解析】本题重点考察函数的定义和调用,第一次循环,a=0,i=0,返回值a=0*0+1+0=1;第二次循环,a=1,i=10,返回值a=10*10+1+1=102;第三次循环,a=102,i-20,返回值a=20*20+1十102=503;第四次循环,a=503,i=30;不符合i<30,跳出循环,最后结果输出a=503。

(24)B【解析】函数声明的一般形式为:“类型说明符被调函数名(类型形参,类型形参,……);”或“类型说明符被调函数名(类型,类型,……);”由于函数首部为int fun(doub1e x[10],int*n),因此B选项正确。

(25)D【解析】intm=1,n=2,* P=&m,。q=&I1,*r;即指针变量P指向m,指针变量q指向n,r=P;P=q;q=。;即

通过指针变量r,将指针P和指针q的指向交换。因此最后输出1,2,2,1。

(26)D【解析】没有A选项的引用形式。+与&放在一起作用抵消,所以B选项错误,只能引用到X[9]。+(pt+i)表示引用指针pt所指元素后的第i个元素,所以c选项错误,只能为+(pt+9)。因此D选项正确。

(27)B【解析】统计1~9九个数中的奇数和,此题考察指向数组的指针。C语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此·(t+i)代表数组的第i+1个元素。程序运行的结果是1+3+5+7+9=25。

(28)A【解析】该程序首先在定义变量时,对二维数组a[][N]进行赋值操作;调用函数fun,函数fun的功能是将二维数组中的a[0儿0]、a[1][1]、a[2][2]和a[3][3]赋值给一维数组,最后将一维数组元素1,0,7,0,输出。

(29)A【解析】A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用的指令或数据。在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。因此A选项正确。

(30)A【解析】str1en()函数在计算字符串长度时,遇到结束标识为止,且长度不包括结束标识。本题中字符串,从第一个字符开始,遇到第一个结束标识‘\0’为止,注意‘\0’不占字符串长度,所以字符串长度为7。因此A选项正确。

(31)C【解析】strcpy:字符串拷贝函数;str1en:求字符串长度函数(注意:不包含字符串结束标识符‘、0’);strcat:字符串连接函数。执行完语句strcat(P,r);后,P数组中存储的元素为a,b,c,d,a,b,C,d,8;执行语句strcpy(P+str1en(q),q);得到的结果是将q所指向的字符串拷贝至P+str1en(q)开始的存储位置,因为str1en的值为3,即从P+3开始存储q中的元素。所以执行完strcpy(P+str|en(q),q)语句后,字符数组P[20]的存储元素为a,b,c,a,b,o;所以str1en(P)的结果为6。因此C选项正确。

(32)B【解析】本题中执行fun(a)时,会取字符串a的第一个字母B,因为字母B的ASCI1码值为66,所以不会输出字母8,函数只会输出ASCI1码值为奇数的字母,字母Y的ASCI1码值为89,字母T的ASCI1码值为84,字母E的ASCII码值为69。因此B选项正确。

(33)D【解析】fun函数中的变量X为静态局部变量,占用固定的内存单元,下一次调用时仍可以保留上次调用时的值。也就是说,如果多次调用fun函数,x的定义只在第一次调用时有效,从第二次调用开始,x的定义相当于不存在,直接使用上次X的值。fun函数被调用了5次,每次调用后的返回值累加到s上。5次调用后,x的值为6,8的值为1+2+3+4+5+6=21。因此D选项正确。

(34)B【解析】本题考察的是变量的作甩范围。如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即不起作用:奉题中,在fun1()和main()函数内访问的是全局变量a和b,在fun2()函数中访问的是形参变量a和b。所以,main()函数中的prinff()函数输出的是在fun1()函数中被改变的全局变量a和b的值c、D,而fun2()函数中输出的是传递给它的实参值E、F。因此B选项正确。

(35)A【解析】typedef并不是增加了新类型,面是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强程序的可移植性。所以A选项错误:

(36)D【解析】本题考查链表的操作,本题中首先是s指向了它的下个结点,题目中说明了s总是指向链表的第一个结点,然后whi1e循环找到链表的最后一个元素,然后最后一个元素指向了之前链表的头结点,之前头结点指向了空结点,所以本题实现的功能是使首结点成为尾结点。选项D正确。(37)C【解析】本题考查带参数的宏定义,s为带参数的宏定义,运行S(k+j)为4*(k+j)*k+j+1=143,选项C正确。

(38)C【解析】本题考查位运算,属于基础知识,题目中将整型变量8,二进制表达为00(301000,右移一位为00000100,即4,选项c正确。

(39)B【解析】本题考查字符处理函数和文件操作函数。属于基础知识,其中B选项getchar函数是用于从终端读人一个字符。

(40)B【解析】本题考查文件操作函数,fwrite和rewind函数,题目中先是将s2字符串写入adc.dat中,然后将写指针回到文件开头,然后写入s1字符串,那么s1字符串就将前5个字符覆盖,所以最终结果为Chinang,选项B正确。

2017年计算机二级C语言考前练习试题及答案2.doc

下载Word文档到电脑,方便收藏和打印[全文共39678字]

编辑推荐:

下载Word文档

2017c语言考核册答案,2017年计算机二级C语言考前练习试题及答案2相关推荐

  1. 计算机二级的公共基础课水平测试,计算机二级公共基础知识复习试题含答案

    计算机公共基础课程,是针对高校非计算机专业学生设立的一门必修计算机基础课程.以下是由学习啦小编整理关于计算机二级公共基础知识复习试题含答案的内容,希望大家喜欢! 计算机二级公共基础知识复习试题含答案( ...

  2. 关于C语言逻辑值的说法错误的是( ),2017年计算机二级c语言题库及答案

    2017年计算机二级c语言题库及答案 [选择题] 1). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程 ...

  3. c语言乘积imnl,2017年计算机二级C语言考前必做试题及答案2

    (21)有以下程序: 程序运行后的输出结果是( ). A.852 B.963 C.741 D.875421 (22)有以下程序: 程序运行后的输出结果是( ). A.let=4 B.m=2 C.m=6 ...

  4. 2017计算机二级c语言试题,2017年计算机二级C语言试题

    2017年计算机二级C语言试题 A)运行错误 B)100 c)i的地址 D)j的地址 (52)B 知识点:指针变量的引用 评析:j=&i,j的值就是i的地蚍,*j=100,将j的地址赋给k,这 ...

  5. c语言作用域有哪两种变量,2017年计算机二级C语言字考点归纳:变量的存储类别、作用域及生存期...

    7.7 变量的存储类别.作用域及生存期 1.变量的存储类别 在C语言中,有两类存储类别:自动类别及静态类别. 有4个与两种存储类别有关的说明符:auto(自动).register(寄存器).stati ...

  6. 计算机二级c在哪里学习,2017年计算机二级C语言考点学习

    2017年计算机二级C语言考点学习 学习是把知识能力思维方法等转化为你的私有产权的重要手段,是"公有转私"的重要途径.以下是百分网小编整理的2017年计算机二级C语言考点学习,欢迎 ...

  7. c语言6字符宽度和小数位数,2017年计算机二级C语言考点复习

    2017年计算机二级C语言考点复习 古话说得好"读书破万卷,下笔如有神",只有积累了一定的经验,才可能提炼出思维的规律,下面是百分网小编为大家整理的2017年计算机二级C语言考点复 ...

  8. 非计算机专业二级c语言,2017年计算机二级C语言基本知识

    2017年计算机二级C语言基本知识 为了帮助大家更加深入地了解C语言,今天yjbys考试网小编为大家整理了2017年计算机二级C语言基本知识,供考生参考.更多计算机等级考试相关信息请关注应届毕业生计算 ...

  9. 计算机二级c语言考点解析,2017年计算机二级C语言考点解析

    2017年计算机二级C语言考点解析 C语言是一个有结构化程序设计.具有变量作用域(variable scope)以及递归功能的过程式语言.下面是小编整理的关于计算机二级C语言考点解析,希望大家认真阅读 ...

  10. 计算机二级c语言程序设计改错,2017年计算机二级C语言上机改错题考点总结

    2017年计算机二级C语言上机改错题考点总结 对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类: 1.if或while语句 若错误行是if或者while语句,则要注意以下点: 1)首先判 ...

最新文章

  1. 虚拟货币市值回调到4100亿整数关口,EOS逆势站上100关口
  2. 假如我是JAVA面试官,我会这样虐你
  3. TOP命令 %Cpu(s)解读 CPU状态信息us,sy,ni,id,wa,hi,si,st含义
  4. python修改字典某一项的函数_python – 更改字典作为函数的全局范围
  5. 推荐系统依据近期浏览进行推荐
  6. [LeetCode] Number of 1 Bits Reverse Integer - 整数问题系列
  7. 解决React Native报错:Error:Found unexpected optical bounds (red pixel)
  8. [Golang]Go语言学习资源集合
  9. UVa 1642 (综合) Magical GCD
  10. 实现平衡二叉排序树的各种算法(包括二叉树的递归遍历、非递归遍历)
  11. aoa计算机二级考试答案操作题,浙江省计算机二级等级考试aoa理论题.pdf
  12. 软件测试简历中的项目应该如何准备?
  13. mysql 身份证算年龄
  14. 2021年认证杯-数学建模
  15. 什么是网络连接状态指示器NCSI
  16. 关于站内搜索的那些事儿
  17. 完美:利用旧版iCloud更改Apple ID地区
  18. Linux软件包管理工具-yum
  19. Office2019 VOL版本 自定义安装组件
  20. LeetCode 91~95

热门文章

  1. Android 手写板SDK
  2. 关于EL表达式中requestScope和param区别
  3. 命令行下对apk签名
  4. Asp.net页面传值
  5. 常用正则表达式 (转)
  6. IEEP-网络实施-项目交付流程
  7. xilinx FIFO的使用及各信号的讨论
  8. day09-线程与进程
  9. Winpcap笔记4之不用回调函数捕获数据包
  10. 51NOD 1623 完美消除 数位DP