四川省计算机等级考试二级C语言笔试题(第二十一次)一
四川省计算机二级真题(C语言)
第一部分:历年笔试真题▶▶真题一第十九次等级考试第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在目前,用于保证软件质量的主要手段是进行软件测试。
( 1 )2. 使用DMA方式传送数据期间不需要CPU干预。
( 2 )3. 线性顺序队列会产生“假溢出”,而线性循环队列则不会。
( 3 )4. 对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。
( 4 )5. 在线性表中,数据的存储方式有顺序和链接两种。
( 5 )6. 进程是由程序块、文件控制块和数据块三部分组成。
( 6 )7. 在面向对象的程序设计中,派生类只能从一个基类产生。
( 7 )8. 操作系统是用户和硬件的接口。
( 8 )9. 个人计算机中可配置的最大内存容量受地址总线位数的限制。
( 9 )10.软件维护中最困难的问题是软件配置不全。
( 10 )二、选择题(每小题1分,共5分)1. 在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置称为( 11 )。
11 (A) 选择排序(B) 快速排序(C) 插入排序(D) 冒泡排序2. 有X、Y、Z三个元素依次入栈,不可能的出栈顺序是( 12 )。
12 (A) Z,Y,X (B) Z,X,Y(C) Y,X,Z (D) X,Y,Z3. 进程的状态是可以转换的,而以下哪个状态转换是不可能的( 13 )。
13 (A) 就绪状态→执行状态(B) 执行状态→就绪状态(C) 阻塞状态→就绪状态(D) 等待状态→执行状态4. 线性链表的地址( 14 )。
14 (A) 必须连续(B) 部分地址必须连续(C) 一定不连续(D) 连续与否均可以5. 在软件测试中,( 15 )主要分析程序的内部结构。
15 (A) 白盒法(B) 黑盒法(C) 因果图法(D) 错误推测法第二部分C与C++语言程序设计(共85分)一、单项选择题( 每小题1分,共10分)1. 对下列程序段的描述正确的是(16 )。
四川省计算机二级c语言考试试题及答案及解析
四川省计算机二级c语言考试试题及答案及解析一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. structB. intC. charD. float答案:B解析:在C语言中,定义变量时需要使用关键字,其中用于定义整型变量的关键字是int。
2. 下列哪个选项是合法的C语言标识符?()A. 2variableB. variable2C. _variableD. variable!答案:C解析:C语言中标识符可以由字母、数字、下划线组成,但不能以数字开头。
3. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. ==D. =答案:A解析:在C语言中,逻辑“与”操作符是&&,用于比较两个表达式是否都为真。
4. 下列哪个选项不是C语言中的控制语句?()A. ifB. switchC. forD. goto答案:D解析:goto语句虽然在C语言中存在,但它不是控制语句,而是一种跳转语句。
5. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A解析:struct关键字用于定义一个结构体类型。
6. 下列哪个选项是C语言中的预处理指令?()A. #includeB. #defineC. #ifD. All of the above答案:D解析:#include、#define和#if都是C语言中的预处理指令。
7. C语言中,用于表示逻辑“或”操作的运算符是()。
A. &&B. ||C. ==D. =答案:B解析:逻辑“或”操作符是||,用于比较两个表达式是否至少有一个为真。
8. C语言中,用于表示逻辑“非”操作的运算符是()。
A. !B. &&C. ||D. =答案:A解析:逻辑“非”操作符是!,用于取反一个表达式的逻辑值。
9. 在C语言中,用于定义一个数组的关键字是()。
四川省二级(C与C++语言)笔试试卷(22次)
fu();
fu();
}
void fu()
{
static int a=0;
printf("a=%d,",!a ? 1 : 8 );
}
20 (A) a=8,a=8,
(B) a=1,a=8
6. 以下程序中,输出值是 ( 21 ) 。
(C) a=8,a=1,
(D) a=1,a=1,
# include <stdio.h>
第 5 页 共 11 页
chang(char *c,int fg)
{
if(*c==' ')
n 1;
else if( fg && *c<='z' && *c>='a' )
*c+='A'-'a';
return 0;
}
main()
{
int flag=1;
char ch;
do
{
ch=getchar();
}
case 2:
a++; b++; break;
case 3:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
33 (A) a=1,b=0
(B) a=2,b=1
7. 若有以下程序段:
(C) a=1,b=1
int a[]={4,0,2,3,1},k,j,t;
for(j=1;j<5;j++)
(C) if(x!=y) x=x*x else x+=1;
四川省二级(C与C++语言)第19-24次笔试答案
四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、B、A、B、B、B、A、A、A、B二、单项选择题:(每小题1分,共5分)1~5:C、B、D、D、A第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、D4、D5、A6、C7、D8、B9、A 10、B二、读程序题(每个选择3分,共45分)1、(1)D (2)B2、(1)C (2)D3、(1)A(2)D4、(1)C (2)C5、B6、(1)C (2)D7、(1)B (2)C 8、D 9、D三、程序填空题(每空2分,共30分)1、①TotalSum(a,5) ②Total ③sum+=array[i]2、①ch==’1’②power(2,i) ③val=val*x3、①s+n-1 ②*p1!=’\0’③p2--4、①&num[i][j] ②num[i][j]!=num[j][i] ③flag==15、①while(!feof(fp) ) ②if(strcmp(str,string)==0) ③fopen(argv[1], “r”)四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、B、A、B、B、A、B、A、B、B二、单项选择题:(每小题1分,共5分)1~5:D、B、C、A、C第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、B3、C4、C5、A6、D7、A8、C9、C 10、D二、读程序题(每个选择3分,共45分)1、(1)B (2)D2、(1)A(2)C3、(1)C (2)A(3)D4、(1)A(2)D5、D6、(1)C (2)B7、(1)A(2)B 8、B三、程序填空题(每空2分,共30分)1、①num=0 ②i < len ③str++2、①symm(m)&&symm(m*m)&&symm(m*m*m)②i!=0 ③m=m*10+i%103、①head ②p->data ③p->next4、①(fp=fopen(“data.txt”, “r”))==NULL②ch=fgetc(fp) ③ch-‘A’5、①while(*s++=*t++ ) ②*t=’\0’③else p=NULL四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:B、B、A、B、B、A、A、B、A、B二、单项选择题:(每小题1分,共5分)1~5:C、C、D、D、B第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、C2、B3、B4、B5、C6、A7、A8、C9、D 10、D二、读程序题(每个选择3分,共45分)1、D2、A3、A4、B5、B6、C7 、(1)C (2)B 8、(1)A(2)B 9、(1)C (2)D10、(1)D (2)A(3)D三、程序填空题(每空2分,共30分)1、①struct student *next ②p2->next=p1 ③p=p->next2、①q=p ②p>str ③*p=max3、①aver+=score[i] ②below[k]=score[i] ③fun(score,9,below)4、①i==j ②j=2 ③j>=05、①“wb”②&em ③1四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:A、A、B、B、A、B、B、B、A、A二、单项选择题:(每小题1分,共5分)1~5:D、C、D、C、D第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、B4、A5、D6、C7、D8、C9、D 10、C二、读程序题(每个选择3分,共45分)1、D2、(1)A(2)C3、(1)A(2)D4、C5、A6、B7、B 8、(1)D (2)A9、(1)C (2)B10、(1)B (2)D三、程序填空题(每空2分,共30分)1、①p[i]>p[j] ②fscanf(fp,”%d”,&a[i] ) ③sort(a,10)2、①func(n) ②long m ③func(m/10)3、①(bott+top)/2 ②top=mid-1 ③bott>top4、①str1[i]!=’\0’&&str2[i]!=’\0’②strlen(str1)>strlen(str2) ③strcat(str3,p2+i )5、①k>0 ②k/10 ③continue四川省普通高等学校计算机应用知识和能力第二十三次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:A、A、B、A、B、A、B、B、B、B二、选择题(每小题1分,共5分)1、C2、D3、A4、B5、A第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、A4、D5、B6、A7、C8、B9、C 10、C二、读程序回答问题(每个选择3分,共45分)1、B2、A3、D4、B B5、D A6、B A7、D8、C C9、A C 10、C三、程序填空( 每空2分,共30分 )1、①n%base ②c[i] ③b[d]2、①j/10 ②ch[0]==ch[4] && ch[1]==ch[3] ③i3、①i%3==0&&i%7!=0 ②p[num++]=i ③fun ( M,a,&n )4、①s,t ②*(p1+i)==*p2 ③p1+i ,p1+i+15、①fopen ( “stu.txt”,”r+” ) ②fp,”%d”,&y ③fprintf ( fp,”%d”,x )四川省普通高等学校计算机应用知识和能力第二十四次等级考试二级(C与C++语言) 笔试试卷(参考答案)第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:二、选择题(每小题1分,共5分)1、2、3、4、5、第二部分C与C++语言程序设计一、单项选择题1、A2、B3、A4、A5、D6、C7、C8、B9、D 10、B二、读程序回答问题1、C2、B D3、A4、A B5、A6、C7、D C8、D B9、C 10、C B三、程序真空1、①int *p 或int p[] ②p[j+1]=p[j] ③insert(a,wz,x)2、①int i ②i<=y ③return z3、①x>=0 ②x<min ③&x4、①i-1 ②a[j+1]=a[j] ③a[j+1]=t5、①FILE *f ②sizeof(stract rec) ③r.num, r.total编辑者:霍团长。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
国家二级计算机考试c语言试题及答案
国家二级计算机考试c语言试题及答案国家二级计算机考试C语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。
每小题只有一个正确答案。
)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable2!D. _variable2答案:D3. C语言中,用于表示逻辑“与”的运算符是?A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A7. C语言中,用于计算两个整数相加的函数是?A. strcatB. strcmpC. strcpyD. sum答案:D(注:sum不是C语言标准库函数,此处假设为自定义函数)8. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e5C. 123.45D. All of the above答案:D9. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D二、填空题(本大题共5小题,每小题2分,共10分。
C语言四川省计算机二级笔试真题
C语言四川省计算机二级笔试真题C32总共30 题共100分一.单选题(共15题,共37.5分)1.【题号:5113】以下能正确进行字符串赋值的是()(2.5分)A.char s[5]={'a','e','i','o','u'};B.char s[5]; s="good";C.char s[5];s[5]="abcd";D.char s[5]; s[ ]="good";标准答案:A2.【题号:5114】有下面的说明和语句,则输出的结果是()char a=9,b=020;printf("%o\n",~a&b<<1);(2.5分)A.377B.40C.32D.以上答案均不对标准答案:B3.【题号:5115】若有float x; 则sizeof ( x ) 和sizeof ( float ) 两种描述()(2.5分)A.都正确B.都不正确C.前者正确,后者不正确D.后者正确,前者不正确标准答案:A4.【题号:5116】若有代数式,则不正确的C语言表达式是()(2.5分)A.3*a*e/b*cB.3*a*e/b/cC.a/b/c*e*3D.a*e/c/b*3标准答案:A5.【题号:5117】下列程序运行的结果是 ( )main(){ struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}(2.5分)A.0B.1C.3D.6标准答案:D6.【题号:5118】若有以下说明和语句,且0=<iA.*(a+i)B.a[p-a]C.p+iD.*(&a[i])标准答案:C7.【题号:5119】#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2); 后,z的值为()(2.5分)A.44B.45C.32D.338.【题号:5120】下列函数定义中,会出现编译错误的是( )(2.5分)A.int fun(int x,int y){ int z;z=(x>y)?x:y;return z;}B.int fun(int x,int y,int *z){ z=(x>y)?x:y;return z;}C.int fun(int x,int y){ return ( (x>y) ? x : y ); }D.int fun(int x,int y,int *z){ *z = (x>y) ? x : y ; }标准答案:B9.【题号:5121】下面C++的语句( )能实现printf("%d%d\n",a,b); 的功能(2.5分)A.cin>>a>>bB.cin>>a>>bC.cout<<a<<b< p="">D.cout<<a<<b<<endl< p="">标准答案:D10.【题号:5122】在如下程序段中的while循环 ( )int k=0;while(k=1) k++;(2.5分)A.有语法错,不能执行B.无限循环C.一次都不执行D.执行一次11.【题号:5123】下述程序的输出结果是 ( )# includevoid main(){int y=10;while(y--);printf("y=%d",y);}(2.5分)A.y=0B.y=1C.y=随机值D.y=-1标准答案:D12.【题号:5124】若有以下说明:char *str1="copy",str2[20],*str3="str",*str4,*str5="good";则错误的串操作语句是 ( )(2.5分)A.strcpy(str4,str1);B.strcat(str1,str3);C.str2="new str";D.strcpy(str5,str3);标准答案:C13.【题号:5125】下面程序运行后,x,y,z的值分别为( ) void main() { int x=0,y=0,z=0; ++x||++y||++z; printf("%d%d%d\n",x,y,z); }(2.5分)A.100B.000C.111D.001标准答案:A14.【题号:5126】关于C++和C语言学关系描述中,错误的是 ( )(2.5分)A.C语言与C++是兼容的B.C++对C语言进行了一些改进C.C语言是C++的一个子集D.C++和C语言都是面向对象的标准答案:D15.【题号:5127】#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}(2.5分)A.17B.31C.13D.7标准答案:A二.读程序回答问题(共10题,共25分)16.【题号:5128】下列程序运行的结果为()。
四川省计算机等级考试二级C语言机试题50道真题
四川省计算机等级考试二级C语言机试题50道(1)Date: 2010-01-29 Comments: 0 Views: 1041)下面叙述正确的是________。
A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间(1)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱。
它们是一个不可分割的整体。
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。
(2)以下数据结构属于非线性数据结构的是________。
A)队列B)线性表C)二叉树D)栈(2)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。
栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。
所以栈又称后进先出表(Last In First Out)。
队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。
在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。
因此队列又称先进先出表(First In First Out)。
二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。
四川计算机二级c语言考试24次机试试真题
一、程序调试题(文件名test1-1.c )(40分)磁盘上有一个名为test1-1.c的C程序文件,其中函数spacenum的功能是统计符串中空格的个数,并将空格的个数存在形参n所指向的存储单元中。
调试程序使之能输出正确的结果。
注意:不得增行或删行,也不得更改程序的结构。
#include <stdio.h>void spacenum(char *a,int *n){int i;n=0;for(i=0;i<n;i++)if(*(a+i)=' ')n++;}main( ){char str[100];int count;puts(str);spacenum(str,count);printf("space=%d\n",count);}二、编写程序(程序文件名取为test1-2.c )(60分)请用函数调用方式编写程序,要求:1、写一found函数,功能是:找出1至99之间的全部同构数,入入数组a中,并返回同构数的个数n。
(若一个数出现在自己的平方数的右边就称为同构数,例如:5的平方数是25,且5出现在25的右边,5是同构数;又如25出现在625的右边,也是同构数。
)2、在main函数中调用found函数,将满足条件的所有同构数输出到屏幕和文件test1-2.dat中,一行输出5个,将同构数的个数出输出到屏幕和文件test1-2.dat中。
一、程序调试题(文件名test2-1.c )(40分)磁盘上有一个名为test2-1.c的C程序文件,其功能是:统计一个无符号整数各位数值为零的个数,并把该无符号整数各位上最大的数值作为函数值返回。
例如:若输入无符号整数30800,则数字值为零的个数为3,各位上数值最大的是8。
请改正程序中的错误,使其能输出正确结果。
注意:不得增行或删行,也不得更改程序的结构。
#include <stdio.h>int fun(unsigned n, int zero){int count=0, max=0,t;do{ t=n/10;if(t=0)count++;if(max<t)max=t ;n=n%10;} while(n);zero=count;return max ;}main(){ unsigned n;int zero, max ;printf("\nInput n:");scanf("%d", &n);max=fun(n,&zero);printf("\nThe result: max=%d , zero=%d\n",max,zero);}二、编写程序(程序文件名取为test2-2.c )(60分)磁盘上有一数据文件test2-2.dat,文件中的数据依次由:准考证号、笔试成绩、上机成绩三项组成,中间由空格分开。
四川计算机二级c语言考试21次机试试真题
一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为test1-1.c的C程序文件,其功能是将字符串中的小写字母都改成对应的大写字母,其他字母不变。
请更改程序中的错误。
注意:不得增行或删行,也不得更改程序的结构。
#include <stdio.h>#include <string.h>char *fun( char str){ int i ;for(i=0 ; str; i++)if(('a'<=str[i])||(str[i]<='z'))str[i]+=32;return *str;}main(){char str[81];printf("\n Please enter a string:");gets(str[81]);printf("\n The result string is:\n%s" , fun(str));}二、编写程序(程序文件名取为test1-2.c)(60分)在磁盘上的test1-2.txt文件中放有10个不小于2的正整数,用函数调用方式编写程序。
要求实现:1. 在被调函数prime中,判断和统计10个整数中的素数以及个数。
2. 在主函数中将全部素数追加到磁盘文件test1-2.txt的尾部,同时输出到屏幕上。
一、程序调试题(文件名test2-l.c)(40分)N个有序数数列已放在一维数组中。
下列程序中,函数fi的功能是:利用折半查找算法查找整数m在数组中的位置,返回其下标值;反之返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(Iow<high),然后把m与中间位置(mid)中元素的值进行比较。
如果m的值大于中间位置元素中的值,则下次的查找范围放在中间位置之后的元素中;反之,下一次的查找范围在中间位置之前的元素中。
四川省计算机二级C语言18次至31次机试试题及答案1
(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M 由主函数传给fun 函数。
例如:当M的值为100,则函数的值为732。
调试程序使之能输出正确的结果。
注意:可以增加和修改程序行,但不得删除程序中的整行。
在一处增加的程序行不得超过两行。
源程序如下:# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。
结果显示在屏幕上并送testl1-2·txt中保存。
例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 2518-1套参考答案:一、程序调试题(文件名test1-1.c)(40分)# include <stdio.h># include <conio.h>int fun(int m);/* 去掉分号(;) */{ int sum,n=0,j,yes; /* 改为sum=0 */ while((m>=2)&&(n<10)/* 改为(n<10))*/{ yes=0; /* 改为yes=1*/ for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1) /* 改为yes==1 */{ sum+=m; n++;m--;}}return ; /* 改为return sum*/ }main(){ int m;clrscr();scanf("%d",m); /* 改为&m */printf("%d\n",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。
四川省计算机等级考试二级C语言笔试题一
四川省计算机等级考试二级语言笔试题(第二十一次)一四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(与语言)笔试试卷时间年月日上午—第一部分软件技术基础(共分)一、是非判断题(每小题分,共分).应用程序在执行过程中,需要通过打印输出数据时,一般先形成一个打印作业,将其存放在硬盘中的一个指定队列中。
当打印空闲时,就会按先来后服务的方式从中取出待打印的作业进行打印。
().若无进程牌运行状态,则就绪队列和等待队列均为空。
().多道程序设计是指在一台处理上迸发运行多个程序逻辑。
().黑盒法是软件测试方法中的静态测试方法之一。
().软件的详细设计就是要编写出具体的程序。
().软件生命周期中花费最多的阶段是软件维护。
().是单用户多任务操作系统,是多用户多任务操作系统。
().进程把程序作为它的运行实体,没有程序也就没有进程。
().在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和判定树。
().作业调度程序从后备队列中选一个作业装入主存后,决定能否占用处理机的是设备调度程序。
()二、单项选择题(分小题,共分).交换技术是在()之间交换程序和数据。
()主内存与()与外设()主内存与外存()外存与.以下的工具中哪个不是软件详细设计中使用的工具()。
()数据流图()图()图()语言.任何两个并发进程之间()。
()一定存在互斥关系()一定存在同步关系()一定彼此独立无关()可能存在同步或互斥关系.进程从运行状态进入就绪状态的原因可能是()。
()被选中占有处理机()等待某一事件()等待的事件已发生()时间片用完.算法指的是()。
()计算机程序()解决问题的有限运算序列()排序算法()解决问题的计算方法第二部分与语言程序设计(共分)一、单项选择题(每小题分,共分).以下程序运行后,输出结果是()。
(){ ;(>)(<);(“\”);}(),(),(),(),.以下程序输出的结果是()。
四川省二级(C与C++语言)笔试试卷(20次)
}
程序运行时依次输入 x 的值为:1 2 3 4 5 6 7 8 9 10
(1) 程序的运行结果是( 26 )。
26 (A) 3,12,21
(B) 18,22,15
(C) 3,4,3
(D) 9,10,8
(2) switch ( x%3 )与( 27 )相同。
27 (A) switch(!(x%3)!=0)
(B) switch(x%3==0)
(C) switch(x%3!=0)
(D) 他们都不相同
2. 有下列程序:
# include <stdio.h>
void main()
{
char *str[]={"One","Two","Three","Four"};
char
=str;
int i;
for(i=0;i<3;i++)
void main()
{ char str[20];
int i=0;
static int count[2]={0};
gets(str);
do
{
switch(str[i++])
{
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
15 (A) 简单插入排序
(B) 冒泡排序
(C) 2 路归并排序
(D) 快速排序
四川省计算机等级考试二级C语言笔试题(第二十一次)一
四川省计算机等级考试二级C语言笔试题(第二十一次)一2009-03-29 15:15:17四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言)笔试试卷时间:2004年10月16日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)1.应用程序在执行过程中,需要通过打印输出数据时,一般先形成一个打印作业,将其存放在硬盘中的一个指定队列中。
当打印空闲时,就会按先来后服务的方式从中取出待打印的作业进行打印。
( 1 )2.若无进程牌运行状态,则就绪队列和等待队列均为空。
( 2 )3.多道程序设计是指在一台处理上迸发运行多个程序逻辑。
( 3 )4.黑盒法是软件测试方法中的静态测试方法之一。
( 4 )5.软件的详细设计就是要编写出具体的程序。
( 5 )6.软件生命周期中花费最多的阶段是软件维护。
( 6 )7.Windows 是单用户多任务操作系统,UNIX是多用户多任务操作系统。
(7 )8.进程把程序作为它的运行实体,没有程序也就没有进程。
(8 )9.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和判定树。
(9 )10.作业调度程序从后备队列中选一个作业装入主存后,决定能否占用处理机的是设备调度程序。
(10 )二、单项选择题(1分/小题,共5分)1.交换技术是在(11 )之间交换程序和数据。
11(A)主内存与CPU (B)CPU与外设(C)主内存与外存(D)外存与CPU2.以下的工具中哪个不是软件详细设计中使用的工具(12 )。
12(A)数据流图(B)N-S图(C)PDA图(D)PDL语言3.任何两个并发进程之间(13 )。
13(A)一定存在互斥关系(B)一定存在同步关系(C)一定彼此独立无关(D)可能存在同步或互斥关系4.进程从运行状态进入就绪状态的原因可能是(14 )。
14(A)被选中占有处理机(B)等待某一事件(C)等待的事件已发生(D)时间片用完5.算法指的是(15 )。
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
计算机等级二级考试题(C语言)
考试题1---------一、客观题。
1.()是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从()开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3.下列正确的标识符是()。
A、-a1B、a[i]C、a2_iD、int t4.C语言中的简单数据类型包括()。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型5.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是()。
A、3B、4C、0D、16.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)7.以下对一维数组a的正确说明是:()。
A、char a(10)B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};8.若有以下数组说明,则i=10;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.下列数据结构中,属于非线性结构的是()。
A、循环队列B、带链队列C、二叉树D、带链栈10.C语言中函数返回值的类型是由()决定的。
A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型11.以下对结构变量stul中成员age的非法引用是()。
struct student{ int age;int num;}stu1,*p;p=&stu1;A、 stu1.ageB、 student.ageC、 p->ageD、 (*p).age12.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川省计算机等级考试二级C语言笔试题(第二十一次)一2009-03-29 15:15:17四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言)笔试试卷时间:2004年10月16日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)1.应用程序在执行过程中,需要通过打印输出数据时,一般先形成一个打印作业,将其存放在硬盘中的一个指定队列中。
当打印空闲时,就会按先来后服务的方式从中取出待打印的作业进行打印。
( 1 )2.若无进程牌运行状态,则就绪队列和等待队列均为空。
( 2 )3.多道程序设计是指在一台处理上迸发运行多个程序逻辑。
( 3 )4.黑盒法是软件测试方法中的静态测试方法之一。
( 4 )5.软件的详细设计就是要编写出具体的程序。
( 5 )6.软件生命周期中花费最多的阶段是软件维护。
( 6 )7.Windows 是单用户多任务操作系统,UNIX是多用户多任务操作系统。
(7 )8.进程把程序作为它的运行实体,没有程序也就没有进程。
(8 )9.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和判定树。
(9 )10.作业调度程序从后备队列中选一个作业装入主存后,决定能否占用处理机的是设备调度程序。
(10 )二、单项选择题(1分/小题,共5分)1.交换技术是在(11 )之间交换程序和数据。
11(A)主内存与CPU (B)CPU与外设(C)主内存与外存(D)外存与CPU2.以下的工具中哪个不是软件详细设计中使用的工具(12 )。
12(A)数据流图(B)N-S图(C)PDA图(D)PDL语言3.任何两个并发进程之间(13 )。
13(A)一定存在互斥关系(B)一定存在同步关系(C)一定彼此独立无关(D)可能存在同步或互斥关系4.进程从运行状态进入就绪状态的原因可能是(14 )。
14(A)被选中占有处理机(B)等待某一事件(C)等待的事件已发生(D)时间片用完5.算法指的是(15 )。
15(A)计算机程序(B)解决问题的有限运算序列(C)排序算法(D)解决问题的计算方法第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1.以下程序运行后,输出结果是(16 )。
main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(“%d,%d\n”,k,m);}16(A)0,0 (B)0,1 (C)1,0 (D)1,1 2.以下程序输出的结果是(17 )。
main(){ int m=5;if(m++>5)printf(“%d”,m++);elseprintf(“%d”,m--);}17(A)7 (B)6 (C)5 (D)43.下列程序运行的结果是(18 )。
main(){ int a=10,b=11,c=12;printf(“%d\n”, a>c?a:c?d=a>b:b );}18(A)11 (B)0 (C)10 (D)124.已知:int a,b;下列switch语句中,(19 )是正确的。
19(A)switch(a) (B)switch(a+b){ {case a: a++;break; case 1: a++;case b: b++;break; case 2: b++;} }(C)switch(a*b) (D)switch(a/10+b){ {case 1,2: a+b; case a+b: ++a;break;case 3,4: a-b; case a-b: --b;} }5.下列程序由两个件f1.c和f2.c组成。
f1.c文件的内容:# include <stdio.h># include <f2.c># define N 3main(){ int i;for(i=1;i<=N;i++)printf(“%d,”,sum(i));}f2.c文件的内容:sum(int n){ int t;static int s=0;for(t=1;t<=n;t++)s+=t*t;return(s);}程序的运行输出结果是(20 )。
20(A)1,5,14, (B)1,2,3, (C)1,6,20, (D)1,4,9,6.C++中,有以下定义:int a,b; 若要从键盘输入变量a,b的值,则正确的输入语句是(21 )。
21(A)cin>>a>>b; (B)cin<<a<<b;(C)cout>>a>>b; (D)cout <<a<<b;7.下列程序运行的结果是(22 )。
# include <stdio.h># define swap(x,y) {x^=y; y^=x; x^=y; }main(){ int a=010,b=1;swap(a,b);printf(“%d,%d\n”,a,b);}22(A)1,8 (B)8,1 (C)10,1 (D)1,108.以下scanf 函数调用中对结构体变量成员的错误引用是(23 )。
struct student{ char name[20];int age;int sex;}stud[5],*p;p=stud;23(A)scanf(“%s”,stud[0].name);(B)scanf(“%d”,&stud[0].age);(C)scanf(“%d”,p->age); (D)scanf(“%d”,&(p->sex) );9.在以下关于构造函数的描述中,错误的是(24 )。
24(A)构造函数可以重载(B)构造函数可以带缺省形参值(C)构造函数名必须与类同名(D)构造函数可以带回返回值10.下面对C++函数重载的描述中,错误的是(25 )25(A)函数名相同(B)函数参数个数或参数类型至少有一个不同(C)函数参数不可以用缺省值(D)函数返回值必须不同四川省计算机等级考试二级C语言笔试题(第二十一次)二2009-03-29 15:20:00二、读程序回答问题(每个选择3分,共45分)。
1.下列程序运行的结果为(26 )。
# include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char a='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);}26(A)B,a,B,a (B)a,B,a,B (C)A,b,A,b (D)b,B,A,b 2.下面程序的输出是(27 )。
# include <stdio.h>void test(int *u,int *v){ int *w;w=u;u=v;v=w;}main(){ int m=3,n=6,*x=&m,*y=&n;test(x,y);printf("%d %d", m,n);}27(A)3 6 (B)6 3 (C)0 0 (D)编译出错3.以下程序的输出结果是(28 )。
# include <stdio.h>main(){ int x,y;for(x=1,y=1;x<=15;x++){ if(y>=20)break;if(y%3==1){ y+=3;continue;}y-=10;}printf("%d,%d\n",x,y);}28(A)8,22 (B)7,20 (C)6,22 (D)5,20 4.fun(char *t1,char *t2){ int i,j;while(*t2!=0){ for(i=0,j=0;t1[i];i++)if(t1[i]!=*t2)t1[j++]=t1[i];t1[j]='\0';t2++;}}main(){ char a[]="abcde",b[]="ae";fun(a,b);puts(a);}该程序的输出结果为(29 )。
29(A)abcde (B)bcd (C)abcdeae (D)ae 5.以下程序的输出结果是(30 )。
# include <stdio.h># define FUN(y) 2.84+y# define PR(a) printf("%d",(int)(a))# define PRINT(a) PR(a);putchar('\n')main(){ int x=2;PRINT(FUN(5)*x);}30(A)11 (B)12 (C)14 (D)15 6.读下列程序,回答问题。
# include <stdio.h>void sort(int a[]){ int i,j,t;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}main(){ int a[5]= {5,10,-7,3,7},i,t,j;sort(a);for(i=0;i<=4;i++)printf("%d\n",a[i]);}关于程序的说法正确的是(31 )。
31(A)用选择法对数据按从小到大排列(B)用选择法对数据按从大到小排列(C)用冒泡法对数据按从小到大排列(D)用冒泡法对数据按从大到小排列7.执行下面程序时输入“I will pass the exam!”,其输出结果是(32 )。
如果将程序中的scanf(“%s”,s)改为gets(s);同样输入”I will pass the exan!”,则程序的输出结果是(33 )。
# include <stdio.h>int fun(char s[]){ int i=0;while(s[i]!='\0')i++;return i;}void main(){ char s[81];printf("Please input a string:\n");scanf("%s",s);printf("%d\n",fun(s));}32(A)5 (B)21 (C)1 (D)17 33(A)5 (B)21 (C)1 (D)17 8.以下是一个C++程序# include <iostream.h>class Sample{ int x,y;public:Sample() {x=y=0; }Sample(int a,int b) {x=a; y=b;}void disp(){ cout<<"x="<<x<<"y="<<y<<endl; }}void main(){ Sample s1,s2(2,3);s1.disp();s2.disp();}(1)该程序主函数中s1.disp()的输出为(34 )。