福建省二级c语言考试试题编程题

合集下载

c语言二级考试试题及答案

c语言二级考试试题及答案

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语言)上机考试试题题库汇编〈华侨大学学生可参考〉

福建省计算机等级考试(二级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语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级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语言二级证考试真题及答案

c语言二级证考试真题及答案

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语言

计算机二级考试真题及答案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语言)上机考试试题题库汇编〈华侨大学学生可参考〉

福建省计算机等级考试(二级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语言试题库大题部分

福建省高等学校计算机二年级C语言试题库大题部分

福建省高等学校计算机二年级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语言二级考试题及答案

c语言二级考试题及答案

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语言考试题目及答案

计算机二级c语言考试题目及答案

计算机二级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语言考试题目及答案。

福建省计算机二级考试C语言上机题库改错填空编程

福建省计算机二级考试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语言)考试选择题

福建省计算机二级(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<c11b= =c的值是(A)A、0B、1C、2D、-13、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B)A、3.75B、3.5C、3D、44、有如下定义int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a的行数(B)A、2B、3C、4D、无法确定5、C程序中main函数的位置(C)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 B.0 C.2 D.38.设单精度型变量+,g的值均为2.0,使+为4.0的表达式为(A)A.1B.0C.2D.39.对于整型变量x。

下述计语句(B)与赋值句:x=x%2= =0?1:0;不等价A .if(x%2!=0)x=0;else x=1;B if(x%2)x=1;else x=0;C.if(x%2= =0)x=1;else x=0; D .if(x%2==1)x=0;else x=1;10.以下数组定义中,正确的是(B)A.int a[2] [3]={1,2,3,4,5,6,7};B.int a[] []={{1,2,3},{4,5,6},{7,8,9}};C.int a[2] []={1,2,3,4,5,6};D.int a[] [4]={6};11.若有定义:#define PI 3,则表达式PI*2*2的值为(A)A.12B.4C.3D.不确定12.下面语句正确的是(B )A int*P;*P=20; B.char*s=“abcdef”;printf(“%s\n”,S);C char str[]=“abcdf”;printf(“%S”,str);D.[]()=char str a b c pr f s str{',','};int"%",;13.若有定义:inta=2;则正确的赋值表达式是(A)A.a- =(a*3) B.double(-a) C.a* D.a*4=314.若有定义:int a=6,b=2;char C1=‘a’,C2=‘b’;则表达式a+b%5+C2-C1的值是(C)A .7 B.8 C.9 D表达式错误15.若有定义:char str[6]=“abcdm”,*ps,*str2=“abcdef”;正确的是(B)A.stycpy(str1,str2);B.表达式strcmp(str1,str2)的值>0C.str1=str2;D.表达式strlen(str1)的值为616.关于C语言函数的描述中,正确的是(B)A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用得意嵌套C.函数的定义和函数的调用都可以嵌套D . 函数的定义和函数的调用都不可以嵌套17.设有如下定义typedef int *INTEGER;INTEGER P,*q;则(C)是正确的表述A.P是int型变量 B .q是基类型为int的指针变量C.P是基类型为int的指针变量D.程序中可用INTEGER代替int类型名。

2022年福建省福州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年福建省福州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年福建省福州市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列叙述中,正确的是()A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令2.算法的时间复杂度是指( )A.执行算法程序所需要的时间B.算法程序的长度C.算法程序中的指令条数D.算法执行过程中所需要的基本运算次数3.在一个被调用函数中,关于return语句使用的描述,()是错误的。

A.被调用函数中可以不用return语句B.被调用函数中可以使用多个return语句C.被调用函数中,如果有返回值,就一定要有return语句D.被调用函数中,一个return语句可以返回多个值给调用函数4. 若有定义int a=5, b=7;,则表达式a%=(b%2)运算后,a的值为( )。

A.0B.1C.11D.35. 设有下列二叉树:对此二叉树后序遍历的结果为A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA6.有以下函数:int fun(char*x,char*y)int n=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣return n;函数的功能是( )。

A.将y所指字符串赋给x所指存储空间B.查找和y所指字符串中是否有‘\0’C.统计x和y所指字符串中最前面连续相同的字符个数D.统计x和y所指字符串中相同的字符个数7.以下选项中叙述错误的是()。

A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B.在同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.C程序函数的性能不可以说明为static型变量8.下面哪种排序算法是稳定的()A.快速排序B.堆排序C.归并排序D.选择排序9.下列叙述中,不属于软件需求规格说明书的作用的是()A.便于用户,开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析10.在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。

计算机二级c考试试题及答案

计算机二级c考试试题及答案

计算机二级c考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 123E答案:A2. 关于C语言中的指针,以下说法正确的是?A. 指针可以存储任何类型的数据B. 指针可以存储变量的地址C. 指针本身没有类型D. 指针不能被赋值答案:B3. 下列关于函数的描述,错误的是?A. C语言中的函数可以没有返回值B. 函数可以嵌套定义C. 函数可以有多个返回值D. 函数可以被递归调用答案:B4. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A5. 关于数组,以下说法正确的是?A. 数组的大小在定义时必须确定B. 数组的元素可以是不同类型的C. 数组的索引从1开始D. 数组可以动态分配大小答案:A6. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B7. 下列关于文件操作的描述,错误的是?A. 文件操作需要包含头文件`stdio.h`B. 可以使用`fopen`函数打开文件C. `fclose`函数用于关闭文件D. 文件指针是用于指向文件的指针答案:A8. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. 'AB'D. '\t'答案:D9. 关于C语言中的预处理指令,以下说法正确的是?A. `#include`用于包含头文件B. `#define`用于定义宏C. `#ifdef`用于条件编译D. 以上都是答案:D10. 在C语言中,以下哪个关键字用于声明一个枚举类型?A. enumB. unionC. structD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,`int main()`函数的返回类型是________。

福建计算机二级c语言试题及答案

福建计算机二级c语言试题及答案

福建计算机二级c语言试题及答案一、选择题(每题2分,共40分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级编程语言B. C语言具有较好的可移植性C. C语言可以直接操作硬件D. C语言的程序只能在Windows操作系统下运行答案:D2. 在C语言中,以下哪个选项是正确的整型常量()。

A. 0.5B. 0x12C. 1.0e2D. 0123答案:B3. 在C语言中,以下哪个选项是合法的字符常量()。

A. 'ab'B. '2'C. '\t'D. "Hello"答案:C4. C语言中,以下哪个关键字用于定义函数()。

A. intB. returnC. voidD. main答案:A5. 在C语言中,以下哪个选项是正确的字符串常量()。

A. "Hello"B. 'Hello'C. "HelloD. "Hello\"答案:A6. 在C语言中,以下哪个选项是正确的一维数组声明()。

A. int a[10];B. int a[];C. int a=10;D. int a[10]={0};答案:A7. 在C语言中,以下哪个选项是正确的二维数组声明()。

A. int a[2][3];B. int a[][3];C. int a[2][];D. int a[][];答案:A8. 在C语言中,以下哪个选项是正确的函数声明()。

A. int add(int x, int y);B. int add(int, int);C. int add();D. int add(int x; int y);答案:A9. 在C语言中,以下哪个选项是正确的递归函数调用()。

A. int fact(int n) { return n * fact(n-1); }B. int fact(int n) { if (n > 0) return n * fact(n-1); else return 1; }C. int fact(int n) { return n * fact(n+1); }D. int fact(int n) { return n * fact(n); }答案:B10. 在C语言中,以下哪个选项是正确的指针声明()。

福建省高等学校计算机等级考试 二级C语言 编程题

福建省高等学校计算机等级考试 二级C语言 编程题

11.打开考生文件夹中的Cprog011.C,完成其中的函数fun1,该函数的数学表达式是:例如:fun1(0.76)=2.175fun1(3.00)=5.307fun1(3.76)=9.111#include <math.h>#include <stdio.h>double fun1(double x){ /**/double f;f=(1+sin(x)+exp(x))/(1+x);return f;/**/}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));}12.打开考生文件夹中的Cprog012.C,完成其中的函数fun2(int a[ ],int n,int b[ ],int c[ ]),实现:1)将数组a中大于-20的元素依次存放在数组b中;2)将数组b中的元素按照从小到大的顺序依次存放到数组c中;3)函数返回数组b中的元素个数。

#include <string.h>#include <conio.h>#include <math.h>#include <stdio.h>int fun2(int a[],int n,int b[],int c[]){ /**/int nb=0;int i,j=0,temp;for(i=0;i<n;i++)if(a[i]>-20) {b[j]=a[i];nb++;j++;}for(i=0;i<nb;i++) c[i]=b[i];for(i=0;i<nb-1;i++)for(j=0;j<nb-i-1;j++)if(c[j]>c[j+1]){temp=c[j];c[j]=c[j+1];c[j+1]=temp;}return nb;/**/ }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);}21.打开考生文件夹中的Cprog021.C,完成其中的函数fun1,该函数的数学表达式使:例如:fun1(0.76)=3. 582fun1(3.00)=5.369fun(3.76)=8.931#include <math.h>#include <stdio.h>double fun1(double x){ /**/double f;f=(exp(x) +fabs(x-6)) / (x+1.3);return f;/**/}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));}22.打开考生文件夹中的Cprog022.C,完成其中的函数fun2(char a[ ],char b[ ],char c[ ]),实现:将三个字符串a、b、c从小到大排序后输出。

福建省二级C语言-5_真题(含答案与解析)-交互

福建省二级C语言-5_真题(含答案与解析)-交互

福建省二级C语言-5(总分100, 做题时间90分钟)一、选择题1.以下关于C语言源程序的叙述中,错误的是______。

SSS_SINGLE_SELA 源程序中的一行可以写多条语句B 源程序中的一条语句可以写成多行C 源程序中每一行必须有一个分号D 源程序中可用{}把一些语句括起来成为复合语句分值: 2答案:C2.若要定义一个符号常量,下列四项中正确的是______。

SSS_SINGLE_SELA #define PI 3.14159B #define PI=3.14159C #define PI=3.14159;D #define PI 3.14159;分值: 2答案:A3.若已定义int a=6; ,则表达式a+=a-=a*=a运算后,a的值为______。

SSS_SINGLE_SELA 0B 6C -24D -60分值: 2答案:A4.以下程序运行结果是______。

#include<stdio.h>int main(){int x=2, y=3, z;z=x>y?--x:--y;printf("%d, %d, %d\n", x, y, z);return 0;}SSS_SINGLE_SELA 2,2,3B 2,3,2C 2,2,2D 1,2,2分值: 2答案:C5.要使下列程序段输出内容为123,123,45,则正确的输入数据是______。

int a, b, c;scanf("%d, %3d%d", &a, &b, &c);printf("%d, %d, %d\n", a, b, c);SSS_SINGLE_SELA 12312345B 123,123,45C 123,12345D 123123,45分值: 2答案:C6.以下程序运行结果是______。

#include<stdio.h>int main(){int x=1, y=2, z=3, k;k=x>y?5:y<z?x:y;printf("%d\n", k);return 0;}SSS_SINGLE_SELA 3B 2C 5D 1分值: 2答案:D7.若已定义:float a=5.3, b=2.9; ,则下列表达式结果为7的是______。

福建省高等学校计算机二级C语言试题库大题部分

福建省高等学校计算机二级C语言试题库大题部分

第二部分:改错题第一套卷: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=/**/ -sgn; /**/; 题义中是正负交替的}pi*=/**/ 4 /**/; 前面一个系数printf("%f\n",pi);}*************************************************************************** ccon013.c#include <stdio.h>#include <stdlib.h>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+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;/**/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);}*************************************************************************** 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("Average=%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"); }。

福建省计算机二级c语言)考试选择题

福建省计算机二级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<c11b= =c 的值是(A )A 、0B 、1C 、2D 、-13、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是(B )A 、3.75B 、3.5C 、3D 、44、有如下定义 int a[ ][3]={1,2,3,4,5,6,7,8,};则数组a 的行数(B )A 、 2B 、 3C 、 4D 、无法确定5、C 程序中main 函数的位置(C )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 B.0 C.2 D.38.设单精度型变量+,g 的值均为2.0,使+为4.0的表达式为(A )A.1B.0C.2D.39.对于整型变量x 。

下述计语句(B )与赋值句:x=x%2= =0?1:0;不等价A .if (x%2!=0)x=0;else x=1;B if (x%2)x=1;else x=0;C.if (x%2= =0)x=1;else x=0; D .if (x%2==1) x=0;else x=1;10.以下数组定义中,正确的是(B )A.int a[2] [3]={1,2,3,4,5,6,7};B.int a[] []={{1,2,3},{4,5,6},{7,8,9}};C.int a[2] []={1,2,3,4,5,6};D.int a[] [4]={6};11.若有定义:#define PI 3,则表达式PI *2*2的值为(A )A.12B.4C.3D.不确定12.下面语句正确的是( B )A int *P ;*P=20; B.char *s=“abcdef ”;printf (“%s\n ”,S );C char str[]=“abcdf ”;printf (“%S ”,str );D.[](){',','};int "%",;char str a b c pr f s str =13.若有定义:int a=2;则正确的赋值表达式是(A)A.a- =(a *3) B.double(-a) C.a * D.a *4=314.若有定义:int a=6,b=2;char C1=‘a ’,C2=‘b ’;则表达式a+b%5+C2-C1的值是(C )A .7 B.8 C.9 D 表达式错误15.若有定义:char str[6]=“abcdm ”,*ps ,*str2=“abcdef ”;正确的是(B )A.stycpy (str1,str2);B.表达式strcmp (str1,str2)的值>0C.str1=str2;D.表达式strlen (str1)的值为616.关于C 语言函数的描述中,正确的是(B )A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用得意嵌套C. 函数的定义和函数的调用都可以嵌套D . 函数的定义和函数的调用都不可以嵌套17.设有如下定义typedef int *INTEGER;INTEGER P,*q;则(C)是正确的表述A.P是int型变量 B .q是基类型为int的指针变量C.P是基类型为int的指针变量D.程序中可用INTEGER代替int类型名。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建省二级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}};。

相关文档
最新文档