上海市高等学校计算机等级考试试卷二级C语言程序设计( B 卷)
2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word
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程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
2021年上海计算机等级考试二级CB卷
二级C( B卷) 一、单项选取题(答案在最后)二、填空题(答案在最后)程序功能:输入一种正整数,将其各位上为偶数数字去除,剩余数按本来从高位到低位顺序构成一种新数,并将其输出到文献out1.txt中。
例如,输入:,输出到文献:135779。
代码:#include <stdio.h>int main(void){long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen("out1.txt","w");scanf("%ld",&n);while ( _____(2)_____ ){k = _____(3)_____;n = n/10;if (k%2 == 1){z = z+k*i;i = 10*i;}}fprintf(fp,"%d\n",z);_____(4)_____; /* 关闭文献 */ return 0;}程序功能:从键盘输入一种字符串和一种字符,记录字符串中该字符浮现次数,并输出成果。
例如,输入字符串:aBEddfghDdd,输入字符:d,输出成果:4。
代码:#include <stdio.h>int num(char str[]){char ch;int i=0,count=0;printf("输入字符:");scanf("%c",&ch);while( _____(1)_____ ){if( _____(2)_____ )count++;i++;}return count;}int main(void){char str[80];int n;printf("输入字符串:");gets( _____(3)_____ );n = _____(4)_____;printf("输出成果:%d\n",n);return 0;}三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试规定:下列程序(C:\KS\B_2_1.c)包括3个错误,请按题中功能规定,调试并修改该程序(在所修改语句后加/*******/字样注释),使其运营能得到对的成果。
计算机等级考试二级c语言程序设计
【答案】
A
【解析】
fgets函数功能是从f所指文件中读入n-1个字符放入s为起始地址的空间内,并在尾端自动加一个结束标志“\0”。同时将读/写位 置指针向前移动字符串长度个字节。在读出n-1个字符之前,如遇到了换行符或EO F,则读出结束,A 项正确。B项中“读取长 度为n”错误。C项与D项中“读取n/n-1个字符串”错误,读取的是n-1个字符。答案选择A 选项。
C. 可以取一个表达式的地址赋值给同类型的指针变量
D. 可以取一个指针变量的地址赋值给基类型相同的指针变量
【答案】
A
【解析】 常数的地址存储在内存的常量区,常量区存储的都是常量,值都是不可修改的,所以直接取常量的地址赋给指针变量没有任
何意义,C语言也不允许这样做,编译会出错,B项错误;表达式的值存储在临时变量中,内存中存在专门用来存储临时变量 的区域,对这块地址进行操作也是没有意义的,C语言不允许这样做,编译会出错,C项错误;可以取一个指针变量的地址, 但是指针变量的地址属于指针,只能赋值给指针类型的指针变量,D项错误。答案选择A 选项。
程序运行后的输出结果是( )。
A. 4,5,3,4 B. 4,3,2,1 C. 4,5,3,3 D. 4,5,1,3
【答案】
A
【解析】
对于字符数组a,含有4个元素,所以strlen为4,而sizeof包括最后隐藏的\0,故sizeof有5个。对于字符串b,strlen为3大家都 能理解,关键是sizeof,这里的sizeof不再是指数组的长度,因为b是一个地址值,整型数据,所以占用了4个字节,这个题目 是一个难点,请大家谨记。答案选择A 选项。
上海市高等学校计算机等级考试试题「有答案」
上海市高等学校计算机等级考试试题「有答案」一、单选题1、在OSI七层结构模型中,最低层是____B___。
A、表示层B、物理层C、网络层D、会话层2、计算机硬件能直接识别和执行的程序设计语言是__D_____。
A、汇编语言B、符号语言C、高级语言D、机器语言3、一般说来,__C_________则声音的质量越高。
A、量化级数越低和采样频率越低B、量化级数越高和采样频率越低C、量化级数越高和采样频率越高D、量化级数越低和采样频率越高4、电子信箱地址的格式是_____D___。
A、用户名.主机域名B、主机域名,用户名C、主机名@用户名D、用户名@主机域名5、IP协议是____C________协议。
A、传输层B、物理层C、网络层D、数据链路层6、在以太网中,采用CSMA/CD方法,能有效解决__A____。
A、多站点在共享传输介质访问中的争用信道问题B、单站点在共享传输介质访问中的争用信道问题C、单站点在共享传输介质访问中的共用信道问题D、多站点在独享传输介质访问中的争用信道问题7、色彩位数用8位二进制来表示每个像素的颜色时,能表示___C________种不同颜色A、64B、16C、256D、88、A/D转换器的功能是将_____B_____。
A、声音转换为模拟量B、模拟量转换为数字量C、数字量和模拟量混合处理D、数字量转换为模拟量9、十进制数7777转换为二进制数是____A______。
A、1111001100001B、1110001100001C、1100111100111D、111101110001110、网络、调制解调器的传输速率往往用bps作为单位,它是指_A________。
A、每秒钟通过的二进制码位数B、每秒钟通过的二进制码字节数C、每秒钟通过的波形数D、每分钟通过的二进制码字节数11、在Windows的图形界面中,按_____C_____可以打开开始菜单。
A、CTL+TABB、ALT+TABC、CTRL+ESCD、ALT+ESC12、以下叙述中,正确的是BA、图像经数字压缩处理后可得到图形B、经扫描仪输入到计算机后,可以得到由像素组成的图像C、图形属于图像的一种,是计算机绘制的画面D、经摄像机输入到计算机后,可转换成由像素组成的图形13、下面不属于局域网网络拓扑的是___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语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]100002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
上海市高等学校计算机等级考试试卷二级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语言程序设计
20XX年上海市高等学校计算机等级考试试卷二级 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程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
上海市高等学校计算机等级考试(二级c语言)
上海市高等学校计算机等级考试(二级)《 C程序设计》考试大纲一、考试性质上海市高等学校计算机等级考试(原名:上海市普通高校学生计算机应用知识与应用能力等级考试)是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算机应用基础知识教学水平和教学质量重要依据之一。
该项考试旨在规范和加强上海高校的计算机教学工作,提高学生的计算机应用能力。
考试对象主要是上海市高等学校学生,考试每年举行一次,当年的十月下旬、十一月上旬的星期六或星期日。
凡考试成绩达到合格者或优秀者,由上海市教育委员会发给相应的证书。
本考试由上海市教育委员会统一领导,聘请有关专家组成考试委员会,委托上海教育考试院组织实施。
二、考试目标C语言是当前常用的,简洁、高效、功能丰富的程序设计语言,是计算机应用人员和软件开发人员的基本程序设计工具。
学生通过该课程的学习,应能了解、掌握C语言的概念、语法和使用它进行编程的方法,并能上机调试运行解决简单实际问题。
《 C程序设计》的考试目标是测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力。
三、考试细则考试方法为书面闭卷考试。
考试时间为 120分钟。
试卷总分为100分。
试卷采用简答题、写程序结果题、改错题、编程题、填充题等形式,答案写在答题纸上,采用人工阅卷方式。
若答案写在试卷上则无效。
四、试卷结构参考样式序号题型题量计分考核目标一简答题7 题28 分基本概念二写程序结果题2 题12 分程序理解语义知识三改错题 2 题12 分语法知识语义知识程序结构四编程题 2 题18 分程序设计五填充题 2 题30 分综合应用合计15 题100 分五、考试内容、要求要点和考点序号内容要点和考点1 C 程序的组成、结构及书写规则C 语言源程序结构· 预处理命令· 外部数据定义· 函数 main 和其它函数定义程序的书写格式· 基本词法单位、标识符 / 常量 / 运算符等构成规则· 程序的书写格式与风格C 语言程序设计步骤· Turbo C 编程环境的操作使用· 程序的编辑 / 编译 / 连接 / 调试 / 运行2 基本数据类型C 语言数据类型·基本类型、构造(复合)类型、指针类型、空类型C 语言常量· 常量和变量· 整型、实型(单 / 双精度)、字符型和字符串常量的表示方法C 语言变量· 各种类型变量的定义和说明· 变量的初始化3 基本运算和表达式运算符· 运算符种类、功能、目数、优先级、结合性和副作用算术运算· 自动类型转换规则关系和逻辑运算· 关系和逻辑运算规则· 逻辑运算的优化规则位运算· 位运算规则和简单位运算赋值运算· 赋值运算中自动类型转换规则(以左值类型为准转换)· 复合赋值其他运算· 条件、逗号、求存储空间大小运算表达式· 表达式组成规则、各类表达式· 描述计算过程 / 条件判断的表达式· 各类型数据混合运算中求值顺序· 表达式运算中的隐式类型转换和强制类型转换· 基本运算执行顺序、表达式结果类型4 语句基本语句及顺序结构语句· 定义 / 说明语句,表达式语句,空语句,复合语句、函数调用语句选择结构语句· 描述条件和情况的 if , switch 语句· 选择语句嵌套循环结构语句· 描述循环执行的 while , do-while , for 语句· 循环语句嵌套转移语句· 改变程序流程执行次序的 break ,continue , goto , return 语句5 数组一维数组· 一维数组定义、引用和初始化二维数组· 二维数组定义、引用和初始化字符数组和字符串· 字符数组定义、引用和初始化· 字符串结束标志、初始化、字符串处理函数6 函数定义和调用函数的定义方法· 函数原型、函数名、形式参数、函数返回值、函数体——函数执行过程的描述函数类型和返回值· 不同类型函数定义、缺省类型、空类型函数传值调用· 形参、实参及其参数单向传递函数说明· 函数原型及作用· 用户定义函数说明· 系统库函数说明——用头文件包含函数参数类型和函数的传址调用· 传值调用和传址调用· 数组名作为函数参数函数嵌套调用和递归调用· 递归函数的定义和调用· 递归函数的执行过程7 变量的存储类别和编译预处理变量存储类· 自动、寄存器、外部及内部 / 外部静态各种别的概念变量类型变量的作用域· 在函数外部、函数内部、复合语句内定义变量的作用域变量的生存期和有效期· 自动、外部及内部 / 外部静态变量的生存期和有效期编译预处理· 文件包含和宏定义8 指针指针概念· 地址、指针、变量的指针和指向变量的指针变量的含义和表示指针与地址运算符· 取地址运算符 & 和取内容运算符 *用指针处理数组、字符串· 数组、字符串的指针以及指向数组、字符串的指针变量· 通过指针引用以上各类型数据用指针作函数参数· 通过指针类型参数传递计算结果,改变主调用函数实参值指针的高级功能· 函数指针——返回指针值的的指针函数· 指针数组、指向指针的指针· main 函数的命令行参数简介9 结构体与共用体结构体类型数据· 结构定义方法和引用方法· 结构体变量初始化结构体数组· 结构体数组定义、初始化结构体指针变量·指向结构体类型变量的指针变量· 指向结构体类型数组的指针变量链表· 用指针和结构体构成链表、单向链表的建立、输出、删除与插入共用体类型数据· 共用体类型数据的定义和引用枚举· 枚举的概念与表示10 文件基本概念· 文件类型——文本文件 / 二进制文件、文件指针文件操作· 文件的打开和关闭· 定位·文件的读/ 写。
二级 C语言程序设计试题及答案(最新)
高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1.在C语言中,下列描述正确的是:(_____)。
A.标识符只能由字母和下划线组成。
B.标识符由任意字符组成。
C.标识符只能由字母、数字和下划线组成。
D.标识符只能由字母组成。
2.设有变量定义:char ch; 若将小写字母a赋给变量ch,正确的表达式是:(_____)。
说明:小写字母a的ASCII码值是97。
A.ch='a'B.ch='97'C.ch=aD.ch="a"3.设有变量定义:int a=345,b=123; 则执行语句printf("%2d-%2d",a,b);后,输出的结果是:(_____)。
A.45-23B.34-12C.345-123D.2224.在C语言中关于函数的描述,正确的是:(_____)。
A.main函数的返回类型只能是voidB.函数可以用return返回多个值C.任何一个函数都可以有多个函数体D.自定义函数的形式有无参函数和有参函数5.设有变量定义:int a=5,b=8; 则以下各个选项中,会出现语法错误的if语句是:(_____)。
A.if (a>=b) ;B.if (a==b) a+=b;C.if (a<=b) { a--; b++; }D.if (a!=b) a++ else b++;6.执行以下代码段后,x的结果是:(_____)。
int x=1;while (x<=10)x++ ;A.9B.10D.有错误,没有输出结果7.设有变量定义:int a[5]={5,4,3,2,1},*p=a;则执行语句 p+=4;后,*p的结果是(_____)。
A.4B.3C.2D.18.已知一结构体类型及变量定义如下:struct node{int data;struct node *next;}*p,*s,*h;现已有头指针h指向的单链表如下图所示,能实现s指向的结点插入到p所指结点后面的语句是:(_____)。
上海计算机二级VB试卷
上海计算机二级VB试卷以下是为大家整理的上海计算机二级Vb试卷的相关范文,本文关键词为上海,计算机,二级,试卷,20XX年,上海市,高等学校,计算,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。
20XX年上海市高等学校计算机等级考试试卷二级Visualbasic程序设计(考试时间120分钟----A卷)一、单选题(共15分,每题1分)1.是合法的变量名。
【A】A.x_yzb.123abcD.x?Y2.Rnd函数不可能的返回值是。
A.1b.0c.0.0001D.0.9999c.Integer【A】3.要将一个值传递给子过程A的m参数,并通过n参数返回一个结果,子过程定义中正确的是。
【b】A.subA(byValm!,byValn!)b.subA(byValm!,byRefn!)c.subA(byValm!,byRef( n+1)!)D.subA(byValm+1,byValn+2)4.能在窗体Form1的标题栏中显示“Visualbasic窗体”的语句是____________。
【c】=\窗体\b.Form1.Title=\窗体\c.Form1.caption=\窗体\D.Form1.Text=\窗体\5.在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示jpg图像类型的文件,则Filter属性的正确设置是。
A.picture(.jpg)||*.jpgb.picture(.jpg)(*.jpg)c.图片文件|(.jpg)D.图片(.jpg)|*.jpg【D】6.关于多重窗体程序的叙述中,错误的是____________。
【c】A.用hide方法隐藏窗体,用show方法显示窗体b.可以根据需要指定启动窗体c.若各窗体都建立了一个文本框控件(Textbox),它们的name 不能相同D.若各窗体都有菜单,则各菜单是彼此独立的7.按照结构化程序设计的要求,语句是非结构化程序设计语句。
上海计算机VB二级 B卷操作题参考答案
四、程序调试改错题(两小题,共10分,每处2分)1.改错题1答案:Dim s As Double, i As Integer, n As Single, m As SingleLabel11 lable1.Caption = "" ‘ ****n = 2m = 1s = 0 ‘****For i = 1 To 12Label1 = Label1 & n & "/" & m & ", "s = s +n /m ‘******t = m + nm = nn = tIf i Mod 4 = 0 Then ' 每行显示4项,vbCrLf回车换行Label1.Caption = Label1.Caption & vbCrLfEnd IfNext iLabel1.Caption = Label1.Caption & "s=" & Format(s, "###.####")2.改错题2答案:' 本程序段求AB集合的交集,A集合元素由数组初始化赋值,B集合元素随机产生。
' 程序中有2个错误,请调试改正。
Dim a(), b() As Integer, i%, j%, n%a() = Array(1, 3, 6, 8, 11, 13, 17, 18) ' A集合Picture2.ClsPicture2.Print "A集合元素:8个"For i = 1 To 7 ‘********Picture2.Print a(i);Next in = Int(Rnd * 9) ' 随机产生B集合大小,无错误ReDim b(n)Picture2.Print vbCrLf; "B集合元素:" & (n + 1) & "个" 'vbCrLf回车换行For i = 0 To nb(i) = Int(Rnd * 30 + 1) ' 随机产生B集合元素,无错误Picture2.Print b(i);Next iPicture2.Print vbCrLf; "AB交集元素:";For i = 0 To UBound(a)For j = 0 To nIf b(j) = a(j) Then Picture2.Print b(j); ' ******Next jNext i五、编程题(36分)程序参考代码:窗体1Private Sub List1_Click()If List2.ListCount >= List1.ListCount ThenList2.ListIndex = List1.ListIndexEnd IfEnd SubPrivate Sub menu11_Click()List2.ClearOpen App.Path + "\pj.txt" For Input As #1Do While Not EOF(1)Input #1, djList2.AddItem djLoopClose #1End SubPrivate Sub menu13_Click()EndEnd Sub窗体2Private Sub Command1_Click()s1 = Val(Text1) * Val(List2.Text)l = 4If Len(List1.Text) = 5 Then l = 6Text2 = Text2 & List1.Text & Space(l) & Text1 & "张,计" & s1 & "元" & vbCrLf End SubPrivate Sub menu2_Click()Form2.ShowForm1.HideEnd SubDim sPrivate Sub Command1_Click()Timer1.Interval = 100 '开始计时Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Form1.ShowForm2.HideEnd SubPrivate Sub Command3_Click()Timer1.Enabled = FalseLabel2.Caption = "累计进场人数: " & s End SubPrivate Sub Timer1_Timer()n = Int(Rnd * 20)Label1 = ns = s + nEnd Sub。
2010年上海市高等学校计算机等级考试试卷二级C语言程序设计( B 卷)
2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计( B 卷)(本试卷考试时间 120 分钟)一、单选题1. 关于C程序的主函数,以下描述中正确的是:_______ 。
A. C程序的第一个函数称为主函数,程序从该函数开始运行。
B. C程序可以有多个主函数,程序从第一个主函数开始运行。
C. C程序可以没有主函数,程序从第一个函数开始运行。
D. C程序的主函数即是main函数,程序从该函数开始运行。
2. 字符变量a与b分别初始为'S'与'B',正确的语句是:_______ 。
A. char a,b='S','B';B. char a='S', char b='B';C. char a="S", b="B";D. char a='S', b='B';3. 设有int n=2010; 要求屏幕上显示“n=2010”结果,正确的语句是:_______ 。
A. printf( n );B. printf( "n=", n );C. printf( "n=", "%d", n );D. printf( "n=%d", n );4. 设有变量定义:int a=5, b=8;当执行完语句:b= a<b ? a: b - 1; 之后,变量 a和 b 的值为 _______。
A. 5和5B. 5和7C. 5和8D. 5和95. 设int n; 判断“n不为0”的表达式是:_______。
A. n==0B. !(n=0)C. n=!0D. n!=06. 若有定义: float w; int num; char s; 则合法的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语言)复习资料题目C语言是一种面向过程的程序设计语言,函数、指针、地址和递归概念是它的难点。
本复习资料以教学大纲为依据,提供各类题型和练习,重在“基本概念”、“常用算法”、“阅读分析程序”、“编程技能”等诸方面的强化训练,按照上海市计算机二级考试(C语言)的框架,提供“基础知识、读程序写结果、改错、编程序和程序指令填空”几部份,供学生学习参考,文末附习题参考解答。
1. B2. C3. C4. B5. D6. A7. A8. C9. C10. A11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A20. C21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C30. C31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C40. B41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D50. D51. A 52. C第一部份:基础知识1. 下述循环的循环次数是()int k=2;while(k=0)printf("%d",k);k--;printf("\n");A、无限次B、0次C、1次D、2次2. 在下列选项中,没有构成死循环的程序段是()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,则对数组元素的错误引用是()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
3.20 以下程序的输出结果是
A) 9 8 B) 8 9 C) 6 6 D) 以上三个都不对 #include "math.h" main() { double a=-3.0, b=2; printf("%3.0f %3.0f\n",pow(b,fabs(a)),pow(fabs(a),b)); } 答案:B 来源:
3.23 复合语句在语法上被认为是____。空语句的形式是____。
答案:一条语句、 ;
3.24 C语句的最后用____结束。 答案:;
3.25 以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。 写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能 的输入形式____、_____、____。 int k; float a; double x; scanf("%d%f%lf",&k,&a,&x); printf("k=%d,a=%f,x=%f\n",k,a,x); 答案: (1) 100 25.81 1.89234 (2) 100 25.81<CR>1.89234 (3) 100<CR> 25.81<CR> 1.89234<CR>
3.19 若变量已正确说明,要求用以下语句给a赋予
3.12、给b赋予9.0,则正确的输入形式是(□代表空格)
A)
3.12□□9.0<CR> B) a=□□3.12b=□□□9<CR> C) a=3.12,b=9<CR> D)
a=3.12□□,b=9□□□□<CR> scanf("a=%f,b=%f",&a,&b); <CR>表示Enter键
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海市高等学校计算机等级考试试卷二级 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,0D. 2,1,0,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[i][j];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. [0]B. s->name[0]C. [8]D. per.id10. 若有以下语句:char x=5,y=9,z; z=(y|x)<<2;则z的二进制值是________________A. 00011011B. 00001010C. 00110100D. 00001100二、填空题1. 设有说明语句:int a=15, b=6;则a/b的十进制数值为________2. 设有说明语句:int x=3, y=2; 则计算表达式(x=0)&& (y=6*x) 后变量y的值是_____________3. 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1||b+c/2后,t 的值是_____________4. 定义函数时,将其类型定义为void 则表示所定义的函数返回值为____________.5. 下列程序的输出结果是________________f(int a[]){ int i=0;while (a[i]<=10){ printf(“%d ”, a[i]);i++;}}main(){ int a[]={8,4,10,11,9,20};f(a);}6. 下列程序的输出结果是______________long fib(int g){ switch(g){case 0: return(0);case 1:case 2: return(2);}return ( fib(g-1) + fib(g-2) );}main(){ long k;k = fib(5);printf("k=%ld\n", k);}7. 假定建立了以下链表结构:struct node{int id ;struct node *next;} *head,*p;如图6-11所示:指针p指向一个新结点,将新结点插入到链表中的两条C语言语句是【】图6-11 新结点插入到链表三、程序填空题 ( 本大题 3 道小题,每空 3 分,共 30 分)。
1. 下列程序的功能是:计算机给出10个不大于31的正整数让人猜,并根据猜中的情况统计总得分后输出。
具体规则如下:(1) 计算机每给出一个要猜的数最多允许中5次,第一次猜对得10分,第二次猜对得8分,第三次猜对得6分,第四次猜对得4分,最后一次猜对得2分,否则不得分。
(2) 若人猜的数太小,计算机给出提示“too small !”;若人猜的数太大,计算机给出提示“too large !”;若人猜对这个数,计算机给出提示“right !”,并给出下一个数继续让人猜;若一个数已经猜了5次都猜错,计算机给出提示“out of time !”,也给出下一个数继续让人猜。
直至猜完10个数。
下面是人猜一个数的过程,有下划线的部分是人猜的数:(假设机器产生的随机数为9) 请输入你猜测的数y= 16too large !请输入你猜测的数y= 4too small !请输入你猜测的数y= 9right ! (本题是第三次猜对,得6分)#include <stdio.h>#include <stdlib.h>void main(){ int i, c, x, y, score, right;1 ; /* 变量赋初值 */for (i=1; i<=10; i++){ x=random(32);/* 随机产生一个不大于31的要猜的数 */c=0;do{ c++;printf("\n 请输入你猜测的数y= ");scanf("%d", &y);right=(y==x); /* 猜对时right为1,否则为0 */if (right==1)printf(" 2 ");elseprintf("%s\n", ( 3 )? "too small !" :"too large !");}while(right==0&& 4 );if (right)score+= ( 5 ); /* 统计成绩 */elseprintf("out of time !\n");}printf("\nTotal score:%d\n", score);}2. 以下程序输入10行字符串,要求按字典顺序从小到大排序。
#include <stdio.h>#define N 10int biggerthan( char *str1, char *str2 )/*若字符串str1大于 str2时,则返回1*/{ for ( ; *str1 || *str2; 1 ){ if ( *str1 > *str2 )return 2 ;else if (*str1<*str2)return 0 ;}return 0; /* 两个字符串相等 */}void main(){ char ls[N][100];char *ps[N], *t;int i, j;for ( i = 0; i < N; i++ ){ gets( ls[i] );ps[i] = ls[i];}for ( i = 0; i < N-1; i++ ) /* 冒泡法排序 */for ( j = 0; j < N-i-1; j++ )if ( biggerthan( 3 ) ){ t = ps[j];4 ;5 ;}for ( i = 0; i < N; i++ )printf( " %s \n",ps[i] );}3. 将两个文本文件中字符'$'之后的内容合并到一个文件中去,其中函数voidsub(FILE*all, FILE*f1 ,FILE *f2 )的功能是将文件指针f1,f2所指向的文件中的内容写到文件指针all所指向的文件中; main函数完成如下功能:先打开目标文件,再依次打开源文件,调用sub函数完成文件内容的拷贝。
例如三个源文件 f1.txt ,f2.txt, 每个文件的内容分别如下文件名内容f1 aaa$aaf2 bbb$bb则产生一个新的目标文件fall.txt,包括f1,f2三个文件字符'$'之前的内容,fall的内容为aabb。
#include <stdio.h>#include <stdlib.h>main(){FILE *f1, *f2,*fall;void sub(______1________ );if ((fall=fopen(______2_______ ))==NULL) {printf("Cannot open file!\n");exit(1);}if ((f1=fopen("f1.txt","r"))==NULL || (f2=fopen("f2.txt","r"))==NULL) {printf("Cannot open file!\n");exit(1);} else {sub(______3________ );______4________ ;}fclose (f1);fclose(f2);}void sub(FILE *all, FILE *f1, FILE *f2){char c;while((fgetc(f1))!='$');while((c=fgetc(f1))!=EOF) fputc(c,all);while((fgetc(f2))!='$');while((c=fgetc(f2))!=EOF) fputc(c,all);}四、操作题三.程序调试题1. 程序调试题1(E_3_1.c)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。