计算机二级c语言编程题(计算机二级c语言编程题怎么给分)

http://www.itjxue.com  2023-03-05 18:23  来源:未知  点击次数: 

计算机二级考试C语言模拟试题二

1. 运算符________的优先级最高。

A.[ ]

B. +=

C. ?:

D.++

2.main( )

{ int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); }

此程序的输出结果是______________.

A.30

B. 24

C. 60

D. 48

3.若有如下定义,则__________是对数组元素的正确的引用。.

int a[10] , *p ; p=a ;

A. *a[10]

B. a[11]

C. *(p+11)

D. *p *p *p

4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

A. 0

B. 4

C. - 4

D. 2

5.各种基本数据类型的存贮空间正确的长度排列为__________。

A.Char

C.Char

6.下面的变量说明中__________是正确的。

A.char:a, b, c;

B.char a; b; c;

C.char a, b, c;

D.char a, b, c

7.表达式y=(1312?15:67?8:9)的值为____________ 。

A 9

B 8

C 15

D. 1

8.若x=5,y=3 则y*=x+5; y的值为___________.

A. 10

B. 20

C. 15

D. 30

9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

A.a=0||b=0)(a0 ||b0)

B.(a=0 b=0)(a0 b0)

C.(a+b0) (a+b=0)

D. a*b0

10.C语言中,合法的字符型常数是_________。

A.‘A’

B.“A”

C. 65

D. A

11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1y+z/2”的值是________。

A.6

B.0

C.2

D.1

12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。

A.’a’=c=’z’

B. (c=’a’) || (c=’z’)

C.(‘a’=c) and (‘z’=c)

D. (c=’a’) (c=’z’)

13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。

A.printf(“x=%d\n”,x)

B.printf(“x=%ld\n”,x)

C.printf(“x=?l\n”,x)

C.printf(“x=%D\n”,x);

14.从循环体内某一层跳出,继续执行循环外的语句是:___________。

A. break语句

B.return语句

C.continue语句

D.空语句。

15.C语言用_______表示逻辑“真”值。

A.true

B.t或y

C.非零整型值

D.整型值0

16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

17.在函数中默认存储类型说明符的变量应该是________存储类型。

A.内部静态

B. 外部

C.自动

D. 寄存器

18.C语言中以只读方式打开一个文件应选择_______________参数。

A.“r”

B.“w”

C.“rb”

D.“a”

19.设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。

A.6个字节

B. 7个字节

C. 8个字节

D. 9个字节

20.根据C语言的语法规则,下列________个是不合法标识符。

A.do

B. Name

C. R5

D. _exam

二、判断题

1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )

2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )

3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )

4.表达式 0195 是一个八进制整数。( )

5.Continue语句的作用是结束本次循环。( )

6.Extern变量的.生命期是整个程序执行期。 ( )

7.C语言中字符串的结束符是’\0’。 ( )

8.利用fclose函数关闭已打开的文件。 ( )。

9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( )

10.数组名代表数组的首地址。( )

三、填空题

1.C语言的预处理语句以__________开头。

2.表达式7+102 25 %5的结果是_______________。

3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

Int n=0, ch; Ch=getchar( );

While( __________________ )

{ if ( ________________ ) n++; c=getchar( ); }

4.C语言中getchar() 函数的功能是_________________________。

5.int *p 的含义是______________________________。

6.定义fp为文件型指针变量的定义方法为_______________。

7.数组 int a[3][3];共定义了____________个数组元素。

四、读程序题。

1. 改正下列程序中不正确的语句。

main( )

{ int a;

scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }

2.写出下列程序的运行结果。

fun(int a, int b)

{ if(ab) return (a);

Else return (b); }

main()

{ int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z); printf(“%d\n”,r); }

3. 改正下列程序中不正确的语句。

main()

{ int n ;

float s=1.0;

for(n=10;n1;n- -)

s=s+1/n;

printf(“%6.1f\n”,s); }

4. 写出下列程序的运行结果。

main()

{ int n;

For(n=3; n=10; n++)

{ if(n%6= =0) break; Printf(“%d”,n); } }

5.写出下列程序的运行结果。

#include “stdio.h”

Main()

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

int m,n,*p; p=a[0]; m=*(p+1); n=*(p+4);

printf(“%d %d %d ”,*p,m,n); }

五、编程题

1. 编程计算下列表达式:s=n!(n从键盘上输入)

2.输出1—100之间不能被12整除的数。

3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。

4.从键盘上输入9个数,按3行3列的格式输出。

5.编程将文件read.txt中的字符读出显示到屏幕上。

计算机二级c语言题型及分值分布

C语言程序设计题型分值分布如下:

1.????? 单选题总共40道,每道题一分,其中基础知识共10道,总计40分;

2.????? 程序填空题一般2到4道,看难度给分,总计18分;

3.????? 程序改错题一般2到4道,看难度给分,总计18分;

4.????? 程序设计题1道,根据答出步骤给分,答出越多分越高直至满分,总计24分。

拓展知识(考试内容):

1.????? C语言程序结构

明白如何运用main函数以及其他基础函数,会构建程序。知道源文件的书写格式,能看懂函数开始或结束的标志,能对基础程序注释且明白其作用。

2.????? 数据类型与运算

了解C的数据类型与定义方法,熟知C表达式类型且会基本运用。知道C运算符的种类与优先级,懂得数据类型之间如何转换运算。

3.????? 基础语句

懂得表达式语句、复合语句以及空语句,会调用输入输出函数,能根据要求正确写出输入输出格式的语句。

4.????? 选择结构语句

熟练掌握if语句以及switch语句的用法,懂得选择结构如何进行嵌套。

5.????? 循环结构语句

熟练掌握for语句、while或do-while语句、continue语句及break语句的使用方式,了解如何嵌套循环结构语句。

6.????? 数组的定义与运用

会对基本的一维、二维数组定义,能初始化数组并会引用,掌握字符串与数组的运用。

7.????? 函数

能对库中的函数进行基本调用,且熟知常用函数的作用及写法。知道函数的定义方法、类型与返回值,了解形参与实参的概念以及局部变量与全局变量的区别。

8.????? 指针

了解地址与指针变量的概念,会基本运用指针,通过指针引用各类数据。

9.????? 结构与联合

了解typedef的用法,会对结构体以及共同体进行定义与引用,可以通过链表对数据进行删除、插入以及输出。

计算机二级C语言选择题及答案(2)

}

printf("%d\n",num);

}

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

A.35

B.37

C.39

D.3975

32.以下程序的'输出结果是()。

main()

{char st[20]="hello\0\t\\\";

printf("%d%d\n",strlen(st).sizeof(st));

}

A.9 9

B.5 20

C.13 20

D.20 20

33.若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是()。

A.t[3][2]

B.t[3]

C.t[l]

D.t[2][2]

34.函数fseek(pf,OL,SEEK END)中的SEEK ENE 代表的起始点是()。

A.文件开始

B.文件末尾

C.文件当前位置

D.以上都不对

35.下述程序的输出结果是()。

#include

main()

{ int i;

for(i=l;i=10;i++)

{if(i*i=20)(i*i=100))

break;

}

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

}

A.49

B.36

C.25

D.64

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

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

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

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

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

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

A.f=0:

for(i=1;i=n;i++)f*=i:

B.F=1:

for(i=l;i2n;i++)f*=i:

C.f=l:

for(i=n;i1;i++)f*=i:

D.f=1;

for(i=n;i=2;i--)f*=i:

38.下述程序执行的输出结果是()。

#include

main()

{ char a[2][4];

strcpy(a,"are");strcpy(a[1],"you");

a[0][3]=’’;

printf("%s\n",a):

}

A.areyou

B.you

C.are

D.

39.设x=011050,则x=x01252的值是()。

A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

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

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

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

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

D.仅仅搜索当前目录

【答案与解析】

1.D。【解析】算法的空间复杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间。

2.D。【解析】数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,用的存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。

3.D。【解析】所谓的交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序通过相邻元素的交换,逐步将线性表变成有序是一种最简单的交换排序方法。

4.C。【解析】结构化程序设计的原则和方法之一是限制使用GOT0语句,但不是绝对不允许使用GOT0语句。其他三项为结构化程序设计的原则。

5.D。【解析】文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的依赖性强。

6.C。【解析】面对象的设计方法的基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但是它鼓励开发者在软件开发的过程中从应用领域的概念角度去思考。

7.D。【解析】所谓的后序遍历是指,首先遍历左子树,然后遍历右子树,最后访问根结点,并且在遍历左、右树时,仍然先遍历左子树,然后遍历右子树,最后访问根点。因此,后序遍历二叉树的过程也是一个递归过程。

8.B。【解析】软件的过程设计是指系统结构部件转换成软件的过程描述。

9.A。【解析】①对软,牛开发的进度和费用估计不准确:②用户对已完成的软件系统不满意的现象时常发生;③软件产品的质量往往靠不住;④软件常常是不可维护的;⑤软件通常没有适当的文档;⑥软件成本在计算机系统总成本中所占的比例逐年上升;⑦软件开发生产率提高的速度远远跟不上计算机应用迅速普能及深入的趋势。

10.C。【解析】对象的封装性是指从外面看只能看到对象的外部特性,而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。

11.C。【解析】数据库系统由如下5个部分组成:数据库(DB)、数据库管理系统fDBMS)、数据库管理员(人员)、系统平台之一——硬件平台(硬件)、系统平台之二——软件平台(软件)。其中 DB(DataBase)即数据库,是统一管理的相关数据的集合;DBMS即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用完程序提供访问DB的方法。由以上可知,选C为正确答案。

12.A。【解析】标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。B选项int不是表达变量类型的标识符,它不能再用做变量名和函数名。C 选项do是C语言的一个关键字。D选项标识符只能以字母或下划线开始。

13.D。【解析】本题考查逻辑运算符的使用。当“”的两个运算对象都是逻辑1时,表达式返回值才是1;“||” 的两个运算对象至少有一个是逻辑1时,表达式返回值也是1,x14.C。【解析】第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%0”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或0);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数,也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。

15.C。【解析】函数fun(int x,int y)的功能是返回x+y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此,逗号表达式“a++,b++,aq b”的值等于5,表达式c++的值为3,调用于函数的表达式为“fun(5,3);”,其返回值等于8。

16.D。【解析】在x=2,y=x+3/2中,3/2=1。2+1= 3,因此表达式的值为3,因为x,y为double型变量,故选择D选项。

17.A。【解析】当x为1时,执行case 1,a自加等于1,因为case 1后没有break,接着执行case 2,此时a的值为2,b自加为1,故选择A选项。

18.D。【解析】本题考梦自增运算符“++”、逻辑与运算符“”和逻辑或运算符“||”。自增运算符“++”出现在变量之前,表示先使用变量的值加l,再使用变量的值进行运算;出现在变量之后,表示先使用变量的值进行运算,再使用变量的值加l。当逻辑与运算符“’’两边的运算对象都为真时,逻辑表达式的值才为真;当逻辑或运算符“||”只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为进行或(||)运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即“1”,所以输出i、j、k的值分别是2,3,3。

19.A。【解析】本题考查switch语句。当i一1时,执行case 1,因为没有遇到break语句,所以依次往下运行,“a=a+ 2=2,a=a+3=5”;当i=2时,执行case 2,因为没有遇到break语句,所以依次往下执行,“a=a+2=7,a=a+3= 10”;当i=3时,执行case 3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a—a+2—13,a—a+3一l6:当i=4时,执行default,a=a+3=19,结束循环。

20.C。【解析】只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。

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

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

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

(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+i);(4)* (a[i][j]);(5)(aE0][0]q-3*i+j)。故A正确。

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

25.D。【解析】由题目ee线性链表的定义可知,要将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不正确。

26.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的值自加1两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。

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

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

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

fun(10)=10…fun(9)=104-94-fun(8)=104-9+84- 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

计算机二级c语言程序设计有哪些题型?

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。

单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。

操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。

程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。

程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。

编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。

二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。

C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。

(责任编辑:IT教学网)

更多

推荐数据库文章