上海市计算机二级考试(C语言)复习资料题目答案
计算机二级c语言考试题及答案

计算机二级c语言考试题及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.5C. 0x12LD. 0x12.5L答案:A2. 若有以下定义,int a=2, b=3; 则表达式 a++ + b 的值是多少?A. 4B. 5C. 6D. 7答案:B3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:C4. 下面哪个函数不能正确计算数组元素的平均值?A. int average(int arr[], int n) { int sum=0, i; for(i=0; i<n; i++) sum += arr[i]; return sum/n; }B. int average(int arr[], int n) { int sum=0, i; for(i=0; i<n; i++) sum += *(arr+i); return sum/n; }C. int average(int *arr, int n) { int sum=0, i; for(i=0; i<n; i++) sum += arr[i]; return sum/n; }D. int average(int *arr, int n) { int sum=0, i; for(i=0; i<n; i++) sum += *(arr+i); return sum/n; }答案:A5. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. void答案:D6. 若有以下代码片段,int x=10, y=20; 则表达式 x % y 的值是多少?A. 0B. 10C. 20D. 错误答案:B7. C语言中,以下哪个选项是正确的结构体定义?A. struct { int a; float b; } student;B. struct student { int a; float b; };C. struct { int a; float b; } student;D. struct student { int a; float b; } student;答案:B8. 在C语言中,以下哪个选项是正确的函数声明?A. int func();B. void func(int a);C. int func(int);D. void func(int a, int b);答案:C9. 若有以下代码片段,int a=5; 则执行语句 a += (a -= 5); 后,变量 a 的值是多少?A. 0B. 5C. 10D. 15答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B二、程序填空题(每空2分,共20分)1. 请填写以下代码中缺失的部分,以实现计算并输出一个整数的各位数字之和。
计算机二级c语言历年考试题答案

计算机二级c语言历年考试题答案一、单项选择题1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.5C. 0x12.0D. 0x12L答案:A2. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. float答案:A3. 在C语言中,以下哪个选项是正确的数组声明?A. int a[5];B. int a[];C. int a[5][];D. int a[5, 5];答案:A4. 下列哪个选项是C语言中正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function x(int);答案:C5. 在C语言中,以下哪个选项表示的是字符型数据?A. 'a'B. "a"C. 65D. '65'答案:A二、填空题1. 在C语言中,预处理命令`#include`用于______。
答案:包含一个用户自定义的文件或者库文件2. C语言中,`printf`函数用于______。
答案:格式化输出3. C语言中,`scanf`函数用于______。
答案:格式化输入4. C语言中,`sizeof`运算符用于获取______。
答案:变量或类型所占的字节大小5. C语言中,`break`语句用于______。
答案:跳出最近的循环三、编程题1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
计算机二级c语言试题及答案详解

计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。
2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。
3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。
4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。
二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。
三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。
上海市计算机二级考试(C语言)复习资料题目答案

上海理工大学上海市计算机二级考试(C语言)复习资料题目解答第一部份:基础知识1. B2. C3. C4. B5. D6. A7. A8. C9. C 10. A 11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C 21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C 31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B 41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D 51. A 52. C53. (Sqrt( x)+ sqrt( y))/2/( x+ y) or similar54. The "234" is namely the string234 55. B 56.D 57.D 58. B 59.C 60.D61.B 62. D 63.A 64.D 65.C 66.B 67.C 68. D 69. C 70.C 71.A 72.A 73.B 74.B 75.C 76. C 77.C 78.A 79.D 80.B 81.D 82.D 83.C 84.D 85.B 86.D 87.B 88.D 89.B 90.C 91.C 92.B 93.B 94.B 95. N+'0'96.0The x1400 moves is ex-, binary system 00010100 Bs or eight enter the 024 Qs of system97. The first answer 65 ds or 41 hses or a the second answer 1 or not098. 85 99. 14 100. x=-60第二部分读程序,写结果1. 0,2,4,32. 3.1423.84.m/10%10*100+m/100*10+m%105.?uoy_era_woHHwaeyu6.7,37.546568. A the = biggest number, b= is most the fraction9. 110.5,511.1012.1 3 5 7 913. j=0 m=4The first k : 4j=1 m=414.The second k : 515.Count=0, position=0( did not find out)16.0-3017.输出12 14 22 24 32 34,函数s是用插入法对数组a的前n个元素从小到大排序18.输出 2 3 5 7 11 13 函数p的功能是求k(包括k )以内的质数19.输出n=91, a[]=0, 10, 21, 3120.输出Feith21.输出72 56 38 4922.k=523. 124.925.用递归函数实现10->2进制转换第三部分程序改错1.#4 scanf(“%d”,&x);#10 low=m+1#11 high=m-12.#7 scanf(“%c”,&str[i]);#8 break3. #7 x , n#13 n==0#15 x*xn(x,n-1)4. #5 t=t*x/i#15 e=ex(x)5. #4 scanf(%d”,&x);#10 low=m+1#11 high=m-16. #3 fun(str[])#5 while (*(str+num)!=’\0’) num++;#9 char str[10],*p=str;7. #14 flag=0 ;#19 flag=1; i++;8. #3 func(str[])#5 while (*(str+num)!=’\0’) num++;#9 {char str[10],*p=str;9. #5 n=n/10;#6 while (!n);#12 scanf(“%ld”,&n);10. #10 else if (x>a[m]) low=m+1;#11 else high=m-1;11. #6 a=1.0;#8 a/=i;#9 e+=a;12. #6 char *temp;#10 if(strcmp(temp,name[i])>0)#12 printf(“%s \n”, temp );13. #3 str[i]!=’\0’#4 str[i]>= ’0’ && str[i]<=’9’#10 data = data*16 + n;14. #3 int n1=0,n2=0, i;#6 if (str[i]==’#’)#8 if (str[i]>=’0’&&str[i]<=’9’)#9 n2++; }15. #5 i<N#7 sum=max=min=a[0]#12 aver=(float)(sum-max-min)/(N-2)16. #7 scanf(“%c”,&str[i]);#8 break17. #7 x , n#13 n==0#15 x*xn(x,n-1)18. #4 double fun(double eps)#8 while (t>=eps)#13 return (2*s);19. #3 long fun(char *p)#17 num+=p[i]-48;或 num+=p[i]-‘0’;#29 printf(“%ld\n”,n); /* 必须有%ld */20. #9 a[j]<a[i]#15 b[k]>a[j]&&a[j]#18 a[j]=b[k]21. #2 void printcol(int (*p)[N], int row, int col)#6 printf(“\t\t%d\n”,*(*(p+i)+col));#14 } while (col<0||col>N-1);22. #2 …(char *s)#4 (*p) 或…(*p!=0) 或…(*p!='\0’)#9 gets(x);23. #6 t=n%10;#10 n/=10;#11 } while(n); 或 } while (n!=0);24. #4 { for (j=0;j<=20-i;j++)#5 printf(" ");#8 printf("\n");25. #2 char *fun(char *s,char *t)#4 a=0;(或a=NULL;)#8 if (*r ==*p) {r++; p++;}第四部分编程序1. 设有链表结点的结构及变量如下:)struct st{ int num ;struct st *next;};struct st *head, *p1 ,* p2;编写函数create(),是个无参数函数,创建链表,num=0结束,返回指针值,指向首结点head。
全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项都是答案:D2. 下列哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C3. 在C语言中,以下哪个关键字用于定义一个函数?A. ifB. whileC. returnD. void答案:D二、填空题1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 字符串在C语言中是以________字符结尾的字符数组。
答案:'\0'3. C语言中,用于循环结构的关键字有________和________。
答案:for 和 while三、编程题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 even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。
```c#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;}```以上是全国计算机等级考试二级C语言题库及答案的部分内容,涵盖了选择题、填空题和编程题。
上海市c语言二级计算机试题及答案

上海市c语言二级计算机试题及答案高级JAVA软件开发师试题一、选择题(共20题,每题2分,共40分)1. 下面关于Java的说法正确的是:A. Java是一种面向过程的编程语言B. Java是一种编译型语言C. Java可以在任何操作系统上运行D. Java是由Windows操作系统提供的2. 在Java中,下面关于变量的说法正确的是:A. 变量在声明时必须指定数据类型B. 变量可以随意改变其存储的值C. 变量不需要初始化就可以使用D. 变量的命名可以使用任何字符3. 下面关于Java中的循环语句说法正确的是:A. for循环和while循环可以互相替代B. do-while循环至少会执行一次C. continue语句会跳出当前循环D. break语句会结束整个程序的执行4. 在Java中,下面哪个关键字用于定义一个方法:A. voidB. staticC. newD. this5. 下面关于Java中的数组说法正确的是:A. 数组的长度可以在定义后改变B. 数组可以存储不同类型的数据C. 数组可以存储无限多个数据元素D. 数组的下标从0开始6. 在Java中,下面关于面向对象编程的说法正确的是:A. 面向对象编程只有一个特性,即继承B. 封装是面向对象编程的基础特性C. 多态是指一个对象可以拥有多个数据类型D. 接口是指一个类可以继承多个父类7. 下面关于Java中的异常处理说法正确的是:A. Java中的异常是不可避免的错误B. 异常只能通过try-catch语句块来处理C. finally语句块中的代码一定会被执行D. catch语句块可以捕获多个异常8. 在Java中,下面哪个类用于读取用户的输入:A. ScannerB. MathC. StringD. System9. 下面关于Java中的字符串处理说法正确的是:A. String是一个基本数据类型B. 字符串可以使用+操作符进行连接C. String类不能修改已有的字符串D. 字符串的长度可以使用length()方法获取10. 在Java中,以下哪个关键字用于声明一个类:A. intB. classC. voidD. main11. 下面是Java中的一个接口定义,其中哪个关键字没有正确使用:public interface MyInterface {void method1();int method2();}A. publicB. interfaceC. voidD. int12. 在Java中,如何获取数组中的最大值:A. 使用Math类中的max()方法B. 使用Arrays类中的max()方法C. 使用for循环遍历数组D. 使用if-else语句比较每个元素13. 下面是Java中的一个类定义,其中哪个修饰符用于限制类的访问:public class MyClass {private int number;public void setNumber(int number) {this.number = number;}}A. publicB. privateC. voidD. int14. 在Java中,下面关于面向对象中继承的说法正确的是:A. 一个类可以同时继承多个父类B. 子类可以访问父类的私有变量C. 子类可以重写父类的静态方法D. 使用super关键字可以调用父类的构造方法15. 在Java中,以下哪个关键字用于实例化一个对象:A. newB. classC. staticD. void16. 下面关于Java中的文件I/O操作说法正确的是:A. 使用File类可以创建目录B. 使用InputStream类可以写入文件C. 使用FileReader类可以读取二进制文件D. 使用OutputStream类可以读取文本文件17. 在Java中,下面哪个关键字用于在方法中定义常量:A. finalB. staticC. privateD. public18. 下面关于Java中的日期时间处理说法正确的是:A. 使用Date类可以获取当前的日期和时间B. 使用DateFormat类可以格式化日期和时间C. 使用Calendar类可以进行日期的加减运算D. 使用Time类可以获取当前的时间戳19. 在Java中,下面关于线程的说法正确的是:A. 一个进程可以包含多个线程B. 线程是进程的一部分C. 线程一定会按照先后顺序执行D. 使用start()方法可以创建一个新的线程20. 在Java中,以下哪个关键字用于退出当前的循环:A. continueB. returnC. breakD. exit二、编程题(共3题,每题20分,共60分)1. 现有一个整型数组arr,数组中的元素为1、2、3、4、5,请使用循环语句将数组中的元素依次输出。
计算机二级c语言.考试题库及答案

计算机二级c语言.考试题库及答案一、单项选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释 */答案:B3. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D4. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 以下哪个函数可以用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. voidC. intD. return答案:C8. C语言中,以下哪个选项是正确的数组声明方式?A. int array[5];B. int array[];C. int array[5] = {0};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的字符串声明方式?A. char str[] = "Hello";B. char str[10] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. All of the above答案:D10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共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语言)复习资料题目C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。
本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。
第一部份:基础知识1. 下述循环的循环次数是(B)int k=2;while(k=0)printf("%d",k);k--;printf("\n");A、无限次B、0次C、1次D、2次2. 在下列选项中,没有构成死循环的程序段是(C)A、int i=100;B、for(;;)while(1){i=i%100+1;if(i>100)break;}C、int k=1000;D、int s=36;do {++k;} while(k>=10000);while(s);--s;3. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是(C)int a[]={0,1,2,3,4,5,6,7,8,9},*p,i;p=a;A、*(a+i)B、a[p-a]C、p+iD、*(&a[i])4. 下面能正确将字符串"Boy"进行完整赋值操作的语句是(B)A、char s[3]={'B','o','y'};B、char s[ ]="Boy";C、char s[3]={"Boy"};D、char s[3];s[0]='B';s[1]='o';s[2]='y';5. 以下程序段的输出结果是(D )char arr[ ]="ABCD";char*ptr;for(ptr=arr;ptr<arr+4;ptr++)printf("%s\n",ptr);A、ABCDB、AC、DD、ABCDBCDCDD6. C语言的auto型变量是(A)A、存储在动态存储区中。
计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,用于输入输出的库函数是?A. math.hB. stdio.hC. string.hD. conio.h答案:B4. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,用于定义一个字符型变量的关键字是?A. intB. charC. floatD. double答案:B7. 在C语言中,哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B8. 下列哪个选项是C语言中的条件语句?A. ifB. switchC. forD. while答案:A9. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. int[]答案:D10. C语言中,用于定义一个浮点型变量的关键字是?A. intB. floatC. doubleD. char答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示“逻辑与”的运算符是________。
答案:&&2. C语言中,表示“逻辑或”的运算符是________。
答案:||3. C语言中,表示“非”的逻辑运算符是________。
答案:!4. 在C语言中,表示“大于等于”的比较运算符是________。
答案:>=5. C语言中,表示“小于等于”的比较运算符是________。
计算机二级c语言考试题答案

计算机二级c语言考试题答案一、选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. floatD. array答案:A、C2. 以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. ifD. for答案:B二、填空题1. 在C语言中,用于定义一个整型变量的关键字是______。
答案:int2. 字符串在C语言中是以______字符结尾的字符数组。
答案:'\0'3. 在C语言中,用于循环结构的关键字有for、while和______。
答案:do-while三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```2. 编写一个C语言函数,实现两个整数的交换。
```c#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int x = 10, y = 20;swap(&x, &y);printf("x = %d, y = %d\n", x, y); return 0;}```。
上海计算机二级c语言

C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1 分,共 10 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 下列C语言的标识符中,合法的标识符为____________答案: CA. #starB. 1234C. _a100D. 9circuit2. 若已定义: int x;则表达式 ((x=4*5,x*5),x+25) 的值是 ______ 。
答案: DA. 20B. 100C. 125D. 453. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句: scanf(“x=%d, y=%f”,&x,&y,); 时,正确的键盘输入是 ______ 。
答案:A. 55 55.5↙B. x=55, y=55.5↙C. 55↙55.5↙D. x=55↙y=55.5↙4. 若有说明语句:int x=10,y=20,z=30;则执行语句:if(x>y) z=x; x=y; y=z; printf(“%d,%d,%d”,x,y,z); 后,输出是____________答案:A. 10,20,30B. 20,30,10C. 20,30,30D. 20,30,205. 程序段:int num=0;while(num<=2)printf(“%d ,”,num++);的运行结果是_______________答案:A. 0,1,B. 1,2,C. 0,1,2,D. 1,2,3,6. 若有说明:int a[3][4],s; ,则对数组a的元素引用错误的是____________答案:A. s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[i][j];B. s=0; for(j=0;j<4;j++) for(i=0;i<3;i++) s+=a[i][j];C. s=0; for(i=0;i<4;i++) for(j=0;j<3;j++) s+=a[j][i];D. s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[j][i];7. 若用数组名作为函数调用时的实参,则实际上传递给形参的是____________答案:A. 数组首地址B. 数组的第一个元素的值C. 数组中全部元素的值D. 数组中的元素个数8. 若有定义:int i,j,*pi=&i; 则与i==j等价的比较表达式是____________答案:A. i==*piB. *pi ==*&jC. i==&jD. i==**pi9. 若有定义:struct person{int id ;char name[20];} per,*s=&per;则以下对结构体成员的引用中错误的是____________答案:A. B. s->name[0]C. (*per).name[8]D. (*s).id10. 若有以下语句:char x=3,y=6,z; z=y^x<<2;则z的二进制值是________________答案:A. 00011011B. 00001010C. 00011100D. 00001100二、填空题 ( 本大题 7 道小题,每空 2 分,共 14 分)。
全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案一、选择题1. 下列关于C语言中变量的叙述中,正确的是()。
A. 变量名可以以数字开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名不能包含特殊字符答案:C2. C语言中,以下哪个选项是合法的整型常量?()A. 0x12B. 0x1.2C. 0x1.2e3D. 0x1.2f答案:A3. 在C语言中,以下哪个选项是合法的字符常量?()A. 'ab'B. '65'C. '\t'D. '\n'答案:C4. C语言中,以下哪个选项是合法的浮点型常量?()A. 3.14e2B. 3.14eC. 3.14ED. 3.14E+答案:A5. 在C语言中,以下哪个选项是合法的字符串常量?()A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!" 'a'D. "Hello, World!" "a"答案:A6. 在C语言中,以下哪个选项是合法的数组声明?()A. int a[5];B. int a[];C. int a[5] = {1, 2, 3, 4, 5};D. int a = {1, 2, 3, 4, 5};答案:C7. 在C语言中,以下哪个选项是合法的函数声明?()A. int f();B. int f(int a);C. int f(int);D. int f(int a, int b);答案:C8. 在C语言中,以下哪个选项是合法的指针声明?()A. int *p;B. int *p[];C. int *p[5];D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环结构?()A. for(;;)B. while(1)C. do { } while(0)D. A、B和C都是答案:D10. 在C语言中,以下哪个选项是合法的条件语句?()A. if (x > 0)B. if (x > 0) { }C. if (x > 0) { } else { }D. A、B和C都是答案:D二、填空题1. C语言中,整型常量可以用()或()表示。
计算机二级题库及答案c语言考试

计算机二级题库及答案c语言考试一、选择题1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 0.123C. 1.2E3D. 0123答案:A2. 若有以下变量定义:```cint a = 10;float b = 12.5;```则以下哪个表达式的值是正确的?A. a + bB. a * bC. a / bD. a % b答案:A3. 下列哪个选项不是C语言中的关键字?A. intB. floatC. autoD. void答案:B4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!"答案:A5. 若有以下函数定义:```cint max(int x, int y) {return x > y ? x : y;}```则调用该函数时,以下哪个选项是正确的?A. max(5, 3)B. max("5", "3")C. max(5.0, 3.0)D. max(5, '3')答案:A二、填空题1. 在C语言中,声明一个字符数组时,数组的大小必须______。
答案:指定2. 若定义一个指针变量p指向一个整型变量a,则p的类型应该是______。
答案:int*3. 在C语言中,使用______关键字可以定义一个静态局部变量。
答案:static4. 在C语言中,若要打开一个文件进行写操作,应该使用______函数。
答案:fopen5. 在C语言中,若要将一个字符串复制到另一个字符串中,可以使用______函数。
答案:strcpy三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("The sum of even numbers within 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现两个整数的交换。
计算机二级c语言考试及答案

计算机二级c语言考试及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A3. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0x12.5C. 1.2e3D. 0x12L答案:A4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[2][3];B. int a[][];C. int a[2][];D. int a[3,2];答案:A6. C语言中,以下哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D7. 在C语言中,以下哪个选项是正确的字符常量?A. 'a'B. "a"C. '123'D. "123"答案:A8. C语言中,以下哪个选项是正确的循环结构?A. forB. whenC. untilD. repeat答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. open()C. file()D. create()答案:A10. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. typedefC. unionD. struct答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float 或 double3. C语言中,用于定义一个字符型变量的关键字是________。
上海计算机考试二级c试题及答案

上海计算机考试二级c试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都正确答案:D3. 在C语言中,以下哪个选项是合法的变量名?()A. 2variableB. _variableC. variable2D. variable-2答案:C4. 下列关于C语言数组的描述,错误的是()。
A. 数组可以是多维的B. 数组的元素类型必须相同C. 数组的大小在定义时必须确定D. 数组的下标从0开始答案:D5. 在C语言中,以下哪个语句用于结束一个程序的执行?()A. breakB. continueC. exitD. return答案:C6. C语言中,用于声明一个整型变量的关键字是()。
A. intB. floatC. charD. double答案:A7. 在C语言中,以下哪个选项是正确的字符串声明方式?()A. char str[] = "Hello, World!";B. char str[12] = "Hello, World!";C. char str[] = {"Hello, World!"};D. char str[12] = {"Hello, World!"};答案:A8. 下列关于C语言指针的描述,正确的是()。
A. 指针可以存储任何类型的数据B. 指针变量的值是它所指向的变量的地址C. 指针不能被初始化为NULLD. 指针可以存储函数的地址答案:B9. 在C语言中,以下哪个选项是合法的宏定义?()A. #define PI 3.14159B. #define PI 3.14159,C. #define PI 3.14159D. #define PI(3.14159)答案:A10. C语言中,以下哪个选项是正确的文件包含指令?()A. <stdio.h>B. "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:C二、填空题(每题2分,共10分)1. 在C语言中,一个整型变量占用的内存大小是______个字节。
计算机二级考试c语言真题答案

计算机二级考试c语言真题答案一、单项选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. stringC. floatD. bool答案:A2. 下列哪个函数用于计算数组元素的平均值?A. max()B. min()C. average()D. sum()答案:C3. 在C语言中,以下哪个关键字用于声明一个函数?A. classB. functionC. structD. void答案:D二、程序填空题请在以下程序中填入正确的代码片段,以实现计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int main() {int array[] = {3, 7, 2, 9, 5, 8};int max_value = array[0];for (int i = 1; i < sizeof(array) / sizeof(array[0]); i++) {if (array[i] > max_value) {max_value = array[i];}}printf("The maximum value is: %d\n", max_value);return 0;}```三、程序改错题以下程序中存在错误,请找出并修正错误,使程序能够正确计算并输出一个整数的平方。
```c#include <stdio.h>int main() {int number = 5;int square = number * number;printf("The square of %d is %d.\n", number, square);return 0;}```错误:无错误,程序正确。
四、编程题编写一个C语言程序,实现以下功能:从键盘输入一个字符串,然后输出该字符串的逆序。
```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("Enter a string: ");scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海理工大学上海市计算机二级考试(C语言)复习资料题目解答第一部份:基础知识1. B2. C3. C4. B5. D6. A7. A8. C9. C 10. A 11. C 12. A13. B 14. B 15. C 16. B 17. D 18.B 19. A20. C 21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C 31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B 41. C 42. B 43. C 44. B 45. B 46. A47. D 48. D 49. D 50. D 51. A52. C53. (Sqrt( x)+ sqrt( y))/2/( x+ y) or similar54. The "234" is namely the string234 55. B 56.D 57.D 58. B 59.C 60.D61.B 62. D 63.A 64.D 65.C 66.B 67.C 68. D 69. C 70.C 71.A 72.A 73.B 74.B 75.C 76. C 77.C 78.A 79.D 80.B 81.D 82.D 83.C 84.D 85.B 86.D 87.B 88.D 89.B 90.C 91.C 92.B 93.B 94.B 95. N+'0'96.0The x1400 moves is ex-, binary system 00010100 Bs or eight enter the 024 Qs of system97. The first answer 65 ds or 41 hses or a the second answer 1 or not098. 85 99. 14 100. x=-60第二部分读程序,写结果1. 0,2,4,32. 3.1423.84.m/10%10*100+m/100*10+m%105.?uoy_era_woHHwaeyu6.7,37.546568.A the = biggest number, b= is most the fraction9. 110.5,511.987654321012.1 3 5 7 913. j=0 m=4The first k : 4j=1 m=414.The second k : 515.Count=0, position=0( did not find out)16.0-3017.输出12 14 22 24 32 34,函数s是用插入法对数组a的前n个元素从小到大排序18.输出 2 3 5 7 11 13 函数p的功能是求k(包括k )以内的质数19.输出n=91, a[]=0, 10, 21, 3120.输出Feith21.输出72 56 38 4922.8181818123.k=524. 125.926.用递归函数实现10->2进制转换第三部分程序改错1.#4 scanf(“%d”,&x);#10 low=m+1#11 high=m-12.#7 scanf(“%c”,&str[i]);#8 break3. #7 x , n#13 n==0#15 x*xn(x,n-1)4. #5 t=t*x/i#15 e=ex(x)5. #4 scanf(%d”,&x);#10 low=m+1#11 high=m-16. #3 fun(str[])#5 while (*(str+num)!=’\0’) num++;#9 char str[10],*p=str;7. #14 flag=0 ;#19 flag=1; i++;8. #3 func(str[])#5 while (*(str+num)!=’\0’) num++;#9 {char str[10],*p=str;9. #5 n=n/10;#6 while (!n);#12 scanf(“%ld”,&n);10. #10 else if (x>a[m]) low=m+1;#11 else high=m-1;11. #6 a=1.0;#8 a/=i;#9 e+=a;12. #6 char *temp;#10 if(strcmp(temp,name[i])>0)#12 printf(“%s \n”, temp );13. #3 str[i]!=’\0’#4 str[i]>= ’0’ && str[i]<=’9’#10 data = data*16 + n;14. #3 int n1=0,n2=0, i;#6 if (str[i]==’#’)#8 if (str[i]>=’0’&&str[i]<=’9’)#9 n2++; }15. #5 i<N#7 sum=max=min=a[0]#12 aver=(float)(sum-max-min)/(N-2)16. #7 scanf(“%c”,&str[i]);#8 break17. #7 x , n#13 n==0#15 x*xn(x,n-1)18. #4 double fun(double eps)#8 while (t>=eps)#13 return (2*s);19. #3 long fun(char *p)#17 num+=p[i]-48;或 num+=p[i]-‘0’;#29 printf(“%ld\n”,n); /* 必须有%ld */20. #9 a[j]<a[i]#15 b[k]>a[j]&&a[j]#18 a[j]=b[k]21. #2 void printcol(int (*p)[N], int row, int col)#6 printf(“\t\t%d\n”,*(*(p+i)+col));#14 } while (col<0||col>N-1);22. #2 …(char *s)#4 (*p) 或…(*p!=0) 或…(*p!='\0’)#9 gets(x);23. #6 t=n%10;#10 n/=10;#11 } while(n); 或 } while (n!=0);24. #4 { for (j=0;j<=20-i;j++)#5 printf(" ");#8 printf("\n");25. #2 char *fun(char *s,char *t)#4 a=0;(或a=NULL;)#8 if (*r ==*p) {r++; p++;}第四部分编程序1. 设有链表结点的结构及变量如下:)struct st{ int num ;struct st *next;};struct st *head, *p1 ,* p2;编写函数create(),是个无参数函数,创建链表,num=0结束,返回指针值,指向首结点head。
#define NULL 0#define LEN sizeof(struct st)struct st{ int num;struct st *next;};int n=0;struct st *creat(){ struct st *head, *p1,*p2;p1=p2=(struct st *)malloc(LEN);scanf("%u,%d",&p1->num,&p1->score);head=NULL;while (p1->num!=0){ n=n+1;if (n==1) head=p1;else p2->next=p1;p2=p1;p1=(struct st *)malloc(LEN);scanf("%u,%d",&p1->num,&p1->score);}p2->next=NULL;return (head);}2. 对N个数据,降序排列并输出#define N 10main(){ int a[N]={1,5,0,3,-6,9,-8,7,2,4};int i,j,t;for (i=0;i<N-1;i++)for (j=i;j<N;j++)if (a[i]<a[j]){ t=a[i]; a[i]=a[j];a[j]=t;}for (i=0;i<N;i++)printf("%3d",a[i]);}3. 有二维数组如下1 2 3 45 6 7 89 10 11 12现要求输入某元素所在的行和列,将其后的所有元素输出,必须用指针技术编程。
例如,输入2 ,3 表示从第二行第三列元素7开始输出其余元素7 8 9 10 11 12main(){ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int *p,i,j;scanf("%d%d",&i,&j);p=&a[i-1][j-1];for (;p<&a[0][0]+12;p++)printf("%5d",*p);}4. 将一个磁盘文件的数据读到一个链表中去,队列或堆栈不论。
要求如下:●磁盘文件放在A盘的一级目录(即一级子文件夹)abc下,文件名是flile.dat●链表结点的结构为struct node{ char val;strct node *next;}工作用的指针名为 h 和 p#include <stdio.h>#include <string.h>struct node{ char val;struct node *next;};struct node *create(FILE *fp){ struct node *p,*h;char d;h=NULL;fp=fopen("a:\\abc\\file.dat","r");while (!feof(fp)){ fread(&d,2,1,fp);p=(struct node *)malloc(sizeof(struct node));p->val=d;p->next=h;h=p;}fclose(fp);printf("\n");printlk(h);return h;}printlk(struct node *h){ struct node *p;printf("print link...\n");p=h;while (p){ printf("%c",p->val);p=p->next;}}main(){ struct node *h,*p;FILE *fp;fp=fopen("rd_data","r");if (fp==NULL){ printf("read data error!\n"); exit(0);}h=create(fp);printlk(h);exit(0);}5.试写一个函数(函数名为f),以十进制正整数n为整型参数,函数的返回值是n的位数(例:278是三位数)。