网站404页面源码,石家庄有哪些公司可以做网站,试用网站建设,网站服务器的费用收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易#xff0c;大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章#xff1a;
C语言计算机二级/C语言期末考试 刷题#xff08;一#xff09;
C语言计算机二级/C语言期末考试 刷题#xff08;二… 收集了一些经典C语言计算机二级和C语言期末考试题库 整理不易大家点赞收藏支持一下 祝大家计算机二级和期末考试都高分过 系列文章
C语言计算机二级/C语言期末考试 刷题一
C语言计算机二级/C语言期末考试 刷题二
C语言计算机二级/C语言期末考试 刷题三
C语言计算机二级/C语言期末考试 刷题四
目录
一、填空 共13题 共计13分
二、判断 共10题 共计10分
三、单选 共25题 共计25分
四、程序填空 共2题 共计10分
五、程序改错 共2题 共计10分
六、程序设计 共2题 共计32分 一、填空 共13题 共计13分
第1题
若有定义:char c\010;则变量c中包含的字符个数为【1】.
(答案1)
1 第2题
int x2,y3,z4; 则表达式x||yz的值为【1】.
(答案1)
1 第3题
C语言中的标识符只能由3种字符组成,它们是【1】、【2】和【3】.
(答案1)
字母
或
{{无序}}
(答案2)
数字
或
{{无序}}
(答案3)
下划线
或
{{无序}} 第4题
以下程序的输出结果是【1】.
#includestdio.h
void main()
{int i 010, j 10;printf(%d,%d\n, i, j--);
}
(答案1)
9,10 第5题
若s是int型变量,且s6,则下面表达式的值是【1】.
s%2(s1)%2
(答案1)
1 第6题
若输入字符串:abcde回车,则以下while循环体将执行 【1】 次.
while((ch getchar()) e)
printf(*);
(答案1)
0 第7题
以下程序运行结果是【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 第8题
c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.
(答案1)
循环 第9题
下面程序的输出是【1】 .
#includestdio.h
fun(int x)
{static int a 3;a x;return(a);
}
void main()
{int k 2, m 1, n;n fun(k);n fun(m);printf(%d, n);
}
(答案1)
6 第10题
下列程序的输出结果是【1】 .
#define MIN(x,y) (x)(y)?(x):(y)
void main()
{int i, j, k;i 10; j 20;k 2 * MIN(i, j);printf(%d\n, k);
}
(答案1)
20 第11题
按内存排列顺序, 数组char a[2]中的所有元素是a[1]和【1】.
(答案1) a[0] 第12题
求字符串长度的库函数是【1】,只写函数名即可.
(答案1)
strlen 第13题
若有以下定义和语句:
int a[4] { 0,1,2,3 }, * p;
p a[2];
则*--p的值是【1】.
(答案1)
1 二、判断 共10题 共计10分
第1题
一个C程序中至少有一对大花括号{}.
答案Y 第2题
7312的值是13.
答案N 第3题
若有 int i10,j2;则执行完i*j8;后ⅰ的值为28.
答案N 第4题
for(i0;i9;i)能控制循环10次.
答案N 第5题
while 和for循环都是先判断表达式的值,后执行循环体语句.
答案Y 第6题
将函数的返回值类型说明成空值型(void),则调用时不可做表达式用.
答案Y 第7题
变量根据其作用域的范围可以分作局部变量和全局变量.
答案Y 第8题
当调用函数时,实参是一个数组名,则向函数传送的是数组的长度.
答案N 第9题
static char s[]; sChina; 是正确的.
答案N 第10题
char *pgirl;的含义是定义字符型指针变量p,p的值是字符串girl.
答案N 三、单选 共25题 共计25分
第1题
以下叙述中正确的是().
A:构成C程序的基本单位是函数B:可以在一个函数中定义另一个函数C:main()函数必须放在其它函数之前D:所有被调用的函数一定要在调用之前进行定义
答案A 第2题
C语言程序的基本单位是().
A:函数B:过程C:子程序D:子例程
答案A 第3题
C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().
A:必须为字母B:必须为下划线C:必须为字母或下划线D:可以是字母,数字和下划线中任一字符
答案C 第4题
若int a3,则执行完表达式a-aa*a后,a的值是().
A:-15B:-9C:-3D:0
答案D 第5题
判断char型变量cl是否为小写字母的正确表达式是().
A:aclzB:(cla)(clz)C:(acl)||(zcl)D:(cla)(clz)
答案D 第6题
若k为int型变量,则以下程序段的执行结果是().k-8567; printf(|%06D|\n,k);
A:格式描述符不合法,输出无定值B:输出为|%06D|C:输出为|0-8567|D:输出为|-8567|
答案B 第7题
若x2,y3则xy的结果是().
A、0B、2C、3D、5
答案B 第8题
若有如下语句,则程序段().
int x 6;
do
{printf(%d\n, x - 2);
} while (--x);
A:输出的是1B:输出的是4和1C:输出的是3和0D:是死循环
答案B 第9题
int a1,b2,c3;
if(ac)ba;ac;cb;则c的值为().
A:1B:2C:3D:不一定
答案B 第10题
以下语句中,循环次数不为10次的语句是().
A:for(i1;i10;i);B:i1;do{i;}while(i10);C:i10;while(i0){--i;}D:i1;m:if(i10){i;goto m;}
答案A 第11题
以下程序的执行结果是().
main()
{int num 0;while (num 2){num;printf(%d,, num);}
}
A:0,1,2B:1,2,C:1,2,3,D:1,2,3,4,
答案C 第12题
C语言中 while 和 do-while 循环的主要区别是().
A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比 do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句
答案A 第13题
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为().
A:自动(auto)B:静态(static)C:外部(extern)D:寄存器(register)
答案A 第14题
以下正确的函数形式是().
A:
double fun(int x, int y)
{z x y; return z;
}B:
fun(int x, y)
{int z; return z;
}C:
fun(x, y)
{int x, y; double z; z x y; return z;
}D:
double fun(int x, int y)
{double z; z x y; return z;
}
答案D 第15题
C语言程序中,当调用函数时().
A:实参和虚参各占一个独立的存储单元B:实参和虚参可以共用存储单元C:可以由用户指定是否共用存储单元D:计算机系统自动确定是否共用存储单元
答案A 第16题
数组名作为实参数传递给函数时,数组名被处理为().
A:该数组的长度B:该数组的元素个数C:该数组的首地址D:该数组中各元素的值
答案C 第17题
表达式18/4*sqrt(4.0)/8值的数据类型为().
A:intB:floatC:doubleD:不确定
答案C 第18题
以下能对二维数组a进行正确初始化的语句是().
A:int a[2][] { {1,0,1},{5,2,3} };B:int a[][3] { {1,2,3},{4,5,6} };C:int a[2][4] { {1,2,3},{4,5},{6} };D:int a[][3] { {1,0,1} {},{1,1} };
答案B 第19题
若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是().
A:gets(a);B:scanf(%s, a);C:for (i 0; i 10; i)a[i] getchar();D:a getchar();
答案D 第20题
设有数组定义:char array[ ]China;,则数组array所占的空间为().
A 4个字节B : 5个字节C : 6个字节D : 7个字节
答案C 第21题
char a[10];不能将字符串abc存储在数组中的是().
A:strcpy(a,abc);B:a[0]0;strcat(a,abc);C:aabc;D:int i;for(i0;i3;i)a[i]i97;a[i]0;
答案C 第22题
下列字符数组长度为5的是().
A:char a[] { h, a, b, c, \0 };B:char b[] { h, a, b, c, d, \0 };C:char c[10] { h, a, b, c, d };D:char d[6] { h, a, b, c, \0 };
答案A 第23题
若有说明 int *p,m5,n;以下正确的程序段是().
A:pn;scanf(%d,p);B:pn;scanf(%d,*p)C:scanf(%d,n);*pn;D:pn;*pm;
答案D 第24题
若有说明:int *p1,*p2,m5,n;以下均是正确赋值语句的选项是().
A:p1m;p2p1B:p1m;p2n;*p1*p2;C:p1m;p2p1;D:p1m;*p2*p1;
答案C 第25题
若有int *p,a; pa,下列说法不正确的是().
A:*paB:*aaC:(*p)aD:*(p)a
答案D 四、程序填空 共2题 共计10分
第1题
功能输出9*9口诀。
#includestdio.h
main()
{int i, j, result;printf(\n);for (i 1; 【 ? 】; i){for (j 1; j 10; 【 ? 】){result i * j;printf(%d*%d%-3d, i, j, 【 ? 】);}printf(\n);}
}
答案
(答案1)
i10
或
10i(答案2)
j
或
j
或
jj1(答案3)
result
第2题
功能用等分法在有序的循环数组中找到最小元素的位置。
#include stdio.h
int cyclic_min(int x[], int n)
{int left 0;int right n - 1;int mid;while (【 ? 】){mid (left right) / 2;if (x[mid] x[right])【 ? 】;else【 ? 】;}return left;
}void main(void)
{int x[] { 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19 };int n sizeof(x) / sizeof(int);int loc, i;printf(\nFind Cyclic Minimum);printf(\n);printf(\n\nGiven Array Sorted in Cyclic Fashion :\n);for (i 0; i n; i)printf(%3d, x[i]);loc cyclic_min(x, n);printf(\n\nMinimum is located at x[%d] %d, loc, x[loc]);
}
答案
(答案1)
left right
或
rightleft(答案2)
right mid(答案3)
left mid 1
或
left 1mid
五、程序改错 共2题 共计10分
第1题
题目函数fun的功能是求1到20的阶乘的和。请改正程序中的错误使它能得出正确的结果。
fun()
{int n, j;float s 0.0, t 1.0;for (n 1; n 20; n){t 1;for (j 1; j n; j)t t * j;s t s;}printf(jiecheng%d\n, s);
}main()
{fun();
}
答案
(答案1)
sst;
或
st;(答案2)
printf(jiecheng%f\n,s);
第2题
功能求1到10的阶乘的和。
#include stdio.h
main()
{int i;float s 0;float fac(int n);for (i 1; i 10; i)s fac(i);printf(%f\n, s);
}float fac(int n)
{int y 1;int i;for (i 1; i n; i)y y * i;return;
}
答案
(答案1)
for(i1;i10;i)
或
for(i1;10i;i)
或
for(i1;i11;i)
或
for(i1;11i;i)(答案2)
ssfac(i);
或
sfac(i);
或
sfac(i)s;(答案3)
float y1.0;
或
float y1;(答案4)
return y;
或
return(y);
或
return (y);
六、程序设计 共2题 共计32分
第1题
题目编程输出1200之间所有能被12整除的整数。
要求循环控制变量用i。
#include stdio.h
void main()
{/**********Program**********//********** End **********/
}
答案 int i;for (i 1; i 200; i){if (i % 12 0)printf(%d , i);}printf(\n);
第2题
题目编写程序从键盘输入2个字符串分别存入字符数组s和t中数组大小为40比较这两个字符串如果两个字符串相同直接输出Two strings are equal.否则将较大的字符串之后与较小的字符串和字符串end.连接后存入字符数组r中数组大小为100输出连接后的字符串r。
提示程序应包含头文件 string.h
/**********Program**********//********** End **********/
答案
#include stdio.h
#include string.h //1分
main()
{char s[40] , t[40] , r[100] ; //1分gets(s); //1分gets(t); //1分if (strcmp(s, t) 0) //1分(含puts)puts(Two strings are equal.);else if (strcmp(s, t) 0) //2分(含{ }分数){strcpy(r, s); //1分strcat(r, t); //1分strcat(r, end.); //1分puts(r); //1分}else{strcpy(r, t); //1分strcat(r, s); //1分strcat(r, end.); //1分puts(r); //1分}
} 若有错误或疑问欢迎评论区留言讨论。