赞
踩
收集了一些经典C语言计算机二级和C语言期末考试题库
整理不易,大家点赞收藏支持一下
祝大家计算机二级和期末考试都高分过
系列文章:
目录
第1题
若有定义:char c='\010';则变量c中包含的字符个数为【1】.
=======(答案1)=======
1
第2题
int x=2,y=3,z=4; 则表达式x||y+z的值为【1】.
=======(答案1)=======
1
第3题
C语言中的标识符只能由3种字符组成,它们是【1】、【2】和【3】.
=======(答案1)=======
字母
=========或=========
{{无序}}
=======(答案2)=======
数字
=========或=========
{{无序}}
=======(答案3)=======
下划线
=========或=========
{{无序}}
第4题
以下程序的输出结果是【1】.
- #include<stdio.h>
- void main()
- {
- int i = 010, j = 10;
- printf("%d,%d\n", ++i, j--);
- }
=======(答案1)=======
9,10
第5题
若s是int型变量,且s=6,则下面表达式的值是【1】.
s%2+(s+1)%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】 .
- #include<stdio.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
第1题
一个C程序中至少有一对大花括号{}.
答案:Y
第2题
7&&3+12的值是13.
答案:N
第3题
若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28.
答案:N
第4题
for(i=0;i<9;i++)能控制循环10次.
答案:N
第5题
while 和for循环都是先判断表达式的值,后执行循环体语句.
答案:Y
第6题
将函数的返回值类型说明成空值型(void),则调用时不可做表达式用.
答案:Y
第7题
变量根据其作用域的范围可以分作局部变量和全局变量.
答案:Y
第8题
当调用函数时,实参是一个数组名,则向函数传送的是数组的长度.
答案:N
第9题
static char s[]; s="China"; 是正确的.
答案:N
第10题
char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl".
答案:N
第1题
以下叙述中正确的是().
- A:构成C程序的基本单位是函数
-
- B:可以在一个函数中定义另一个函数
-
- C:main()函数必须放在其它函数之前
-
- D:所有被调用的函数一定要在调用之前进行定义
答案:A
第2题
C语言程序的基本单位是().
- A:函数
-
- B:过程
-
- C:子程序
-
- D:子例程
答案:A
第3题
C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().
- A:必须为字母
-
- B:必须为下划线
-
- C:必须为字母或下划线
-
- D:可以是字母,数字和下划线中任一字符
答案:C
第4题
若int a=3,则执行完表达式a-=a+=a*a后,a的值是().
- A:-15
-
- B:-9
-
- C:-3
-
- D:0
答案:D
第5题
判断char型变量cl是否为小写字母的正确表达式是().
- A:'a'<=cl<='z'
-
- B:(cl>=a)&&(cl<=z)
-
- C:('a'>=cl)||('z'<=cl)
-
- D:(cl>='a')&&(cl<='z')
答案:D
第6题
若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("|%06D|\n",k);
- A:格式描述符不合法,输出无定值
-
- B:输出为|%06D|
-
- C:输出为|0-8567|
-
- D:输出为|-8567|
答案:B
第7题
若x=2,y=3则x&y的结果是().
- A、0
-
- B、2
-
- C、3
-
- D、5
答案:B
第8题
若有如下语句,则程序段().
- int x = 6;
- do
- {
- printf("%d\n", x -= 2);
- } while (--x);
- A:输出的是1
-
- B:输出的是4和1
-
- C:输出的是3和0
-
- D:是死循环
答案:B
第9题
int a=1,b=2,c=3;
if(a>c)b=a;a=c;c=b;则c的值为().
- A:1
-
- B:2
-
- C:3
-
- D:不一定
答案:B
第10题
以下语句中,循环次数不为10次的语句是().
- A:for(i=1;i<10;i++);
-
- B:i=1;do{i++;}while(i<=10);
-
- C:i=10;while(i>0){--i;}
-
- D:i=1;m:if(i<=10){i++;goto m;}
答案:A
第11题
以下程序的执行结果是().
- main()
- {
- int num = 0;
- while (num <= 2)
- {
- num++;
- printf("%d,", num);
- }
- }
- A:0,1,2
-
- B: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:int
-
- B:float
-
- C:double
-
- D:不确定
答案: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:a="abc";
-
- D:int i;for(i=0;i<3;i++)a[i]=i+97;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,m=5,n;以下正确的程序段是().
- A:p=&n;scanf("%d",&p);
-
- B:p=&n;scanf("%d",*p)
-
- C:scanf("%d",&n);*p=n;
-
- D:p=&n;*p=m;
答案:D
第24题
若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是().
- A:p1=&m;p2=&p1
-
- B:p1=&m;p2=&n;*p1=*p2;
-
- C:p1=&m;p2=p1;
-
- D:p1=&m;*p2=*p1;
答案:C
第25题
若有int *p,a; p=&a,下列说法不正确的是().
- A:&*p==&a
-
- B:*&a==a
-
- C:(*p)++==a++
-
- D:*(p++)==a++
答案:D
第1题
功能:输出9*9口诀。
- #include<stdio.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)=======
- i<10
- =========或=========
- 10>i
-
- =======(答案2)=======
- j++
- =========或=========
- ++j
- =========或=========
- j=j+1
-
- =======(答案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
- =========或=========
- right>left
-
- =======(答案2)=======
- right = mid
-
- =======(答案3)=======
- left = mid + 1
- =========或=========
- left = 1+mid
第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)=======
- s=s+t;
- =========或=========
- s+=t;
-
- =======(答案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(i=1;i<=10;i++)
- =========或=========
- for(i=1;10>=i;i++)
- =========或=========
- for(i=1;i<11;i++)
- =========或=========
- for(i=1;11>i;i++)
-
- =======(答案2)=======
- s=s+fac(i);
- =========或=========
- s+=fac(i);
- =========或=========
- s=fac(i)+s;
-
- =======(答案3)=======
- float y=1.0;
- =========或=========
- float y=1;
-
- =======(答案4)=======
- return y;
- =========或=========
- return(y);
- =========或=========
- return (y);

第1题
- 题目:编程输出1~200之间所有能被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分
- }
- }

若有错误或疑问,欢迎评论区留言讨论。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。