2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word
上海市高等学校计算机等级考试(二级)《C程序设计》考试大纲
上海市高等学校计算机等级考试(二级)《C程序设计》考试大纲(2010年修订)一、考试性质上海市高等学校计算机等级考试是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算机应用基础知识教学水平和教学质量的重要依据之一。
该项考试旨在规范和加强上海高校非计算机专业的计算机教学工作,提高非计算机专业学生的计算机应用能力。
考试对象主要是上海高等学校非计算机专业学生,考试每年举行一次,当年的十月下旬、十一月上旬的星期六或星期日。
凡考试成绩达到合格者或优秀者,由上海市教育委员会颁发相应的证书.本考试由上海市教育委员会统一领导,聘请有关专家组成考试委员会,委托上海市教育考试院组织实施。
二、考试目标C语言是当前常用的一种简洁、高效、功能丰富的程序设计语言,是理工科大学生学习计算机编程能力、理解计算机解决问题的方法的重要工具。
学生通过该课程的学习,应能了解、掌握C语言的语法和使用它进行编程的方法,并能上机调试运行解决简单实际问题。
《C程序设计》的考试目标是测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力。
三、考试细则考试采用基于网络环境的无纸化上机考试系统。
考试时间为120分钟。
试卷总分为100分。
试题由四部分组成:单选题、程序调试题、程序填空题和综合编程题。
试卷从局域网的服务器下载、考试结果上传到服务器,若不按照要求上传到服务器,则考试无效.考试阅卷采用机器和人工相结合的网上阅卷方式。
六、几点说明(一)建议学时数48-64学时,其中16-32学时为实验课(二)建议考试对象理、工、农、医专业类非计算机专业本科生(三)建议计算机配置计算机硬件基本要求:中央处理器Pentium III 550MGHz以上内存 128MB以上硬盘 20GB以上计算机软件基本要求:操作系统 Windows 2000及以上编程环境中文Microsoft Visual C++ 6.0(四)考试环境安装并使用“上海市高校计算机等级考试通用平台”进行考试。
c语言考试题及答案2019计算机二级
c语言考试题及答案2019计算机二级一、选择题1.以下关于C语言的描述中,哪一项是错误的?A. C语言是一种面向过程的编程语言。
B. C语言是一种高级语言。
C. C语言开发了一些重要的编程概念,例如指针和结构体。
D. C语言可以直接操作计算机硬件。
答案:B2.在C语言中,下列哪个是合法的标识符?A. 1variableB. _variableC. my-variableD. variable#答案:B3.以下哪个是在C语言中输出字符的函数?A. scanfB. printfC. gets答案:B4.在C语言中,以下哪个是逻辑运算符?A. &B. +C. *D. /答案:A5.以下哪个关键字用于在C语言中定义常量?A. intB. constC. voidD. static答案:B二、填空题1.在C语言中,使用关键字_______可以定义一个整型变量。
答案:int2.在C语言中,使用符号_______表示“取地址”操作。
3.在C语言中,使用符号_______表示“取值”操作。
答案:*4.在C语言中,_______运算符可以用于判断两个值是否相等。
答案:==5.在C语言中,使用关键字_______可以定义一个字符型变量。
答案:char三、编程题1.编写一个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;}```2.编写一个C语言程序,找出一个整数数组中的最大值,并将最大值打印出来。
```c#include <stdio.h>int main(){int arr[] = {1, 5, 3, 7, 9, 2};int size = sizeof(arr) / sizeof(arr[0]);int max = arr[0];for (int i = 1; i < size; i++){if (arr[i] > max){max = arr[i];}}printf("最大值为:%d\n", max);return 0;}```四、简答题1.请简要解释一下C语言中的指针的概念。
上海市高等学校计算机等级考试试卷二级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. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。
2019年3月计算机二级c语言试题及详细解答答案9页word文档
2019 年3 月全国计算机等级考试二级C 语言真题(考试时间90 分钟,满分100 分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25 个节点,其中5 个时子节点,那么度为1 的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD 图D、数据流图(DFD 图)211、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C 语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C 程序可以包含多个不同名的函数B、一个C 程序只能有一个主函数C、C 程序在书写时,有严格的缩进要求,否则不能编译通过D、C 程序的主函数必须用main 作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2).若要为变量ch1 和ch2 分别输入字符A 和B,正确的输入形式应该是A、A 和B 之间用逗号间隔B、A 和B 之间不能有任何间隔符C、A 和B 之间可以用回车间隔D、A 和B 之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main()Int A=0,B=0,C=0.C=(A=A5).(A=B,B+=4).Printf(“%d, %d, %d\n”,A,B,C)程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++. printf((“%d\n”,x).B、n=++x. printf((“%d\n”,n).C、++x. printf((“%d\n”,x).D、n=x++. printf((“%d\n”,n).19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>3Main(){ int a;Scanf(“%d”,&a).If(a++<9) printf((“%d\n”,a).Else printf((“%d\n”,a)程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n.For (n=0.n<3.n<++){switch(s){ case 0.Case 1.s+=1.Case 2.s+=2.break.Case 3.s+3.Case 4.s+=4.printf((“%d\n”,s).程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k 是int 类型变量,且有以下for 语句For(k=1;k<0.k++)printf(****\n”).下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C.B=’1’.C=’A’For(A=0.A<6.A++){if(A%2) putchar(B+A).Else putchar(C+A);程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m.4以下选项中,表达式的值为 6 的是A *(k+2)B k+2C *k+2D *k+=225、fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。
计算机二级c语言2019笔试题及答案
计算机二级c语言2019笔试题及答案本篇文章将为读者呈现2019年计算机二级C语言笔试题目及其详细解答。
希望通过这篇文章的阅读与学习,读者们能够更好地掌握和理解C语言的知识点,为提高自身编程水平打下坚实的基础。
1. 选择题1) C语言中,以下哪个是合法的标识符?A. 123CB. C123C. C@123D. void答案:B. C123解析:C语言的标识符由字母、数字和下划线组成,且首字符不能是数字或者特殊字符。
因此选项B符合标识符的要求,可以作为合法的标识符使用。
2) 下列语句中,哪个是赋值运算符?A. +B. =C. %D. /答案:B. =解析:在C语言中,赋值运算符使用等号(=)来表示。
其他选项分别代表加法运算符(+)、取余运算符(%)和除法运算符(/)。
2. 填空题1) C语言中,用于输出内容到屏幕的函数是_______。
答案:printf解析:在C语言中,我们可以使用printf函数来输出内容到屏幕上。
2) 下列代码段中,正确的语句是_______。
A. int x;B. x = 10;C. printf("Hello World!");D. All of the above.答案:D. All of the above.解析:所有选项中的语句都是正确的。
选项A定义了一个整型变量x,选项B对变量x进行了赋值,选项C使用printf函数输出字符串。
3. 简答题1) 请简要解释C语言中的循环语句。
答案:循环语句在C语言中用于重复执行一段代码块。
C语言中提供了三种类型的循环语句:while、do-while和for循环。
这些循环语句的执行都依靠一个条件判断,只有当条件满足时,循环语句才会执行。
循环语句的使用可以有效地简化代码,提高程序的效率。
2) 常用的C语言控制语句有哪些?请简要介绍。
答案:C语言中常用的控制语句有条件语句和循环语句。
其中,条件语句包括if语句和switch语句。
上海市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语言中,使用________关键字可以定义一个函数。
上海二级c语言考试真题及答案
上海二级c语言考试真题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. array答案:A2. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. length()C. strleng()D. strlength()答案:A3. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1FB. 0X1FC. 0x1fD. 0X1f答案:C4. 下列哪个选项是C语言中的正确注释方式?A. /* 这是一个注释 */B. // 这是一个注释C. /*这是一个注释*/D. //这是一个注释答案:A5. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C6. 在C语言中,以下哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14eC. 3.14E2D. 3.14e2答案:C7. 在C语言中,以下哪个选项是正确的字符常量表示?A. 'a'B. "a"C. '123'D. "123"答案:A8. 在C语言中,以下哪个选项是正确的字符串常量表示?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A9. 在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};答案:B10. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add(int a, b);D. int add(a, b);答案:A二、填空题(每题3分,共15分)1. C语言中,用于输入的函数是________。
2019年计算机二级考试C语言部分真题
2019年计算机二级考试C语言部分真题(11)以下叙述中准确的是A)在C语言程序中,main 函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都能够单独实行编译C)在C语言程序中,只有main 函数才可单独实行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述准确的是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符能够由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9B)0XabC)123E0.2D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3 赋给变量a、5 赋给变量b 的是A)3,5,B)3,5,4C)3 ,5D)3,5(17)C语言中char 类型数据占字节数为A)3B)4C)1D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6B)(3!=4)>2C)3='A'&&aa[j][0]){ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;} puts(a[1]);程序运行后的输出结果是A)fwoB)fixC)twoD)owo(33)有以下程序#includeint a=1,b=2;void fun1(int a, int b){ printf(“%d%d”,a,b); }void fun2( ){ a=3; b=4; }main(){ fun1(5,6); fun2();printf("%d%d\n",a,b);程序运行后的输出结果是A)1 2 5 6B)5 6 3 4C)5 6 1 2D)3 4 5 6(34)有以下程序#includefunc(int n){ static int num=1;num=num+n;printf("%d",num);void main(){ func(3);func(4);printf("\n"); }程序运行后的输出结果是A)4 8B)3 4C)3 5D)4 5(35)有以下程序#include#includefun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);void main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);程序运行后的输出结果是A)42B)0C)1D)41(36)有以下程序#includestruct STU{char name[9];char sex;int score[2];};void f(struct STU a[]){ struct STU b={"zhao",'m',85,90};a[1]=b;main(){ struct STU c[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].s core[1]);printf("%s,%c,%d,%d\n,",c[1].name,c[1].sex,c[1].score[0],c[1] .score[1]);程序运行后的输出结果是A)Zhao,m,85,90,Sun,m,98,99B)Zhao,m,85,90, Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)能够用trpedef 说明的新类型名来定义变量B)trpedef 说明的新类型名必须使用大写字母,否则会出编译错误C)用trpedef 能够为基本数据类型说明一个新名称D)用trpedef 说明新类型的作用是用一个新的标识符来代表已存有的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数能够返回指向结构体变量的指针C)能够通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间能够整体赋值(39)若有定义语句 int b=2; 则表达式(b,则输出结果是【8】。
上海市计算机二级c语言试题及答案
上海市计算机二级c语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。
每小题只有一个选项是正确的,请将正确答案的字母填在题后的括号内。
)1. C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef2. 以下哪个选项是合法的C语言用户标识符?()A. 2dollarB. intC. _123abcD. float3. 在C语言中,用于定义一个整型数组的语句是()。
A. int a[10];B. int a[];C. int a=10;D. int a(10);4. 下列哪个函数不能用于字符串连接?()A. strcatB. strcpyC. strncatD. printf5. 在C语言中,用于声明一个函数的关键字是()。
A. defineB. typedefC. externD. static6. 以下哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <7. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &8. 在C语言中,以下哪个选项不是合法的赋值语句?()A. a = b;B. a = b = c;C. a = (b = c);D. a = (b, c);9. 在C语言中,以下哪个选项不是合法的循环语句?()A. forB. do-whileC. whileD. repeat-until10. C语言中,用于定义一个指针变量的语句是()。
A. int *p;B. int p*;C. int *p = 0;D. int p = 0;二、填空题(本大题共5小题,每小题4分,共20分。
请将答案填在题后的横线上。
)1. 在C语言中,表示逻辑“或”操作的运算符是______。
2. C语言中,用于计算两个整数的最大公约数的函数是______。
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)一、选择题(1)在32位计算机中,一个字长所占的字节数为______。
A) 1 B) 2 C) 4 D) 8(2)与十进制511等值的十六进制数为______。
A) 1FF B) 2FF C) 1FE D) 2FE(3)能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为______。
A) 1 B) 2 C) 3 D) 4(5)下列带有通配符的文件名,能表示文件ABC.TXT的是______。
A) *BC.? B) A?.* C) ?BC.* D) ?.?(6)在多媒体计算机系统中,不能用以存储多媒体信息的是______。
A) 光缆 B) 软盘 C) 硬盘 D) 光盘(7)DOS命令“COPY/?”的功能是______。
A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C) 以提示方式复制文件D) 显示COPY命令的帮助信息(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按______。
A) Ctrl+PrintScreen键B) Shift+PrintScreen键C) PrintScreen键D) Alt+PrintScreen键(9)在Windows环境下,单击当前应用程序窗口的“关闭”按钮,其功能是______。
A) 将当前应用程序转为后台运行B) 退出Windows后再关机C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行(10)在Windows环境下,粘贴快捷键是______。
A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V(11)以下叙述中正确的是______。
上海计算机考试二级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语言中,一个整型变量占用的内存大小是______个字节。
2019年9月全国计算机等级考试二级C语言笔试试题(含参考答案)
2019 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(考试时间90 分钟,满分100 分)一、选择题((1)—(10 )、(21 )—(40 )每题 2 分,(11 )—(20)每题 1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列C)二叉树D)带链栈(2)下列数据结构中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A)可封装B)自顶向下C)模块化D)逐步求精(7)软件详细设计产生的图如下:该图是A)N-S图B)PAD图C)程序流程图D)E-R图(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(9)在E-R 图中,用来表示实体联系的图形是A)椭圆形B)矩形C)菱形D)三角形(10)有三个关系R,S 和T 如下:T其中关系T由关系R和SA)选择B)投影C)交D)并(11) 以下叙述中正确的是A) 程序设计的任务就是编写程序代码并上机调试B) 程序设计的任务就是确定所用数据结构C) 程序设计的任务就是确定所用算法D) 以上三种说法都不完整(12) 以下选项中,能用作用户标识符的是A)void B)8_8 C)_0_ D)unsigned(13) 阅读以下程序#include <stdio.h>main(){ int case; float printF;printf(" 请输入2 个数:");scanf("%d %f",&case,&printF);printf("%d %f\n",case,printF);}该程序编译时产生错误,其出错原因是A) 定义语句出错,case 是关键字,不能用作用户自定义标识符B) 定义语句出错,printF不能用作用户自定义标识符C) 定义语句无错,seanf不能作为输入函数使用D) 定义语句无错,printf 不能输出case 的值(14) 表达式:(int)((double)9/2)-(9)%2 的值是A) 0 B)3 C)4 D)5(15) 若有定义语句:int x=10; ,则表达式x-=x+x 的值为A)-20 B)-10 C)0 D)10(16) 有以下程序#include <stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);A)0,0 B)1,0 C)3,2 D)1,217) 设有定义:int a=1,b=2,c=3; ,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b)c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}(18) 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是A)3 B)5 C)7 D)9(19) 以下程序段中,与语句:k=a>b?(b>c?1:0):0; 是功能相同的A)if((a>b)&&(b>c)) k=1; B)if((a>b)||(b>c) k=1;else k=0; else k=0;C)if(a<=b) k=0; D)if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;(20) 有以下程序#include <stdio.h>main(){ char s[]={"012xy"};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>='a' &&s[i]<='z') n++;printf("%d\n",n);} 程序运行后的输出结果是A)0 B)2 C)3 D)5(21) 有以下程序#include <stdio.h>main(){ int n=2,k=0; while(k++&&n++>2);A)0 2 B)1 3 C)5 7 D)1 2(22) 有以下定义语句,编译时会出现编译错误的是A)char a='a'; B)char a='\n'; C)char a='aa'; D)char a='\x2d';(23) 有以下程序#include <stdio.h>main(){ char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\n",c1,c2);}已知字母 A 的ASCII 码为65 ,程序运行后的输出结果是A) E,68 B)D,69 C)E,D D) 输出无定值(24) 有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf("%d",p);}main(){ int a=1;fun(a); printf("%d\n",a);}程序运行后的输出结果是A)32 B)12 C)21 D)22(25) 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max; for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;}造成错误的原因是A) 定义语句int i,max; 中max 未赋初值B) 赋值语句max=MIN; 中,不应给max 赋MIN 值C) 语句if(max<x[i]) max=x[i]; 中判断条件设置错误D) 赋值语句max=MIN; 放错了位置(26) 有以下程序#include <stdio.h>main(){ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);程序运行后的输出结果是A) 1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(27) 若有定义语句:int a[4][10],*p,*q[4];且0 < i<4,则错误的赋值是A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1](28) 有以下程序#include <stdio.h>#include <string.h>main(){ char str[ ][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);}程序运行后的输出结果是A)9,One*World B)9,One*Dream! C)10,One*Dream!D)10,One*World(29) 有以下程序#include <stdio.h>main(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i]=0;}for(i=0;i<4;i++) printf("%d",a[i]); printf("\n");} 程序运行后的输出结果是A) 3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4(30) 有以下程序#include <stdio.h> #include <string.h> main() { char a[10]="abcd"; printf("%d,%d\n",strlen(a),sizeof(a));程序运行后的输出结果是A)7,4 B)4,10 C)8,8 D)10,10(31) 下面是有关C 语言字符数组的描述,其中错误的是A) 不可以用赋值语句给字符数组名赋字符串B) 可以用输入语句把字符串整体输入给字符数组C) 字符数组中的内容不一定是字符串D) 字符数组只能存放字符串(32) 下列函数的功能是fun(char *a,char *b){ while((*b=*a)!='\0') {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有'\0'(33) 设有以下函数void fun(int n,char * s) { ..... }则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun;C)void *pf(); *pf=fun; D)void (*pf)(int,char);pf=&fun;34) 有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}int f(int n){ static int a=1;n+=a++;return n;}程序运行以后的输出结果是A)7 B)8 C)9 D)10(35) 有以下程序#include <stdio.h>#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",s,t);} 程序运行后的输出结果是A)10,64 B)10,10 C)64,10 D)64,64(36) 下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a;B) struct ord {int x;int y;int z;} struct ord a;C) struct ord {int x;int y;int z;} a;D) struct {int x;int y;int z;} a;(37) 设有定义:char *c;,以下选项中能够使字符型指针指向c 正确一个字符串的是A)char str[ ]="string";c=str; B)scanf("%s",c);C)c=getchar(); D)*c="string";(38) 有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};a=f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}struct A f(struct A t){ t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;return t;}程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1002,ZhangDa,1202.0C)1001,ChangRong,1098.0 D)1002,ChangRong,1202.0(39) 若有以下程序段int r=8;printf("%d\n",r>>1);输出结果是A)16 B)8 C)4 D)2(40) 下列关于C 语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C) 文件由数据序列组成,可以构成二进制文件或文本文件D) 文件由字符序列组成,其类型只能是文本文件二、填空题(每空 2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15 】序号的横线上,答在试卷上不得分。
上海计算机考试二级c试题及答案
上海计算机考试二级c试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有以下定义:int a=2, b=3; 则执行语句 a+=b; 后,变量a的值是多少?A. 5B. 4C. 3D. 2答案:A3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 若有以下定义:float x=1.23456; 则执行语句 printf("%f", x); 后,输出结果的整数部分是多少?A. 1B. 2D. 0答案:A5. 在C语言中,以下哪个运算符用于计算两个数的差?A. +=B. -C. *D. /答案:B6. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则执行语句a[2]=6; 后,数组a的第三个元素的值是多少?A. 6B. 3C. 4D. 5答案:A7. 在C语言中,以下哪个函数用于打开文件?A. fopen()B. fclose()C. remove()D. rename()答案:A8. 若有以下定义:char c='A'; 则执行语句 printf("%d", c); 后,输出结果是多少?A. 65B. 97C. 66答案:A9. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. struct答案:B10. 若有以下定义:int x=10; 则执行语句 x=x+10; 后,变量x的值是多少?A. 20B. 11C. 21D. 10答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个变量的存储类型为静态存储。
2019年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)
2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)本卷共分为3大题15小题,作答时间为240分钟,总分200分,120分及格。
一、程序填空题(共50分)1、请补充函数proc(),该函数的功能是把数组num中的数按从小到大的顺序排列(数组元素个数及值从主函数中输入)。
例如,输入n=5,num[0]~num[4]依次为57280,结果为025 78。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:2、str为一个字符序列,序列由字符0和1组成。
请补充函数proc(),该函数的功能是:查找该字符序列中0字符连续出现的最长长度(即0字符的个数),如果有几个0字符串长度相同,只记录最后一个0字符串的相关信息。
通过m和k返回最长0字符串的长度和最后0字符的下标。
例如,如果输入“010*******”,结果为:0字符串最长长度为4,起始和结尾下标依次为2、5。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:3、请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如,strl=“How do you”,str2=“?od”,结果输出:“How do you do?”注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:4、请补充函数proc(),函数proc()的功能是求7的阶乘。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proe()的横线上填入所编写的若干表达式或语句。
试题程序:5、请补充main()函数,该函数的功能是求出l!+21+31+41…+N!的和。
2019年二级c语言笔试答案word版本 (20页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==二级c语言笔试答案篇一:二级C语言笔试题汇编及答案全国计算机等级考试二级C语言程序设计习题集校内复习资料第一章 C语言的结构一.单项选择题1.设d为字符变量,下列表达式不正确的是__________。
(A) d=97 (B) d='a'(C) d="a"(D) d='g' 2.C语言的程序一行写不下时,可以________。
A 用逗号换行 B 用分号换号 C 在任意一空格处换行 D 用回车符换行3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码__________。
(A) 大32(B) 大64(C) 小32 (D) 小14.下列四个叙述中,错误的是________。
A 一个C源程序必须有且只能有一个主函数 B 在C源程序中注释说明必须位于语句之后 C 一个C源程序可以含零个或多个子函数 D C 源程序的基本结构是函数5.一个C程序可以包含任意多个不同名的函数,但有且仅有一个__________。
(A) 过程 (B) 主函数 (C) 函数 (D) include 6.C 语言中,当复合语句多于一条时,要有一对________括起来。
A 方括号 B 圆括号C 花括号 D 尖括号7.__________是C程序的基本构成单位。
(A) 函数 (B) 函数和过程 (C) 超文本过程(D) 子程序 8.C语言程序的基本单位是__________。
(A) 程序行 (B) 语句(C) 函数(D) 字符 9.C语言规定,必须用__________作为主函数名。
(A) function(B) include(C) main (D) stdio10.C语言规定,在一个C程序中,main()函数位置________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句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的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 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程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
答案: BA. breakB. continueC. returnD. exit9. 若有数组定义语句:int t[3][2];则 t数组最后一个元素是:答案: DA. t[3][2]B. t[2][3]C. t[2]D. t[2][1]10. 设有定义int a[]={1,3,5,7,9},*p=a; while(*p!=3) p++; 结果为7的表达式是:答案: AA. *(p+2)B. *(p+3)C. *p+2D. *p+311. char a[10];不能将字符串"abc"存储在数组a中的是( )。
答案: CA. strcpy(a,"abc");B. a[0]=0;strcat(a,"abc");C. a="abc";D. int i; for(i=0;i<3;i++)a[i]=i+97;a[i]=0;12. 设有下列函数原型和变量定义语句,则合法的函数调用语句是:int func( int a[], int n );int a[10], n, x;答案: BA. func( a, n ) = x;B. x = func( a, n );C. x = func( a[], n );D. x = func( a[10], n );13. 若有以下定义,输出字母M的语句是:struct personchar name[9];int age;struct person st[10] ={{"john",17},{"paul",19},{"Mary",18}};答案: DA. printf("%c",st[2].name);B. printf("%c",st[3].name[1]);C. printf("%c",st[2].name[1]);D. printf("%c",st[2].name[0]);14. 需要以写模式打开当前目录下一个名为myfile.txt的文本文件,下列打开文件正确的选项是:答案: BA. fopen("myfile.txt","r");B. fopen("myfile.txt","w");C. fopen("myfile.txt","rb");D. fopen("myfile.txt","wb");15. 假定建立了以下链表结构:struct node{char id ;struct node *next;} *head,*p;如下图所示:指针p指向一个新结点,将新结点插入到链表成为头结点的两条C语言语句是【】答案: DA. head=p->next; p=head;B. p->data=head; head=p;C. head=p->data; p=head;D. p->next=head; head=p;二、程序填空题 ( 本大题 3 道小题,每空 2.5 分,共 30 分)。
1. 程序运行时输出如图所示的数字倒三角形1234567123451231源程序:#include <stdio.h>void main(){ int i,j;____1____;for(i=1;i<=4;i++){ k=1;for(j=1;j<i;j++)putchar(' '); /* 输出空格 */for(j=9-2*i;j>0;j--)printf("%d", k );____2____;putchar(____3____);1):【int k】2):【k++】【k=k+1】3):【'\n'】2. 输入一行字符串,分别统计字符串中各元音字母(AEIOU)的个数(不分大小写)。
源程序:#include <stdio.h>void main(){ char a[80];int n[5]={0,0,0,0,0}; /* 数组n存放各元音字母个数 */____1____;gets(a);for(____2____; a[i]!='\0'; i++)switch(____3____)case 'A':case 'a': n[0]++; break;case 'E':case 'e': n[1]++; break;case 'I':case 'i': n[2]++; break;case 'O':case 'o': n[3]++; break;case 'U':case 'u': n[4]++; break;for(i=0;i<5;i++)printf("%d\n",____4____); /* 输出各元音字母个数 */1):【int i】2):【i=0】3):【a[i]】4):【n[i]】3. 程序功能:函数f的功能是从字符串中删除所有的数字字符,并返回删除的个数;主程序调用函数f删除字符串str中的数字字符,并输出删除的字符数。
源程序:#include <stdio.h>#include <string.h>int f(char s[]){ int i=0;____1____;while(s[i]!='\0')if(s[i]>='0'&&s[i]<='9')strcpy(s+i,s+i+1);count=count+1; /* count表示删除的数字字符数 */else____2____;return ____3____;void main(){ char str[80];int m;printf("输入字符串:");gets(str);m=____4____;printf("删除数字后的字符串:");puts(str);printf("删除的数字字符个数:%d",____5____);1):【int count=0】2):【i++】【i=i+1】3):【count】4):【f(str)】5):【m】三、操作题二、程序调试题(3小题,共20分)1. 程序调试题1(X_2_1.C)调试要求:下列程序不能得到正确的结果,它包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。
将结果(包括X_2_1.C文件和X_2_1.EXE文件)保存到目录C:\KS\中。
功能说明:计算半径为1~n的圆的面积,仅打印超过50 的圆面积。
如输入:6则输出:r=4,square=50.265488r=5,square=78.539825r=6,square=113.097351带错误原程序(见C:\KS\X_2_1.C):#include <stdio.h>main()int r,n;float area;scanf("%d",&n);for (r=1,r<=n;r++)area=3.141593*r*r;if (area<50.0) continue;printf("r=%d,square=%d\n",r,area);getch();2. 程序调试题2(X_2_2.C)调试要求:下列程序不能得到正确的结果,它包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。