福建省二级c语言考试试题编程题
- 格式:doc
- 大小:23.00 KB
- 文档页数:7
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语言)上机考试试题题库汇编一、选择题(每套共20小题,每题2分,共40分)(50100) 在C语言中,合法的字符常量是()。
(A) '字' (B) "A" (C) "ABC" (D) '\x41'(50119) ()不属于结构化程序设计的三种基本控制结构。
(A) 选择结构 (B) 循环结构(C)嵌套结构 (D) 顺序结构(50120) 函数是C源程序的基本单位,一个函数由函数的首体和()两部分组成。
(A)函数体 (B) 语句体 (C) 结构体 (D) 联合体(50121) 能将C源程序转换为目标程序的软件是()。
(A) 汇编程序(B)编译程序 (C) 编辑程序 (D) 解释程序(50122) 下列叙述正确的是()。
(A)注释部分可在C源程序单独占一行,也可跟在一行语句后面(B) 花括号"{ }"只能用作函数体的定界符(C) 函数是C源程序的基本单位,所有函数名都可以由用户命名(D) 分号是C语句之间的分隔符,并不表示一条语句的结束(50123) C源程序的基本单位是()。
(A) 子程序 (B) 复合语句 (C) 过程 (D)函数(50200) C语言的下列运算符中,优先级最高的运算符是()。
(A) ++ (B) += (C) || (D) !=(50219) 整型常量没有()形式。
(A)二进制 (B) 八进制 (C) 十进制 (D) 十六进制(50220) 合法的长整型常量是()。
(A) 6246245 (B) 1E10 (C) 0L (D) (Long)6246245(50221) 合法的字符常量是()。
(A) '\' (B) 'xx' (C) '\\' (D) "x"(50222) 正确的常量是()。
(A) 'a3' (B) 1E6.1 (C) E-3 (D) "\0"(50223) 合法的用户标识符是()。
计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。
2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。
二、填空题1. 在C语言中,`________`关键字用于声明一个函数。
答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。
2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。
```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。
三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。
```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。
2. 编写一个C语言程序,实现将一个字符串反转。
```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。
c语言二级证考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable nameD. variable$name答案:B3. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[0]` 的值是多少?A. 0B. 1C. 2D. 5答案:B4. 在C语言中,以下哪个运算符用于计算两个整数的乘积?A. %B. /C. *D. +答案:C5. 下列哪个选项是C语言中正确的注释方式?A. <!-- This is a comment -->B. // This is a commentC. /* This is a comment */D. # This is a comment答案:C6. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. size()D. strleng()答案:A7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. ==答案:A8. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. classD. enum答案:A9. 若有定义 `int x = 10;`,则执行 `x += 5;` 后,`x` 的值是多少?A. 5B. 10C. 15D. 20答案:C10. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A二、程序填空题(每空2分,共20分)给定以下代码片段,请在空白处填入正确的代码。
```c#include <stdio.h>int main() {int a, b, sum;a = 5;b = 3;sum = a + b;printf("The sum is: %d\n", sum);return 0;}若要计算两个数的乘积并打印出来,需要修改的代码为:```c#include <stdio.h>int main() {int a, b, product;a = 5;b = 3;product = a * b;printf("The product is: %d\n", product);return 0;}```三、编程题(每题30分,共60分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。
福建省计算机等级考试(二级C语言)上机考试试题题库汇编一、选择题(每套共20小题,每题2分,共40分)(50100) 在C语言中,合法的字符常量是()。
(A) '字' (B) "A" (C) "ABC" (D) '\x41'(50119) ()不属于结构化程序设计的三种基本控制结构。
(A) 选择结构 (B) 循环结构(C)嵌套结构 (D) 顺序结构(50120) 函数是C源程序的基本单位,一个函数由函数的首体和()两部分组成。
(A)函数体 (B) 语句体 (C) 结构体 (D) 联合体(50121) 能将C源程序转换为目标程序的软件是()。
(A) 汇编程序(B)编译程序 (C) 编辑程序 (D) 解释程序(50122) 下列叙述正确的是()。
(A)注释部分可在C源程序单独占一行,也可跟在一行语句后面(B) 花括号"{ }"只能用作函数体的定界符(C) 函数是C源程序的基本单位,所有函数名都可以由用户命名(D) 分号是C语句之间的分隔符,并不表示一条语句的结束(50123) C源程序的基本单位是()。
(A) 子程序 (B) 复合语句 (C) 过程 (D)函数(50200) C语言的下列运算符中,优先级最高的运算符是()。
(A) ++ (B) += (C) || (D) !=(50219) 整型常量没有()形式。
(A)二进制 (B) 八进制 (C) 十进制 (D) 十六进制(50220) 合法的长整型常量是()。
(A) 6246245 (B) 1E10 (C) 0L (D) (Long)6246245(50221) 合法的字符常量是()。
(A) '\' (B) 'xx' (C) '\\' (D) "x"(50222) 正确的常量是()。
(A) 'a3' (B) 1E6.1 (C) E-3 (D) "\0"(50223) 合法的用户标识符是()。
福建省高等学校计算机二年级C语言试题库大题部分Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】第二部分:改错题第一套卷:#include <>#include <>#include <>#include <>void main(){ char str1[100], t[200];int i, j;/**/ i = 0; /**/ j=0clrscr();strcpy(str1, "4AZ18cGe9a0z!");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);}********************************************************************** ***#include <>#include <>#include <>#include <>#define M 50double fun(int n){ double y = ;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+=i;j++;}if(j==n) break;}return y;}void main(){ clrscr();printf("fun(8) = %\n", fun(8));}********************************************************************** ***第二套卷********************************************************************** ***#include <>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");}}#include <>#include <>/**/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(); }第三套卷********************************************************************** ******#include <>#include <>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();}********************************************************************** ******#include <>#include <>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;}模拟卷********************************************************************** ******#include <>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);}********************************************************************** *****#include <>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分)第一套卷********************************************************************** *****#include <>#include <>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);}********************************************************************** ****#include <>void main(){ double pi=0;long i, sign=1;for(i=1;i<=10001;i+=2){pi+=*sign/i;sign=/**/ -sgn; /**/; 题义中是正负交替的}pi*=/**/ 4 /**/; 前面一个系数printf("%f\n",pi);}********************************************************************** *****#include <>#include <>int max,min;void find_max_min(int *p,int n){int *q;max=min=*p;for(q=p; q</**/ p+num /**/; q++) 指针从p开始,向下移动,直到结束p+numif(/**/ 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);}第二套卷********************************************************************** *****#include <>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);}}********************************************************************** *****#include <>void main(){int n,a,b;/**/a=0,b=0/**/scanf("%d",&n);while(/**/ n /**/){if(n>0) a++;else /**/ b++; /**/scanf("%d",&n);}printf("Positive integer: %d, negative integer: %d\n",a,b);}********************************************************************** *****#include <>#include <>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);}第三套卷********************************************************************** ******#include <>#include <>/**/ main() /**/{ float x,x0,f,f1;x=;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);}********************************************************************** ******#include <>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]);}}********************************************************************** ******#include <>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("Average=%f\n",m);}模拟卷********************************************************************** *******#include <>#include <>void main(){int x;/**/ float f; /**/printf("Input an integer: ");scanf("%d",&x);f = /**/ (abs(x)/(x*x+ /**/ ;printf("F(x)=%f\n",f);getch();}********************************************************************** *********#include <>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);}********************************************************************** *********#include <>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分)第一套卷********************************************************************** ****#include <>#include <>double fun1(double x){ /**//**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}********************************************************************** ****#include <>#include <>#include <>#include <>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);}第二套卷********************************************************************** ******#include <>#include <>double fun1(double x){ /**//**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}********************************************************************** ******#include <>#include <>#include <>#include <>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();}第三套卷********************************************************************** ******#include <>#include <>double fun1(double x){/**//**/}void main(){clrscr();printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);printf("fun1 = %\n", fun1);}********************************************************************** ******#include <>int fun(char *s){ /**//**/}void main(){char str[255];gets(str);printf("%d\n",fun(str));}模拟卷********************************************************************** *********#include <>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);}********************************************************************** ******#include <>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"); }。
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. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。
计算机二级c语言考试题目及答案考试题目一:1. 下面哪个选项是 C 语言中的预处理指令?A. #includeB. intC. printfD. if答案:A. #include考试题目二:2. 在 C 语言中,如何声明一个整型变量?A. String num;B. int num;C. float num;D. num int;答案:B. int num;考试题目三:3. C 语言中的逻辑与运算符是什么?A. &&B. ||C. !D. &答案:A. &&考试题目四:4. 下面哪个选项是正确的C语言定义和初始化数组的方法?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = (1, 2, 3, 4, 5);C. int arr = [1, 2, 3, 4, 5];D. int arr[5] = [1, 2, 3, 4, 5];答案:A. int arr[5] = {1, 2, 3, 4, 5};考试题目五:5. 下面程序的输出结果是什么?```c#include <stdio.h>int main() {int i = 5;if (i == 5) {printf("Hello, World!");}else {printf("Goodbye, World!");}return 0;}```A. Hello, World!B. Goodbye, World!C. 编译错误D. 运行错误答案:A. Hello, World!考试题目六:6. 下面哪个选项是 C 语言中的循环语句?A. chooseB. forC. switchD. if答案:B. for考试题目七:7. 在 C 语言中,如何访问数组的第一个元素?A. arr[0]B. arr[1]C. arr[-1]D. arr[first]答案:A. arr[0]考试题目八:8. 下面哪个选项是 C 语言中的条件语句?A. do-whileB. switchC. breakD. continue答案:B. switch考试题目九:9. 下面哪个选项是 C 语言中的自增运算符?A. +=B. -=C. ++D. --答案:C. ++考试题目十:10. 下面程序的输出结果是什么? ```c#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("%d ", i);i++;}return 0;}```A. 0 1 2 3 4B. 1 2 3 4 5C. 0 1 2 3 5D. 编译错误答案:A. 0 1 2 3 4以上是计算机二级C语言考试题目及答案。
二、改错题Cmody191.c修改程序,用以计算1~100之间所有的偶数之和。
#include <stdio.h>#include <math.h>void main( ){int i=1;/**/ int sum=2 /**/;while(i++,i<=100){ if(/**/ i==(i/2)*2 /**/)continue;sum+=i;}printf("Sum is %d\n",sum);getch();}Cmody192.c修改程序,将二维数组表示的方阵左下半三角(不含对角线)各元素加4,右上半三角(含对角线)各元素乘2。
#include <stdio.h>#define N 5void main(){int a[N][N],i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=i*5+j+11;printf("\nArray a is:\n");for(i=0;i<N;i++){for(j=0;j<N;j++) printf("%3d ",a[i][j]);printf("\n");}for(i=0;i<N;i++)/**/ for(j=0;j<=i;j++)/**/a[i][j]+=4;for(i=0;i<N;i++)/**/ for(j=i+1 ;j<N;j++) /**/a[i][j]*=2;printf("\nArray a is turned:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%3d ",a[i][j]);printf("\n");}getch();}Cmody201.c修改程序,计算满足以下条件的整数n的最大值。
福建省二级c语言考试试题编程题打开程序cprog502.完成其中的fun(int a[],int c[])函数,将数组a同元素依次存入数组c
中
列入数组a为{5,1,1,2,6,5,2,7},则数组c为(5,1,2,6,7,-1) fun(int
a[],int c[])
{
int i,j,k=1;
c[0]=a[0];
for(i=1;a[i];i++)
{for(j=0;j<k;j++)
if(a[i]==c[j]) break;
c[k++]=a[i];
}
c[k]=-1;
}
已有定义,file*fp,要打开c盘teap文件下的文件,打开方式是既能读又能写正确的是c选
项fp*fopen(…d:\\teap\\file.txt?,?rv?)
//输出符合以下条件的3位整数的个数,第一位和第三为不同,且各位数的和为15
#include <stdio.h>
void main()
{
int num;
int count = 0;
int a, b, c;
for(num = 100; num < 1000; num ++)
{
a = num / 100;
b = num % 100 / 10;
c = num % 10;
if(a != c && a + b + c == 15)
{
printf("%d ", num);
count ++;
}
}
printf("
打开程序cprog521,c完成其中的函数fun() 输入1.69,输出:fun(1.690)=6.93.。
输入3.2
输入-7.6
Double y;
If(x>2)
y=x*(x-2);
else if(x>-1&&x<=2) y=x-1;
return y;
1、用C语言编写算式:1+22+333+4444+55555+666666 (9999)
#include"stdio.h" int main()
{int i,j,temp=0,sum=0;
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
{temp=temp*10+i;}
sum+=temp;
temp=0; }printf("%d\n",sum);
return 0;}
Double y;
If (x>0)
y=log (x)/(x+1.1);改过了
else(x==0)改过了
y=0;else if(x<0) y=sqrt(1+x*x);
retrun y;
double f;
if (x>0)
f=log(x)/(x+1.1);
else if (x==0) f=0; else f=sqrt(1+x*x); return f;
修改程序cmody511.c,实现从键盘输入10个100以内的互不相同的正整数,输出其中的第
二大的数
Int i/**/max1=max2=0/**/ If(s[1])>max1
(/**/max2=s[i];/**/)
打开程序cprog512.c,完成其中的函数fun(int a[],int sum[]),将a中前i 个元素的和存入
数组sum的第i个元素中,例如
数组a各元素为1,3,2,1,2
得到数组sum的个元素为1,4,6,7,9 #include "stdio.h"
#include “conio.h”
#define N 5
fun(int a[],int sum[]) void
{
Int i,s=0;
for(i=0;i<N;i++)
{
S+=a[i];
Sum[i]=s;
}
}
求解百元买白鸡的问题,修改程序
Int fun();改成int fun() If(cock+hen+chicken=100)改成
if(cock+hen+chicken==100)
用选择排序法对输入的十个整数按从大到小的顺序排列
例如
输入2,9,3,4,4,8,4,6,5,7 输出9,8,7,6,5,4,3,2,1
#include<stdio.h> Void main()
{
Int i,j,min,temp,a[10];
prin tf (“请输入:\n”);
for(i=1;i<=10;i++) {printf(“a[%d]=”,i);
Scanf(“%d”,&a[i]);}
printf(“\n”);
for(i=1;i<=9;i++) {min=I;
for(j=i+1;j<=10;j++) if (a[min]>a[]j) min=j; temp=a[i]; a[i]=a[min];
a[min]=temp;
}
printf(“\n从大到下排列是:\n”); for(i=10;i>=1;i--) prin tf(“%5d”,a[i]);
printf(“\n”)
}
修改程序计算满足以下条件的整数n的最大值
-1*n <1000 1*2+2*3+3*4+4*5+++(n
#include<stdio.h> int main()
{
int i=1,s;
s=i*i
while (s<1000)
{
s=i*(i+1);
i=i+1;
}
printf(“%d\n”,i);
return 0;
}
选择题
若已定义,char ca;要从键盘输入字符“B”给变量ca,应使用
sc anf(“%c”,ca)
下列合法的长整型常量是 Long32768 若已定义,int a=2,语句a*=a-=a+=3的值是 5 若已定义int x;char c;则表达式c+10*x的结果类型是 double 若已定义;int a[6]=[1,2,3,4,5,6]下列。
答案是p=a[0]
若已定义 typedef emum week[mon,tun,wed,thu fri,sat,sun]week_day,则下列语句错误的是
C;week day
以下程序运行结果是 5
int fun(int k ) { switch(k)
{case 2:k++;
case 3:
case 4:k++
}
return k;
void main ()
{printf (“%f\n”,fun(2))}; }
选择题(看不清楚).{0,1,2,3,4,5,6,7,8,9},i=0,t; while (i<=4)
{t=[i]
a[i]=a[9-i]
a[9-i]=t;
i++
}
for (i=0;i<10;i++) printf(“%d”[i])
答案是9876543210
以下程序段运行的结果是
char s1[7]=”abcdef”,s2[4]=”12”
strcpy(s1,s2);
ptintf(“%s %c”,s1,s1[5]); 结果是 12 f
能正确初始化二维数组arr的是
int arr[2][3]={{1,2},{3,4,5}};。