C语言二级考试题库 (2)
- 格式:doc
- 大小:98.50 KB
- 文档页数:48
c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
第一部分:C语言程序设计试卷(共100分)一、填空题(每题1分,共10分)1、若已知a=20,b=l0,则表达式!a>b的值为( )。
2、为表示关系x大于等于y并且大于等于z,应使用的C语言表达式是()。
3、有以下程序main( ){int x=102,y=012;printf(“%2d,%2d ”,x,y);}执行后输出结果是()。
4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是( )。
5、有以下程序main( ){ char A[]=”abcdefg”,B[10]=”abcdefg”;printf(“%d %d ”,sizeof(A) ,sizeof(B) );}执行后输出结果是()。
6、以下程序运行时若从键盘输入:B33<回车>,则输出结果是( )。
#include <stdio.h>main(){char a,b;a=getchar();scanf("%d",&b);a=a-'a'+31;b=b*2;printf("%d %c\n",a,b);}7、以下程序运行后的输出结果是( )。
main(){ int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t;printf("%d,%d\n",x,y);}8、以下程序的输出结果是( )。
main(){int arr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}9、下列程序段的输出结果是( )。
main(){char b[]="Hello you";b[5]=0;printf("%s\n",b);}10、用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
期末试卷二一、单项选择题(每题1分,共45分)1.下列变量名中,哪个是合法的()A.C&D B.string$C.char D._2132.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.表达式a+b%3的值是()(设a=13.6,b=10)A.14.6 B.15C.15.9 D.16.64.保存一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.字符串”tc20\nlib\101\\\’”含有多少个字符( )A.10 B.11 C.12 D.136.Putchar()函数可以向终端输出一个()A. 整型变量或表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值7.以下所列的C语言常量中,错误的是()A.0xFF B.2*5 C.2.5 D.04568.下列不合法的C语言赋值表达式是()A.a+=b-c B.a+b=cC.a=b=c=1 D.a*=++b+c9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",& a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()(<CR>表示回车) A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f", &x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()main( ){ float a, b;scanf("%f%f", &a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,& c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()main( ){char c1='A', c2='Y';printf("%d,%d\n", c1, c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()main( ){ int a=2,b=5;printf("a=%d,b=%d\n", a, b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0, 则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10];则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-5] 32.下面程序的运行结果是()main(){ int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出结果是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()#include <stdio.h>main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.以下说法中正确的是()A.C语言程序总是从第一个定义的函数开始执行。
c语言二级考试题库及详解答案C语言二级考试题库及详解答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. 3numberD. variable#答案:B2. C语言中,整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节答案:C(注:实际字节数可能因编译器和平台而异,但通常为4字节)3. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto答案:B(注:switch也是C语言的控制语句,此题有误)二、填空题1. 在C语言中,若要定义一个整型数组,可以使用以下语法:___________。
答案:int array_name[array_size];2. C语言中,用于计算两个数的乘积的运算符是:___________。
答案:*三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的元素集合。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以作为指针使用,但数组本身不是指针。
数组的大小在定义时确定,而指针可以指向不同大小的内存块。
2. 解释C语言中的递归函数。
答案:递归函数是一种函数,它在执行过程中调用自己。
递归函数通常用于解决可以分解为相似子问题的问题。
递归函数必须有一个明确的终止条件,以避免无限递归。
四、编程题1. 编写一个C语言程序,实现求1到100的和。
答案:```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转。
答案:```cvoid reverseString(char *str) {int len = 0;while(str[len] != '\0') {len++;}for(int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - 1 - i];str[len - 1 - i] = temp;}}```五、论述题1. 论述C语言中函数的作用和重要性。
全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。
算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法2.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。
是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
算法不等于程序,也不等于计算方法。
设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
知识模块:数据结构与算法3.下列叙述中正确的是A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关正确答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
算法的时间复杂度与空间复杂度并不相关。
数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之问的关系如何在计算机中表示,它们并非一一对应。
算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
知识模块:数据结构与算法4.在DOS环境F,代表键盘和显示器的设备文件名为A.PRNB.CONC.NULD.LPT正确答案:B解析:本题考查DOS下面的虚拟设备文件,选项A)的PRN表示打印机,选项B)中的CON表示键盘或屏幕,选项C)的NUL表示虚拟空设备,选项D)的LPT表示并口。
全国计算机等级考试二级C语言真题题库2 2015年9月(总分43,考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中错误的是()。
A. 数据结构中的数据元素不能是另一数据结构B. 数据结构中的数据元素可以是另一数据结构C. 空数据结构可以是线性结构也可以是非线性结构D. 非空数据结构可以没有根节点2. 为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。
所谓原地工作是指()。
A. 执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)B. 执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化C. 执行算法时不使用额外空间D. 执行算法时不使用任何存储空间3. 某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。
现经过一系列的入队操作和退队操作后,front=m,rear=m-1,则该循环队列中的元素个数为()。
A. m-1B. mC. 1D. 04. 某棵树只有度为3的节点和叶子节点,其中度为3的节点有8个,则该树中的叶子节点数为()。
A. 15B. 16C. 17D. 不存在这样的树5. 某二叉树共有530个节点,其中度为2的节点有250个,则度为1的节点数为()。
A. 29B. 30C. 249D. 2516. 若某二叉树中的所有节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,则该二叉树遍历序列中有序的是()。
A. 前序序列B. 中序序列C. 后序序列D. 以上说法均可以7. 将C语言的整数设为整数类I,则下面属于类I实例的是()。
A. -103B. 10E3C. 10.3D. “0103”8. 下列叙述中正确的是()。
A. 软件包括程序、数据和文档B. 软件包括程序和数据C. 软件包括算法和数据结构D. 软件包括算法和程序9. 软件生命周期是指()。
A. 软件的定义和开发阶段B. 软件的需求分析、设计与实现阶段C. 软件的开发阶段D. 软件产品从提出、实现、使用维护到停止使用退役的过程10. 下列叙述中正确的是()。
国家二级C语言程序设计机试(选择题)模拟试卷2(总分80,考试时间90分钟)1. 选择题1. 下列叙述中正确的是( )。
A. 一个算法的空间复杂度大,则其时间复杂度也必定大B. 一个算法的空间复杂度大,则其时间复杂度必定小C. 一个算法的时间复杂度太,则其空间复杂度必定小D. 算法的时间复杂度与空间复杂度没有直接关系2. 下列叙述中正确的是( )。
A. 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B. 循环队列中的元素个数随队头指针的变化而动态变化C. 循环队列中的元素个数随队尾指针的变化而动态变化D. 以上说法都不对3. 一个栈的初始状态为空。
现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 1,2,3,A,B,CB. C,B,A,1,2,3C. C,B,A,3,2,1D. 1,2,3,C,B,A4. 一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为( )。
A. 219B. 229C. 230D. 2315. 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )。
A. 9B. 10C. 45D. 906. 下列各项中,对对象概念描述正确的是( )。
A. 对象间的通信靠消息传递B. 对象是名字和方法的封装体C. 任何对象必须有继承性D. 对象的多态性是指一个对象有多个操作7. 下列各项中,不属于软件设计阶段任务的是( )。
A. 软件总体设计B. 算法设计C. 制订软件并确认测试计划D. 数据库设计8. 一般情况下,当对关系R和S进行自然连接时,要求R和s含有一个或者多个共有的( )。
A. 记录B. 行C. 属性D. 元组9. 下列各项与栈结构有关联的是( )。
A. 数组的定义域使用B. 操作系统的进程调度C. 函数的递归调用D. 选择结构的执行10. 有两个关系R和T如下:则由关系R得到关系T的操作是( )。
计算机二级c语言.考试题库及答案一、单项选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B3. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 以下哪个函数可以用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. voidC. intD. return答案:C8. C语言中,以下哪个选项是正确的数组声明方式?A. int array[5];B. int array[];C. int array[5] = {0};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的字符串声明方式?A. char str[] = "Hello";B. char str[10] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. All of the above答案:D10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针。
C 语言程序设计题库二1、写出下面函数的运行结果。
#include<stdio.h>void fx701(int k,int n,float a);int main(){int k=1,n=5;float a=3.2,b=8.5;printf(" 调用前:k=%d n=%d a=%.2f b=%.2f\n",k,n,a,b);fx701(k,n,a);printf(" 调用后:k=%d n=%d a=%.2f b=%.2f\n",k,n,a,b);return 0;}void fx701(int k,int n,float a){int q=100;float b,x=6.2;k+=q; n*=q; a-=x; b=3.5*a;printf(" 函数中:k=%d n=%d a=%.2f b=%.2f\n",k,n,a,b);}解:调用前:k=1 n=5 a=3.20 b=8.50函数中:k=101 n=500 a=-3.00 b=-10.50调用后:k=1 n=5 a=3.20 b=8.50 2、编写一个函数,实现从键盘输入一个整数,如果该整数为素数,则返回否则返回0。
1,解:#include<stdlib.h>#include<stdio.h>int Is_prime(int i){int j=0;for(j=2;j<i;j++){if(0==(i%j)){return 0;}}return 1;}int main(){int i;printf("Please input a number:"); scanf("%d",&i);if(1==Is_prime(i)){printf("%d is a prime.\n",i);}elseprintf("%d is not a prime.\n",i); system("pause");return 0;程序运行结果如下:Please in put a nu mber:1 /13 is a prime.Please in put a nu mbe8 /8 is not a prime.3、设计两个函数,分别求矩形的周长和面积,并在主函数中调用这两个函数解:#include<stdio.h>float area(float a,float b){float s;s=a*b;return(s);}float zc(float a,float b){float p;p=2*(a+b);return(p);}int main(){float a,b,s,p;printf(" 请输入长方形的边长a,b:");scanf("%f%f",&a,&b);s=area(a,b);p=zc(a,b);printf("长方形的周长为p=%f,长方形的面积为s=%f",p,s);m~n 要求程序运行情况如下:请输入长方形的边长a,b:3 4/长方形的周长为p=14.000000长方形的面积为s=12.0000004、 编写一个函数求一个整数n 的阶乘,在主函数中计算并输出10!的值。
全国计算机等级考试二级C语言真题题库2 2014年3月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有—个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。
双向链表节点具有两个指针域,属于线性结构,故A选项错误。
循环链表所有节点的指针域都为非空,属于线性结构,故B选项错误。
循环链表是链表,循环队列属于队列,队列只能在队尾入队,在排头退队,链表可以在任何位置插入、删除,故C选项错误。
双向链表节点具有多个指针域,故D选项正确。
2. 使用白盒测试方法时,设计测试用例应根据()。
A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗,则实体医生和患者之间的联系是()。
A 多对多B 多对一C 一对多D 一对一答案:A[解析]一般来说,实体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。
医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,故A选项正确。
4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。
A 二分法查找B 顺序查找C 分块查找D 哈希查找答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。
计算机二级c语言试题库及答案一、选择题1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[12] = "Hello, World!";C. char str = "Hello, World!";D. char str[] = {"Hello", "World!"};答案:A2. 下列哪个函数用于计算字符串的长度?A. strlen()B. strlength()C. length()D. size()答案:A3. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. structedC. structureD. type答案:A4. 以下哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A5. C语言中,以下哪个选项表示逻辑非运算符?A. &&B. ||C. !D. =答案:C二、填空题1. 在C语言中,使用________运算符可以将一个整数转换为一个字符。
答案:%c2. 以下代码段的输出结果是______。
```c#include <stdio.h>int main() {int a = 5;printf("%d", a++);return 0;}```答案:53. 以下代码段中,变量b的值是______。
```cint a = 10, b;b = a++;```答案:104. 在C语言中,使用________函数可以将浮点数转换为字符串。
全国计算机二级考试c语言题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. int_答案:A3. 在C语言中,一个整型变量占用的字节数是多少?A. 1B. 2C. 4D. 8答案:C4. 下列哪个函数用于计算两个数的和?A. max()B. pow()C. sqrt()D. sum()答案:D5. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. |答案:A6. C语言中,以下哪个选项用于定义一个整型数组?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B7. 在C语言中,以下哪个选项用于声明一个指向整型的指针?A. int *p;B. int *p[];C. int (*p)[];D. int *p[5];答案:A8. 下列哪个选项是C语言中的字符串字面量?A. "Hello"B. 'Hello'C. "Hello'"D. 'Hello'答案:A9. 在C语言中,以下哪个选项用于定义一个结构体?A. struct Student {int id;char name[20];};B. struct Student student;C. Student student;D. int Student;答案:A10. 在C语言中,以下哪个选项用于声明一个函数?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个无限循环。
《二级C语言》练习题库与参考答案一、单选题(共100题,每题1分,共100分)1、软件生命周期中,确定软件系统要做什么的阶段是()。
A、软件测试B、软件设计C、需求分析D、系统维护正确答案:C2、软件生命周期是指()。
A、软件的开发与管理B、软件产品从提出、实现、使用、维护到停止使用退役的过程C、软件的实现和维护D、软件的需求分析、设计与实现正确答案:B3、某二叉树中有n个叶子结点,则该二叉树中度为2的结点数为()。
A、n+1B、n/2C、2nD、n-1正确答案:D4、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是()。
A、main() { float fun(int i,int j); ……x=fun(i,j);…… } float fun(inta,int b){……}B、float fun(int,int); main() {……x=fun(2,10);……} float fun(inta,int b){……}C、float fun(inta,int b){……} main() {……x=fun(i,j);……}D、main() {……x=fun(2,10);……} float fun(inta,int b){……}正确答案:D5、以下关于指针的叙述,错误的是()。
A、两个基类型相同的指针变量不能指向同一个对象B、可以通过对指针变量自增、自减来移动指针C、只有两个类型相同的指针才能进行减运算D、一个指针变量可以通过不同的方式获得一个确定的地址值正确答案:A6、结构化程序设计的基本原则不包括()。
A、模块化B、逐步求精C、自顶向下D、多态性正确答案:D7、下面描述不属于软件特点的是()。
A、软件复杂性高B、软件使用不涉及知识产权C、软件在使用中不存在磨损、老化问题D、软件是一种逻辑实体,具有抽象性正确答案:B8、关系表中的每一行记录称为一个()。
全国计算机等级考试二级C语言真题题库2 2014年9月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 节点中具有两个指针域的链表一定是二叉链表B 节点中具有两个指针域的链表可以是线性结构,也可以是非线性结构C 二叉树只能采用链式存储结构D 循环链表是非线性结构答案:B[解析]具有两个指针域的链表可能是双向链表,A选项错误。
双向链表是线性结构,二叉树为非线性结构,两者节点中均有两个指针域,B选项正确。
二叉树通常采用链式存储结构,也可采用其他结构,C选项错误。
循环链表是线性结构,故D选项错误。
2. 某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为()。
A BADCB DCBAC CDABD ABCD答案:B[解析]二叉树遍历可以分为3种:前序遍历(访问根节点,左节点,右节点)、中序遍历(访问左节点,根节点,右节点)、后序遍历(访问左节点,右节点,根节点)。
本题中前序序列为ABCD,中序序列为DCBA,可知D为根节点,ABC为左侧节点,C为D左子节点,A为B子节点,故后序厅列为DCBA,故B选项正确。
3. 下面不能作为软件设计工具的是()。
A PAD图B 程序流程图C 数据流程图(DFD图)D 总体结构图答案:C[解析]软件设计常用的工具有:图形工具,如程序流径图、N—S图、PAD图、HIP0;表格工具,如判定表;语言工具,如PDL(伪码)。
另外,在结构化设计方法中,常用的结构设计工具是结构图,故选择C选项。
4. 逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是()。
A 关系模型B 谓词模型C 物理模型D 实体-联系模型答案:A[解析]逻辑数据模型也称数据模型,是面向数据库系统的模型,着重于在数据库系统一级的实现。
成熟并大量使用的数据模型有层次模型、网状模型、关系模型和面向对象模型等。
故A选项正确。
5. 运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个项目。
c语言二级考试题库考试题目一:1. (单选题)以下关于C语言中的运算符,哪个是正确的?A. = 是赋值运算符B. * 是取余运算符C. + 是自增运算符D. / 是逻辑与运算符答案:A2. (多选题)以下哪些是C语言的控制语句?A. if-else语句B. for循环语句C. switch语句D. do-while循环语句答案:A、B、C、D3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;float z = x / y;printf("%f", ____);```答案:z4. (判断题)在C语言中,可以使用浮点数来进行整数运算。
答案:错误考试题目二:1. (单选题)以下表达式的值是多少?```cint a = 10;int b = 5;int c = a++ + ++b;```A. 25B. 26C. 27D. 282. (多选题)以下哪些是C语言中的数据类型?A. intB. floatC. charD. string答案:A、B、C3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint i;for (i = 0; i < 10; i++) {printf("%d ", i);}```答案:无4. (判断题)C语言中的逻辑运算符有 &&、|| 和 !。
答案:正确考试题目三:1. (单选题)以下哪个选项可以用来定义一个常量?A. const int x;B. readonly int y;C. final int z;D. let int w;答案:A2. (多选题)以下哪些是C语言中的关键字?A. whileB. switchC. goD. break答案:A、B3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;int y = (x > 5) ? 1 : 0;printf("%d", ____);```答案:y4. (判断题)在C语言中,可以直接对两个字符串进行比较运算。
全国计算机二级c语言考试题库1. C语言中的基本数据类型包括( )。
A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、逻辑型、字符型D. 整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( )。
A. '\048'B. 'ab'C. '\43'D. "\0"3. 设x为int型变量,执行下列语句:x=10; x+=x-=x-x; 则x的值为( )。
A. 15B. 20C. 25D. 304. 定义如下变量和数组:int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是( )。
A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95. 下列叙述中正确的是( )。
A. 调用printf函数时,必须要有输出项B. 使用putchar函数时,必须在之前包含头文件stdio.hC. 在C语言中,整数可以以二进制、八进制或十六进制的形式输出D. getchar 函数是从标准输入设备读取一个字符6. 下列选项中,不能用作C语言合法常量的是( )。
A. 0xffB. 1e+6C. '\n'D. "Hello"7. 在C语言中,可以使用以下哪个函数来读取从键盘输入的字符?( )A. printf()B. scanf()C. gets()D. read()8. 下列运算符中优先级最高的是( )。
A. %B. /C. *D. +9. 下列结构体定义中,正确的是( )。
struct person { char name[20]; int age; };A. struct person p;B. struct person { char name[20]; int age; } p1;C. struct person p1;D. struct person p1; struct person p2;10. 在C语言中,可以使用以下哪个函数来输出字符串?( )A. printf()B. scanf()C. gets()D. puts()。
题库名:程序设计基础总试题库.mdb 题数:167题1、在语句cin>>data;中,cin是 (判断题)所属章节:4.C语言二级考试题库难度系数:1A. C++的关键字B. 类名C. 对象名D. 函数名说明: 此写解题要点或对题目做说明。
2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)?b+a:c+a;执行该语句后整型变量u的值为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 0B. 3C. 4D. 5答案: C说明: 此写解题要点或对题目做说明。
3、分析下面的代码:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");如果x=30,y=150,输出为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. GoodB. BadC. Good BadD. Bad Good答案: B说明: 此写解题要点或对题目做说明。
4、分析下面的代码:#include<stdio.h>void main(){int a;scanf("%d",&a);switch(a){case 1:printf("星期一 ");case 2:printf("星期二 ");case 3:printf("星期三 ");case 4:printf("星期四 ");case 5:printf("星期五 ");case 6:printf("星期六 ");case 7:printf("星期日 ");default:printf("输入错误\n");}}若a=6,则输出结果是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:2A. 星期六B. 星期六星期日C. 星期六星期日输入错误D. 输入错误答案: C说明: 此写解题要点或对题目做说明。
5、分析下面的代码:if (a<0.7)printf("提示1");else if(a<1)printf("提示2");elseprintf("提示3");如果a=0.8,那么输出结果为( )。
(单选题)所属章节:4.C语言二级考试题库难度系数:2A. 提示1B. 提示2C. 提示3答案: C说明: 此写解题要点或对题目做说明。
6、在switch结构中,()子句不是必选项。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. switchB. caseC. defaultD. else答案: C说明: 此写解题要点或对题目做说明。
7、分析下面的代码,如果输入85,那么将输出()。
#include <stdio.h>void main(){int mks;printf("请输入分数:");scanf("%d",&mks);mks>90?printf("优秀"):printf("一般");} (单选题)所属章节:4.C语言二级考试题库难度系数:2A. 优秀B. 一般C. 代码将不会显示任何结果D. 语法错误答案: B说明: 此写解题要点或对题目做说明。
8、分析下面的C语言代码:int a=1,b=10;do{b-=a; a++;}while (b- -<0);则执行循环语句后b的值为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 9B. -2C. -1D. 8答案: D9、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 100 765.12B. i=100,f=765.12C. 100<回车> 765.12D. x=100 y=765.12答案: B10、#include<stdio.h>void main(){int a=3,b=2,c=1;int x=10,y=20;if(a<b)if(b!=0)if(!x)y=1;else if(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 20B. 1C. 0D. -1答案: B11、C语言中,while和do…while循环的主要区别是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. while的循环控制条件比do…while的循环控制条件严格B. do…while的循环体至少无条件执行一次C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句答案: D12、执行下面的C程序段后,输出结果是()。
int a=5;while( a- -);printf( "%d",a) ; (单选题)所属章节:4.C语言二级考试题库难度系数:1A. 54321B. 4321C. 0D. -1答案: D13、下面C代码的输出结果是()。
int answer,result;answer=100;result=answer-10;printf(“The result is %d”, result+5); (单选题)所属章节:4.C语言二级考试题库难度系数:1A. The result is 90B. The result is 95C. The result is 10D. The result is 100答案: B14、在C语言中,()是在所有函数外部声明的。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 全局变量B. 局部变量C. 形参答案: A15、分析下面的C程序:#include<stdio.h>void main(){int num=0;while(num<=2){num++;printf("%d ",num);}}输出结果是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 1 2 3B. 0 1 2C. 2 3D. 1 2答案: A16、研究下面的C程序段:int i,j;for (i=5;i;i--)for(j=0;j<4;j++){…}循环体的总执行次数是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 20B. 25C. 24D. 30答案: A17、设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。
x=y=z=1;t=++x||--y&&++z;(选择一项) (单选题)所属章节:4.C语言二级考试题库难度系数:1A. 不定值B. 2C. 1D. 0答案: C18、阅读下面的C语言代码,输出结果是()。
int x, y = 1, z=0;if ( z < 0 )x = 3;else if ( y == 0 )x = 5;elsex = 7;printf("%d, %d", x, y); (单选题)所属章节:4.C语言二级考试题库难度系数:1A. 7, 0B. 7, 1C. 3, 3D. 以上都不正确答案: B19、在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 不能确定B. 68C. CD. D答案: D20、在C语言中,能正确表示a和b同时为正或同时为负的逻辑表达式是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>0答案: D21、下面的C语言代码段的输出结果是()。
int j;for(j=1; j<10; j+=2)printf("%d ",j); (单选题)所属章节:4.C语言二级考试题库难度系数:1A. 1 2 3 4 5 6 7 8 9B. 2 4 6 8C. 1 3 5 7 9D. 1 2 4 6 8答案: C22、用来将两个字符串合并为一个字符串的函数是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. strcat()B. strcpy()C. strlen()答案: A23、在C语言中,表达式:10!=9 的值是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. trueB. 非零值C. 0D. 1答案: D24、分析下面的C代码段:char str1[15] = "Sea View";char str2[15] = "Sea Breeze";strcpy(str1,str2);printf("%s\n",str1);则输出结果是()。
(选择一项) (单选题)所属章节:4.C语言二级考试题库难度系数:1A. Sea ViewB. Sea BreezeC. Sea View Sea BreezeD. Sea Breeze Sea View答案: B25、在C语言中,下列正确的字符型常量是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. “f”B. ‘9’C. #D. 365答案: B26、在C语言中,以下不会出现死循环的语句是()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. int x=0;do{x++;}while(x=1);B. for(k=10; ; k--);C. for(y=0, x=1; x>++y; x=k++) k=x;D. while(1) {x++;}答案: C27、分析下面的C语言程序:void main(){int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是()。