南开大学0题c语言
- 格式:doc
- 大小:91.50 KB
- 文档页数:34
计算机二级C语言上机(南开大学)100题程序填空题1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==12 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和n==o n==1 fun(n-1)+fun(n-2)3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置s+i<s+n-1-i*(s+i)=(s+n-1-i) *(s+n-1-i)=t4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和i<=ni%3==0||i%7==0 1.0/i5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积r r*r &x6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入<= n++return s7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数n%10 break break8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束&num[i]max<num[i]? num[i]!=09 给定程序的功能是分别统计字符串中大写字母和小写字母的个数(*a)++ (*b)++ upper,lower10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动1 s[k] c12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'tt[i]+=32 tt13 补充fun函数,功能是判断一个数是否为素数。
南开大学C语言与数据结构考研大纲及考题真题资料南开大学C语言与数据结构考研复习都是有依据可循的,考研学子关注事项流程为:考研大纲-参考书-真题资料-复习经验-辅导-复试-导师,缺一不可。
咱们今日分享南开大学C语言与数据结构考研大纲及考题真题资料,帮助大家找到报考学校的命题规律、题型考点、分值分布、难易程度、重点章节、重要知识点等,从而使我们的复习备考更具有针对性和侧重点,提高复习备考效率。
下面是南开大学C语言与数据结构考研考试大纲815C语言与数据结构《C语言与数据结构》之C语言部分考试大纲一、考试目的本考试是全日制软件工程硕士专业学位研究生的入学资格考试之专业基础课,各语种考生统一用汉语答题。
招生院校根据考生参加本考试的成绩和其他三门考试的成绩总分来选择参加第二轮,即复试的考生。
二、考试的范围以下是本科目的考试范围。
1.数据类型,不同类型数据之间的转换和混合运算,类型定义,运算符的运算规则和优先级,表达式;2.程序结构,包括循环,嵌套,和递归;3.函数的定义,调用,和传参数;4.标准函数库中定义的常用函数,包括输入输出函数,数学计算函数,内存操作函数,字符串操作函数等;5.数组和字符串的定义和操作;6.指针的各种用法,包括对字符串指针,数组指针,函数指针等的定义和操作,将指针用作函数参数,以及使用指针进行动态内存管理;7.宏定义和头文件;8.结构体的定义和操作;9.文件操作;10.程序调试技术。
三、考试基本要求1.掌握C语言的基本语法知识。
2.熟练运用C语言进行程序设计的能力。
四、考试形式本考试包括5道编程题考试要求该部分包含5道编程题,要求考生综合运用C语言知识解决面向应用的问题。
编程题不涉及复杂的数据结构、算法,代码行数在100行以内,编程中会用到C标准库中定义的常用函数。
答题和计分要求考生用钢笔或圆珠笔做在答题卷上。
《C语言与数据结构》之数据结构部分考试大纲一、考试目的本考试是全日制软件工程硕士专业学位研究生的入学资格考试之专业基础课,各语种考生统一用汉语答题。
天津大学c语言考试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于函数的描述,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以嵌套定义D. 函数可以递归调用答案:C3. 在C语言中,用于声明一个字符数组的语句是:A. char array[10];B. int array[10];C. float array[10];D. double array[10];答案:A二、填空题1. 在C语言中,表示逻辑“与”的运算符是____。
答案:&&2. C语言中,用于定义一个整型数组的语句是____。
答案:int array[10];3. 当使用printf函数输出一个浮点数时,格式化字符串为____。
答案:%f三、简答题1. 请简述C语言中指针和数组的关系。
答案:在C语言中,指针是一种特殊的变量,它存储了另一个变量的内存地址。
数组是一个连续的内存块,其中包含了相同类型的元素。
指针可以用于访问数组的元素,通过指针可以遍历数组。
2. 描述C语言中如何使用循环结构。
答案:C语言中常用的循环结构有for循环、while循环和do-while 循环。
for循环通常用于执行固定次数的循环,其语法为:for (初始化表达式;条件表达式;更新表达式) {循环体}。
while循环和do-while循环则用于执行条件满足时的循环,其中while循环先判断条件再执行循环体,而do-while循环则先执行循环体再判断条件。
四、编程题1. 编写一个C语言程序,实现计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和是:%d\n", sum); return 0;}```2. 编写一个C语言函数,实现字符串的反转。
《程序设计基础(下)》在线作业
在C++中,能被派生类继承的函数是( )。
A:成员函数
B:构造函数
C:析构函数
D:拷贝构造函数
参考选项:A
关于对象成员的构造函数的调用顺序,说法正确的是( )。
A:与它们在成员初始化列表中给出的顺序相同
B:与析构函数的调用顺序相同
C:与它们在类中说明顺序相同
D:以上说法都不对
参考选项:C
下列关于成员函数特征的描述中,错误的是( )。
A:成员函数一定是内联函数
B:成员函数可以重载
C:成员函数可以设置参数的默认值
D:成员函数可以是静态的
参考选项:A
下面关于对象概念的描述中,( )是错误的。
A:对象就是C语言中的结构变量
B:对象代表着正在创建的系统中的一个实体
C:对象是一个状态和操作(或方法)的封装体
D:对象之间的信息传递是通过消息进行的
参考选项:A
在长度为n的单链表中查找某给定值x时,最少查找( )次就可找到。
A:1
B:n
C:n的平方
D:n/2
参考选项:A
在一个无向图中,所有顶点的度之和等于图的边数的( )倍。
A:1
B:2
C:3
D:4
参考选项:B
1。
22秋学期(高起本1709-1803、全层次1809-2103)《C语言程序设计》在线作业1.如果在C语言中一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为( )。
A.0~255B.0~32 767C.0~65 535D.0~2 147 483 647【参考答案】:C2.在C语言中,要求运算数必须是整型的运算符是( )。
A./B.&&C.!=D.%【参考答案】:D3.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )A.2次B.无限次C.0次D.1 次【参考答案】:C4.设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )A.stutype 是用户定义的结构体类型名B.a 和 b 都是结构体成员名C.struct 是结构体类型的关键字D.struct stu 是用户定义的结构体类型【参考答案】:A5.C语言中规定,if语句的嵌套结构中,else总是与( )配对A.与最近的if 配套B.与第一个if 配套C.按缩进位置相同的if配套D.与最近的且尚未配对的if 配套6.从用户使用的角度看,函数有两种,它们是( )A.库函数和用户自定义函数B.库函数和主函数C.用户自定义函数和主函数D.主函数和子函数【参考答案】:A7.C程序的执行从哪里开始( )A.第一条语句B.第一个函数C.最后一个函数D.主函数【参考答案】:D8.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式【参考答案】:C9.已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )A.DB.68C.不确定的值D.C【参考答案】:A10.若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )A.2.500000B.2.750000C.3.500000D.0.000000【参考答案】:A11.下列哪个是字符写函数( )。
22春学期(高起本1709-1803、全层次1809-2103)《程序设计基础(上)》在线作业-00001试卷总分:100 得分:100一、单选题 (共 25 道试题,共 50 分)1.下面关于数组的描述中,错误的是##。
A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略答案:C2.下面关于for循环的正确描述是##。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D3.已知程序段: int a[3][4],*p[3]={a[0], a[1], a[2]},**pp=p,i; for (i=0; i<12; i++) a[i/4][i%4]=i; 则pp[1][2]的值是##。
A.3B.4C.5D.6答案:D4.在C++中,与cout一起使用的插入运算符是( )。
A.<B.>C.<<D.>>答案:C5.已知字母“a”的ASCII码是97,则字母“f”的ASCII码是( )。
A.100B.101C.102D.103答案:C6.变量x表示成绩,C++中表示0<=x<=100的表达式是()。
A.0<=x<=100B.0<=x && x<=100C.0<=x ! <=100D.0<=x || x<=100答案:B7.已知函数原型"void fun(int &a);",则下列关于fun函数的调用形式,正确的是##。
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;/lugoi6liilyrf67for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;xcfb}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
2022年南开大学《程序设计基础(下)》在线作业-00002在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( )。
A:不同B:相同C:相容D:部分相同正确选择:B下面( )不是常用的存储图的方法。
A:邻接矩B:邻接压缩表C:邻接链表D:散列表正确选择:D下列运算符中,()运算符在C++中不能重载。
A:?:B:+C:-D:=正确选择:A在一个长度为n的顺序存储的线性表中,删除第i个元素(1 ≤i ≤n)时,需要将( )个元素向前移动一个位置。
A:n-iB:n-i+1C:n-i-1D:i正确选择:A在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )。
A:eB:2eC:n的平方减eD:n的平方2减2e正确选择:D缺省析构函数的函数体是( )。
A:不存在B:随机产生的C:空的D:无法确定的正确选择:C在一棵完全二叉树中,根结点的编号为1,按照由上到下由左到右的顺序为二叉树结点编号。
若编号为5的结点存在右孩子,则右孩子结点的编号为( )。
A:9B:10C:11D:12正确选择:C下面程序段中是内联函数的是( )。
class location{private:int x ,y;public:void init(int initx,int inity) { x=initx; y=inity; }int getx(){return x;}int gety();};inline int location::gety() {return y;}A:init (int initx,int inity)B:getx(),gety()C:A和B都是D:A和getx()正确选择:C建立类模板对象的实例化过程为( )。
A:基类->派生类B:构造函数->对象C:模板类->对象D:模板类->模板函数正确选择:C下列描述中,()是抽象类的特性。
A:可以说明虚函数B:可以定义友元函数C:可以进行构造函数重载D:不能说明其对象正确选择:D在下列选项中( )不是ostream类的对象。
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;/lugoi6liilyrf67for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;xcfb}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;cas e ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j’: pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o’: pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r’: pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t’: pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v’: pp[21]++;break;case ‘w’: pp[22]++;break;ca se ‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
答案:void fun(int m, int k, int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 && j>=i){if (k>=0){xx[g++]=i;k--;}elsebreak;}}}6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
答案:void fun(char a[],char b[], int n){int I,j=0;for (i=0;i<LEN;i++)if (i!=n){b[j]=a[i];j++;}b[j]=‘\0’;}7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
答案:void fun (int *s, int t, int *k){int I, max;max=s[0];for(i=0;i<t;i++)if (s[i]>max){max=s[i];*k=I;}}8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)答案:float fun (int n){int i;float s=1.0, t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!答案:float fun(int m, int n){float p,t=1.0;int I;for (i=1;i<=m;i++)t=t*I;p=t;for(t=1.0,i=1;i<=n;i++)t=t*I;p=p/t;for(t=1.0,i=1;i<=m-n;i++)t=t*I;p=p/t;return p;}10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出root=0.739085。
答案:float fun(){float x1=0.0,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>1e-6);return x1;}11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。
请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
答案:int fun(int a[][N]){int I,j;for(i=0;i<N;i++)for(j=0;j<=I;j++)a[i][j]=0;}12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。
请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
答案:double fun(int w[][N]){int I,j,k=0;double s=0.0;for(j=0;j<N;j++){s+=w[0][j];k++;}for(j=0;j<N;j++){s+=w[N-1][j];k++;}for(i=1;i<=N-2;i++){s+=w[i][0];k++;}for(i=1;i<=N-2;i++){s+=w[i][N-1];k++;}return s/=k;}13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。
二维数组中的数已在主函数中赋予。
答案:void fun(int tt[M][N], int pp[N]){int I,j,min;for(j=0;j<N;j++){min=tt[0][j];for(i=0;i<M;i++){if (tt[i][j]<min)min=tt[i][j];}pp[j]=min;}}14: 第14题请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
答案:int fun(int a[M][N]){int I,j,s=0;for(j=0;j<N;j++){s+=a[0][j];s+=a[M-1][j];}for(i=1;i<=M-2;i++){s+=a[i][0];s+=a[i][N-1];}return s;}15: 第15题请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w使n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
答案:unsigned fun(unsigned w){unsigned t,s=0,s1=1,p=0;t=w;while(t>10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}return s;}16: 第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定h中的值位正数)。
答案:float fun(float h){long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/100.0;return s;}17: 第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。
答案:void fun(char *s){char ch;int I,m,n;i=0;m=n=strlen(s)-1;while(i<(n+1)/2){ch=s[i];s[i]=s[m];s[m]=ch;i++;m--;}}18: 第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。
答案:void fun(int array[3][3]){int I,j,temp;for(i=0;i<3;i++)for(j=0;j<I,j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}}19: 第19题编写函数fun,该函数的功能是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。