中科大软件学院C++考试试卷
2023年9月青少年软件编程C语言等级考试试卷一级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷一级(含答案)分数:100 题数:5一、编程题(共5题,共100分)第1题. 日期输出给定两个整数,表示一个日期的月和日。
请按照"MM-DD"的格式输出日期,即如果月和日不到2位时,填补0使得满足2位。
时间限制:10000内存限制:65536输入2个整数m,d(0 < m <= 12, 0 < d <= 31)。
数据保证日期合法。
输出按照题目要求输出日期样例输入7 18样例输出07-18 。
参考答案:。
第2题. 计算(a+b)*(c-b)的值给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。
时间限制:1000内存限制:65536输入输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 < a,b,c < 10,000)输出输出一行,即表达式的值样例输入2 3 5样例输出10 。
参考答案:。
第3题. 有一门课不及格的学生给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。
时间限制:10000内存限制:65536输入一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。
输出若该生恰好有一门课不及格,输出1;否则输出0。
样例输入50 80样例输出1 。
参考答案:。
第4题. 特殊求和如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。
对于给定的N,求出1~N中所有幻数的和。
时间限制:1000内存限制:65536输入一个整数N(1 < N < 10000)。
输出一个整数,表示1~N中所有幻数的和。
样例输入14样例输出21 。
参考答案:。
第5题. 比n小的最大质数对于给定的n,求比n小的质数中最大的一个。
质数是指一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数。
2022年中国科学院大学公共课《C语言》科目期末试卷B(有答案)
2022年中国科学院大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}2、C语言源程序的基本单位是________3、在C语言源程序中,一个变量代表【】。
4、若有定义语句:ints=6;则表达式s%2+(s+1)%2的值为_______5、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
6、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。
7、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);8、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);9、下面程序段将输出computer。
C阶段测试试卷.doc
江苏科技大学Visual C++阶段测验试卷班级:学号:姓名:答题注意事项:1.所有答案必须写在答题纸上;考试完毕只交答题纸,不交试卷。
2.填写答案时,注意题号;特别是填空题,做到题号、空格号与试题对应,3.编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。
一、选择题(每题2分,计30分)1、下列符号中,能用作VC++标识符的是________ oA^ 5A B、_double C、a$ D、switch2、下列实数表示中不正确的是__________ 。
A、.25B、12E-5.0C、35.D、2.5f3、下列字符表示中正确的是__________ 。
A、'\b'B、“b”C、‘46’D、'\x250'4、下列变量的定义和赋值屮,不正确的是__________ oA、int x,*y=&x;B、int x,*y; y=&x;C、int x,&y=&D、int x,&y=x;5、设有定义“float x=4,y=2;”,则卜•列表达式中,正确的是_______ 。
A、x%yB、x+y=x*yC、x++=y++D、++x=++y6、设有定义“intk二3,j=4;”,则执行表达式“j二5||k+++k++;”后______ 。
A、j的值为4, k的值为4B、j的值为0, k的值为4C、j的值为5, k的值为5D、j的值为1, k的值为37、执行语句“b二(a=2*5,a*4),a+15J之后,b的值是_______ 。
A、10B、25C、40D、608> 执行语句“intk二12;k=l/2*k++;”后,k 的值是_________ 。
A、0B、1C、6D、79、设有定义"char a=100;int b=100;float c=100;double d=100;“,则表达式“a+b+c+d,啲数据类型是 ________ oA、char int C、float D、double10、__________________________________________________________ 设有说明语句“int x=4,y=3;”,则表达式x->++y?x:y的值是___________________ 。
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。
时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。
第二行是n个整数,每两个整数之间用空格分隔。
输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出:输出第k名学生的学.号和成绩,中间用空格分隔。
(注:请用%g输出成绩)。
样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。
2013年中国科学院大学计算机软件基础考研试题
中国科学院中国科学院大学大学大学2013年招收攻读硕士学位研究生入学统一考试试题年招收攻读硕士学位研究生入学统一考试试题科目名称科目名称::计算机软件基础计算机软件基础考生须知考生须知::1.本试卷满分为150分,全部考试时间总计180分钟。
2.所有答案必须写在答题纸上,写在试题纸上或草稿纸上一律无效。
第一部分第一部分::数据结构数据结构((共70分)一、单选单选题题(每题2分,共20分)1. 下列关于数据的逻辑结构的叙述中,不正确的是【 】。
(A) 数据的逻辑结构是数据间关系的描述(B) 线性表是典型的线性结构(C) 数据的逻辑结构分为线性结构和非线性结构(D) 数据的逻辑结构不仅反映数据间的逻辑关系,而且包含其在计算机中的存储方式2. 下列关于数据运算的叙述中,不正确的是【 】。
(A) 数据运算是数据结构的一个重要方面(B) 数据运算的具体实现是在数据的逻辑结构上进行(C) 检索是一种常用的运算(D) 插入是一种常用的运算3. 在包含1000个元素的线性表中实现如下各运算,所需执行时间最长的是【 】。
(A) 线性表按顺序方式存储,删除线性表的第900个结点(B) 线性表按链式方式存储,删除指针P 所指向的结点(C) 线性表按顺序方式存储,在线性表的第100个结点后面插入一个新结点(D) 线性表按链式方式存储,在线性表的第100个结点后面插入一个新结点 科目名称:计算机软件基础 第 1 页 共 7 页4. 设某散列表的当前状态如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 190 75 194 768 559 582 208 该散列表的负载因子约为【】。
(A) 0.37 (B) 0.42 (C) 0.58 (D) 0.735. 设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初试建堆后关键码值A在序列中的序号是【】。
计算机二级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. 编写一个函数,计算并返回一个整数数组中所有元素的和。
华中科技大学计算机学院06年C语言程序设计试卷-参考答案及评卷标准.doc
华中科技大学计算机学院2016年C语言程序设计试卷-参考答案及评卷标准4计算机学院2015-2016学年第2学期C语言程序设计考试试卷A卷(或B卷):A卷闭卷(或开卷):闭卷考试时间:2016年6 月日一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、D2、A3、C4、D5、B6、B7、B8、A9、C 10、B二、多项选择题(下面每小题的A、B、C、D备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。
本大题共5小题,每小题2分,共10分。
)1、BD2、AC3、ACD4、BD5、BCD三、填空题(本大题共10小题,每小题1分,共10分。
)1、2002、w3、l (字母L)4、e5、i6、double 15.07、double 6.08、double 9.09、double 4.010、double * 516四、判断改错题(先判断下面各题中是否存在错误;如果存在错误,请改正之;否则不必改。
本大题共5小题,每小题2分,共10分。
)1、正确2、void change(char *ch) {*ch = 'N’;}3、if('a' 4、#define SQ(x) ((x)*(x))5、for(i=1;i五、简答题(本大题共5小题,共20分)1、c = a++ - ++b;评分标准:正确4分,部分正确2、~(0xffffffff评分标准:正确4分,部分正确3、main();Displayhello();printf(“hello ”);Displayworld();printf(“world\n”);Displayworld();printf(“world\n”);评分标准:正确4分,一行1分4、(x/10%10 〉x%10 && x/10%10 > x/100)?1 :0或者(x/10%10 〉x%10 && x/10%10 > x/100)评分标准:正确4分,部分正确5、p是一个长度为10的数组,每个元素为一个指针,指向一个函数,函数参数为void,返回值是int *类型六、阅读程序并写出其运行结果(本大题共5小题,每小题4分,共20分。
中科大计算机考研真题
中科大计算机考研真题中科大计算机考研是众多计算机科学与技术专业学生追求的目标之一。
在这道真题中,我们将回顾一些历年的考题,并提供一些解析和思路,以帮助考生更好地准备考试。
本文共分为三个主题部分:操作系统、数据库和算法与数据结构。
一、操作系统1. 多道批处理系统是怎样实现作业调度的?请简要描述操作系统的作业调度过程。
解析:多道批处理系统是指一台计算机同时处理多个作业,而不需要人工干预。
作业调度是指操作系统根据一定的算法,决定当前执行哪个作业。
作业调度过程一般包括以下几个步骤:首先,操作系统根据作业的优先级和提交时间等信息,为每个作业分配一个初始的调度优先级。
其次,对于多个处于就绪状态的作业,操作系统根据调度算法,选择一个作业进行执行。
常见的调度算法有先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)等。
最后,当一个作业执行完成或者处于阻塞状态时,操作系统会根据调度算法重新选择一个作业进行执行,直到所有作业完成。
2. 请解释死锁的概念,并说明死锁的产生条件和解决方法。
解析:死锁是指多个进程在竞争有限资源时,由于彼此之间的互斥和请求资源的非预期顺序等原因,导致都在等待对方释放资源,从而导致系统无法继续执行。
死锁的产生条件主要包括:互斥条件:进程对所请求的资源进行排他性控制,即一次只能有一个进程使用该资源。
持有和等待条件:进程已经持有了一个资源,但又请求额外的资源,而这些资源又被其他进程所占有。
不剥夺条件:其他进程不能强行剥夺一个进程已经持有的资源,只能由进程自己释放。
环路等待条件:多个进程之间形成了一个循环等待资源的关系。
死锁的解决方法主要有以下几种:鸵鸟算法:忽略死锁的存在,不进行处理。
适用于死锁发生概率极低的系统。
死锁检测与恢复:通过系统资源分配图等方法,检测死锁的发生,并进行资源回收和进程终止等操作,使系统恢复正常状态。
死锁预防:通过破坏死锁产生的四个条件之一,预防死锁的发生。
C语言考试23次笔试试题
四川省普通高等学校计算机应用知识和能力第二十三次等级考试二级(C与C++语言) 笔试试卷时间: 2005年10月15日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内在中的表示是指数据的存储结构。
( 1 )2. 能影响中断响应次序的技术是中断优先级和中断屏蔽。
( 2 )3. 链表可以随机访问任意一个结点,而顺序表则不能。
( 3 )4. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
( 4 )5. Windows、OS/2、Linux微机操作系统都是多用户多任务操作系统。
( 5 )6. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。
( 6 )7. 流式文件和记录式文件都以字符为基本单位进行存取。
( 7 )8. 不定长文件是指字段的长度不固定。
( 8 )9. 软件工程的三要素包括方法、工具和环境。
( 9 )10.软件结构是以指令为基础而组成的一种控制层次结构。
( 10 )二、选择题(每小题1分,共5分)1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是( 11 )11 (A) 1,4,3,2 (B) 2,3,4,1(C) 3,1,4,2 (D) 3,4,2,12. 任何两个并发进程之间( 12 )12 (A) 一定存在互斥关系(B) 一定存在同步关系(C) 一定彼此独立无关(D) 可能存在同步或互斥关系3. 以下哪个特征不是分时操作系统的主要特征( 13 )13 (A)中断管理(B)独立性(C)交互性(D)多路性4. 以下的准则中哪个不是面向对象软件设计应遵循的( 14 )14 (A)抽象准则(B)独立性准则(C)信息屏蔽准则(D)模块化准则5. 需求分析中开发人员主要从用户那里了解( 15 )15 (A)软件做什么(B)软件的结构(C)输入的信息(D)软件的测试第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1. 若变量已定义并赋值,下列符合C语法的表达式是( 16 )16 (A) a:=b+1 (B) a=b=c+2(C) int 18.5%3 (D) a=a+7=c+b2. 以下程序输出的结果是( 17 )void main(){ char a[]="Hello China";s[5]=0;puts(s);}17 (A) Hello (B) China (C) Hello China (D) O 3. 有以下程序#include <malloc.h>void main(){ char *p,*q;p=(char *)malloc(sizeof(char)*20);q=p;scanf("%s %s",p,q);printf("%s,%s\n",p,q);}若输入abc def<回车>,则输出为( 18 )。
中国科学院软件研究所1999年研究生入学考试数据结构与C语言试题
中国科学院软件研究所1999年研究生入学考试数据结构与C语言试题1 (5分)判断正误:① 中序遍历一棵二叉排序树的节点就可得到排好序的节点序列。
② 顺序存储方式只能用于存储线性结构。
③ 负载因子(装填因子)是散列表的一个重要参数,它反映散列表的装满程度。
④ 顺序查找法适用于存储结构为顺序或链接存储的线性表。
⑤ 栈和队列都是限制存取点的线性结构。
2 (5分)选择填空:① 图1中给出由7个顶点组成的无向图。
从顶点1出发,对它进行深度优先遍历得到的顶点序列是(1);而进行广度优先遍历得到的顶点序列是(2)。
(1) A 1354267 (2) A 1534267B 1347625 B 1726453C 1534276 C 1354276D 1247653 D 1247653E 以上答案均不正确 E 以上答案均不正确图1 题2.1图② 从临接矩阵A=可以看出,改图共有(1)个顶点。
如果是有向图,该图共有(2)条弧;如果是无向图,则共有(3)条边。
(1) A 9 B 3 C 6 D 1 E 以上答案均不正确(2) A 5 B 4 C 3 D 2 E 以上答案均不正确(3) A 5 B 4 C 3 D 2 E 以上答案均不正确3 (15分)算法设计(建议用类PASCAL语言写出算法)① 二叉排序树采用二叉链表存储。
些一个算法,删除节点值是X的节点。
要求删除改节点后,此树仍然是一棵二叉排序树,并且高度没有增长。
(注:可不考虑被删除的节点是根的情况)。
②已知关键字序列(K1,K2,K3,…,K n-1)是大根堆。
(1)试写一算法将(K1,K2,K3,…,K n-1,K n)调整为大根堆;(2)利用(1)的算法写一个建大根堆的算法。
4 (5分)以下是对C语言的一些描述,请选择正确答案。
①在C语言中,数组名作为参数传递给函数,作为实在参数的数组名被处理为()。
A.该数组的长度B.该数组的元素个数C.该数组中各元素的值D.该数组的首地址E.以上答案均不对② 以下程序段的输出是()#include <stdio.h>void fun(){static int a=5;a++;printf(“a=%d\n”,a);}main(){for(int i=0;i<2;i++)fun();}A. a=6 B a=5 C a=1 D a=5 E 以上答案均不正确a=7 a=6 a=1 a=5③ C语言命令行参数很有特点,其一般表达形式是()。
考研c语言考试题及答案
考研c语言考试题及答案一、选择题(每题2分,共10分)1. 下列关于C语言中变量的描述,错误的是:A. 变量必须先声明后使用B. 变量的声明可以放在函数内部C. 变量的声明必须放在函数的开始处D. 变量的声明可以放在语句中间答案:D2. 在C语言中,以下哪个选项不是合法的字符串常量?A. "Hello"B. 'Hello'C. "123"D. "C语言"答案:B3. 下列关于数组的描述,正确的是:A. 数组必须初始化B. 数组可以声明为局部变量C. 数组的大小在声明后不能改变D. 数组可以作为函数的参数答案:C4. 下列关于指针的描述,错误的是:A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针不能作为函数的返回值D. 指针可以指向另一个指针答案:C5. 下列关于函数的描述,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数的参数可以是数组答案:B二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个整型变量的关键字是_________。
答案:int2. 以下代码段的输出结果是_________。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于定义一个字符型数组的声明语句是_________。
答案:char array_name[size];4. 以下代码段中,变量b的值是_________。
```cint a = 5, b;b = a;```答案:55. 在C语言中,用于声明一个指向整型数据的指针的语句是_________。
答案:int *p;三、简答题(每题5分,共10分)1. 请简述C语言中指针和数组的关系。
c初级考试试题及答案
c初级考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中合法的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr[3] = {1, 2, 3, 4};答案:B3. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. %答案:C4. 下列哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. funcD. void答案:D6. 下列哪个选项表示C语言中的无限循环?A. for(;;)B. while(1)C. do{...}while(0)D. all of the above答案:D7. 在C语言中,以下哪个关键字用于定义一个枚举?A. enumB. structC. unionD. typedef答案:A8. 下列哪个选项是C语言中合法的函数声明?A. int myFunc(int x, int y);B. int myFunc(int, int);C. int myFunc(x, y);D. int myFunc(int x; int y);答案:B9. 在C语言中,以下哪个运算符用于执行取模操作?A. %B. /C. *D. -答案:A10. 下列哪个函数用于将字符串连接到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。
全国计算机二级c考试真题及答案
全国计算机二级c考试真题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言具有丰富的数据类型C. C语言可以直接操作硬件D. C语言不支持面向对象编程答案:D2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 若有以下代码片段:```cint a = 10;int b = 20;int c;c = a + b;```则变量c的值是:A. 10B. 20C. 30D. 40答案:C4. 在C语言中,以下哪个运算符用于计算两个数的乘积:A. +B. -C. *D. /答案:C5. 在C语言中,以下哪个函数用于计算一个数的平方根:A. sqrt()B. pow()C. log()D. abs()答案:A6. 在C语言中,以下哪个关键字用于声明一个函数:A. intB. voidC. returnD. function答案:B7. 在C语言中,以下哪个关键字用于定义一个循环结构:A. ifB. whileC. forD. switch答案:C8. 在C语言中,以下哪个关键字用于定义一个条件判断结构:A. ifB. elseC. switchD. case答案:A9. 在C语言中,以下哪个函数用于将字符串转换为整数:A. atoi()B. atof()C. strcpy()D. strcat()答案:A10. 在C语言中,以下哪个函数用于输出格式化的字符串:A. printf()B. scanf()C. gets()D. puts()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个字符型变量的关键字是________。
答案:char2. C语言中,用于声明一个浮点型变量的关键字是________。
答案:float3. 在C语言中,________运算符用于比较两个数是否相等。
中科大软院常见复试题目
1. ipv4的替代方案;2. 单链表原地逆向转置;3. 折半查找算法4. 简述操作系统中系统调用过程;5. 在数据库中什么是关系,它与普通二维表啥区别;6. 什么是原子操作;7. 路由协议有哪些;8. 进程的三种状态,以及之间转换的过程;9. 快速排序的基本过程;10. 什么叫视图?视图在数据库的第几层;11. 二叉树的搜索;12. 什么叫冲突?解决冲突的办法都有哪些;13. java与C++区别;14. 深度、广度搜索的过程;15. 迪杰斯克拉算法的过程;16. 关系模式与关系;17. 数据链路停发协议,就是流量控制;18. 虚拟存储器及相关算法;段存储器;19. 进程线程树图;20. 传输等待协议;21. 堆栈排序及其与快速排序的不同;22. 386的保护模式是什么;23. 页表;24. ER图;25. 关系范式26. 链表查询某个元素,平均时间复杂度是多少;27. 路由协议有哪些;28. 网络服务质量包括哪些方面;29. 并发控制是为了保证事务的?;30. 什么是DMA;31. 两个时钟不同步的设备怎么通信;32. 操作系统的调度算法有哪些;33. 单链表的原地逆置算法34. 数据库的两级模式以及它们的关系与作用(貌似是这样)35. 操作系统的进程调度算法有哪些,并介绍其中两种36. 计算机的一条指令有几个机器周期,为什么37. 原子操作,pv操作的要点与注意事项38. 内核、芯片(记不清了)39. DMA控制器的组成与工作原理40. 简述最短路径的迪杰斯特拉算法41. 什么是P操作与V操作。
42. 一个深度为N的满二叉树有多少个结点。
43. 实现一个队列的方法44. 折半查找调节与时间复杂度45. k层满树的总结点个数46. 介绍分段,分页存储方式(操作系统)47. 算术右移,逻辑右移,循环右移(组原)48. 事物的四个性质(数据库)49. 软件部分:软件开发步骤,模块设计规则,详细设计如何实现50. 硬件部分:冯诺依曼结构,其他还有两个问题忘了51. 综合部分:学习这个专业是否男女有别,毕业后回哪发展?52. 软件测试,53. 高速缓存54. 虚拟存储。
c语言程序设计考研试题及答案
c语言程序设计考研试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言中变量声明的描述,不正确的是:A. 变量声明可以出现在函数内部B. 变量声明必须在函数的开始处C. 变量声明可以出现在语句中间D. 变量声明可以出现在语句的任何位置答案:C2. C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,下列哪个运算符用于计算两个数的和?A. %B. +C. &&D. ||答案:B4. 下列哪个函数用于将字符串从源位置复制到目标位置?A. strcpyB. strncpyC. strcatD. strcmp答案:A5. 在C语言中,用于声明一个指针的关键字是:A. intB. charC. floatD. void答案:B6. 下列关于C语言中数组的描述,正确的是:A. 数组可以是多维的B. 数组的索引从1开始C. 数组的大小在运行时确定D. 数组不能存储结构体答案:A7. 在C语言中,下列哪个函数用于打开一个文件?A. fopenB. fcloseC. fgetcD. fputc答案:A8. C语言中,下列哪个关键字用于声明一个函数?A. intB. charC. voidD. return答案:C9. 下列关于C语言中循环的描述,不正确的是:A. for循环可以嵌套使用B. while循环可以无限循环C. do-while循环至少执行一次D. for循环的初始化部分不能声明变量答案:D10. 在C语言中,下列哪个关键字用于定义一个宏?A. defineB. macroC. includeD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符常量的是单引号,例如:'A'。
2. C语言中,用于定义一个字符串常量的是双引号,例如:"Hello"。
大一c语言考试题及答案解析
大一c语言考试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言可以用于系统编程C. C语言不支持面向对象编程D. C语言的源代码文件扩展名是.cpp答案:D解析:C语言的源代码文件扩展名是.c,而不是.cpp,后者是C++的源代码文件扩展名。
2. 在C语言中,以下哪个关键字用于定义一个函数?()A. returnB. functionC. defineD. void答案:D解析:在C语言中,void是用于定义函数的关键字,例如:void functionName()。
二、填空题1. 在C语言中,用于声明一个整型变量的关键字是______。
答案:int2. 若定义一个变量x,其值为10,正确的声明语句是______。
答案:int x = 10;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一个数据结构,用于存储相同类型的多个元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名本身代表数组的首地址,而指针变量可以被赋值为任意地址。
2. 请解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构,从而可以创建复杂的数据结构来表示复杂的数据。
四、编程题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 odd numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用for循环遍历1到100的整数,通过if语句检查每个数是否为奇数,如果是,则将其加到sum变量中。
程序设计 中国科学院大学硕士研究生入学考试试题
for(ቤተ መጻሕፍቲ ባይዱ=0;j<4;j++) {
if(i==j) m1*=a[i][j];
if(i+j==3) m2+=a[i][j];
科目名称:程序设计
第 4 页 共 12 页
printf("%d,%d,%d\n", (int)sizeof(a), (int)sizeof(b), (int)sizeof(c)); return 0; }
3、阅读下列 C 程序,写出程序输出结果:__________________ #include <stdio.h> int main(){
} printf("%d,%d\n",m1,m2); return 0; }
4、阅读下面 C 程序,请写出程序输出结果:__________________ #include <stdio.h> int main(){
int a=0,b=2,c=1; switch (a){
case 0: switch (b){
第 2 页 共 12 页
5、请阅读下面 C 程序,选择程序的输出结果:______ #include <stdio.h> typedef struct{
int x; int y; } COORD; int main() { COORD a[]={{2,4},{3,6}}; COORD *p=&a[1]; --p; printf("%d\n", (p[1].x * p[1].y)); return 0; } (A)6 (B)24 (C)8 (D)18
中科大软件学院C考试试卷
学号___________________ 姓名________________成绩_______________《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。
答题纸在试卷的最后页。
2)交卷时,试卷和答题纸一起交。
一、单选题(每小题1.5分,共30分)1. C++中,以下有关构造函数的叙述不正确的是 ______ 。
A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个2.以下叙述不正确的是 ______ 。
A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B. 类的一个成员只能具有一种访问控制属性C. 构造函数和析构函数是特殊的成员函数,因此不允许重载D. 通过对象只能访问类的公有成员3. 以下关于虚函数的叙述不正确的是 ______ 。
A. 虚函数属于成员函数B. 虚函数不允许说明成静态的C. 凡是虚函数必须用virtual说明D. 虚函数可以被继承4.cout是I0流库预定义的______ 。
A.类B.对象C. 包含文件D. 常量5.面向对象程序设计中的数据隐藏指的是______ 。
A.输入数据必须输入保密口令B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。
A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7. 下列不是描述类的成员函数的是______ 。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数8. 如果类A被说明成类B的友元,则______ 。
A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元9. 对于任何一个类,析构函数最多有______个。
A. 0B. 1C. 2D. n10. 下列特性中,C与C++共有的是______ 。
华中科技大学C语言期末考试题库试题及答案汇总
华中科技大学C语言期末考试题库试题及答案汇总1。
设int a=12,则执行完语句a+=a-=a*a后,a的值是__D____.A、552B、264C、144 D、-264知识点:算术表达式2.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。
A、x/y*zB、x*(1/(y*z))C、x/y*1/z D、x/y/z知识点:算术表达式3。
若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____.A、1.4B、1C、2.0D、2知识点:算术表达式4.有如下程序main(){inta; char c=10;float f=100。
0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序运行后输出结果是___B___.A、1 65 16.5B、1 65 1.5 6。
5C、1 65 1。
0 6。
5D、2651。
5 6.5知识点:赋值表达式5.若变量a、i已正确定义,且i已正确赋值,合法的语句是___B___。
A、a==1B、++i;C、a=a++=5;D、a=int(i);知识点:赋值表达式6。
若变量已正确定义并赋值,下面符合C语言语法的表达式是__B____.A、a:=b+1B、a=b=c+2 C、int 18。
5%3 D、a=a+7=c+b知识点:赋值表达式7。
设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是__C____。
A、x=x*100+0.5/100。
0B、x=(x*100+0.5)/100。
0C、x=(int)(x*100+0。
5)/100.0???D、x=(x/100+0.5)*100.0 知识点:赋值表达式8。
在一个C程序中___B___。
A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置知识点:简单C语言程序的构成和格式9.以下说法中正确的是__D____。
C技术基础试题5套试卷含答案.doc
《C#技术基础》试题1A. abstractB. camelC. SalaryD. Employ 答案:A2.C#语言中,值类型包括:基本佰类型、结构类型和( )=A. 小数类型B.整数类型C.类类型D.枚举类型答案:D3. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A. int[]arr = new int[10,20]B. int[]arr = int new[10,20]C. int[,]arr = new int[10,20]D. int[,]arr = new int[20;10]答案:C4. 在类作用域中能够通过直接使用该类的()成员名进行访问。
A. 私有B.公用C.保护D.任何答案:D5. 以下正确的描述是( )。
A. 函数的定义可以嵌套,函数的调用不口J 以嵌套B. 函数的定义不可以嵌衮,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套 答案:B6. 小数类型和浮点类型都可以表示小数,正确说法:()A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C. 小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C8. 能作为C#程序的基本单位是()。
A. 字符B.语句C.函数D.源程序文件 答案:B9. 可用作C#程序用户标识符的一组标识符是()。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof答案:B10. 引用类型主要有4种:类类型、数组类型、接口类型和( )oA.对象类型B.字符冷类型C.委托类型D.整数类型 答案:C 1 .属于c#语言的关键字( 单项选择题(每小题2分,共20分)得分评卷人--- 二、填空题(每空2分,共20分)1 . 在switch语句中,每个语句标号所含关键字case后面的表达式必须是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。
答题纸在试卷的最后页。
2)交卷时,试卷和答题纸一起交。
一、单选题 (每小题1.5分,共30分)1. C++中,以下有关构造函数的叙述不正确的是 ______ 。
A. 构造函数名必须和类名一致B. 构造函数在定义对象时自动执行C. 构造函数无任何函数类型D. 在一个类中构造函数有且仅有一个2.以下叙述不正确的是 ______ 。
A. 在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B. 类的一个成员只能具有一种访问控制属性C. 构造函数和析构函数是特殊的成员函数,因此不允许重载D. 通过对象只能访问类的公有成员3. 以下关于虚函数的叙述不正确的是 ______ 。
A. 虚函数属于成员函数B. 虚函数不允许说明成静态的C. 凡是虚函数必须用virtual说明D. 虚函数可以被继承4. cout是I0流库预定义的______ 。
A.类 B. 对象 C. 包含文件 D. 常量5.面向对象程序设计中的数据隐藏指的是______ 。
A.输入数据必须输入保密口令 B.数据经过加密处理C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______ 。
A.进行数据类型的转换 B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7. 下列不是描述类的成员函数的是______ 。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数8. 如果类A被说明成类B的友元,则______ 。
A. 类A的成员即类B的成员B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员D. 类B不一定是类A的友元9. 对于任何一个类,析构函数最多有______ 个。
A. 0B. 1C. 2D. n10. 下列特性中,C与C++共有的是______ 。
A.继承B.封装C.多态性D.函数定义不能嵌套11. 在公有继承的情况下,基类公有和保护成员在派生类中的访问权限______ 。
A. 受限制B. 保持不变C. 受保护D. 不受保护12. 通过______ 调用虚函数时,采用动态束定。
A. 对象指针B. 对象名C. 成员名限定D. 派生类名13. C++ 类体系中,不能被派生类继承的有______ 。
A. 成员转换函数B. 构造函数C. 虚函数D. 静态成员函数14. 假定 ab 为一个类,则执行 ab x;语句时将自动调用该类的______ 。
A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值构造函数15. 静态成员函数不能说明为______ 。
A. 整型函数B. 浮点函数C. 虚函数D. 字符型函数16. 在 C++ 中,数据封装要解决的问题是______ 。
A. 数据规范化排列B. 数据高速转换C. 避免数据丢失D. 保证数据完整性17.关于友元函数的描述中,错误的是 ________ 。
A. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend18. 实现运行时的多态性用______。
A. 重载函数B. 构造函数C. 析构函数D. 虚函数19. 关于 new和new[] 运算符的下列描述中,______ 是错误的。
A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以使用运算符 delete和delete[] 删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值;20.下列关于虚函数的说明中,正确的是 ______ 。
A.从虚基类继承的函数都是虚函数。
B.虚函数不得是静态成员函数。
C.只能通过指针和引用调用虚函数。
D.抽象类中的成员函数都是虚函数。
二、写出下列程序的运行结果,如您觉得有错,写明出错原因;如你觉得无输出,请明确写出。
(每小题5分,共40分)1.#include <iostream>using namespace std;class A{protected:int a;public:A(int p1) { a=p1; }int inc1(void) { return ++a; } };class B1:public A{protected: int b1;public: B1(int p1,int p2):A(p1) { b1=p2; }int inc1(void) { return A::inc1(); }void display(void) { cout<<"a="<<a<<" b1="<<b1<<"\n"; } };class B2:public A{private: int b2;public: B2(int p1,int p3):A(p1) { b2=p3; }int inc1(void) { A::inc1(); A::inc1(); return A::inc1(); }void display(void) { cout<<"a="<<a<<" b2="<<b2<<"\n"; } };class C:private B1,public B2{private: int c;public: C(int p11,int p12,int p21,int p22,int p):B1(p11,p12),B2(p21,p22) { c=p; }int inc1(void) { return B2::inc1(); }void display(void) { B1::display(); B2::display(); cout<<"c="<<c<<"\n";} }; int main(void){C d(1,2,3,4,5); cout<<"\n"; d.display(); cout<<"\n";d.inc1(); d.display(); return 0; }#include <iostream>using namespace std;template<class T>class Tclass{T x,y;public:Tclass (T a,T b):x(a) { y=b; }Tclass (T a) { y=(T)0, x=a; }void pr( ) { char c; c=(y>=(T)0)? '+':'-';cout<<x<<c<< (y>(T)0 ? y : -y) <<"i"<<endl; } };int main( ){Tclass<double> a(10.5,-5.8); a.pr( );Tclass<int> b(10); b.pr( ); return 0; }3.#include <fstream>#include <iostream>#include <vector>using namespace std;int main (){ vector<vector<int> > datas;Ifstream ifs("test.dat");int m, n;ifs >> m >> n;int i, j;for (i = 0; i < m; i ++) {vector<int> V;for (j = 0; j < n; j ++ ) { int x; ifs>>x; V.push_back(x); } datas.push_back (V); }for (i = 0; i < m; i ++) {for (j = 0 ;j < n; j ++) { cout << datas [i][j]<< " ";}cout << endl; }}文件Test.dat内容如下:3 4 1 2 3 4 5 6 7 8 9 10 11 124.#include <iostream>using namespace std;class CAT{ public: CAT(){ itsAge=new int; *itsAge=5;}~CAT(){ delete itsAge; itsAge=NULL;}int GetAge(){ return *itsAge; }void SetAge(int age) { *itsAge=age; }protected: int *itsAge; };int main(){ CAT a; cout<<"a's age:"<<a.GetAge()<<endl; a.SetAge(6);CAT b(a); cout<<"a's age:"<<a.GetAge()<<endl;cout<<"b's age:"<<b.GetAge()<<endl; a.SetAge(7);cout<<"a's age:"<<a.GetAge()<<endl; cout<<"b's age:"<<b.GetAge()<<endl; }#include <iostream>using namespace std;#include <string>class Base{ private: char msg[30];protected: int n;public: Base(char s[],int m=0):n(m) { strcpy(msg,s); }void output(void) { cout<<n<<endl<<msg<<endl; } };class Derived1:public Base{ private: int n;public: Derived1 (int m=1): Base("Base",m-1) { n=m; } void output(void) { cout<<n<<endl; Base::output();} };class Derived2:public Derived1{ private: int n;public: Derived2(int m=2):Derived1(m-1) { n=m; }void output(void) { cout<<n<<endl; Derived1::output();} };int main(){ Base B("Base Class",1); Derived2 D; B.output(); D.output();}6.#include <iostream>using namespace std;class Rr{ public: Rr(int a){ data=a;}operator int(){ return data;}operator double(){ return double(data);}private: int data; };int main(){ Rr r1(2),r2(4); int x=int(r1)+int(r2);double y=double(r1)/double(r2); cout<<"x="<<x<<",y="<<y<<endl; return 0; }7.#include <iostream>using namespace std;class sz { int intT1;public: sz() { intT1=5;}void Set1(int t) {intT1=t;}int Get1() { return intT1; } };class sz2{ public: sz2() { mszT=new sz(); mszT2=new sz();}sz *f1() { mszT2=new sz(); mszT2->Set1(1); return mszT2; }sz *f2() const { return mszT; }const sz *f3() { return mszT; }const sz *f4() const {return mszT2;}private:sz *mszT;sz *mszT2; };int main(){ sz t; sz2 f;sz *s1=f.f1(); cout<<s1->Get1()<<endl;s1->Set1(10); cout<<s1->Get1()<<endl;s1=f.f2(); cout<<s1->Get1()<<endl;s1->Set1(20); cout<<s1->Get1()<<endl;const sz *s2=f.f3(); t=*s2; cout<<t.Get1()<<endl;s2=f.f1(); t=*s2; cout<<t.Get1()<<endl;sz * const s3=f.f1(); t=*s3; cout<<t.Get1()<<endl;s3->Set1(30); cout<<s3->Get1()<<endl;return 0; }8.#include <iostream>using namespace std;class A { public: virtual void print(int x) {cout <<"A:"<< x << '\t' ;} }; class B:public A { public: virtual void print(float x) {cout <<"B:"<< x << '\t';} }; class C:public A{ public: virtual void print(int x) {cout <<"C:"<< x <<endl;} }; void show(A &a) { a.print(3); }void main( ){ A a; B b; C c;a.print(1);b.print(2);c.print(3);show(a); show(b); show(c); }三、程序填空题(每空2.5分,共25分)1.下面程序定义了一个圆类,其数据成员为圆心坐标和半径,成员函数area()计算圆的面积,应用程序生成两个圆类实例,若是同心圆则计算圆环的面积。