福建省高等学校计算机等级考试(二级C语言)选择题试题库
二级计算机技能考试c语言试题及答案

二级计算机技能考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. letC. intD. define答案:C2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. _variableD. $variable答案:C3. 在C语言中,用于执行条件判断的关键字是()。
A. ifB. elseC. switchD. case答案:A4. C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:C5. 在C语言中,用于表示逻辑“与”操作的符号是()。
A. &&B. ||C. =D. ==答案:A6. 下列哪个选项是C语言中的合法整型常量?()A. 100B. 0x1AC. 1.5E+2D. 0b1010答案:B7. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A8. C语言中,用于表示逻辑“或”操作的符号是()。
A. &&B. ||C. =D. ==答案:B9. 在C语言中,用于定义一个枚举类型的关键字是()。
A. enumB. unionC. structD. typedef答案:A10. C语言中,用于定义一个联合体的关键字是()。
A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个数组。
答案:int2. C语言中,________关键字用于声明一个指针。
答案:*3. 使用________函数可以输出字符串到控制台。
答案:printf4. C语言中,________关键字用于声明一个函数。
答案:void5. 在C语言中,________关键字用于声明一个枚举类型。
福建省计算机2级C语言 精确版题库

福建省计算机2级C语言精确版题库福建省计算机2级c语言精确版题库第一部分:选择题(40分,20小题/套)概述1、下面关于c语言的描述中,恰当的就是(d)a.每行只能写一条语句b.程序中必须包含有输入语句c.main函数必须坐落于文件的结尾d.每条语句最后必须存有一个分号2、下面关于c语言的叙述中,错误的是(b)a.若一条语句较长,也可分写在下一行上b.构成c语言源程序的基本单位是表达式c.c语言源程序中大、小写字母是有区别的d.一个c语言源程序可由一个或多个函数组成3、关于c语言数据类型的叙述,正确的是(c)a.枚举类型不是基本类型b.数组不是构造类型c.变量必须先定义后使用d.不允许使用空类型4、c程序中main函数的位置(b)a.必须在最为已经开始b.必须在系统库函数后面c.可以在自定义函数后面d.必须在最后5、c语言的函数体由(b)内加出来a.()b.{}c.[]d./**/6、关于c语言的描述中,不恰当的就是(d)a.c程序可由一个或多个函数组成b.c程序必须包含1一个main()函数c.c程序的基本共同组成单位就是函数d.注解表明就可以坐落于一条语句的后面7、一个程序的执行是从(b)a.本程序的第一个函数已经开始,至最后一个函数完结b.本程序的main函数已经开始,至main函数完结c.本程序的main函数已经开始,至最后一个函数完结d.本程序的第一个函数已经开始,至main函数完结8、结构化程序设计的三种基本结构就是(c)a.函数结构、分支结构、判断结构b.函数结构、嵌套结构、平行结构c.顺序结构、分支结构、循环结构d.分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(c)a.编辑b.编程c.查错和排错d.相连接10、c语言中,无机语句的形成就是将一系列语句放在(c)a.begin与end之间b.一对圆括号“()”之间c.一对花掉括号“{}”之间d.一对方括号“[]”之间11、形成c语言源程序的基本单位就是(d)a.语句b.过程c.表达式d.函数语法基础212、在c语言中,正确的用户标识符是(b)a.3fb._forc.structd._f.513、c语言的基本数据类型包含(a)a.整型、实型、字符型b.整型、实型、字符型、逻辑型c.整型、字符型、逻辑型d.整型、实型、逻辑型14、以下(d)是正确的常量a.e-5b.1e5.1c.?a12?d.32766l15、以下(d)是正确的变量名a.a.beeb.cp11c.intd.p_1116、以下(c)就是恰当的字符常量a.“c”b.?//”c.?w?d.“\\32a”17、以下(a)是不正确的字符串常量a.?abc?b.“12?12”c.“0”d.““18、c语言的整型数据在内存中的存储形式就是(d)a.原码b.反码c.补码d.ascii码19、以下(b)是正确的浮点数a.e3b..62c.2e4.5d.123320、以下不属于c语言关键字的就是(b)a.continueb.integerc.staticd.signed21、c语言的字符型数据在内存中的存储形式就是(b)a.原码b.补码c.反码d.ascii22、在c语言中,变量所分配的内存空间大小就是(a)a.由变量的类型同意b.由用户自己同意c.任一的d.均为两个字节23、若存有定义:inta=2;则恰当的赋值表达式就是(a)a.a-=(a*3)b.double(-1)c.a*3d.a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为(c)a.3,3,4b.4,4,3c.4,4,4d.3,4,325、语句a=(3/4)+3%2;运行后,a的值为(b)a.0b.1c.2d.326、以下四项中,合乎c语言语法的语句就是(c)a.inta+b=c;b.inta=12:b=12:c=12;c.inta=12,b=12,c=12;d.inta,b=12,floatc=2127、若存有定义:intx,a;则语句x=(a=3,a+1);运转后,x、a的值依次为(c)a.3,3b.4,4c.4,3d.3,428、若变量已恰当定义并赋值,合乎c语言语法的表达式就是4(a)a.a=8+b+c,a++b.a=3ac.int(12.3%4)d.a=a+1=c+b29、若存有定义:inta,b;doublex;则以下不合乎c语言语法的表达式就是(a)a.x%(-3)b.a+=-1c.a=b=2d.x=a+b30、若存有定义:intx=2,y=3;floati;则以下合乎c语言语法的表达式就是(b)a.x=x*3=2b.x=(y==1)c.i=float(x)d.i%(-3)31、若存有定义:intx;则语句x=(2*3)+6%5;运转后,x的值就是(b)a.8b.7c.6d.532、下面关于c语言变量的描述中,错误的就是(c)a.可以用const关键字定义变量b.在c程序中,sum和sum就是相同的变量c.变量名必须由字母或下划线组成d.变量的类型确定了变量的取值范围33、若存有定义:intx=5,y=6;则表达式x=(y==6)的值(b)a.5b.1c.6d.034、下面描述恰当的就是(b)5。
全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
福建省计算机等级考试(二级C语言)-答案

福建省计算机等级考试(二级C语言)-答案选择题答案1.D2.B3.C4.C5.B6.D7.B8.C9.C 10.C11.D 12.B 13.A 14.D 15.D 16.C 17.A 18.C 19.B 20.B 21.D 22.A 23.A 24.C 25.B 26.C 27.C 28.A 29.A 30.B 31.B 32.C 33.B 34.B 35.A 36.A 37.C 38.C 39.C 40.B 41.B 42.A 43.C 44.C 45.D 46.B 47.B 48.B49.C50.D51.A52.A 53.D 54.B55.A56.B 57.B 58.A 59.A60.A61.A 62.C 63.D 64.A65.D66.D 67.A 68.A 69.A70.D71.B 72.D 73.A 74.B75.C76.C 77.A 78.D 79.B80.B81.C 82.D 83.D 84.C85.C86.D 87.A 88.D 89.A90.D91.A 92.B 93.A 94.D95.A96.C 97.B 98.C 99.D 100.B101.A 102.C 103.B 104.B 105.C 106.D 107.C 108.A 109.A 110.C 111.A 112.B 113.C 114.A 115.A 116.C 117.D 118.C 119.A 120.A 121.D 122.B 123.D 124.C 125.B 126.C 127.B 128.C 129.A 130.B 131.D 132.A 133.D 134.A 135.C 136.B 137.D 138.B 139.D 140.D 141.B 142.A 143.B 144.C 145.B 146.A 147.C 148.A 149.C 150.D 151.C 152.B 153.B 154.B 155.D156.C 157.C 158.A 159.C 160.B 161.D 162.A 163.B 164.B 165.D 166.D 167.B 168.C 169.D 170.B 171.B 172.A 173.A 174.A175.D 176.A 177.B 178.C 179.B 180.C 181.C 182.D 183.D184.D 185.D 186.D 187.D199.A 200.A201.C 202.B 203.C 204.D 205.B 206.C 207.C 208.B 209.B 210.C 211.A 212.C 213.A 214.D 215.C 216.B 217.C 218.D 219.A 220.D 改错题答案第1套1./**/j=0;/**//**/if((str1[i]%2==0)&&(i%2==0))/**/ 2./**/if((i>10)&&(i%3==0))/**//**/y+=1.0/i;/**/第2套1./**/int i,j;/**//**/ for(j=1;j<=2*i-1;j++)/**/2./**/int fun()/**//**/if(cock+hen+chicken==100)/**/ 第3套1./**/char ch;/**//**/switch (ch)/**/2./**/if(m%i==0)/**//**/if(i>k)/**/ 或/**/if(i==k+1)/**/ 第4套1./**/int i,len,sum=0;/**//**/if(str1[i]>='a'&&str1[i]<='z')/**/ 2./**/&a[i]/**//**/for(i=M-1;i>=0;i--)/**/第5套1./**/char str1[128];/**//**/sum++;/**/2./**/#define M 5/**//**/if(a[i]%2==0)/**/第6套1./**/for(i=0;i<="" p="">/**/str2[i]='\0';/**/2./**/ps2=s2;/**//**/while(*ps1!=NULL)/**/ 或/**/while(*ps1)/**/ 第7套1./**/&a[i]/**//**/if(a[0]+a[1]>a[2]&&a[1]+a[2]>a[0]&&a[0]+a[2]>a[1])/**/2./**/int fun()/**//**/if(large+middle+small==100)/**/ 第8套1./**/for(i=100;i<200;i++)/**//**/i/**/2./**/void swap(int *p1,int *p2)/**//**/*p1=*p2;/**/第9套1、/**/int a=0,c=0; /**//**/for(i=0;i<=100;i+=2)/**/2、/**/for(z=0;z<10;z++)/**//**/if(i= =result) /**/第10套1、/**/float s;/**//**/&c/**//**/ s=F(a)+F(b)-F(c); /**/2、/**/t=n/100;/**//**/if(t*t*t+s*s*s+f*f*f= =n)/**/ 第11套1、/**/int i,j; /**//**/for(i=6;i>=1;i--)/**/printf(/**/"\n"/**/);填空题答案第1套1、/**/float f; /**/f = /**/ (abs(x)-2.0)/(x*x+1)/**/ ; 2、sign=/**/-sign/**/;pi*=/**/ 4 /**/;3、for(q=p; qif(/**/ max<*q /**/ ) max=*q;find_max_min(/**/ num /**/,10);第2套1、int plu = /**/403; /**/k = (a*10+b) * /**/(b*10+a) /**/ ;2、/**/a=b=0; /**/while(/**/n!=0 /**/)else /**/ b++; /**/3、if (n%k==0) { flag=/**/0 /**/ ; break;} if(prime(a) && prime(/**/num-a /**/))第3套1、/**/main() /**/}/**/ while /**/(fabs(x-x0)>=1e-6);2、for(i=0;s[i]!='\0';/**/i++ /**/)else if(/**/s[i]>='A'&&s[i]<='Z' /**/) 3、/**/float avg=0.0; /**/avg = avg+/**/ pa[k] /**/;m=average(/**/a /**/, 5);第4套1、/**/#include /**//**/char /**/ str[11];2、for(i=0;iif/**/ (a[j]<="" p="">a[j]=/**/ a[j+1] /**/;3、int fun(/**/float a,float b,float c /**/if(fabs(/**/ a*a /**/-(b*b+c*c))<1.0e-15)第5套1、scanf("%d",/**/ &x /**/);printf("%d*%d=%d\n",x,x,/**/ x*x /**/);2、for(j=i+1;jif(a[j]<="" k="j" p="">a[i]=/**/ t /**/;3、/**/ float /**/ fun(float a,float b,float c) s=/**/ (a+b+c)/2 /**/; 第6套1、int i,/**/ j /**/;sum=/**/ 0 /**/;/**/ sum+=a[i][0]; /**/2、int fun(int a[],int n,/**/int q /**/){ mid=/**/ (left+right)/2 /**/;3、int fun(/**/ float r /**/,float x,float y) bIn=/**/ sqrt(x*x+y*y) /**/<r;< p="">第7套1、/**/ #include /**//**/ return x*x-2*x+6; /**/y2=fun(/**/ sin(x) /**/);2、/**/p=p*i; /**//**/p=p/i; /**/3、printf("The max is %d\n",/**/ findmax(a,10) /**/);int i,/**/ max=array[0] /**/;第8套1、unsigned i,/**/sum=0; /**//**/ return sum; /**/printf("\nThe sum is %d\n",/**/ sum(m) /**/);2、char str[]="1234567",/**/ k /**/;for(i=0,/**/ j=strlen(str)-1 /**/;i<j;i++,j--)< p="">3、/**/STU temp; /**/if(/**/ ps[i].num>ps[i+1].num /**/)if(/**/ flag==0 /**/) break;第9套1、/**/ max=min=a[0][0]; /**/if(/**/ a[i][j]>max /**/)/**/ min=a[i][j]; /**/2、int t=0,/**/ s=0 /**/,i;t=/**/ t*10+i /**/;3、/**/ return 1; /**/return /**/ fib(n-1)+fib(n-2) /**/;第10套1、/**/struct stu /**/ stu[3]={"Mary",76,"John",85,"T om",81 };total=total+/**/ stu[i].score /**/;2、min2=a[0]>a[1]?/**/a[0]:a[1]; /**//**/ min2=a[i]; /**/3、/**/double mysqrt(double,double); /**/ x1=/**/ (x0+a/x0)/2; /**/y=mysqrt(/**/a,x1 /**/);第11套1、#define /**/ N 20/**//**/flag=0;/**//**/m++;/**/2、/**/s=1;tem=1;/**// for(i=1; **/i<=m/**/;i++) 3、aver=/**/sum/N;/**/return(/**/c/**/);cn=/**/count/**/(score);编程题答案第1套1.double fun1(double x){/**/double y=0.0;y=(1+sin(x)+exp(x))/(1+x); return y; /**/2.int fun2(int a[], int n, int b[],int c[]) { /**/int i,len,j,k,temp;for(i=0,len=0;i<n;i++)< p="">if(a[i]>-20)b[len++]=a[i];for(i=0;i<len;i++)< p="">c[i]=b[i];for(i=0;i<len-1;i++)< p="">{k=i;for(j=i+1;j<8;j++)if(c[k]>c[j]) k=j;if(k!=i){temp=c[i];c[i]=c[k];c[k]=temp;}return len;/**/}第2套1.double fun1(double x){/**/double y=0.0;y=(exp(x)+fabs(x-6))/(x+1.3); return y;/**/}2.void fun2(char a[],char b[],char c[]) {/**/char temp[15];if(strcmp(a,b)>0)strcpy(temp,a); strcpy(a,b); strcpy(b,temp); }if(strcmp(b,c)>0) {strcpy(temp,b); strcpy(b,c); strcpy(c,temp); }if(strcmp(a,b)>0) {strcpy(temp,a); strcpy(a,b); strcpy(b,temp); }/**/}第3套1.double fun1(double x) {/**/double y=0.0;if(x<3) y=1.2; else if(x==3) y=10; else y=2*x+1; return y; /**/}2.int fun(char *s){int n=0;while(*s){if(*s==' ')n++;s++;}return n;第4套1.double f(float x){/**/double y=0.0;if(x<=0) y=0;else y=(fabs(x)+3.2)/(sin(x)+2); return y; /**/}2.double fun(int a[],int m){/**/int i;a[0]=a[1]=1;for(i=2;i<m;i++)< p="">a[i]=a[i-1]+a[i-2];/**/</m;i++)<></len-1;i++)<> </len;i++)<> </n;i++)<></j;i++,j--)<> </r;<>。
福建省省计算机二级选择题题库C语言

51001.以下数组定义中,正确的是()。
AA)int a[5]={0};B)int a[]={0 1 2};C)int a[5]=0;D)int a[];51002.下列数组定义中,正确的是().AA)int a[10];B)int n=10,a[n];C)int N=10;int a[N];D)int n;scanf("%d",&n); int a[n]; 51003.已知int a[10];则对a数组元素引用不正确的是().AA)a[10]B)a[3+5]C)a[10-10]D)a[5]51004.若有定义:int a[3]={0,1,2};则a[1]的值为()。
BA)0B) 1C) 2D) 351005.若有定义:int a[5]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为()。
AA) 6B) 5C) 1D) 251006.以下能对一维数组a进行正确初始化的语句是()。
DA)int a[5]=(0,0,0,0,0);B)int a[5]=[0];C)int a[5]={1,2,3,4,5,6,7};D)int a[]={0};51007.下面程序段的运行结果是()。
Dint i=0,a[]={3,4,5,4,3};do{a[i]++;}while(a[++i]<5);for(i=0;i<5;i++)printf("%d ",a[i]);A) 4 5 6 5 4B) 3 4 5 4 3 C) 4 5 5 5 4D) 4 5 5 4 351008.下面程序段的运行结果是()。
Cint i=0,a[]={7,5,7,3,8,3};do{a[i]+=2;}while(a[++i]>5);for(i=0;i<6;i++)printf("%d ",a[i]);A)9 7 9 5 10 5B)9 5 9 3 10 3C)9 5 7 3 8 3D)7 5 7 3 8 351009.下面程序段的运行结果是()。
全国计算机考试二级c语言真题题库答案

全国计算机考试二级c语言真题题库答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B和C都是答案:D2. 下列哪个是合法的C语言变量名?A. 2variableB. variable-nameC. _variableD. variable name答案:C3. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的控制语句?A. ifB. switchC. whileD. A、B和C都是5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. A和B都是答案:D7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str = "Hello";D. A和B都是答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function();C. void function(int a);D. A、B和C都是答案:D9. 在C语言中,以下哪个选项表示“或”逻辑操作?B. ||C. !D. =答案:B10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. A和B都是D. A和B都不是答案:C11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = NULL;D. A和C都是答案:D12. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprintf()D. A、B和C都是13. 在C语言中,以下哪个选项表示“非”逻辑操作?A. &&B. ||C. !D. =答案:C14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. A和B都是D. A和B都不是答案:C15. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. const double PI = 3.14159;C. A和B都是D. A和B都不是答案:A16. 在C语言中,以下哪个选项是正确的联合体声明?A. union {int a;float b;} data;B. struct {int a;float b;C. A和B都是D. A和B都不是答案:A17. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. A、B和C都是答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)3.14B. (float)3C. A和B都是D. A和B都不是答案:C19. 在C语言中,以下哪个选项是正确的递归函数声明?A. void function();B. void function(int a);C. void function(void function());D. A和B都是答案:B20. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifdefD. A、B和C都是二、程序填空题(每题5分,共20分)1. 请填写以下代码段中缺失的部分,以实现计算并打印一个整数的平方:```c#include <stdio.h>int main() {int num, square;scanf("%d", &num);square = num _____ num;printf("Square: %d\n", square);return 0;}```答案:*2。
福建省C语言二级考试大全-学生

福建省计算机等级考试二级C语言选择题大全一、选择题50100在C语言中,合法的字符常量是(D)。
A. '字'B. "A"C."ABC"D.'\x41'50101下面叙述正确的是(B)。
A.程序中必须包含有输入语句B.变量按所定义的类型存放数据C.main函数必须位于文件的开头D.每行只能写一条语句50102错误的叙述是(D)。
A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main()函数D.构成C语言源程序的基本单元是算术表达式50103(C)是关于C语言数据类型的正确叙述。
A.变量必须先定义后使用B.不允许使用空类型C.枚举类型不是基本类型D.数组并不是构造类型50104 main( )函数的位置(B)。
A.必须在自定义函数前面B.可以在自定义函数后面C.必须位于程序的最前面D.必须在自定义函数后面50105 C语言函数体由(C)括起来。
A. < >B. ( )C.{ }D.[ ]50106(A)是不正确的叙述。
A.注释说明只能位于一条语句的后面B. C源程序的基本组成单元是函数C.C源程序可由一个或多个函数组成D.每条语句最后必须有一个分号50107一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成50108结构化程序设计的三种基本结构是(C)。
A.函数结构、判断结构、选择结构B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构D.判断结构、嵌套结构、循环结构50109C源程序的调试是指对源程序进行(C)。
A.录入与编辑B.查错与编译C.查错与排错D.连接与运行50110C语言中,可将一系列语句置于(C)从而构成复合语句。
A.一对尖括号"< >"之间B.一对圆括号"( )"之间C.一对花括号"{}"之间D.一对方框号"[ ]"之间50111构成C源程序的基本单位是(D)。
计算机二级证考试c语言试题及答案

计算机二级证考试c语言试题及答案一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是面向对象编程语言B. C语言是一种解释性语言C. C语言是一种编译性语言D. C语言主要用于网页开发2. C语言中的数组下标是从几开始计数的?A. 0B. 1C. -1D. 由用户指定3. 下列代码中,输出的结果是什么?```cint a = 10;int b = 5;printf("%d", a % b);```B. 5C. 2D. 04. 下列关于函数的说法中,正确的是:A. 函数只能在主函数中调用B. 函数可以在任何地方调用C. 函数只能接收一个参数D. 函数不能返回值5. 下列代码中,循环体会执行几次? ```cint i;for(i = 0; i < 5; i++) {printf("%d ", i);}```A. 0次B. 4次D. 6次二、填空题1. C语言中,用于定义常量的关键字是 __________。
2. 下列代码中,空格处应该填入什么值才能使程序输出结果为20?```cint a = 10;int b = __________;printf("%d", a * b);```3. 下列代码中,空格处应该填入什么运算符才能使程序输出结果为1?```cint a = 5;int b = 4;printf("%d", a ________ b);```三、编程题1. 编写一个程序,要求用户输入一个整数n,然后输出1到n之间所有偶数的和。
2. 编写一个函数,实现计算两个整数之间的最大公约数(GCD)的功能,并在主函数中调用该函数。
3. 编写一个程序,定义一个字符串数组,其中有5个元素,每个元素是一个字符串。
然后使用循环输出该数组中所有的字符串内容。
四、综合题1. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二部分:改错题(每题10分)第一套卷:cmody011.c#include <math.h>#include <stdio.h>#include <string.h>#include <conio.h>void main(){ char str1[100], t[200];int i, j;/**/ i = 0; /**/ j=0clrscr();strcpy(str1, "4AZ18c?Ge9a0z!");for (i = 0; i<strlen(str1); i++){/**/ if ((str1[i] %2== 0) && (i%2!=0)) /**/ if ((str1[i] %2== 0) && (i%2==0)) {t[j] = str1[i];j++;}}t[j] = '\0';printf("\n Original string: %s\n", str1);printf("\n Result string: %s\n", t);}************************************************************************* cmody012.c#include <string.h>#include <conio.h>#include <math.h>#include <stdio.h>#define M 50double fun(int n){ double y = 0.0;int i,j;j=0;for(i=1;;i++){/**/ if((i<10)&&(i%3==0)) /**/if((i>10)&&(i%3==0))(根据题义) {/**/ y+=1/i; /**/ y+=1.0/i;j++;}if(j==n) break;}return y;}void main(){ clrscr();printf("fun(8) = %8.3lf\n", fun(8));}************************************************************************* 第二套卷************************************************************************* cmody021.c#include <stdio.h>void main(){/**/ int i; j; /**/ int i, j;(概念错误)for (i=1;i<=5;i++){for (j=1;j<=10-2*i;j++) printf(" ");/**/ for (j=1;j<=5;j++) /**/ for (j=1;j<=2*i-1;j++) *号的位置printf("* ");printf("\n");}}cmody022.c#include <stdio.h>#include <conio.h>/**/int fun();/**/ int fun()(概念错误){ int hen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1){ chicken=2*(100-hen-2*cock);/**/ if(cock+hen+chicken=100) /**/if(cock+hen+chicken==100) if后面关系表达式{ n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chicken);if(n==20) getch(); }}return n;}void main(){ int num;num=fun();printf("\n There are %d solutions.\n",num);getch(); }第三套卷**************************************************************************** cmody031.c#include <stdio.h>#include <conio.h>void main(){ int m,n,result,flag=0;/**/ char ch, /**/ char ch;(概念错误)clrscr();printf("Input an expression: ");scanf("%d%c%d",&m,&ch,&n);/**/ switch ch /**/ switch (ch){ case '+': result=m+n; break;case '-': result=m-n; break;case '*': result=m*n; break;case '%': result=m%n; break;case '/': result=m/n; break;default: { printf("Error!\n"); flag=1; }}if (!flag) printf("%d %c %d = %d\n",m,ch,n,result);getch();}**************************************************************************** cmody032.c#include <stdio.h>#include <math.h>void main(){ int num;printf("\n");num=fun();printf("\nThe total of prime is %d",num);getch(); }int fun(){ int m,i,k,n=0;for(m=201; m<=300;m+=2){ k=sqrt(m+1);for(i=2;i<=k;i++)/**/ if(m/i==0) /**/ if(m%i==0)break;/**/ if(i==k) /**/ if(i>=k){ printf("%-4d",m);n++;;if(n%10==0) printf("\n");}}return n;}模拟卷**************************************************************************** evsum.c#include <stdio.h>void main(){/**/ int sum=1,i; /**/ int sum=0,ifor(i=100; i>1; i--)/**/ if(i%2=0) sum+=i; /**/ if(i%2==0) sum+=i;printf("%d\n",sum);}*************************************************************************** dafsum.c#include <stdio.h>void main(){ int i,a,b,c;/**/ for(i=100;i=999;i++) /**/ for(i=100;i<=999;i++){ a=i/100;/**/ b=i%10/10; /**/ b=i/10%10;c=i%10;/**/ if i==a*a*a+b*b*b+c*c*c /**/ if(i==a*a*a+b*b*b+c*c*c)printf("%5d",i);}}****************************************************************************第三部分:填空题(每题10分)第一套卷*************************************************************************** ccon011.c#include <stdio.h>#include <math.h>void main(){int x;/**/ float f ; /**/printf("Input an integer: ");scanf("%d",&x);f = /**/(fabs(x)-2)/(x*x+1) /**/ ;printf("F(x)=%f\n",f);}************************************************************************** ccon012.c#include <stdio.h>void main(){ double pi=0;long i, sign=1;for(i=1;i<=10001;i+=2){pi+=1.0*sign/i;sign=/**/ -sign; /**/; 题义中是正负交替的}pi*=/**/ 4 /**/; 前面一个系数printf("%f\n",pi);}*************************************************************************** ccon013.c#include <stdio.h>#include <stdlib.h>void find_max_min(int *p,int n){int *q;max=min=*p;for(q=p; q</**/ p+num /**/; q++) 指针从p开始,向下移动,直到结束p+num if(/**/ max<*q /**/ ) max=*q; 从下列语句可以推出该式子else if(min>*q) min=*q;}void main(){int i,num[10];printf("Input 10 numbers: ");for(i=0;i<10;i++) scanf("%d",&num[i]);find_max_min(/**/ num /**/,10); 将主函数中的数组值[指针]传递给子函数printf("max=%d,num=%d\n",max,min);}第二套卷*************************************************************************** ccon021.c#include <stdio.h>void main(){int a,b,k;int plu = /**/ 403 /**/;根据题义for(a=1; a<10; a++)for(b=1; b<10; b++){k = (a*10+b) * /**/(b*10+a ) /**/ ; 根据题义表达式if(k==plu) printf("A = %d, B = %d\n",a,b);}}*************************************************************************** ccon022.c#include <stdio.h>void main(){int n,a,b;/**//**/scanf("%d",&n);while(/**/ n /**/){if(n>0) a++;else /**/ b++; /**/scanf("%d",&n);}printf("Positive integer: %d, negative integer: %d\n",a,b);}*************************************************************************** ccon023.c#include <stdio.h>#include <conio.h>int prime(int n){ int k,flag=1;for(k=2; k<=n/2+1; k++)if (n%k==0) { flag=/**/ 0 /**/ ; break;}return flag;}void main(){ int num, a;clrscr();do{ printf("Please input an even number:");scanf("%d", &num);}while(num<=6||num%2==1);for(a=2;a<=num/2+1;a++)if(prime(a) && prime(/**/( num-a) /**/))printf("\n %d = %d + %d ", num, a, num-a);}第三套卷**************************************************************************** ccon031.c#include <stdio.h>#include <math.h>/**/ main() /**/{ float x,x0,f,f1;x=1.5;do{ x0=x;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;}/**/ while /**/(fabs(x-x0)>=1e-6);printf("the root is: %.2f\n",x);}**************************************************************************** ccon032.c#include <stdio.h>void main(){ char s[80];int i;printf("Please input a string: ");for(i=0;((s[i]=getchar())!='\n')&&(i<80);i++);s[i]='\0';for(i=0;s[i]!='\0';/**/ i++ /**/){if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32;else if(/**/ s[i]>='A'&&s[i]<='Z' /**/)s[i]=s[i]+32;printf("%c",s[i]);}}**************************************************************************** ccon033.c#include <stdio.h>float average(int *pa,int n){int k;/**/ float avg=0; /**/for(k=0;k<n;k++)avg = avg+/**/ pa/**/;avg = avg/n;return avg;}void main(){ int a[5]={20,30,45,64,23};float m;m=average(/**/ a /**/, 5);printf("A verage=%f\n",m);}模拟卷***************************************************************************** calfun.c#include <stdio.h>#include <math.h>void main(){int x;/**/ float f; /**/printf("Input an integer: ");scanf("%d",&x);f = /**/ (abs(x)-2.0)/(x*x+1.0) /**/ ;printf("F(x)=%f\n",f);getch();}******************************************************************************* intsum.c#include <stdio.h>void main(){int n,a,b;/**/a=0; b=0;/**/scanf("%d",&n);while(/**/n /**/){if(n%2==0) a+=n;/**/ else b+=n /**/scanf("%d",&n);}printf("Sum of even number: %d, Sum of odd number: %d\n",a,b);}******************************************************************************* fac.c#include <stdio.h>void main(){ int n,i;double s,fac;/**/ s=0; fac=1; /**/scanf("%d",&n);for(i=1;i<=n;i++){fac=/**/ fac/i /**/;s=s+fac;}printf("%f\n",s);}*******************************************************************************第四部分:编程题(每题10分)第一套卷************************************************************************** cprog011.c#include <math.h>#include <stdio.h>double fun1(double x){ /**//**/}void main(){clrscr();printf("fun1(0.76) = %8.3lf\n", fun1(0.76));printf("fun1(3.00) = %8.3lf\n", fun1(3.00));printf("fun1(3.76) = %8.3lf\n", fun1(3.76));}************************************************************************** cprog012.c#include <string.h>#include <conio.h>#include <math.h>#include <stdio.h>int fun2(int a[],int n,int b[],int c[]){/**//**/}void main(){ int n = 10, i, nb;int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};int bb[10], cc[10];clrscr();printf("There are %2d elements in aa.\n", n);printf("They are: ");for(i=0; i<n; i++) printf("%6d", aa[i]);printf("\n");nb = fun2(aa, n, bb, cc);printf("Elements in bb are: ");for (i=0; i<nb; i++) printf("%6d", bb[i]);printf("\n");printf("Elements in cc are: ");for(i=0; i<nb; i++) printf("%6d", cc[i]);printf("\n");printf("There are %2d elements in bb.\n", nb);}第二套卷**************************************************************************** cporg021.c#include <math.h>#include <stdio.h>double fun1(double x){ /**//**/}void main(){clrscr();printf("fun1(0.76) = %8.3lf\n", fun1(0.76));printf("fun1(3.00) = %8.3lf\n", fun1(3.00));printf("fun1(3.76) = %8.3lf\n", fun1(3.76));}**************************************************************************** cprog022.c#include <string.h>#include <conio.h>#include <math.h>#include <stdio.h>void fun2(char a[],char b[],char c[]){/**//**/}void main(){ char str1[15]="Fuzhou",str2[15]="Fujian",str3[15]="China";clrscr();fun2(str1,str2,str3);printf("The ordered strings is : %s, %s, %s\n",str1,str2,str3);getch();}第三套卷**************************************************************************** cprog031.c#include <math.h>#include <stdio.h>double fun1(double x){/**//**/}void main(){clrscr();printf("fun1(0.76) = %8.3lf\n", fun1(0.76));printf("fun1(3.00) = %8.3lf\n", fun1(3.00));printf("fun1(3.76) = %8.3lf\n", fun1(3.76));}**************************************************************************** cprog032.c#include <stdio.h>int fun(char *s){ /**//**/}void main(){char str[255];gets(str);printf("%d\n",fun(str));}模拟卷******************************************************************************* section.c#include <stdio.h>void main(){ float x,y;printf("enter x:");scanf("%f",&x);/**/if(x<=1) y=x+5;else if(x<=10) y=2*x;else y=3/(x-10);/**/printf("x=%.2f,y=%.2f\n",x,y);}**************************************************************************** sort.c#include <stdio.h>void sort(int a[],int n){/**/k=i;for(j=i+1;j<n;j++)if(a[j]<a[k]) k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}/**/}void main( ){ int a[10]={6,3,12,0,2,10},i;sort(a,6);printf("the sorted array a: \n");for(i=0;i<6;i++)printf("%4d",a[i]);printf("\n"); }。