(完整版)计算机二级C语言考试编程题题库
计算机二级c语言考试题目及答案

计算机二级c语言考试题目及答案一、单项选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义 `int a[3] = {1, 2, 3};`,则数组元素 `a[2]` 的值是多少?A. 1B. 2C. 3D. 0答案:C3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 0x1ZC. 0x1.2D. 0x1G答案:A5. 在C语言中,哪个运算符用于计算两个数的乘积?A. *B. /C. %D. ++答案:A6. 若有定义 `int x = 10;`,则执行 `x += 5;` 后,变量 `x` 的值是多少?A. 5B. 10C. 15D. 20答案:C7. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:D8. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. $variableD. variable-2答案:B9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 若有定义 `float x = 3.14;`,则执行 `x *= 2;` 后,变量 `x` 的值是多少?A. 3.14B. 6.28C. 2.0D. 0.0答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:int *2. 若有定义 `char str[] = "Hello";`,则`str[0]`的ASCII码值是________。
全国计算机等级考试二级C语言笔试试题及答案

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

c语言二级证考试真题及答案一、单项选择题(每题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语言试题及答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项是合法的标识符?A. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。
答案:42. C语言中,定义一个整型变量的一般形式为_____。
答案:int 变量名;3. C语言中,定义一个实型变量的一般形式为_____。
计算机二级证考试c语言试题及答案

计算机二级证考试c语言试题及答案一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是面向对象编程语言B. C语言是一种解释性语言C. C语言是一种编译性语言D. C语言主要用于网页开发2. C语言中的数组下标是从几开始计数的?A. 0B. 1C. -1D. 由用户指定3. 下列代码中,输出的结果是什么?```cint a = 10;int b = 5;printf("%d", a % b);```B. 5C. 2D. 04. 下列关于函数的说法中,正确的是:A. 函数只能在主函数中调用B. 函数可以在任何地方调用C. 函数只能接收一个参数D. 函数不能返回值5. 下列代码中,循环体会执行几次? ```cint i;for(i = 0; i < 5; i++) {printf("%d ", i);}```A. 0次B. 4次D. 6次二、填空题1. C语言中,用于定义常量的关键字是 __________。
2. 下列代码中,空格处应该填入什么值才能使程序输出结果为20?```cint a = 10;int b = __________;printf("%d", a * b);```3. 下列代码中,空格处应该填入什么运算符才能使程序输出结果为1?```cint a = 5;int b = 4;printf("%d", a ________ b);```三、编程题1. 编写一个程序,要求用户输入一个整数n,然后输出1到n之间所有偶数的和。
2. 编写一个函数,实现计算两个整数之间的最大公约数(GCD)的功能,并在主函数中调用该函数。
3. 编写一个程序,定义一个字符串数组,其中有5个元素,每个元素是一个字符串。
然后使用循环输出该数组中所有的字符串内容。
四、综合题1. 下面是一个简化的学生成绩管理程序的代码,有一些错误,请帮助找出并修复错误。
计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。
答案:scanf2. 在C语言中,用于输出的函数是___________。
答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。
答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。
答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。
计算机二级c语言考试真题及答案详解

计算机二级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语言操作试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,错误的是?A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以嵌套定义D. 函数可以递归调用答案:C3. 在C语言中,以下哪个选项是合法的数组声明?A. int a[10];B. int a[2][3];C. int a[2,3];D. int a[];答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:int *p;2. 以下代码段的输出结果是________。
#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:53. C语言中,用于定义一个枚举类型的关键字是________。
答案:enum三、编程题1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("Sum of odd numbers from 1 to 99 is: %d\n", sum); return 0;}```2. 编写一个函数,实现字符串的反转,并在主函数中调用该函数,输出反转后的结果。
#include <stdio.h>#include <string.h>void reverseString(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!";reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机c语言编程题库1、求100之内自然数中最大的能被17整除的数。
void main(){ int i;for(i=100;i>0;i--)if(i%17==0)break;printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。
void main(){int a,b,c;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=1;c<=9;c++)if(a*100+b*10+c+c*100+b*10+a==1333)printf("%d,%d,%d\n",a,b,c);}}}3、计算并输出200-400之间不能被3整除的整数的和。
void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%3!=0)sum=sum+i;printf("%d\n",sum);}4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。
void main(){ int i,n=0,sum=0;int a[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)if(a[i]>=0){ sum=sum+a[i];n++;}printf("非负个数是%d,sum=%d\n",n,sum);}5、求100之内自然数中偶数之和。
void main(){ int i,sum=0;for(i=0;i<=100;i++)if(i%2==0)sum=sum+i;printf("sum=%d\n",sum);}6、输入5个数,求和并输出。
要求编写求和的函数。
void main(){ int b(int x[],int n);int sum=0;int a[5];int i;printf("请输入5个数:");for(i=0;i<5;i++)scanf("%d",&a[i]);sum=b(a,5);printf("sum=%d\n",sum);}int b(int x[],int n){ int i,sum=0;for(i=0;i<5;i++)sum=sum+x[i];return sum; }7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。
void main(){ int i,sum=0;for(i=1;i<=99;i=i+2)sum=sum+i*(i+1)*(i+2);printf("%d\n",sum);}8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。
void main(){ int i,n;char b[20];printf("请输入字符串:");gets(b);n=strlen(b);for(i=0;i<n;i++)if(b[i]=='a')b[i]='*';for(i=0;i<n;i++)printf("%c",b[i]);printf("\n");}9、编写程序,将一个一维数组的元素逆序存放并输出。
例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。
void main(){ int i;int a[5];printf(“请输入5个数:”);for(i=0;i<5;i++)scanf(“%d”,&a[i]);for(i=0;i<2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}for(i=0;i<5;i++)printf("%d ",b[i]);printf("\n");}11、编程判断输入的整数的正负性和奇偶性。
如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出jvoid main(){ int a;printf(“请输入一个数:”);scanf(“%d”,&a);if(a>0)printf("z\n");if(a<0)printf("f\n");if(a%2==0)printf("o\n");if(a%2!=0)printf("j\n");}12、计算并输出1-200之间不能被5整除的整数的和。
void main(){ int i,sum=0;for(i=1;i<=200;i++)if(i%5!=0)sum=sum+i;printf("%d\n",sum);}13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。
void main(){ int i,a,n;long int sum=0,st=0;printf("请输a和n:");scanf("%d%d",&a,&n);for(i=1;i<=n;i++){ st=st+a;sum=sum+st;a=a*10;}printf("%ld\n",sum);}14、输入5个数,求它们中最大值和平均值并输出。
void main(){int a[5];int i,j,max,sum=0;float average;printf("请输入5个数:");for(i=0;i<5;i++)scanf("%d",&a[i]);max=a[0];for(j=0;j<5;j++){sum=sum+a[j];if(max<a[j])max=a[j];}printf("max=%d,average=%f\n",max,average);}15、输出所有200-400之间能被3整除且个位数字为6的整数。
void main(){int i;for(i=200;i<=400;i++)if((i%3==0)&&((i-6)%10==0))printf("%d\n",i);printf("\n");}16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。
void main(){ int i,j,n1;char a[20];printf("请输入字符串:");gets(a);n1=strlen(a);for(i=0;i<n1;i++)if(a[i]!='a')printf("%c",a[i]);printf("\n");}17、计算并输出200-400之间不能被7整除的整数的和。
void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%7!=0)sum=sum+i;printf("sum=%d\n",sum);}18.计算并输出200-400之间不能被5整除的整数的和。
void main(){ int i,sum=0;for(i=200;i<=400;i++)if(i%5!=0)sum=sum+i;printf("sum=%d\n",sum);}19、从键盘输入10个数,统计非正数的个数,并计算非正数的和void main(){ int i,n=0,sum=0;int a[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=0;i<10;i++)if(a[i]<=0){ sum=sum+a[i];n++;}printf("非正个数是%d,sum=%d\n",n,sum);}20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。
void main(){ int i,n;char a[20];printf("请输入字符串:");gets(a);n=strlen(a);for(i=0;i<n;i++)if(a[i]>='A'&&a[i]<='Z')a[i]=a[i]+32;for(i=0;i<n;i++)printf("%c",a[i]);printf("\n");}21、打印所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。
例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。
void main(){ int a,b,c,s;for(a=1;a<=9;a++){for(b=0;b<=9;b++){for(c=0;c<=9;c++)if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c){s=a*100+b*10+c;printf("%d\n",s);}}}}22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。
求当它第10次落地时,共经过了多少米,第10次反弹多高?void main(){ int i;for(i=2;i<=10;i++){sum=sum+2*h;h=h/2;}printf("%f,%f\n",sum,h);}23、输出所有0-200之间能被3整除且个位数字为6的整数。
void main(){int i;for(i=0;i<=200;i++)if((i%3==0)&&((i-6)%10==0))printf("%d\n",i);printf("\n");}24、输入一个正整数,输出它的阶乘。
void main(){ int i,J=1,n=10;printf(“请输入一个正整数:”);scanf(“%d”,&n);for(i=1;i<=n;i++)J=J*i;printf("%d 的阶乘是:%d\n",n,J);}25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。