全国计算机二级《C语言》考试题库与答案_第1页
全国计算机二级《C语言》考试题库与答案_第2页
全国计算机二级《C语言》考试题库与答案_第3页
全国计算机二级《C语言》考试题库与答案_第4页
全国计算机二级《C语言》考试题库与答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机二级《C语言》考试题库与答案一、选择题1.以下关于C语言的说法,正确的是()A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main函数中定义C.C语言程序总是从main函数开始执行D.C语言程序中的main函数必须放在程序的开始部分2.以下选项中,合法的C语言标识符是()A._123B.2abcC.ifD.ab3.若有定义:inta=10;则表达式a+=a=aa的值是()A.180B.180C.100D.1004.若有定义:charc='A';则执行语句c=c+32;后,c的值是()A.'a'B.'A'C.'32'D.''5.以下关于数组的说法,错误的是()A.数组必须先定义后使用B.数组名代表数组首元素的地址C.数组的下标从1开始D.可以通过数组名和下标访问数组元素6.若有定义:inta[5]={1,2,3,4,5};则a[3]的值是()A.1B.2C.3D.47.以下关于函数的说法,正确的是()A.函数可以没有返回值B.函数必须有参数C.函数的定义和调用都可以嵌套D.函数的返回值类型必须与函数名相同8.若有函数定义:voidfun(intx,inty){...}则以下函数调用正确的是()A.fun(10);B.fun(10,20);C.inta=fun(10,20);D.fun();9.以下关于指针的说法,错误的是()A.指针变量可以存储变量的地址B.指针变量的类型必须与它所指向的变量的类型相同C.可以通过指针变量来访问它所指向的变量D.指针变量不可以进行算术运算10.若有定义:inta=10;intp=&a;则p的值是()A.变量a的地址B.变量a的值C.指针变量p的地址D.指针变量p的值11.以下关于结构体的说法,正确的是()A.结构体是一种基本数据类型B.结构体变量的成员可以是不同类型的数据C.结构体变量不能作为函数的参数D.结构体变量的成员不能是数组12.若有定义:```cstructstudent{charname[20];intage;floatscore;};structstudents={"Tom",20,85.5};```则访问结构体变量s的成员score的正确方式是()A.s.scoreB.student.scoreC.scoreD.s>score13.以下关于文件操作的说法,错误的是()A.打开文件时必须指定文件的打开方式B.可以使用fopen函数打开文件C.文件操作结束后不需要关闭文件D.可以使用fread和fwrite函数进行文件的读写操作14.若要以只读方式打开一个文本文件"test.txt",以下正确的语句是()A.FILEfp=fopen("test.txt","w");B.FILEfp=fopen("test.txt","r");C.FILEfp=fopen("test.txt","a");D.FILEfp=fopen("test.txt","rb");15.以下关于宏定义的说法,正确的是()A.宏定义必须以分号结尾B.宏定义在编译时进行替换C.宏定义只能定义常量D.宏定义不能嵌套16.若有宏定义:definePI3.14159则在程序中使用PI时,它会被替换为()A.3.14159B."3.14159"C.变量PI的值D.无意义17.以下关于条件编译的说法,错误的是()A.条件编译可以根据条件决定是否编译某段代码B.可以使用ifdef、ifndef和endif进行条件编译C.条件编译只能用于预处理指令D.条件编译可以提高程序的可移植性18.以下关于位运算的说法,正确的是()A.位运算只能对整数进行操作B.位运算的优先级高于算术运算C.位运算不能用于赋值操作D.位运算只能用于二进制数19.若有定义:inta=5;则表达式a&3的值是()A.1B.2C.3D.520.以下关于递归函数的说法,正确的是()A.递归函数必须有终止条件B.递归函数不能有参数C.递归函数的效率一定比非递归函数高D.递归函数不能调用自身二、填空题1.若有定义:inta=5,b=3;则表达式a%b的值是______。2.若要将一个字符'A'输出到屏幕上,可以使用的函数是______。3.若有定义:inta[10];则数组a可以存储______个整数。4.若有函数定义:intadd(intx,inty){returnx+y;}则调用该函数计算10和20的和的语句是______。5.若有定义:inta=10;intp=&a;则p存储的是变量______的地址。6.若有结构体定义:```cstructpoint{intx;inty;};```则定义一个结构体变量p并初始化其成员x为10,y为20的语句是______。7.若要以追加方式打开一个二进制文件"data.bin",可以使用的fopen函数调用语句是______。8.若有宏定义:defineSQUARE(x)xx则表达式SQUARE(2+3)的值是______。9.若要判断一个整数a是否为偶数,可以使用的表达式是______。10.若有递归函数定义:```cintfact(intn){if(n==0||n==1)return1;elsereturnnfact(n1);}```则调用fact(5)得到的结果是______。三、程序阅读题1.阅读以下程序,写出程序的输出结果。```cinclude<stdio.h>intmain(){inta=10,b=20;inttemp;temp=a;a=b;b=temp;printf("a=%d,b=%d\n",a,b);return0;}```2.阅读以下程序,写出程序的输出结果。```cinclude<stdio.h>intmain(){inti;for(i=1;i<=5;i++){if(i%2==0)continue;printf("%d",i);}return0;}```3.阅读以下程序,写出程序的输出结果。```cinclude<stdio.h>voidfun(intx){if(x>0){fun(x1);printf("%d",x);}}intmain(){fun(3);return0;}```4.阅读以下程序,写出程序的输出结果。```cinclude<stdio.h>intmain(){inta[5]={1,3,5,7,9};intp=a;printf("%d\n",(p+2));return0;}```5.阅读以下程序,写出程序的输出结果。```cinclude<stdio.h>structstudent{charname[20];intage;};intmain(){structstudents={"Tom",20};printf("%s%d\n",,s.age);return0;}```四、程序设计题1.编写一个程序,输入两个整数,计算并输出它们的和、差、积、商(假设除数不为0)。```cinclude<stdio.h>intmain(){intnum1,num2;printf("请输入两个整数:");scanf("%d%d",&num1,&num2);intsum=num1+num2;intdiff=num1num2;intprod=num1num2;floatquot=(float)num1/num2;printf("和:%d\n",sum);printf("差:%d\n",diff);printf("积:%d\n",prod);printf("商:%.2f\n",quot);return0;}```2.编写一个程序,输入一个整数n,计算并输出1到n的所有整数的和。```cinclude<stdio.h>intmain(){intn,sum=0;printf("请输入一个整数n:");scanf("%d",&n);for(inti=1;i<=n;i++){sum+=i;}printf("1到%d的所有整数的和是:%d\n",n,sum);return0;}```3.编写一个函数,用于判断一个整数是否为素数,并在主函数中调用该函数进行测试。```cinclude<stdio.h>include<stdbool.h>boolisPrime(intnum){if(num<2)returnfalse;for(inti=2;ii<=num;i++){if(num%i==0)returnfalse;}returntrue;}intmain(){intnum;printf("请输入一个整数:");scanf("%d",&num);if(isPrime(num))printf("%d是素数。\n",num);elseprintf("%d不是素数。\n",num);return0;}```4.编写一个程序,输入一个字符串,统计并输出该字符串中字母、数字和其他字符的个数。```cinclude<stdio.h>include<ctype.h>intmain(){charstr[100];intletterCount=0,digitCount=0,otherCount=0;printf("请输入一个字符串:");fgets(str,sizeof(str),stdin);for(inti=0;str[i]!='\0';i++){if(isalpha(str[i]))letterCount++;elseif(isdigit(str[i]))digitCount++;elseotherCount++;}printf("字母个数:%d\n",letterCount);printf("数字个数:%d\n",digitCount);printf("其他字符个数:%d\n",otherCount);return0;}```5.编写一个程序,将一个整数数组按升序排序并输出排序后的数组。```cinclude<stdio.h>voidbubbleSort(intarr[],intn){for(inti=0;i<n1;i++){for(intj=0;j<ni1;j++){if(arr[j]>arr[j+1]){inttemp=arr[j];arr[j]=arr[j+1];ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论