【G】福建省C语言二级考试(选择+填空+程序填空+输出结果)-学生
- 格式:doc
- 大小:767.00 KB
- 文档页数:45
全国计算机等级考试二级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 语言选择题汇编1、若定义:int x=2; y=3; float i ; 则以下符合C 语言语法的表达式是(B )A 、x=x* 3=2B 、x=(y= = 1)C 、i=float(x)D 、i%(-3)2、若有定义:int a=5, b=2, c=1;则表达式a-b<c||b= =c 的值是(A )A 、0B 、1C 、2D 、-13、若有定义:float x=; int z=8; 则表达式x+z%3/4的值是(B )A 、B 、3.5C 、3D 、44、有如下定义 int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a 的行数(B )A 、 2B 、 3C 、 4D 、无法确定5、C 程序中main 函数的位置(D )?A 、必须在最开始B 、必须在系统库函数后面C 、可以在自定义函数后面D 、必须在最后6、下面关于C 语言用户标识符的描述,正确的是(D )A 、不能区分大小写B 、用户标识符不能描述常量C 、类型名也是用户标识D 、用户标识符可以作为变量名7.若有定义:int a=1,b=2,c=3;语句++a||++b &&++a 运行后b 的值为(D )A .1 .0 C8.设单精度型变量+,g 的值均为,使+为的表达式为(A ).0 C9.对于整型变量x 。
下述计语句(B )与赋值句:x=x%2= =01:0;不等价A .if (x%2!=0)x=0;else x=1;B if (x%2)x=1;else x=0;^(x%2= =0)x=1;else x=0; D .if (x%2==1) x=0;else x=1;10.以下数组定义中,正确的是(B )a[2] [3]={1,2,3,4,5,6,7}; a[] []={{1,2,3},{4,5,6},{7,8,9}};a[2] []={1,2,3,4,5,6}; a[] [4]={6};11.若有定义:#define PI 3,则表达式PI *2*2的值为(A ).4 C D.不确定12.下面语句正确的是( B )A int *P ;*P=20; *s=“abcdef ”;printf (“%s\n ”,S );C char str[]=“abcdf ”;printf (“%S ”,str );D.[](){',','};int "%",;charstr a b c pr f s str = ~13.若有定义:int a=2;则正确的赋值表达式是(A)A.a- =(a *3) (-a) * *4=3 14.若有定义:int a=6,b=2;char C1=‘a ’,C2=‘b ’;则表达式a+b%5+C2-C1的值是(C )A .7 .8 C D 表达式错误15.若有定义:char str[6]=“abcdm ”,*ps ,*str2=“abcdef ”;正确的是(B )(str1,str2); B.表达式strcmp (str1,str2)的值>0=str2; D.表达式strlen (str1)的值为616.关于C 语言函数的描述中,正确的是(B )A. 函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用得意嵌套C.^D.函数的定义和函数的调用都可以嵌套D . 函数的定义和函数的调用都不可以嵌套17.设有如下定义typedef int *INTEGER;INTEGER P,*q;则(C)是正确的表述是int型变量 B .q是基类型为int的指针变量是基类型为int的指针变量 D.程序中可用INTEGER代替int类型名。
福建省计算机等级考试(二级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语言考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 若有定义:int a = 5;,则执行以下语句后变量a的值是多少?```ca += (a / 2) + 1;```A. 8C. 6D. 5答案:B5. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r+"B. "w+"C. "a+"D. "b+"答案:B6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. !=答案:A7. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. return答案:C8. 若有定义:char ch = 'A';,则执行以下语句后变量ch的ASCII 值是多少?```cch = ch - 'a' + 'A';```B. 97C. 66D. 98答案:A9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strcmp答案:A10. 下列哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /* This is a comment */D. # This is a comment答案:A二、填空题(每题2分,共20分)1. 在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. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。
最新福建省计算机等级考试二级C语言考试题库改错题#include <stdio.h>#include <string.h>void main(){char s1[100], s2[100];int i,s_len;printf("Please input string: \n");gets(s1);s_len = /**/ s1 /**/;for(i=0; i<s_len; i++){if(s1[i] >= '0' && s1[i] <= '7')s2[i] = s1[i] + 2;else if(s1[i] == '8'/**/ && /**/s1[i]=='9')s2[i] = s1[i]-8;elses2[i] = s1[i];}/**/ s2[i+1] /**/ = '\0'; puts(s2);getch();}#include <stdio.h>#include <math.h>int prime( int x ){int i, mark=1 ;double k;/**/ i=1 /**/;k=(int)sqrt((double)x); while (i<=k){ if(x%i==0){/**/ i=k+1; /**/break;} i++;}return (mark);}void main(){int a;printf("Input a number: ");scanf("%d",&a);if(/**/ !prime(a) /**/)printf("%d is a prime number.\n", a); elseprintf("It's not.\n");getch();}#include <stdio.h>float fun(float a){ return (a*a+2*a+1)/(a-1); }void main(){float x,y,z;float result;printf("\nPlease input x,y,z: "); scanf(/**/ "%d%d%d" /**/,&x,&y,&z); if(x==1 || y==1 || z==1){ printf("Divide 0,error!");getch();return ;}result=/**/ fun(x,y,z) /**/;printf("\nResult=%.2f\n",result); getch();}#include <stdio.h>void chg(char s[]){int i;/**/ i=1 /**/;while(s[i]!='\0'){if ((s[i]>='A' && s[i]<='Z') && /**/ i%2 /**/) /**/ s[i]=s[i]-32; /**/i++;}}void main(){char str_s[100];printf("Enter string: ");gets(str_s);chg(str_s);printf("\nNow string is:");puts(str_s);getch();}#include <stdio.h>int fun(/**/ char p /**/) {int x;/**/ x=1; /**/while(*p){x=x*8+*p-'0';p++;}return(/**/ *p /**/); }void main(){char str_s[6];printf("Enter string: ");gets(str_s);printf("\nDecimal is: %d",fun(str_s) ); getch();}#include <stdio.h>void main(){char str[100];char *p;p=str;scanf("%s",str);while ( /**/*p=='\0' /**/)p++;printf(/**/"The length is: %s "/**/,p-str); getch();}#include <stdio.h>void main(){ int i,gw,sw,sum=0;for(i=1;i<100;i++){sw=i/10;gw= /**/ i-sw /**/;if((gw==3 || gw==5)||(sw==3 || sw==5))/**/ sum=i /**/;}printf("\nThe sum is:%d",sum);getch();}#include <stdio.h>#include <math.h>void fun(/**/ float a, b, c /**/) {double s,area; if(a+b>c && a+c>b && b+c>a){/**/ s=a+b+c/2; /**/area=/**/ sqt(s*(s-a)*(s-b)*(s-c)) /**/ ;printf("area=%7.2f\n",area);}elseprintf("Not a triangle.\n"); }void main(){float a,b,c;printf("Input a,b,c:");scanf("%f,%f,%f",&a,&b,&c);fun(a,b,c);getch();}#include <stdio.h>void main(){int i,num[100],count;/**/ count=1 /**/;for(i=1000; i<=2000; i++)if(/**/ (i-2)%4 = 0 && (i-3)%7=0 /**/) {num[count]=i;count++;}printf("Total number is:%d\n", count ); for(i=0; /**/i<=count /**/;i++)printf("%d\n", num[i]);getch();}#include <stdio.h>void swap(int *p, /**/ *q /**/) {int temp;/**/ *temp /**/= *p;/**/ *q = *p; /**/*q = temp;}void main(){int a,b;printf("Input 2 numbers:\n");scanf("%d%d",&a,&b);printf("\nOriginal: a=%d b=%d\n",a,b); swap(&a,&b);printf("Now: a=%d b=%d\n",a,b);getch();}填空题/**/ /**/<stdio.h>void main(){char str[100];int /**/ /**/;printf("Input string :"); gets(str);for(i=j=0; str[i]!='\0'; i++) {if(str[i]!='b'){str[j]=str[i];/**/ /**/;}}str[j]='\0';printf("Now string is:");puts(str);getch();}#include <stdio.h>void main(){struct student{char name[10];float score;};struct studentstu[5]={"Mary",76.1,"John",87.3,"Tom",81,"susa",87.8,"wilu",79};int i=0,k=0;/**/ /**/ ;for(i=0;i<5;i++)if(stu[i].score>max){ max=/**/ /**/ ;/**/ /**/;}printf("\nname:%s,score:%.2f", stu[k].name,stu[k].score ); getch();}#include <stdio.h>#include <math.h>void main(){ int i,j ;int a[5][5],sum;/**/ /**/;printf("Please input 25 numbers:\n");for(i=0; i<5;i++)for(j=0;j<5;j++){ scanf("%d",&a[i][j]);if(/**/ /**/)sum+=a[i][j];}printf("%.5f\n",/**/ /**/);getch();}#include <stdio.h>void main(){ int i,j,k;int num=0;printf(" No. 1 yuan 2 yuan 5 yuan\n"); for(k=0;k<=2;k++)for(j=0;j<=5;j++)for(i=0;/**/ /**/;i++)if(/**/ /**/){ num++;printf("%9d%9d%9d%9d\n",num,i,j,k);}getch();}#include <stdio.h>/**/ /**/ N 10int find(int a[],int x) {int i;for(/**/ /**/;i<N;i++){if(a[i]==x)return(i);}return (/**/ /**/); }void main(){int a[N]={21,56,-9,0,3,17,18,5,-23,11};int f,f_at;printf("Input a number to be searched:"); scanf("%d",&f);f_at=find(a,f);if(f_at>=0)printf("%d is found,it's at %d\n",f,f_at);elseprintf("Not exist.\n");getch();}#include <stdio.h>void main(){ int m,n,k;for ( m = 1; m < 10 ; m++)for ( n = 1 ;/**/ /**/; n++){ k =/**/ /**/;if (k == 99)printf ( "M = %d N = %d\n", m, n ); }getch();}#include <stdio.h>#define N 10void main(){int a[N]={21,56,-9,0,3,17,18,5,-23,11}; int i,j,/**/ /**/;for(i=N-1;i>=1;i--){for(j=0;j<=/**/ /**/ ;j++){if(/**/ /**/){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}printf("Sorted numbers:\n");for(i=0;i<N;i++)printf("%4d ",a[i]);printf("\n");getch();}#include <stdio.h>void main(){int x,na,nb,nc;na=nb=/**/ /**/;printf("Please input integer number, end with 0:\n"); scanf("%d",&x);while( x ){if(x<0)/**/ /**/;else++nb;if( abs(x%/**/ /**/)==3 )++nc;printf("Please input integer number, end with 0:\n"); scanf("%d",&x);}printf("na=%d nb=%d nc=%d\n",na,nb,nc);getch();}#include <stdio.h>void main(){ enum body{zhang,wang,zhao,li};/**/ /**/ body day[12], j;int i;j=zhang;for(i=0;i<12;i++){day[i]=j;j++;if(j>li)j=/**/ /**/;}printf("List :\n");for(i=1;i<=12;i++){switch(day[i-1]){case zhang:printf("Day %2d is %s \n",i,"zhang");break; case wang:printf("Day %2d is %s \n",i,"wang");break; case /**/ /**/:printf("Day %2d is %s \n",i,"zhao");break; case li:printf("Day %2d is %s \n",i,"li");}}getch();}#include <stdio.h>void main(){int i,s[9];float aver;printf("Please input sampler:\n");for(i=0;i<9;i++)scanf("%d",&s[i]);aver=((float)/**/ /**/)/2;for(i=0;i<9;i++)if(s[i]</**/ /**/)printf("%d\n",s[i]);getch();}编程题#include <math.h> #include <stdio.h> double fun(double x) { /**/ /**/}void main(){double x;printf("Pleae input x:");scanf("%lf",&x);printf("\nfun(%6.3lf) = %6.3lf\n",x,fun(x));getch();}#include <stdio.h>#include <string.h>float fun(float f, char s[]) { /**//**/}void main(){ float x,y;char str[16];printf("Input the fahrenheit temperature: "); scanf("%f",&x);y=fun(x,str);printf("the celsius temperature: %f, %s\n",y,str); getch();}#include <math.h> #include <stdio.h> double fun(double x) { /**/ /**/}void main(){double x;printf("Pleae input x:");scanf("%lf",&x);printf("\nfun(%6.3lf) = %6.3lf\n",x,fun(x));getch();}#include <stdio.h> int fun(long a[]) { /**//**/}void main(){int i,n;long a[20];n=fun(a);for(i=0;i<n;i++)printf("%ld ",a[i]);printf("\n");printf("n=%d\n",n);getch();}#include <stdio.h> #include <math.h> double fun(float x) { /**/ /**/}void main(){ float x;double y;printf("Please input a number: "); scanf("%f",&x);printf("f(%.2f)=%.2f\n",x,fun(x)); getch();}#include <stdio.h>long fun(int n){ /**//**/}void main(){int n;printf("Input n(n>=1): ");scanf("%d",&n);printf("fun(%d) =%ld \n ",n,fun(n));getch();}#include <stdio.h>#define RW 3#define CL 5void fun(int a[][CL],int n) { /**//**/}void main(){ int arra[RW][CL] = {{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25}}; int i,j,k;printf("Original array is:\n");for(i=0; i<RW; i++){for(j=0;j<CL;j++)printf("%6d", arra[i][j]);printf("\n");}printf("\nInput sites of moving: ");scanf("%d",&k);fun(arra,k);printf("\nNow array is:\n");for(i=0; i<RW; i++){for(j=0;j<CL;j++)printf("%6d", arra[i][j]);printf("\n");}getch();}#include <stdio.h> #include <math.h> double fun(int n) { /**//**/}void main(){int n;printf("Input n(n>=0): ");scanf("%d",&n);printf("pi=%lf\n ",fun(n));getch();}#include <stdio.h> #include <math.h> double fun(float x) { /**/ /**/}void main(){ float x;double y;printf("Please input a number: ");scanf("%f",&x);printf("f(%.2f)=%.2f\n",x,fun(x));getch();}#include <math.h> #include <stdio.h> double fun(double x) { /**/ /**/}void main(){double x;printf("Pleae input x:");scanf("%lf",&x);printf("\nfun(%6.3lf) = %6.3lf\n",x,fun(x));getch();}。
c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是C语言中合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。
编程题: 第1套1. 打开考生文件夹中的Cprog011.C ,完成其中的fun1函数,该函数的数学表达式是:1sin 1()1xx e fun x x ++=+例如:fun1(0.76) = 2.175fun1(3.00) = 5.307 fun1(3.76) = 9.1112. 打开考生文件夹中的Cprog012.C ,完成其中的函数fun2(int a[ ], int n, int b[ ], int c[ ]),实现:(1)将数组a 中大于-20的元素,依次存放到数组b 中;(2)将数组b 中的元素按照从小到大的顺序存放到数组c 中; (3)函数返回数组b 中的元素个数。
Cprog011.Cdouble fun1(double x) { /**/ double y = 0.0;y=(1+sin(x)+exp(x))/(1+x); return y; /**/ } Cprog012.Cint fun2(int a[],int n,int b[],int c[]) {/**/ int j = 0; int i,t,k;for(i=0;i<n;i++)if(a[i]>-20) { c[j]=b[j]=a[i]; j++; } for(i=0;i<j-1;i++) for(k=i+1;k<j;k++) if(c[i]>c[k]){ t=c[i]; c[i]=c[k]; c[k]=t; } return j; /**/ } 第2套1. 打开考生文件夹中的Cprog021.C ,完成其中的函数fun1,该函数的数学表达式是:|6|1() 1.3x e x fun x x +-=+例如:fun1(0.76) = 3.582 fun1(3.00) = 5.369 fun1(3.76) = 8.9312. 打开考生文件夹中的Cprog022.C ,完成其中的函数fun2(char a[ ], char b[ ], char c[ ]),实现:将三个字符串a 、b 、c 从小到大排序后输出。
福建省计算机等级考试二级C语言选择题(2010年1月)一、选择题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)。
A.语句B.变量C.运算符D.函数50112以下叙述中正确的是(A)。
A.C源程序中注释部分可以出现在程序中任意合适的地方B.一对花括号"{}"只能作为函数体的定界符C.C源程序编译时注释部分的错误将被发现D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名50113下面叙述正确的是(D)。
A.每行最多只能写两条语句B.程序中必需含有自定义函数C.main()函数必须位于源程序文件的开头D.所有语句都必须以分号";"结束50114下面叙述错误的是(B)。
A.若一条语句较长,可分写在下一行或多行上B.构成C语言源程序的基本单位是语句C.C源程序中大、小写字母是有区别的D.一个C源程序可由一个或多个函数组成50115(A)是关于C语言数据类型的正确叙述。
A.枚举类型不是基本类型B.数组不是构造类型C.变量使用前应定义相应的数据类型D.不允许使用空类型50116 C源程序中main()函数的位置(C)。
A.必须位于程序的最前面B.必须在系统库函数后面C.可以在自定义函数后面D.必须在自定义函数前面50118下面叙述错误的是(D)。
A. C源程序可由一个或多个函数组成B. C源程序必须包含一个main()函数C.一个C源程序的执行是从main()函数开始,直到main()函数结束D.注释说明部分只能位于C源程序的最前面50200C语言的下列运算符中,优先级最高的运算符是(A)。
A. ++B. +=C.||D.!=50201(D)为正确的用户标识符。
A. structB. 5fC._f 0.6D._for50202C语言基本数据类型包括(B)。
A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、字符串型50203(A)为合法的常量。
A. 52686LB. E-7C.1.2E-2.1D.'E12'50204(C)为正确的变量名。
A. -k15B. intC.k_5D.k.jeep50205(D)为正确的字符常量。
A. ''\\''B. "\24m"C."c"D.'M'50206(C)为非法的字符串常量。
A. " "B. "s"C.'efg'D."26'62"50207 C语言整型数据在内存中的代码是用(C)表示的。
A.原码B.反码C.补码D.BCD码50208以下选项中,合法的实型常数是(B )。
A. E-3B. .2E1C.1E.5D.1.5E50209下列C语言合法的数据类型关键字是(B)。
A. DoubleB. unsignedC.integerD.Char50210 Turbo C中,int型数据占用的字节数(B)。
A.由用户自己定义B.为2个字节C.是任意的D.等于所用计算机的字长50211 Turbo C中,基本数据类型存储空间长度的排列顺序是(A)。
A. char<int<long int<float<doubleB. char=int<long int<float<doubleC.char<int<long int=float=doubleD.char=int=long int<float<double50212以下叙述中正确的是(A)。
A.字符常量用一对单撇号' '作为单个字符的定界符B.字符常量和字符串常量一样,都是用双引号括起来C.字符常量存储时,自动在字符后加一个字符结束符号'\0'D.字符常量和字符串常量所分配的内存空间大小是一样的50213(B)为正确的用户标识符。
A. 3_rowB. max_atC.unionD.min-550214C语言的基本数据类型包括(A)。
A.整型、实型、字符型B.整型、实型、空类型C.整型、字符型、指针型D.整型、实型、逻辑型50215(D)为合法的常量。
A. 5,326B. 3.21E-6.5C.'b_k'D.1.23E+850216(D)为正确的变量名。
A. 5_proB. caseC.elseD.pro_550217(C)为正确的字符常量。
A. 'bcd'B. '\084'C.'@'D.'165'50218(A)为非法的字符串常量。
A. '123'B. "case"C."056"D." "50300已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是(A)。
main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2); }A. 67,DB. C,DC.C,68D.67,6850301若有定义int m=6; 则正确的赋值表达式是(C)。
A. m*7B. m*5=8C.m-=m*6D.double(-m)50302语句k=(m=5,n=++m); 运行之后,变量k、m、n的值依次为(D)。
A. 5,5,6B. 5,6,5C.6,6,5D.6,6,650303语句x=5%4+(4/5); 运行之后,整型变量x的值为(A)。
A. 1B. 2C.3D.050304(B )语句符合C语言语法。
A. float z=28,int x,y=18;B. int x=25,y=25,z=25;C.int x=25:y=25:z=25;D.int x+y=z;50305若有定义int a,x; 则语句a=(x=8,x+8); 运行后,变量a、x的值依次为(A)。
A. 16, 8B. 8, 8C.16, 16D.8, 1650306若变量m, n, t已定义且赋予初值,则正确的表达式是(B)。
A. m=m+1=t-nB. m=6+n+t,m++C.m=m\2D.m=int(5.6%4)50307若有定义:int a,b; float x,则以下不符合C语言语法的表达式是(A)。
A. x%7B. x/=a-bC.a=b=2D.x=(float)a/b50308若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是(B)。
A. (m+n)*=kB. m=(n==5)C.k=float(n)/mD.n%2.550309若有定义:int a=6; 则语句a*=a-=a/=3; 运行后,a的值是(B)。
A. 10B. 0C.34D.2450310下面关于C语言变量的叙述中,错误的是(A)。
A.可以用define关键字定义变量B.变量名用大小写字母是有区别的C.C语言允许不同基本类型的变量之间进行混合运算D.C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间50311若有定义:int a=5,b=2; 则表达式b= (a!=5)的值为(B)。
A. 5B. 0C.3D.250312逗号表达式(a=15,a*4),a+15 的值为(B)。
A. 15B. 30C.75D.6050313若有定义:int b=-15; 则(A)为正确的赋值表达式。
A. b+=b*3B. b=*5C.*b=6D.b+10=-550314若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为(C)。
A. 2 3 5B. 3 2 5C.5 2 3D.5 3 250315若有定义:int a,b=5; 语句a=(b/2)+b%2; 运行后,a的值为(B )。
A. 0B. 3C.4D.250316(C )语句符合C语言语法。
A. int a=2,b+=a;B. int a=b=2,c=5;C.float x=2.3,b,c;D.float x=3.2,int i,j=6;50317若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为(C )。
A. 0B. -3C.-12D.-650318若有定义int x=1,y=2,n=3; 则(A )为正确的表达式。