全国计算机等级考试c语言编程题目汇总
全国计算机等级考试二级C语言100题
![全国计算机等级考试二级C语言100题](https://img.taocdn.com/s3/m/57f122d2a48da0116c175f0e7cd184254b351bb7.png)
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0)&& i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中.答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c': pp[2]++;break;case ‘d': pp[3]++;b reak;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g': pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q': pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s': pp[18]++;break;case ‘t': pp[19]++;break;case ‘u': pp[20]++;break;case ‘v': pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z': pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
全国计算机等级考试二级c语言题库及答案
![全国计算机等级考试二级c语言题库及答案](https://img.taocdn.com/s3/m/865aeb8d32d4b14e852458fb770bf78a64293a60.png)
全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。
计算机二级考试C语言上机试题(100题)
![计算机二级考试C语言上机试题(100题)](https://img.taocdn.com/s3/m/62c1ece86294dd88d0d26b10.png)
1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。
下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。
例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>void fun(___1___,int n){double count=0.0;double average=0.0;int i=0;for(i=0;i<n;i++)___2___;average=___3___;for(i=0;i<n;i++)if(a[i]<average){if(i%5==0)printf("\n");printf("%d,",a[i]);}}main(){int a[1000];int i=0;printf("\nPlease enter datas(end with 0):");do{scanf("%d",&a[i]);}while(a[i++]!=0);fun(a,i-1);}【答案】(1) int a[] (2)count+=a[i]或count=count+a[i] (3)count/n2.程序修改题给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)例如:若m中的值为5,则应输出1.463611。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun(int m){double y=1.0;int I;/**********found**********/for(i=2;i<m;i++)/**********found**********/y+=1/(i*i);return(y);}main(){int n=5;printf("\nThe result is %lf\n", fun(n));}【答案】(1)将for(i=2;i<m;i++) 改为:for(i=2;i<=m;i++)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。
全国计算机等级考试c语言试题及答案
![全国计算机等级考试c语言试题及答案](https://img.taocdn.com/s3/m/ac91bc030812a21614791711cc7931b764ce7b63.png)
全国计算机等级考试c语言试题及答案试题一:1. 下列程序段的输出结果是什么?```#include <stdio.h>int main() {int a = 3;int b = 4;printf("%d\n", a + b * a / b);return 0;}```A. 7B. 27C. 5D. 12答案:D解析:根据C语言的运算规则,乘除法的优先级高于加减法,因此先计算b * a得到12,再除以b得到12,最后和a相加得到12。
2. 下列程序段的输出结果是什么?```#include <stdio.h>#define PI 3.1415int main() {float radius = 3.5;float area = PI * radius * radius;printf("%.2f\n", area);return 0;}```A. 10.36B. 11.60C. 38.48D. 38.48答案:C解析:根据定义的宏常量,将PI乘以半径的平方得到面积,结果保留两位小数。
3. 下列程序段的输出结果是什么?#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("%d ", i++);}return 0;}```A. 0 1 2 3 4B. 0 1 2 3 4 5C. 0 1 2 3 4 4D. 1 2 3 4 5答案:A解析:循环中先执行printf输出i的值,再执行i++,因此输出结果为0 1 2 3 4。
试题二:1. 下列程序段的输出结果是什么?#include <stdio.h>int main() {int a = 10;int b = 20;int c = (a > b) ? a : b;printf("%d\n", c);return 0;}```A. 10B. 20C. 0D. 编译错误答案:B解析:三目运算符的作用是根据条件判断选择表达式的值,根据a 大于b的条件选择a的值,所以输出结果为20。
全国计算机等级考试c语言试题及答案
![全国计算机等级考试c语言试题及答案](https://img.taocdn.com/s3/m/43ad6168a22d7375a417866fb84ae45c3b35c2ba.png)
全国计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义数组的关键字是:A. structB. enumC. unionD. int答案:D3. 下列关于指针的描述中,正确的是:A. 指针可以存储函数的地址B. 指针不能存储变量的地址C. 指针不能存储数组的地址D. 指针不能存储指针的地址答案:A4. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环不能嵌套使用C. do-while循环至少执行一次D. 循环语句可以没有循环体答案:B6. 在C语言中,用于定义函数的关键字是:A. structB. unionC. enumD. int答案:D7. 下列关于文件操作的描述中,错误的是:A. 文件指针是指向文件的指针B. 文件操作需要包含头文件stdio.hC. 文件操作只能使用二进制方式打开D. 文件操作可以使用"r"、"w"、"a"等模式答案:C8. 在C语言中,用于定义枚举的关键字是:A. structB. unionC. enumD. typedef答案:C9. 下列关于预处理指令的描述中,错误的是:A. #include用于包含头文件B. #define可以定义宏C. #ifdef可以用于条件编译D. #pragma可以用于编译器指令答案:C10. 在C语言中,用于定义联合的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。
全国计算机等级考试二级C语言程序设计真题精选3(含答案)
![全国计算机等级考试二级C语言程序设计真题精选3(含答案)](https://img.taocdn.com/s3/m/30ad7df888eb172ded630b1c59eef8c75fbf9596.png)
全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
历年计算机二级c考试真题及答案
![历年计算机二级c考试真题及答案](https://img.taocdn.com/s3/m/56723639f4335a8102d276a20029bd64783e62ed.png)
历年计算机二级c考试真题及答案一、选择题(每题2分,共10题)1. 在C语言中,下列哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:A2. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. 0B. -20C. -5D. 25答案:C3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[5] = "Hello";D. char str = "Hello";答案:A4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable_name答案:B5. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strlength()C. length()D. strleng()答案:A6. 若有定义int a=1, b=2;,则执行语句a+=b;后,变量a的值是多少?A. 1B. 2C. 3D. 4答案:C7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int arr[3][2];B. int arr[3,2];C. int arr[][2];D. int arr[3][];答案:A8. 在C语言中,以下哪个选项是正确的字符常量?A. 'a'B. "a"C. 'ab'D. "ab"答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if(x > 0)D. if (x > 0)答案:D10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (i = 0; i < 10; i++)答案:A二、编程题(每题10分,共1题)11. 编写一个C语言程序,计算并输出100以内所有偶数的和。
全国计算机等级考试C语言编程题(附答案)
![全国计算机等级考试C语言编程题(附答案)](https://img.taocdn.com/s3/m/3dae49c7f01dc281e43af00b.png)
C语言关键字速记(必考):enum char case const unsigned do default double else extern float for goto if int long register short signed struct switch typedef union void volatile while break return continue autoC语言的最小单位是函数。
C语言的结构有:顺序结构、循环结构和分支结构。
全国计算机等级考试c语言大题改错题(每小题10分,2小题/套)第1套1.程序Cmody021.c输出如下所示图形:*************************2.程序Cmody022.c的功能是求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。
问一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?-------------------------Cmody021.c-------------------#include<stdio.h>void main(){/**/int i;j;/**/for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(" ");/**/ for(j=1;j<=5;j++)/**/printf("*");printf("\n");}}-------------------------Cmody022.c------------------- #include<stdio.h>#include<conio.h>/**/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)/**/{n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chi cken);if(n==20)getch();}}return n;}void main(){int num;num=fun();printf("\nThere are %d solutions.\n",num);getch();}第2套1.程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。
计算机二级c语言考试真题及答案详解
![计算机二级c语言考试真题及答案详解](https://img.taocdn.com/s3/m/c67b1d1da9956bec0975f46527d3240c8447a1b3.png)
计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。
全国计算机等级考试C语言编程题(附答案)
![全国计算机等级考试C语言编程题(附答案)](https://img.taocdn.com/s3/m/3dae49c7f01dc281e43af00b.png)
C语言关键字速记(必考):enum char case const unsigned do default double else extern float for goto if int long register short signed struct switch typedef union void volatile while break return continue autoC语言的最小单位是函数。
C语言的结构有:顺序结构、循环结构和分支结构。
全国计算机等级考试c语言大题改错题(每小题10分,2小题/套)第1套1.程序Cmody021.c输出如下所示图形:*************************2.程序Cmody022.c的功能是求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。
问一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?-------------------------Cmody021.c-------------------#include<stdio.h>void main(){/**/int i;j;/**/for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)printf(" ");/**/ for(j=1;j<=5;j++)/**/printf("*");printf("\n");}}-------------------------Cmody022.c------------------- #include<stdio.h>#include<conio.h>/**/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)/**/{n++;printf("%d-->hen:%d,cock:%d,chicken:%d\n",n,hen,cock,chi cken);if(n==20)getch();}}return n;}void main(){int num;num=fun();printf("\nThere are %d solutions.\n",num);getch();}第2套1.程序Cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行相应的运算后输出运算的结果。
全国计算机等级考试二级c语言题库及答案
![全国计算机等级考试二级c语言题库及答案](https://img.taocdn.com/s3/m/754f87b527fff705cc1755270722192e45365880.png)
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
![全国计算机等级考试《二级C语言程序设计》历年真题精选及详解](https://img.taocdn.com/s3/m/af2f391ba1c7aa00b42acb20.png)
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
计算机二级c语言笔试题库及答案
![计算机二级c语言笔试题库及答案](https://img.taocdn.com/s3/m/53b155b6e109581b6bd97f19227916888586b902.png)
计算机二级c语言笔试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串s2连接到字符串s1的末尾?A. strcat(s1, s2)B. strcpy(s1, s2)C. strncpy(s1, s2, n)D. strcmp(s1, s2)答案:A3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式a[0] +a[2] + a[4]的值是多少?A. 8B. 10C. 12D. 15答案:C5. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strcmp()答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A7. 在C语言中,以下哪个关键字用于声明一个变量?A. varB. letC. intD. var答案:C8. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. strcpy()答案:B9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fread()D. fwrite()答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,________关键字用于定义一个宏。
答案:#define2. 在C语言中,________关键字用于定义一个枚举类型。
c语言编程题库100题
![c语言编程题库100题](https://img.taocdn.com/s3/m/654423ab8662caaedd3383c4bb4cf7ec4afeb6ab.png)
c语言编程题库100题C语言是一门广泛应用于计算机领域的高级编程语言。
对于学习者来说,掌握C语言编程是一项必修课程。
为此,我们为大家整理了100道C语言编程题,供大家练练手,锻炼编程能力。
以下是题目列表:##### 基础篇1、编写一个C程序,输出“Hello, World!”。
2、编写一个C程序,输入两个数,求和并输出结果。
3、编写一个C程序,输入三个数,求平均值并输出结果。
4、编写一个C程序,输入三个数,比较大小并输出最大值。
5、编写一个C程序,输入一个数,判断奇偶性并输出结果。
6、编写一个C程序,输入一个数,判断是否为质数并输出结果。
7、编写一个C程序,输入一个数,判断是否为闰年并输出结果。
8、编写一个C程序,输入一个字符,判断是否为字母并输出结果。
9、编写一个C程序,输入一个数,判断是否为回文数并输出结果。
10、编写一个C程序,输入一个年份和月份,输出该年该月的天数。
##### 数组篇11、编写一个C程序,输入一个整数数组,求所有元素之和并输出结果。
12、编写一个C程序,输入一个数组,找出最大值并输出结果。
13、编写一个C程序,输入一个数组,找出最小值并输出结果。
14、编写一个C程序,输入一个数组,计算平均值并输出结果。
15、编写一个C程序,输入一个数组,判断是否为升序或降序排列并输出结果。
16、编写一个C程序,输入一个数组,将数组元素逆序排列并输出结果。
17、编写一个C程序,输入两个数组,将两个数组合并后按照升序或降序排列并输出结果。
18、编写一个C程序,输入一个数组,输出数组中出现次数最多的元素。
19、编写一个C程序,输入一个数组,删除指定位置上的元素并输出结果。
20、编写一个C程序,输入一个数组和一个数,将该数插入到数组中并输出结果。
##### 字符串篇21、编写一个C程序,输入一个字符串,统计字符串中的字符个数并输出结果。
22、编写一个C程序,输入一个字符串,统计字符串中的单词个数并输出结果。
(完整版)C语言考试题库及答案
![(完整版)C语言考试题库及答案](https://img.taocdn.com/s3/m/a6d70df7dbef5ef7ba0d4a7302768e9951e76ed9.png)
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
全国计算机等级考试 c语言
![全国计算机等级考试 c语言](https://img.taocdn.com/s3/m/f72debce6429647d27284b73f242336c1eb9303b.png)
全国计算机等级考试 c语言全国计算机等级考试C语言部分考题1. 编写一个程序,输入一个数n(n>=0),计算并输出n的阶乘。
注意:阶乘是指从1到n的连续乘积。
2. 编写一个程序,输入一个正整数n,输出1到n之间的所有素数。
注意:素数是指除了1和自身外,不能被其它数整除的数。
3. 假设有两个字符串str1和str2,请编写一个程序,判断str2是否是str1的子串,并输出其在str1中的起始位置。
注意:字符串的起始位置从0开始计数。
4. 编写一个程序,输入一个数n(n>=0),输出n个斐波那契数列的前几项。
斐波那契数列的定义是:第一项和第二项都是1,从第三项开始,每一项都是前两项的和。
5. 假设有一个整数数组,编写一个程序,找出数组中的最大和最小值,并计算它们的差。
注意:数组的长度可自行设定,但要在合理范围内。
6. 编写一个程序,输入一个字符串,判断该字符串是否为回文串。
注意:回文串是指正读和反读都相同的字符串。
7. 假设有两个整数数组arr1和arr2,编写一个程序,将这两个数组合并为一个新数组,并按升序排列。
注意:新数组中的元素不能重复。
8. 编写一个程序,输入两个数n和m(n、m均为正整数),计算并输出n的m次方。
9. 假设有一个二维整数数组,编写一个程序,找出数组中的最大值,并输出其所在的行和列。
注意:数组的行数和列数可自行设定,但要在合理范围内。
10. 编写一个程序,输入一个正整数n,判断该数是否为素数。
注意:素数是指除了1和自身外,不能被其它数整除的数。
以上是全国计算机等级考试C语言部分的一些题目示例,希望对考生们有帮助。
请注意,这只是示例题目,实际考试中可能会有更多不同类型和难度的题目。
考生们应该充分理解C语言的基本语法和常用函数,并进行充分的练习和复习。
祝考生们取得好成绩!。
计算机二级考试内容c题库及答案
![计算机二级考试内容c题库及答案](https://img.taocdn.com/s3/m/0b00bfc10129bd64783e0912a216147916117e64.png)
计算机二级考试内容c题库及答案一、选择题1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x1AB. 0x1A.5C. 0x1A.0D. 0x1A.0f答案:A2. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B3. 若有以下C语言代码段:```cint a = 10, b = 20;printf("%d", a + b);```则输出结果为:A. 1020B. 30C. 10D. 20答案:B4. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. char str[] = "Hello", "World";答案:A二、填空题1. 在C语言中,以下代码段的输出结果是____。
```cint x = 5, y = 10;printf("%d", x + y);```答案:152. 若定义了一个整型数组int arr[5] = {1, 2, 3, 4, 5};,则arr[0]的值是____。
答案:13. 在C语言中,以下代码段的输出结果是____。
```cprintf("%d", sizeof(char));```答案:1三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of odd numbers between 1 and 100 is: %d\n", sum);return 0;}```答案:该程序将计算并输出1到100之间所有奇数的和。
全国计算机等级考试二级C语言程序设计真题精选6(含答案)
![全国计算机等级考试二级C语言程序设计真题精选6(含答案)](https://img.taocdn.com/s3/m/33dea52ecd7931b765ce0508763231126edb77b7.png)
全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。
A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。
fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。
在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。
2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。
A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。
a<<1结果为4*2=8,没有超过char类型的范围。
3.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。
4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int i;
*n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
}
3. 程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。
}
3. 程序设计
请编写一个函数void fun(char*tt,int pp[ ]),统计在tt所指字符串中‘a’至‘z’26个小写字母各自出现在的次数,并依次放在pp数组中。
void fun(char*tt, int pp[ ])
{
r *p=tt;
int i;
for(i=0;i<26;i++)
STREC fun(STREC*a,char *b)
{
STREC c;
Int i;
c.num[0]=’\0’;
c.s=-1;
for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0)
{strcpy(c.num,a[i].num);
c.s=a[i].s;break;}
int fun(STREC *a,STREC *b)
{
int i,j=0,min=a[0].s;
for(i=0;i<N;i++)
{ if(min>a[i].s){
j=0;
b[j++]=a[i];min=a[i].s;
}
else if(min==a[i].s)
b[j++]=a[i];
#include <stdio.h>
#define MAX100
int fun(int lim,int aa[MAX])
{int i,j,k=0;
for(i=2;i<=lim;i++)
{
for(j=2;j<=(i/2);j++)
if(i%j==0)break;
if(j>(i/2))aa[k++]=i;
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h)
{int i,j=0;
for(i=0;i<N;i++)
}
return j;
}
3. 程序设计
程序定义了N×N的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的s。
double fun(int w[][N])
{ int i,j,n=0;
double sum=0;
for(i=0;i<N;i++)
pp[i]=0;
while(*p)
{if(*p>=’a’&&*p<=’z’)
pp[*p-‘a’]+=1;
p++;
}
}
3. 程序设计
函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。
#include <stdio. h>
void fun(char*a,int n)
{
int i=0,k=0;
while(a[k]= =’*’)k++;
if(k>n)
{
i=n;j=k;
for(;a[j]!=0;j++)
a[i++]=a[j];
a[i]=0;
}}
3. 程序设计
请编写函数fun,函数的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
ss[i]-=32;
}
}
3. 程序设计
请编写一个函数fun,它的功能是:根据以下公式求JI的值(要求满足精度0.0005,即某项小于0.0005时停止送代):程序运行后,如果输入精度为0.0005,则程序输出为3.14…。
double fun(double eps)
{ double s=1,t=1./3;
} return k;}
3. 程序设计
请编写函数fun,函数的功能是:计算并输出给定整数n的所有因子(不包过1和n本身)之和。规定n的值不大于1000.
int fun(int n)
{
int s=0,i;
for(i=2;i<n;i++)
if(n%i==0)s+=i;
return s;
{ sum+=w[0][i]+w[N-1][i];
n+=2;}
for(i=1;i<N-1;i++)
{ sum+=w[i][0]+w[i][N-1];
n+=2;
}
return sum/n;
}
3. 程序设计
函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的个位和百位上,b中的十位和个位数依次放在变量c的十位和千位上。
int n=1;
while(t>=eps)
{s+=t;n++;t=t*n/(2.0*n+1)
;}
return(s*2.0);
}
3. 程序设计
函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。
void fun(char *s,char t[])
{ int i,j=0;
for(i=0;i<strlen(s);i++)
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
3. 程序设计
函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。
#include <stdio.h>
void fun(int a,int b,long *c)
{
*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);}
3. 程序设计
编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
if((a[i].s>=1&&a[i].s<=h)
b[j++]=a[i];
return j;
}
3. 程序设计
请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
void fun(int m,int *a,int *n)
int fun(STREC *a,STREC *b)
{
int i,max=a[0].s,n=0;
for(i=1;i<N;i++)
if(max<a[i].s)max=a[i].s;
for(i=0;i<N;i++)
if(max==a[i].s)b[n++]=a[i];
return n;
}
#include <stdio. h>
viod fun (int *a,int *n)
{int i;
*n=0;
for(i=7;i<1000;i++)
if(((i%7)= =0││(i%11)= =0
&&(i%77)!=0) a[(*n)++]=i;
}
3. 程序设计
请编写函数fun,函数的功能是:利用一下所示的简单迭代方法求方程求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:(1)取x1的初值为0.0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于0.000001执行步骤(5)否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根作为函数值返回。程序将输出结果为:Root=0.739058。
3. 程序设计
请编写函数fun,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
int fun(int a [M][N])
{
int tot=0,i,j;
for(i=0;i<N;i++)
{
tot +=a[0][i];