在计算机国家二级的C语言考试中,有哪些题目类型呢?下面是小编给大家整理的二级计算机考试c语言选择题及答案,供大家参阅!

二级计算机考试c语言选择题

1.以下程序的输出结果是*** ***。

main******

{int a[3][3]={{1,2},{3,4***,{5,6}},i,j,s=0;

for***i=1;i<3;i++***

for***j=0;j<=i;j++***s+=a[i][j];

printf***"%d\n",s***;

}

A.18

B.19

C.20

D.21

2.有下列程序:

main******

{ int k=5;

while***--k*** printf***"%d",k=1***;

printf***"/n"***;

***

执行后的输出结果是*** ***。

A.1

B.2

C.4

D.死循环

3.若有定义:“int a[2][3];”,则对a数组的第i行第J列元素的正确引用为*** ***。

A.********a+i***+j***

B.***a+i***[j]

C.****a+i+j***

D.****a+i***+j

4.下列能正确进行字符串赋值的是*** ***。

A.char s[5]={"ABCDE"};

B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、

C.char*S;S="ABCDE";

D.char*s;printf***"%《",s***;

5.现有以下结构体说明和变量定义,如图所示,指针P、q、r分别指定一个链表中连续的3个结点。

struct node

{har data;

struct node*next;****P,*q,*r;

现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是*** ***。

A.q-:>next=r->next;p--:>next=r;rm:>next=q;

B.q-:>next=r;q->next=r->next;r->next=q;

C.q-:>next=r->next;r->next=q;p->next=r;

D.q-:>next=q;p->next=r;q->next=r->next;

6.有下列程序:

main******

{int i,j,x=0;

for***i=0,i<2;i++***

{x++;

for***j=0;j<=3;j++***

{if***j%2***continue;

x++:

***

x++:

}

printf***"x=%d\n"x***;

}

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

A.x=4

B.x=8

C.x=6

D.x=12

7.有下列程序:

int funl***double a***{return a*=a;} 、

int fun2***double x,double y***

{double a=0,b=0;

a=funl***x***;b=funl***y***;return***int******a+b***;

***

main******

{double w;w=fun2***1.1,2.0***,……}

程序执行后变量w中的值是*** ***。 、

A.5.21 B.5 C.5.0 D.0.0

8.有下列程序:

main******

{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

for***i=0;i<9;i+=2***s+=****t+i***;

printf***"%d\n",s***;

}

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

A.45

B.20

C.25

D.36

9.有下列程序:

int fun***int n***

{if***n= =1******return l;

else

return***n+fun***n-1******:

}

main******

{ int x;

seanf***"%d",&x***;x=fun***x***;printf***"%d\n",x***;

}

执行程序时,给变量x输入l0,程序的输出结果是*** ***。

A.55

B.54

C.65

D.45

10.有下列程序:

int fun***int x[],int n***

{ static int sum=0,i;

for***i=0;i   return sum;

}

main******

{int a[3]={1,2,3,4,5***,b[3]={6,7,8,9***,s=0;

s=fun***a,5***+fun***b,4***;printf***"%d\n",s***;

程序执行后的输出结果是*** ***。 、

A.45

B.50

C.60

D.55

11.有下列程序:

main******

f char*P[]={"3697","2584"***;

int i,j;long num=0;

for***i=0;i<2;i++***

{j=0;

while***p[i][j]!=’\0’***

{if******p[i][j]-t\0’***%2***num=10*num+p[j][j]-’0’;

j+=2;

***

***

printf***"%d\n",num***;

***

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

A.35 B.37 C.39 D.3975

12.以下程序的输出结果是*** ***。

main******

{ char st[20]="hell0\O\t\\\”;

printf***"%d%d\n",strlen***st***,sizeof***st******;

}

A.9 9

B.5 20

C.13 20

D.20 20

13.若有下的定义:"int t[3][2];",能正确表示t数组元素地址的表达式是*** ***。

A.&t[3][2]

B.t[3]

C.t[l]

D.t[2][2]

14.函数fseek***pf,OL,SEEK_END***中的SEEK_END代表的起始点是*** ***。

A.文件开始

B.文件末尾

C.文件当前位置

D.以上都不对

15.下述程序的输出结果是*** ***。

#include

main******

{int i;

for***i=1;i<=10;i++***

{if***i*i>=20***&&***i*i<=lOO******

break;

}

printf***"%d\n",i*i***;

***

A.49

B.36

C.25

D.64

16.若有定义“int b[8],*p=b;”,则p+6表示*** ***。

A.数组元素b[6]的值

B.数组元素b[6]的地址

C.数组元素b[7]的地址

D.数组元素b[0]的值加上6

17.设变量已正确定义,则以下能正确计算f=n!的程序是*** ***。

A.f=0; for***i=1;i<=n;i++***f*=i;

B.f=1;for***i=1;i  C.f=1;for***i=n;i>1;i++***f*=i;

D.f=1;for***i=n;i>=2;i--***f*=i;

18.下述程序执行的输出结果是*** ***。

#include

main******

{char a[2][4]; ,

strcpy***a。"are"***;strcpy***a[1],"you"***;

a[o][3]=’&’;

printf***"%s\n",a***;

***

A.are&you

B.you

C.are

D.&

19.设x=011050,则x=x&01252的值是*** ***。

A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

20.在“文件包含,,预处理语句的使用形式中,当#include后面的文件名用***双引号***括时,寻找被包含文件的方式是*** ***。

A.直接按系统设定的标准方式搜索目录

B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索

C.仅仅搜索源程序所在目录

D.仅仅搜索当前目录

二级计算机考试c语言选择题答案

1.A。【解析】循环的作用是求行下标从l到2列下标从0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。

2.A。【解析】在程序语句中,k的初始值为5,进行第l次while循环后,k自减l为4,非0,执行循环体里的printf语句,输出k,此时k的值变为l。程序执行第2次循环时,k自减l变为0,为假,退出while循环语句。所以程序的最后结果为l。

3.A。【解析】通过地址来引用数组元素的方法有下列5种:

***1***a[i][j];***2*******a[i]+j***;***3***********a+j***+j***;***4*******a[i][j]***;***5******&a[o][0]+3*i+j***。故A正确。

4.C。【解析】选项A、B的空间不够;字符串存储要有结束符’\0’,且要占用一个空间,printf用来输出 字符,不能输入字符串。

5.D。【解析】由题目中线性链表的定义可知,要将q和r所指的结点交换前后位置,只要使q指向r的后一个结点,P指向r结点,r指向q结点即可。而在选项D中,r->next=q,这时r指向的节点为q;p->next=r,这时P指向的节点为r;q->next:r->next,因为r节点已经指向q,所以执行这个语句后q又指向q,所以选项D不正确。

6.B。【解析】在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量J的值为奇数时,变量X的值才自加1,所以在内层for循环执行过程中,变量X的值自加l两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。

7.C。【解析】子函数funl***double a***的功能是返回a的平方值的整数部分。子函数fun2***double X, double y***的功能是返回X的平方值的整数部分与Y的平方值的整数部分的和。又因为题中变量W的定义为double型,函数fun***2***的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.0。

8.c。【解析】在for循环语句中自变量i从0开始,每次自加2,执行s+=****t+i***语句,因为C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,****t+i***代表数组的第i+1个元素。所以程序运行的结果是l+3+5+7+9=25,即变量S的值等于25。

9.A。【解析】本题在函数int fun***int n***的定义中又出现了对函数fun的调用,所以函数fun是递归函数。因而在主函数中调用x=fun***x***时,当输入10赋给变量X时,递归调用的过程为

fun***10***=l0+fun***9***=10+9+fun***8***=10+9+8+fun***7***

=10+9++8+7+fun***6***=10+9++8+7+6+fun***6***

=10+9++8+7+6+5+fun***4***

=10+9++8+7+6+5+4+fun***3***

=10+9++8+7+6+5+4+3+fun***2***

=10+9++8+7+6+5+4+3+2+fun***1***

=10+9++8+7+6+5+4+3+2=55

10.C。【解析】在函数int fun***int x[],int n***的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数int fun***int x[],int

n***的功能是求出数组x[]各个元素的和,所以在主函数中,调用函数fun***a,5***后,变量sum=1+2+3+4+5=15,当再次调用fun***b,4***后,变量sum=15+6+7+8+9=45,所以s=15+45=60。

11.D。【解析】执行第一次for循环时,用表达式p[i][J]!=’\o’来判断字符串数组指针P是否到达字符串的结尾,如果没有到达,继续执行while中的语句。if语句表示***p[i][j]-’\o’***除2的余数不为0时,即字符串所有奇数,执行后面的语句。所以退出第1次for的循环体时,输出为397,执行第2次循环体。对字符串“2584”进行处理,输出结果为5,因而最后输出结果为3975。

12.B。【解析】从题目中可知,’\O’、’\t’、’\\’分别为一个字符,而sizeof是求字节个数的函数,其中包括’\O’占的字节,strlen函数是求数组长度的函数;其以’\0’结束,因此strlen的值为5,sizeof的值为20。

13.C。【解析】数组的下标是从0开始的,A中越界,行下标和列下标都不能越界;B中,虽然是个地址,但是也同样越界了;选项c中表示的是第一个的首地址;选项D表示的为其元素的值,并不是地址。

14.B。【解析]SEEK_SET代表文件的开始,SEEK_END代表文件末尾,SEEK_CUR代表文件当前位置。

15.C。【解析】当if执行到第一个满足***i*i>=20***&&***i*i<=100***这个条件的i出现时,通过break语句跳出循环,执行下面的prinlf语句。

16.B。【解析】指针中存放的是变量的地址,指针也可以进行增减运算,这时指针移动的最小单位是一个存储单元,而不是一个字节。所以题中p+6指的是将指针向后移动了6个存储单元,即指向b[6],存放的是b[6]的地址。

17.D。【解析】由n!的数字定义可知n!=n****n-1*******n-2****…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以l,2,3,…,n,最后计算得到f=n!=0,所以选项A不正确。在选项B中,f的初值为l,在for循环语句中,f依次乘以l,2,3,…,***n-1***,最后计算得到f=***n-1***!,所以选项B不正确。在选项C中,f的初值为l,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。

18.A。【解析]strcpy实现的功能是复制,该操作把are复制到a中,aE03 E33一’&’,且strcpy***aEl], "you"***把you复制到a[l]中,故输出a为“are&you”。

19.A。【解析】本题主要考查按位与运算,x=Oll050的二进制形式为00010010000101000,Ol252的二进制形式为0000001010101010,两者相与得0000001000101000。

20.B。【解析】#include”文件名”,预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。

c语言程序题在哪儿搜,国家二级计算机考试c语言题库相关推荐

  1. 国家c语言二级机试题,国家二级计算机考试题目C语言机试题库.doc

    国家二级计算机考试题目C语言机试题库.doc 国家计算机等级考试二级 c 语言考试机考题目题目有 1.2.3 .4 个数字,能组成多少个互不相同且无重复数字的三位数 都是多少1.程序分析可填在百位.十 ...

  2. 电力英语计算机题库,历年国家电网计算机考试笔试真题题库.doc

    历年国家电网计算机考试笔试真题题库 1.计算机具有通用性好.速度快.处理功能强的优点,因此又称它为"电脑",它能代替人类大脑的全部活动.N 2.早期的电子技术以真空电子管作为其基础 ...

  3. 计算机二级和nit 哪个难,国家二级计算机考试和NIT有什么不同,那种比较好?...

    国家二级计算机考试和NIT有什么不同,那种比较好? 來源:互聯網  2011-11-26 18:43:59  評論 同计算机等级考试的比较 随着计算机应用的普及,越来越多的朋友开始参加各种各样的计算机 ...

  4. 国家二级计算机考试多少钱?全国各地费用介绍

    国家二级计算机考试费用没有统一规定.具体缴费金额由各省级承办机构根据考试需要和当地物价水平确定,全国各省市各不相同,并报当地物价部门核准.考点不得擅自加收费用. 同次考试,考生最多可报三个科目,且不允 ...

  5. 计算机二级c语言out文件可以改吗,国家二级计算机c语言考试 程序设计题最后一题 怎么改out.dat文件 直接在文件里面给出答案...

    1.运行考试系统打开编程题(第三大题),软件会自动启动vc++6.0,然后在需要考生编写的函数代码里加一个分好":"其他什么都不做. 2.compile->link-> ...

  6. 国家二级计算机考试大纲,计算机国家二级考试大纲.doc

    计算机国家二级考试大纲 PAGE PAGE 1 湖南省普通高等学校非计算机专业学生 计算机应用水平二级考试大纲 考试要求: 1. 掌握计算机的基础知识和网络知识 正确理解微机及其操作系统的基本功能,熟 ...

  7. 国家二级计算机考试官网打印准考证

    计算机二级考试准考证打印流程 一.获取准考证网上打印登录网址:https://ncre-bm.neea.cn/. 二.打开报名入口网址,选择自己报考的省份. 三.输入考生账号.密码.验证码,点登录,进 ...

  8. 哈尔滨国家二级计算机考试报名入口,2016下半年哈尔滨计算机二级报名系统入口...

    2016下半年哈尔滨计算机二级报名系统入口 黑龙江: 哈尔滨 齐齐哈尔  鹤岗 鸡西 双鸭山 大庆 伊春 佳木斯 七台河 牡丹江 黑河 绥化 大兴安岭 社会考生报考全国计算机等级考试登录 所在地市报名 ...

  9. 计算机网络8832号答案,2009年江苏省计算机考试理论(真题附答案)

    2009年江苏省计算机考试理论(真题附答案) 2009年江苏省计算机考试理论(真题附答案2009年秋 第一场 必答题 [1]. 在公共场所(如宾馆)安装的多媒体计算机上,一般使用___B_____替代 ...

最新文章

  1. svm中支持向量的理解
  2. Android7.0 PowerManagerService亮灭屏分析(一)
  3. 【竞赛相关】Kaggle竞赛宝典国内外竞赛方案汇总
  4. 在Azure Cosmos DB里设置filter搜索记录
  5. 网管交换机怎么设置?网管交换机设置方法
  6. 块级元素的margin-left和margin-right的用法注意
  7. 2020年快手母婴生态报告
  8. 零基础学前端,自学还是培训机构?
  9. mybatis 多租户saas_SaaS 微服务脚手架
  10. 32点亮8个呼吸灯_艾扬格瑜伽32 个经典体式 amp; 2 大呼吸法经典示范图(收藏级)...
  11. redis zset怎么排序_关于Redis(一)
  12. Fiddler中常用的方法
  13. 特征选择算法(机器学习)
  14. Mysql8.0以上重置初始密码的方法
  15. MATLAB判别分析-----2019/8/26
  16. 如何解决“数据错误,循环冗余检查”
  17. Java 序列化界新贵 kryo 和熟悉的“老大哥”,就是 PowerJob 的序列化方案
  18. 【vpn异地组网专题】linux(centos7)安装 PPTP服务器
  19. Matlab/Simulink-PFC-Boost功率因数校正电路仿真搭建
  20. stm32入门(四): 串口

热门文章

  1. python 处理 Excel 表格
  2. P4414 [COCI2006-2007#2] ABC
  3. autojs之200万logo自己做
  4. skinsdog 狗网官网 可直接取回CSGO皮肤开箱网站
  5. 金九银十,测试思维面试题最新整理!
  6. 屏幕录制组件(vue) recordrtc
  7. ArtWork+并查集二维
  8. Unity官方案例之星际航行游戏(Space Shooter)学习总结
  9. Golang 对接Google翻译
  10. M1 MacBook的Parellel Desktop(PD)使用问题记录