上海市计算机二级考试(C语言)复习资料题目
main() { int i, k, a[10], p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf("%d\n",k); } A)20 B)21 C)22 43. 下面程序的运行结果是( ) main() { char ch[7]={"65ab21"}; int i,s=0; for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); } A)12ba56 B)6521 C)6 44. 以下程序运行后的结果是( )。 main() { char s[]="12345678"; int v[4]={0,1,1,0},k,i; for (k=0; s[k];k++) {switch (s[k]) {case'1': i=0; case'2': i=1; case'3': i=2; case'4': i=3; } v[i]++; }
第一部份:基础知识
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+i D、*(&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、ABCD B、 A C、 D D、 ABCD BCD CD D 6. C 语言的 auto 型变量是(A)
A)1 B)2 C)3 ) D)6 41. 判断 char 型变量 ch 是否为大写字母的正确表达式 (
A) ’A’<=ch<=’Z’ C) (ch >= ‘A’)&&(ch <=’Z’) 42. 以下程序的输出结果是 ( )
B) (ch>=’A’)and (ch <=’z’) D) (‘A’<=ch )||(‘Z’>=ch)
中慧教育伴您考试顺利!
D)循环结构
。 D)p+1 D) 7DH D) ”\0” D) 空格
printf( "k=%d\n",k ); } 27. 设有如下定义:int x=l,y=-1; ,则语句:printf("%d\n",(x--&++y));的输出结果是( ) A)1 B)0 C)-1 28. C 语言规定,函数返回值的类型是由 。 A) return 语句中的表达式类型所决定 B) 调用函数时的主调函数类型所决定 C) 调用函数时系统临时决定 D) 在定义该函数时所指定的函数类型所决定 29. 下列定义中,不是指针数组定义的是 。 A)int *p[5]; B)float *q[4]; C)int (*r)[6]; 30. 以下程序运行结果为__________ #define PT main() #define S(x) 3.5 PT*x*x D)2 A)k=3 B)k=4 C)k=2 D)k=0
A)ptr 是指向一维数组的指针变量
B)ptr 是指向 int 型数据的指针变量
C)ptr 是指向函数的指针,该函数返回一个 int 型数据 D)ptr 是一个函数名,该函数的返回值是指向 int 型数据的指针 36. 设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[3]=a, *p = a[0]; A)*(*ptr+1)[2] 则以下能够正确表示数组元素 a[1][2]的表达式的是( B)*(*(p+5)) )
D)char *w[7];
{ int a=1, b=2; } A)14.0 main()
printf("%4.1f\n",S(a+b)); B)31.5 C)7.5 D)10.5
31. 下面程序输出结果是( ) { char a[]="ABCDEFG", k, *p; printf("%s\n", a);
fun(a, 0, 2); fun(a, 4, 6);
}
fun(char *s, int p1, int p2) { char c; while(p1<p2)
{c=s[p1]; s[p1]=s[p2]; } s[p2]=c; p1++; p2--;
} A)ABCDEFG main() { int a=1,i;
B)DEFGABC
C)GFEDCBA
D)CBADGFE
32. 以下程序的输出结果是( )
for(i=0;i<4;i++) printf("%d",func(a)); } func(a) int a;
中慧教育伴您考试顺利!
{ int b=0; static int c=1; b++;c++; return(a+b+c); } A)4444 main() B)4455 C)4567 D)5678
中慧教育伴您考试顺利!
A、存储在动态存储区中。 B、存储在静态存储区中。 C、存储在计算机 CPU 的寄存器中。 D、存储在外存储器中。 7. 测试文件是否结束函数的函数名是(A) A、feof B、EOF C、eof D、FEOF 8. 下面程序段的输出结果是(C) int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4]; p=a; printf(“%d\n”,*(*(p)+2)); A、1 B、5 C、 3 D、7 9. C 语言规定:在一个源程序中,main 函数的位置是(C) A、必须在最开始 B、必须在系统调用的函数的后面 C、可以任意 D、必须在最后 10. 一个 C 程序的执行是从(A) A、 本程序的 main 函数开始,到 main 函数结束 B、本程序的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的 main 函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序 main 函数结束 11. 下面的四个选项中,均是不合法的用户标识符的选项是() A、A B、float C、b-a D、_123 P_0 la0 goto temp do _A int INT 12. 下面四个选项中,均是合法转义字符的选项是() A、’\’’ B、’\’ C、’\018’ D、’\\0’ ‘\\’ ‘\017’ ‘\f’ ‘\101’ ‘\n’ ‘\”’ ‘xab’ ‘x1f’ 13. sizeof(float)是() A、一个双精度型的表达式 B、一个整型表达式 C、一种函数调用 D、一个不合法的表达式 14. 下述循环的循环次数是() int k=2; while(k=0)printf("%d",k) ; k--;printf("\n") ; A、无限次 B、0 次 C、 1 次 D、 2 次 15. 若有以下定义和语句,且 0<=i<10,则对数组元素的错误引用是() 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+i D、*(&a[i]) 16. 若二维数组 a 有 m 列,则在 a[i][j]前的元素个数为() A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1 17. 对两个数组 a 和 b 进行如下初始化 char a[ ]=”ABCDEF”; char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’};
33. 执行下面的程序后, y 的值是__________ { int a[]={2,4,6,8,10}; int y=1, x, *p=a+1; for( x=0; x<3; x++ ) y+=*(p+x); } A)17 printf( "%d\n", y ); B)18
最新上海市高等学校计算机等级考试试卷二级c语言程序设计汇总
最新上海市高等学校计算机等级考试试卷二级c语言程序设计汇总2010年上海市高等学校计算机等级考试试卷二级C语言程序设计2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案:DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
A. 2B. 1D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10){case 6: printf("@");break;case 5: printf("#");default: printf("$");}答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
全国计算机等级考试二级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语言程序设计(B卷)
上海市⾼等学校计算机等级考试试卷⼆级C语⾔程序设计(B卷)上海市⾼等学校计算机等级考试试卷⼆级 C语⾔程序设计( B 卷)⼀、单选题1. 下列C语⾔的标识符中,不合法的标识符为____________A. starB. 1234C. _a100D. circuit92. 若已定义: int x=10;则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。
A. 20B. 45C. 125D. 353. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执⾏语句: scanf(“%d, %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=25,y=20,z=30;则执⾏语句:if(x>y) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________A. 25,20,30B. 30,30,25C. 25,30,30D. 25,30,255. 程序段:int num=2;while(num)printf(“%d ,”,num--);的运⾏结果是_______________A. 2,1,B. 2,1C. 2,1,06. 若有说明: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[i][j];7. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。
计算机二级c语言考试题库和答案
计算机二级c语言考试题库和答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12U答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello"B. 'Hello'C. "Hello", "World"D. 'Hello', 'World'答案:A3. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. _variableD. variable-2答案:B4. 在C语言中,以下哪个选项是正确的浮点型常量?A. 3.14E2B. 3.14e-2C. 3.14ED. 3.14e答案:B5. 下列哪个选项是C语言中的保留字?A. defineB. sizeofC. includeD. myFunction答案:B6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. int myFunction(int x);D. All of the above答案:D9. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = 0;D. All of the above答案:D11. 下列哪个选项是C语言中的循环结构?A. forB. whileC. do-whileD. All of the above答案:D12. 在C语言中,以下哪个选项是正确的条件语句?A. ifC. if-elseD. All of the above答案:D13. 下列哪个选项是C语言中的输入输出函数?A. printf()B. scanf()C. Both A and BD. None of the above答案:C14. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;B. struct myStruct {int a;float b;};C. Both A and BD. None of the above答案:C15. 下列哪个选项是C语言中的动态内存分配函数?A. malloc()B. calloc()C. realloc()D. All of the above答案:D16. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. Both A and BD. None of the above答案:C17. 下列哪个选项是C语言中的联合体声明?A. union {int a;float b;} myUnion;B. union myUnion {int a;float b;};C. Both A and BD. None of the above答案:C18. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. const double PI = 3.14;C. Both A and BD. None of the above答案:A19. 下列哪个选项是C语言中的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C20. 在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. void printNumbers(int n);C. int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}D. All of the above答案:D二、填空题(每题2分,共20分)21. 在C语言中,`sizeof`运算符用于获取______的字节大小。
上海市计算机二级考试(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语言考试真题
1单选设有定义int a[10]; 则合法数组元素的下标范围为_0~9_____设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___20,30,30_____ if ( x>y ) z=x;x=y; y=z;printf("%d,%d,%d",x, y, z );执行下列语句序列后,不可能出现的运行结果是________ int n;scanf( "%d", &n);switch ( n ){case 1:case 2: putchar('X');case 3:case 4: putchar('Y'); break;default: putchar('Z');}2填空设有以下程序段,则执行完该程序段后,变量 i 的值是________ int i;char s[]="Hello!", *p=s;for( i=0; *(p+i)!='\0';i++ );阅读以下程序并写出运行结果___________ #include <stdio.h>main(){int k,n=0;for ( k=1; k<=1000; k++ )if ( k%3==0 && k%5==0 ){printf( "%d ", k );n++;if ( n==3 ) break;}}3程序填空以下程序输入n和n个大于1的正整数,输出其中素数。
如输入:5 19 93 11 37 15则输出:19 11 37例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数#include <stdio.h>void main(){int n, a, i, j, ct;scanf( "%d", &n );for ( i=0; ____(1)____; i++ ){______(2)______;scanf( "%d", &a );for( j=2; j<a; j++ )if ( ____(3)____ )ct++;if ( ct==0 )printf( "%d ", a );}printf( "\n" );}以下程序从文件“student.txt”读取学生的学号、姓名、平时成绩和考试成绩,再从键盘上输入一个成绩,将所有考试成绩达到或超过该成绩的学生数据写到新的文本文件“studentD.txt”。
上海计算机考试二级c试题及答案
上海计算机考试二级c试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 1.2e3C. 0123D. 0b1010答案:A2. 若有定义:int a=5; 则表达式a+=a-=a*=a的值是多少?A. 0B. 10C. 15D. 25答案:A3. 下列哪个选项不是C语言中的关键字?A. intB. autoC. caseD. define答案:D4. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp5. 若有以下代码段:```cint x=10;printf("%d", ++x);```输出结果是多少?A. 10B. 11C. 9D. 8答案:B6. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[2,3];B. int a[2][3];C. int a[][];D. int a[2][];答案:B7. C语言中,以下哪个选项是正确的函数声明?A. int func();B. int func(void);C. int func(int x);D. All of the above答案:D8. 在C语言中,以下哪个选项不是合法的变量名?A. _nameB. 2namesD. All of the above答案:B9. 下列哪个选项是C语言中正确的注释方式?A. // This is a commentB. /* This is a comment */C. Both A and BD. None of the above答案:C10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int age;char name[20];} person;B. struct person {int age;char name[20];};C. Both A and BD. None of the above答案:C二、填空题(每空2分,共20分)1. 在C语言中,使用________关键字可以定义一个枚举类型。
计算机c语言二级考试样卷及答案
计算机c语言二级考试样卷及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C2. C语言中,哪个关键字用于声明一个函数?A. classB. functionC. voidD. int答案:D3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello";D. string str = "Hello";答案:C4. 下列哪个选项表示C语言中的逻辑或运算?A. &&B. ||C. ||D. &答案:B5. C语言中,哪个函数用于计算数组的元素个数?A. sizeofB. countC. lengthD. size答案:A6. 在C语言中,哪个关键字用于跳过当前循环的迭代?A. continueB. breakC. returnD. exit答案:A7. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 0x1A.5C. 1.5e2D. 1e2答案:A8. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat答案:A9. 在C语言中,哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A10. 下列哪个选项是C语言中正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A11. C语言中,哪个函数用于打开一个文件?A. fopenB. openC. readD. write答案:A12. 在C语言中,哪个关键字用于声明一个指针?A. ptrB. pointerC. refD. *答案:D13. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. .14C. 3e3.14D. 314.答案:A14. C语言中,哪个函数用于计算字符串的长度?A. strlenB. strlengthC. lengthD. size答案:A15. 在C语言中,哪个关键字用于声明一个全局变量?A. globalB. externC. staticD. auto答案:B16. 下列哪个选项是C语言中正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function(x);答案:C17. C语言中,哪个函数用于动态分配内存?A. mallocB. callocC. reallocD. free答案:A18. 在C语言中,哪个关键字用于声明一个枚举类型?A. enumB. listC. setD. flag答案:A19. 下列哪个选项是C语言中正确的单行注释?A. /* This is a comment */B. // This is a commentC. # This is a commentD. % This is a comment答案:B20. C语言中,哪个函数用于释放动态分配的内存?A. mallocB. callocC. reallocD. free答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个宏的预处理指令是 #define 。
上海市c语言二级计算机试题及答案
上海市c语言二级计算机试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a, b;B. int a; b;C. int a; int b;D. int a, b;答案:D3. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D4. 在C语言中,以下哪个函数用于将字符串从源复制到目标?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:A5. 下列哪个选项是正确的C语言函数定义?A. int function(int x) { return x; }B. int function(int x) { return x; }C. int function(int x) { return x; }D. int function(int x) { return x; }答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B7. 下列哪个选项是正确的C语言数组声明?A. int array[5];B. int array[];C. int [5] array;D. int array;答案:A8. 在C语言中,以下哪个关键字用于声明一个指针?A. *B. &C. %D. #答案:A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcpy()B. strcat()C. strcmp()D. strlen()答案:D10. 下列哪个选项是正确的C语言函数返回类型声明?A. void function()B. int function()C. function()D. void function答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个函数。
