当前位置: 首页 > news >正文

C语言计算机二级/C语言期末考试 刷题(四)

在空闲时间整理了一些C语言计算机二级和C语言期末考试题库

整理不易,大家点赞收藏支持一下

祝大家计算机二级和期末考试都高分过

系列文章:

C语言计算机二级/C语言期末考试 刷题(一)

C语言计算机二级/C语言期末考试 刷题(二)

C语言计算机二级/C语言期末考试 刷题(三)

目录

一、填空   共25题 (共计25分)

二、判断   共10题 (共计10分)

三、单选   共25题 (共计25分)

四、程序填空   共2题 (共计10分)

五、程序改错   共2题 (共计10分)

六、程序设计   共2题 (共计20分)


一、填空   共25题 (共计25分)

第1题

C语言中,【1】是程序的基本组成部分.

=======(答案1)=======

函数

第2题

C语言源程序的基本单位是【1】.

=======(答案1)=======

函数

第3题

C程序执行过程称生成的3种文件及扩展名为【1】、【2】和【3】。

=======(答案1)=======

源程序文件.c  或.cpp

=======(答案2)=======

目标程序文件.obj

=======(答案3)=======

可执行程序文件.exe

第4题

C语言中一个函数由函数首部和【1】两部分组成.

=======(答案1)=======

函数体

第5题

C语言源程序文件的后缀是.C,经过编译之后,生成后缀为.OBJ的【1】文件,经连接生成后缀.EXE的可执行文件.

=======(答案1)=======

目标

第6题使用强制转换方法将正整数转换成字符.若输入100,则本程序的执行结果是【1】.        

#include<stdio.h>  
void main()
{char c; int i;printf("输入一个正整数(小于255):");scanf("%d", &i);c = (char)i;printf("%c的ASCII码为%d\n", c, i);
}

=======(答案1)=======

d的ASCⅡ码为100

第7题

设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是【1】.

=======(答案1)=======

9

第8题

程序运行的结果是【1】.

main()
{int a = 3, b = 4;printf("%d\n", (a < b) ? a : b);
}

=======(答案1)=======

3

第9题

下列程序的输出是【1】,

 main()
{int a=011;printf("%d\n",++a);
}

=======(答案1)=======

10

第10题

程序运行的结果是【1】.

#include "stdio.h"
main()
{char c;c = 'B' ;putchar(c) ;
}

=======(答案1)=======

B

第11题

以下程序的输出结果是【1】.

#include<stdiio.h>     
void main()      {int i=10,j=0;         do          {j=j+i;i--;}while(i>2);printf("%d\n",j);
}

=======(答案1)=======

52

第12题

设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】.

   for(i=0,j=10; i<=j; i++,j--)k=i+j;

=======(答案1)=======

10

第13题

程序填空:用递归方法求n!

float fac(int  n)
{float f;if (n < 0)printf(" n<0,data error! ");elseif (n == 0 || n == 1)f = 1;elsef = n * (【1】);return (f);
}

=======(答案1)=======

fac( n-1 )

第14题

若所用变量都已正确定义,请填写以下程序段的输出结果【1】.

for(i=1;i<=5;i++);  
printf("OK\n");

=======(答案1)=======

OK

第15题

以下程序运行结果是【1】.

void main()
{int a = 4, b = 3, c = 5, t = 0;if (a < b) t = a; a = b; b = t;if (a < c) t = a; a = c; c = t;printf("%d %d %d\n", a, b, c);
}

=======(答案1)=======

5 0 3

第16题

若在程序中用到strlen()函数时,应在程序开头写上包含命令# include  "【1】".

=======(答案1)=======

string.h

第17题

下述程序的输出结果是【1】 .

#include<stdio.h>
long fun(int n)
{long s;if (n == 1 || n == 2)s = 2;elses = n + fun(n - 1);return s;
}
void main()
{printf("\n%d", fun(4));
}

=======(答案1)=======

9

第18题

请选择下列程序的运行结果【1】 .

#include<stdio.h>
int try()
{static int x = 3;x++;return (x);
}void main()
{int i, x;for (i = 0; i <= 2; i++)x = try();printf("%d\n", x);
}

=======(答案1)=======

6

第19题

有如下程序:

#include<stdio.h>
int max(int x, int y)
{int z;if (x > y) z = x;else z = y;return(z);
}void main()
{int a = 3, b = 5;printf("%d\n", max(a, b));
}

运行结果为【1】 .

=======(答案1)=======

5

第20题

以下程序输出的结果是【1】 .

#include<stdio.h>
int func(int a, int b)
{return(a + b);
}
void main()
{int x = 2, y = 5, z = 8, r;r = func(func(x, y), z);printf("%d\n", r);
}

=======(答案1)=======

15

第21题

若有以下数组a,数组元素:a[0]~a[9],其值为

9  4  12  8  2  10  7  5  1  3

该数组可用的最大下标值是【1】.

=======(答案1)=======

9

第22题

数组在内存中占一段连续的存储区,由【1】代表它的首地址.

=======(答案1)=======

数组名

第23题

按内存排列顺序, 数组char a[2]中的所有元素是a[1]和【1】.

=======(答案1)=======

a[0]

第24题

在C程序中.只能给指针变量赋【1】值和【2】值.

=======(答案1)=======

地址

=========或=========

确定地址

=======(答案2)=======

NULL

第25题

下列程序的运行结果为【1】.

main()
{int x, * p, ** q;x = 10;p = &x;q = &p;printf("%d\n", **q);
}

=======(答案1)=======

10

二、判断   共10题 (共计10分)

第1题

c程序总是从程序的第一条语句开始执行.

答案:N

第2题

表达式 (j=3, j++) 的值是4.

答案:N

第3题

十进制数15的二进制数是1111.

答案:Y

第4题

for(;;);是错误的.

答案:N

第5题

for(i=0;i<9;i++)能控制循环10次.

答案:N

第6题

在调用函数时,实参把值传送给对应位置上的形参,形参的值不能传给实参.

答案:Y

第7题

C程序在执行过程中对预处理命令进行处理.

答案:N

第8题

static char str[]="China";没有定义数组元素个数.

答案:N

第9题

数组名是一个不可变的地址常量,不能对它进行赋值运算.

答案:Y

第10题

char *s1="hello",*s2;s2=s1;是正确的.

答案:Y

三、单选   共25题 (共计25分)

第1题

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

A:C程序中注释部分可以出现在程序中任意合适的地方B:花括号"{"和"}"只能作为函数体的定界符C:构成C程序的基本单位是函数,所有函数名都可以由用户命名D:分号是C语句之间的分隔符,不是语句的一部分

答案:A

第2题

下列程序的运行结果是().

#include<stdio.h>
void main()
{int i, j, m = 55;for (i = 1; i <= 3; i++)for (j = 3; j <= i; j++) m = m % j;printf("%d\n", m);
}
A:0B:1C:2D:3

答案:B

第3题

结构化程序的三种控制结构分别是().

A:循环、分支、递归B:顺序、循环、嵌套C:循环、递归、选择D:顺序、选择、循环

答案:D

第4题

在while(x)语句中的x与下面条件表达式等价的是().

A:x= =0B:x= =1C:x!=1D:x!=0

答案:D

第5题

下面有关 for 循环的正确描述是().

A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:D

第6题

对下述程序,()是正确的判断.

#include<stdio.h>
void main()
{int x, y;scanf("%d,%d", &x, &y);if (x > y)x = y; y = x;elsex++; y++;printf("%d,%d", x, y);
}
A:语法错误,不能通过编译B:输入数据3和4,则输入4和5C:输入数据4和3,则输入3和4D:输入数据4和3,则输出4和4

答案:A

第7题

以下叙述中错误的是().

A:用户所定义的标识符允许使用关键字B:用户所定义的标识符应尽量做到"见名知意"C:用户所定义的标识符必须以字母或下划线开头D:用户定义的标识符中,大、小写字母代表不同标识

答案:A

第8题

如果int a=2,b=3,c=0,下列描述正确的是().

A:a>b!=c和a>(b!=c)的执行顺序是一样的B:!a!=(b!=c)表达式的值为1C:a||(b=c)执行后b的值为0D:a&&b>c的结果为假

答案:B

第9题

能正确表示逻辑关系"a≥10或a≤0"的C语言表达式是().

A:a>=10 or a<=0B:a>=0|a<=10C:a>=10&&a<=0D:a>=10||a<=0

答案:D

第10题

执行下列语句后,a和b的值分别为().

int a,b;a=1+'a';b=2+7%-4-'A';
A:-63,-64B:98,-60C:1,-60D:79,78

答案:B

第11题

下列程序段的输出结果为().

int a=7,b=9,t;
t=a*=a>b?a:b;
printf("%d",t);
A:7B:9C:63D:49

答案:C

第12题

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

A:构成C程序的基本单位是函数B:可以在一个函数中定义另一个函数C:main()函数必须放在其它函数之前D:所有被调用的函数一定要在调用之前进行定义

答案:A

第13题

以下叙述正确的是().

A:在C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误

答案:C

第14题

以下正确的说法是:在C语言中().

A:实参和与其对应的形参各占用独立的存储单元B:实参和与其对应的形参共占用一个存储单元C:只有当实参和与其对应的形参同名时才共占用存储单元D:形参是虚拟的,不占用存储单元

答案:A

第15题

以下函数调用语句中实参的个数是(). 

exce((v1,v2),(v3,v4,v5),v6);A:3B:4C:5D:6

答案:A

第16题

数组名作为实参数传递给函数时,数组名被处理为().

A:该数组的长度B:该数组的元素个数C:该数组的首地址D:该数组中各元素的值

答案:C

第17题

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是().

A:voidB:intC:floatD:double

答案:B

第18题

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

#include<stdio.h>
fun(int a, int b, int c)
{c = a * b;
}
void main()
{int c;fun(2, 3, c);printf("%d\n", c);
}
A:0B:1C:6D:无定值

答案:D

第19题

int a[10];

给数组a的所有元素分别赋值为1、2、3、……的语句是().

A:for(i=1;i<11;i++)a[i]=i;B:for(i=1;i<11;i++)a[i-1]=i;C:for(i=1;i<11;i++)a[i+1]=i;D:for(i=1;i<11;i++)a[0]=1;

答案:B

第20题

设有数组定义:char array[ ]="China";,则数组array所占的空间为().

A:4个字节B:5个字节C:6个字节D:7个字节

答案:C

第21题

有下面的程序段:

char a[3],b[ ]="china";
a=b;
printf("%s",a);

则().

A:运行后将输出chinaB:运行后将输出chC:运行后将输出chiD:编译出错

答案:D

第22题

若有说明:int a[ ][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是().

A:2B:3C:4D:无确定值

答案:B

第23题

若有说明 int a[][4]={0,0};则下面不正确的叙述是().

A:数组a的每个元素都可得到初值0B:二维数组a的第一维大小为1C:因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D:有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

答案:D

第24题

若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是().

A:p=q;B:*p=*q;C:n=*q;D:p=n;

答案:D

第25题

设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是().

A:p=1;B:*q=2;C:q=p;D:*p=5;

答案:D

四、程序填空   共2题 (共计10分)

第1题

题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。
#include <stdio.h>
【 ? 】     
main()
{int x;double y, z;scanf("【?】", &x, &y);z = 2 * x * sqrt(y);printf("z=【?】", z);
}

答案:

=======(答案1)=======
#include<math.h>
=========或=========
#include "math.h"=======(答案2)=======
%d%f=======(答案3)=======
%.2f

第2题

功能:输出Fibonacci数列的前15项,要求每行输出5项。Fibonacci数列:1,1,2,3,5,8,13...........
#include <stdio.h>
main()
{int 【 ? 】[14], i;fib[0] = 1; fib[1] = 1;for (i = 2; i < 15; i++)fib[i] = 【 ? 】;for (i = 0; i < 15; i++){printf("%d\t", fib[i]);if (【 ? 】) printf("\n");}
}

答案:

=======(答案1)=======
fib=======(答案2)=======
fib[i-2]+fib[i-1]
=========或=========
fib[i-2] + fib[i-1]=======(答案3)=======
i%5 == 4

五、程序改错   共2题 (共计10分)

第1题

功能:输入一个圆的半径,计算圆的周长和面积并输出。
#include<stdio.h>
#define PI 3.1415926
void main()
{double r, l, s;scanf("%lf", r);l = 2 * PI * r;s = PI * r * r;printf("%6.2f,%6.2f\n", l, s);
}

答案:

=======(答案1)=======
void main()=======(答案2)=======
scanf("%lf",&r);

第2题

在主函数中从键盘输入若干个数放入数组中,用0结束输入并放
在最后一个元素中。下列给定程序中,函数fun()的功能是计算
数组元素中值为负数的平均值(不包括0)。例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,
则程序的运行结果为-25.333333。请改正程序中的错误,使它能得到正确结果。
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
double fun(int x[])
{double sum = 0.0;int c = 0, i = 0;while (x[i] == 0){if (x[i] < 0){sum = sum + x[i];c++;}i++;}sum = sum\c;return sum;
}
void main()
{int x[1000];int i = 0;system("CLS");printf("\nPlease enter some data(end with 0) :");do{scanf("%d", &x[i]);} while (x[i++] != 0);printf("%f\n", fun(x));
}

答案:

=======(答案1)=======
while(x[i]!=0)=======(答案2)=======
sum=sum/c;

六、程序设计   共2题 (共计20分)

第1题

题目:下面的公式可以用来计算圆周率PI的近似值:pi/8=1/(1*3)+1/(5*7)+1/(9*11)+……请编程序计算公式的前15项,并输出pi值。要求:循环控制变量用i,中间项存于变量p中,若使用其他变量用n。
#include <stdio.h>
void main()
{/**********Program**********//**********  End  **********/
}

答案:

答案一: 
int i;
float n, pi = 0, p;
for (i = 1; i <= 60; i += 4)
{p = 1.0 / (i * (i + 2));pi = pi + p;
}
printf("PI=%8.3f\n", pi * 8);答案二:
int i;
float n, pi = 0, p;
for (i = 1; i <= 15; i++)
{n = 4 * i - 3;p = 1.0 / (n * (n + 2));pi = pi + p;
}
printf("PI=%8.3f\n", pi * 8);

第2题

题目:编写函数fun,w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;若w值为923,则函数返回23。
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
unsigned fun(unsigned w)
{/**********Program**********//**********  End  **********/
}void main()
{unsigned x;printf("Enter a unsigned integer number: ");scanf("%u", &x);printf("The original data is:%u\n", x);if (x < 10)printf("Data error! ");elseprintf("The result :%u\n", fun(x));
}

答案: 

    int n = 1, j, s = 1;unsigned t;t = w;/*首先确定w的位数,用变量n保存*/while (t >= 10){/*每次循环使s的位数减1,同时n加1*/t = t / 10;n++;}/*求10的n-1次方*/ for (j = 1; j < n; j++)s = s * 10;/*用w对10的n-1次方求余即可得到所求*/return w % s;

若有错误或疑问,欢迎评论区留言讨论。

http://www.lryc.cn/news/44040.html

相关文章:

  • JDK8中Stream接口的常用方法
  • ThingsBoard源码解析-数据订阅与规则链数据处理
  • 探究Transformer模型中不同的池化技术
  • Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎
  • 直流无刷电机驱动的PWM频率
  • 机房动环监控4大价值,轻松解决学校解决问题
  • 用于平抑可再生能源功率波动的储能电站建模及评价(Matlab代码实现)
  • Burpsuite详细教程
  • 目标检测:FP(误检)和FN(漏检)统计
  • 【MySQL专题】04、性能优化之读写分离(MyCat)
  • 信息系统项目管理师第四版知识摘编:第5章 信息系统工程
  • 【2023春招】西山居游戏研发岗笔试AK
  • 什么是分布式,分布式和集群的区别又是什么?
  • Cellchat和Cellphonedb细胞互作一些问题的解决(error和可视化)
  • 大文件分片上传的实现【前后台完整版】
  • Java序列化面试总结
  • fs的常用方法
  • 【华为OD机试 2023最新 】字符串重新排列、字符串重新排序(C++ 100%)
  • Matlab自动消除论文插图白边的7种方法
  • Python每日一练(20230330)
  • 面试官:Tomcat 在 SpringBoot 中是如何启动的(二)
  • 软件测试岗位中,如何顺利拿下50K+?送你一份涨薪秘籍
  • java webflux函数式实现数据结构
  • 百度文心一言可以完胜ChatGPT的4点可能性
  • 大型分布式架构设计
  • 基于springboot实现校园在线拍卖电商系统【源码】
  • SaaS智慧校园源码,电子班牌管理系统 人脸考勤、综合评价系统、请假管理、校务管理
  • MONGODB mongodb 一般人不知道的数据类型与使用
  • 蚁群算法优化
  • 山东首版次申报的材料