c++上机题
- 格式:doc
- 大小:32.00 KB
- 文档页数:2
1输入三个整数*,y,z,把这三个数由小到大输出。
# include <stdio.h>void main(){int *,y,z,a;scanf ("%d,%d,%d",&*,&y,&z);if(*>y) {a=*; *=y;y=a;}if(*>z) { a=*; *=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",*,y,z);}2输入圆的半径,输出圆的周长和面积。
# include<stdio.h># define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# include<stdio.h>void main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# include<stdio.h>int main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
20XX年复习资料大学复习资料专业:班级:科目老师:日期:实验前言(建议认真阅读)一、上机实验的目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解C++语言的基本结构和程序设计方法。
通过亲手编程掌握C++语言编程的方法。
二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了五个实验。
学生在课内机时先完成指导书中标有“*”号的程序,理解所学的知识,在此基础上再编写其他应用程序。
指导书中的五个个实验如下:1. 函数与编译处理2. 指针与引用3. 类和对象4. 继承和派生类5. 多态性三、实验提交(特别提醒)1. 实验题目以附件形式提交,每个附件限一个源程序,附件以实验编号-题号-自己学号.cpp命名;如学号为20XXXX20XXXX20XXXX34的同学提交实验1的第5题,则附件命名方式为:1-5-20XXXX20XXXX20XXXX34.cpp,错误提交的将视为未提交。
2. 提交时间定为该次实验课的一周内,过期不再接收。
四、评分和作弊处理1. 要求提交实验题总数为6题(带“*”号),占期末总评成绩的20XX%;2. 存在抄袭和被抄袭的作业,无论抄袭与被抄袭者,本门课程平时成绩以零分记。
存在两次及两次以上抄袭和被抄袭者,本门课程以不及格记。
五、实验课要求(重点强调)1. 严禁QQ、MSN等即时软件工具聊天;2. 严紧接听手机、发送短信;3. 严紧玩游戏。
实验1 函数与编译处理一、实验目的1. 掌握函数声明、定义和使用的方法;2. 掌握形参与实参之间的对应关系;3. 掌握函数调用时,形参、实参之间的“值传递”和“引用传递”的区别;4. 掌握函数递归调用的方法;5. 掌握全局变量、局部变量、静态变量的使用方法;6. 掌握文件包含的使用方法。
二、实验内容1. 定义两个函数swap1和swap2,目的是实现两个整数的次序交换,其中swap1的参数是传递值参数,swap2的参数是引用参数,在程序中分别调用这两个函数,其输出结果如下所示:初始值:x=1,y=2调用swap1后的结果:x=1 y=2调用swap2后的结果:x=2 y=12. 编写一个函数,用来计算从键盘上输入的整数的阶乘。
C语言上机150道题及参考答案1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。
例如输入355和113,输出3.14159。
3.用while循环结构编写程序打印ASCII码为33-127的字符。
4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
5.用for循环结构编写程序打印ASCII码为33-127字符。
6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
7.输入一个整数将其倒着输出,如54321——12345。
8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
10.用while 循环计算1+2+……+100的和。
11.用do while循环计算1+2+……+100的和。
12.用for 循环计算1+2+……+100的和。
13.输入一个小于等于10的整数n ,计算n!。
14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
15.用循环语句,计算1~100之间的所有3的倍数之和。
16.用循环语句,计算100-200之间的所有7的倍数之和。
17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
19.输入一个整数,统计它有几位数。
如输入367,则该数有3位数。
20.编写程序,输出1到50中间所有能被3整除的正整数。
21.把100~200之间不能被3整除的输出。
22.编程Y=1+3+5+7+...111。
23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。
24.编程输出九九乘法表。
25.求1到100奇数和。
编程题题一:取出一个十进制正整数中的所有奇数,用这些数字构成一个最小数。
(1)编写函数long fun(long s),其函数功能是取出十进制整数s中所有的奇数数字,用这些数字构成一个最小数,函数返回该数。
(2)编写main函数,接受键盘输入的一个长整形数,用该整数作为实参调用fun函数,输出得到的最小数。
测试数据:876531429 7 5 3 1 9运行结果:13579题二:求符合条件的数找出符合以下条件的Troitsky数:将该数的首位数字移动到末位数字之后得到的数是原数的整数倍。
例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857是Troitsky数。
(1)编写函数int Troitsky(long a[]),其功能是求出1000000以内所有的troitsky数(数字从142875开始),并将它们依次放入a指向的数组中,函数返回找到的troitsky 数的个数。
(2)编写main函数,调用troitsky函数,输出运行结果。
题三:找出7个默森尼数。
法国数学家默森尼曾提出下列公式:Mp=2p-1.当p是素数,并且Mp也是素数时,称Mp为默森尼数。
例如p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数。
【编程要求】1、编写函数void Mersenne(long a[],int m),其功能是求出前m个默森尼数并依次将它们保存到a指向的数组中。
2、编写main函数,调用Mersenne函数找出并保存前7个默森尼数,将运行结果输出到屏幕及结果文件“学号myf2.out”中。
最后将学号也保存到结果文件myf2.out中。
【测试数据与运行结果】3 7 31 127 8191 131071 524287【要求】1.源程序的文件名为myf2.c,输出结果文件名为myf2.out2.数据文件的打开、使用、关闭均用C语言标准库中函数操作3.源程序文件和运行结果均需保存到相关学号文件夹中。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
c语言上机考试题库单项选择题1.有char c=’1’,下面说法中正确的是()。
A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。
A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。
A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。
x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。
A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。
A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。
A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。
A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。
A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。
安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。
将下载的文件Microsoft Visual Studio.rar解压后即可使用。
请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
一、单项选择1.题号:4889以下函数挪用语句中,实参的个数是(). exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6A、能够在同一个函数中,显现多次B、在主函数和其他函数中,都可显现C、必需在每一个函数中,显现D、只能在除主函数之外的函数中,显现一次A、该数组的首地址B、该数组的元素个数C、该数组中各元素的值D、该数组的长度答案:A2.题号:4525在C语言的函数中,以下正确的说法是().A、数组名不能作形参B、能够有也能够没有形参C、形参必需是变量名D、必需有形参答案:B3.题号:4083以下正确的函数概念形式是().A、double fun(int x,int y)B、double fun(int x;int y)A、main()B、#include""C、scanfD、printf答案:A4.题号:4048下面对函数的表达,正确的选项是().A、函数中不论是不是有return语句,都能返回正确值B、函数中没有return语句,说明不带回值C、函数不能嵌套概念D、函数的返回值是通过return语句取得的答案:C5.题号:4073在挪用函数时,假设是实参是简单变量,它与对应形参之间的数据传递方式是().A、传递方式由用户指定B、由实参传给形参,再由形参传回实参C、地址传递D、单向值传递答案:D6.题号:5119以下关于函数的表达中正确的选项是().A、每一个函数都能够单独运行A、5B、3C、2D、4答案:C7.题号:4901在C语言中,形参的缺省存储类是().A、staticB、registerC、autoD、extern答案:C8.题号:4507C语言规定,在一个源程序中,main()函数的位置.A、必需在最开始B、必需在系统挪用的库函数的后面C、能够任意D、必需在最后答案:C9.题号:4847以下表达中,正确的选项是().A、main()可作为用户标识符,用以命名任意一个函数作为主函数B、C语言程序将从源程序中,第一个函数开始执行C、能够在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行D、C语言规定必需用main()作为主函数名,程序将从此开始执行,在此终止答案:D10.题号:5137以下函数的类型是fff(float x){printf("%d\n",x);}A、能够在任意位置B、必需在程序的最后C、必需在程序的开始D、必需在系统挪用的库函数以后答案:A11.题号:4112C语言规定,函数返回值的类型是().A、由return语句中的表达式类型所决定B、由挪用该函数时的主调函数类型所决定C、由挪用该函数时系统临时决定D、由概念该函数时所指定的数值类型决定答案:D12.题号:4804以下所列的函数"首部"中,正确的选项是().()A、void play(int a,b)B、void play(int a,int b)C、void play(a:int,b:int)D、void play(a as int,b as int)答案:B13.题号:4432有以下函数概念:int fun(double a,double b){return a*b;}假设以下选项中,所用变量都已正确概念并赋值,错误的函数挪用是().A、z=fun(fun(x,y),fun(x,y));B、z=fun(fun(x,y)x,y);C、if(fun(x,y)){……}D、fun(x,y);答案:B14.题号:5050关于void 类型函数,调历时不可作为().A、if语句的成份语句B、表达式C、循环体里的语句D、自概念函数体中的语句A、必需在主调函数中,说明此数组的大小B、实参数组类型与形参数组类型能够不匹配C、实参数组名与形参数组名必需一致D、在被挪用函数中,不需要考虑形参数组的大小答案:A15.题号:4696在C语言中,挪用函数除函数名外,还必需有().A、实际参数B、()C、函数预说明D、函数返回值答案:B16.题号:4892以下错误的描述是:函数挪用能够().A、做为一个函数的实参B、做为一个函数的形参C、出此刻一个表达式中D、出此刻执行语句中A、数组每一个元素中的值B、数组的首地址C、数组的长度D、数组每一个元素的地址答案:B17.题号:5014假设用数组名作为函数的实参,传递给形参的是().A、数组的首地址B、数组元素的个数C、数组第一个元素的值D、数组中,全数元素的值答案:A18.题号:4843假设是在一个函数中的复合语句中,概念了一个变量,以下正确的说法是().A、该变量在本程序范围内均有效B、该变量只在该复合语句中,有效C、该变量在该函数中,有效D、该变量在主函数中,有效答案:B19.题号:4319C语言中,规定,程序中,各函数之间().A、既许诺直接递归挪用或许诺间接递归挪用B、许诺直接递归挪用不准诺间接递归挪用C、不准诺直接递归挪用许诺间接递归挪用D、不准诺直接递归挪用也不准诺间接递归挪用答案:A20.题号:5062凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().A、自动(auto)B、静态(static)C、外部(extern)D、寄放器(register)答案:A21.题号:4672以下表达中,正确的选项是().A、组成C程序的大体单位是函数B、main()函数必需放在其它函数之前C、所有被挪用的函数必然要在挪用之前进行概念D、能够在一个函数中,概念另一个函数答案:A22.题号:4236全局变量的概念不可能在().A、最后一行B、文件外面C、函数内部D、函数外面答案:C23.题号:4754以下对C语言函数的描述中正确的选项是().A、C程序中有挪用关系的所有函数必需放在同一个程序文件中B、C函数既能够嵌套概念又能够递归挪用A、staticB、autoC、无存储类别D、extern答案:B24.题号:4578假设已概念的函数有返回值,那么以下关于该函数挪用的表达中,错误的选项是().A、函数挪用能够作为一个函数的形参B、函数挪用能够作为独立的语句存在C、函数挪用能够作为一个函数的实参D、函数挪用能够出此刻表达式中,答案:A25.题号:4537以下正确的函数声明语句是().A、int add(int a,int b)A、1990B、1996C、2000D、1992答案:A26.题号:5040以下表达中,不正确的选项是().A、在一个函数内概念的变量只在本函数范围内有效B、在一个函数内的复合语句中,概念的变量在本函数范围内有效A、实参与形参是双向传递函数说明语句的三种形式:int max(int a,int b);答案:正确1.题号:4577静态局部变量是在编译时被初始化的,故它只被赋初值一次.答案:正确2.题号:4846gets 函数是用来输入一个字符的函数.答案:正确3.题号:4767函数调历时,实参和形参在类型上应按位置与形参一一对应匹配;假设是类型不匹配,通常编译器并非给出犯错信息.答案:正确4.题号:4984一个C程序只能由一个主函数组成答案:正确5.题号:4989C语言中return语句能够返回函数值.假设是return语句后表达式的值与函数说明的类型不一致,那么以return语句的表达式类型为准,系统将自行转换.答案:错误6.题号:4783通过return语句,函数能够带回一个或一个以上的返回值.答案:正确7.题号:4175在C语言中,不准诺函数嵌套概念,但函数能够嵌套挪用.答案:正确8.题号:4689return 语句能够在同一个函数中显现多次.答案:正确9.题号:4097每次挪用函数时,都要对静态局部变量从头进行初始化.答案:正确10.题号:4584函数调历时,要求实参与形参的个数必需一致,对应类型一致.答案:正确11.题号:4055C语言程序老是从main()函数开始执行.答案:正确12.题号:4161没有初始化的整型静态局部变量的初值系统均默以为0.答案:正确13.题号:4349在C语言的函数中,必需有形参.答案:错误14.题号:5108在C语言中,函数能够嵌套概念,但不能嵌套挪用.答案:错误二、填空题==================================================1.题号:4286在函数中,需要返回一个结果时,能够利用_____语句.答案:空1:return2.题号:4371函数的_____挪用是一个函数直接或间接地挪用它自身.答案:空1:递归3.题号:4333C语言中,格式输入操作是由库函数_____完成的,格式输出操作是由库函数_____完成的.答案:空1:scanf空2:printf4.题号:4373C源程序中的主函数的名称必需是_____。
1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
.6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
C语言上机模拟题计算机模拟题1.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(C)。
A、由实参传给形参,再由形参传回给实参B、由用户指定的传递方式C、单向值传递D、地址传递2.以下叙述中错误的是BA、可以用typedef将已存在的类型用一个新的名字来代表B、可以通过typedef增加新的类型C、用typedef可以为各种类型起别名,但不能为变量起别名D、用typedef定义新的类型名后,原有类型名仍有效3.对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是CA、aa数组元素的值分别是"abcd"和"ABCD"B、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C、aa数组的两个元素中各自存放了字符'a'和'A'的地址D、aa是指针变量,它指向含有两个数组元素的字符型一维数组4.C语言中要求对变量作强制定义的主要理由是(B)。
A、便于编辑预处理程序的处理B、便于确定类型和分配空间C、便于移植D、便于写文件5.以下叙述中正确的是AA、在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式B、a是实型变量,C允许以下赋值a=10,因此可以这样说实型变量中允许存放整型值。
C、执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D、已有a=3, b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为36.设有以下语句, 若0<k<4,下列选项中对字符串的非法引用是(d)。
< p="">char str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4];int j;for (j=0;j<4;j++)strp[j]=str[j];A、*strpB、strp[k]C、str[k]D、strp7.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(D)。
C语言上机实验题目1 打印图形1.输入n值,打印下列图形:**************** 当n = 4时2.输入n值,打印下列高和上底均为n 的等腰梯形:**************************** 当n = 4时3.输入n值,打印下列高和下底均为n 的等腰梯形:**************************** 当n = 4时4.输入n值,打印下列高和上底均为n的等腰空心梯形:****** ** ** ************** 当n = 5时5.输入n值,打印下列高和下底均为n的等腰空心梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三角形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 189 12 15 18 21 24 2716 20 24 28 32 3625 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字金字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字金字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1110.输入n值,打印边长为n的空心正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下面的图形,要求输入顶行字符和图形的高。
c上机考试试题# C上机考试试题一、单项选择题(每题2分,共20分)1. 下列关于C语言基本数据类型的说法中,错误的是()。
- A. `int` 类型通常用于表示整数- B. `float` 类型用于表示单精度浮点数- C. `double` 类型用于表示双精度浮点数- D. `char` 类型用于表示一个字符或整数2. 在C语言中,用于定义数组的关键字是()。
- A. `define`- B. `array`- C. `list`- D. `int[]`3. C语言标准输入输出使用的库函数是()。
- A. `<stdio.h>`- B. `<math.h>`- C. `<stdlib.h>`- D. `<iostream>`4. 下列哪个是C语言中的合法标识符?()- A. `class`- B. `case`- C. `2b`- D. `user_name`5. C语言中,用于实现字符串连接的函数是()。
- A. `strcpy()`- B. `strcat()`- C. `strlen()`- D. `strncpy()`6. 在C语言中,`printf` 函数的返回类型是()。
- A. `int`- B. `float`- C. `char`- D. `void`7. 下列关于C语言函数的描述中,错误的是()。
- A. 函数可以返回一个值- B. 函数可以没有返回值- C. 函数必须有返回值- D. 函数可以有多个返回值8. 在C语言中,用于计算两个整数的最大值的宏定义在哪个头文件中?()- A. `<math.h>`- B. `<stdlib.h>`- C. `<limits.h>`- D. `<stdio.h>`9. C语言中,`break` 语句的作用是()。
- A. 跳出整个循环- B. 跳出最近的一个循环- C. 跳出整个程序- D. 继续下一次循环10. 下列关于C语言结构体的描述中,错误的是()。
c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
1用起泡法对N=10个整数由大到小排序。
10个整数由键盘输入,排序后从屏幕输出结果2编写一函数,从实参传来一个字符串,分别统计其中数字、大写字母、小写字母和其它字符的个数,输入输出在main函数中完成3用一函数inv将一个字符串的字符逆序排列。
输入输出在main函数中完成。
要求在inv中用指针处理。
4求200之内的素数的和。
从屏幕输出结果5从屏幕输入一行字符,将所有的大写字母转换为小写字母,所有的小写字母转换为大写字母,其它字符不变,从屏幕输出结果6一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次落地后又反弹多高?7对N=20个字符由大到小排序。
20个字符由键盘输入,排序后从屏幕输出结果8有一字符串,把其中的字母a和A去掉,成为一个新字符串。
原字符串从键盘输入。
从屏幕输出结果9求Fibonacci数列的前30项的和。
从屏幕输出结果。
Fibonacci数列为:F(1)=1,(n=1)F(2)=1,(n=2)F(n)=F(n-2)+F(n-1),(n>=3)10写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串11从键盘输入一个大于2的整数,判断是否是素数。
从屏幕输出结果。
要求用函数处理12从键盘输入月份,输出这个月有多少天。
要求用函数处理13求两个数的最大公约数。
要求用函数处理14求两个数的最小公倍数。
要求用函数处理15从屏幕输入3个整数,按从小到大顺序输出,要求用指针进行处理16自己编写一个函数,将两个字符串连接起来,要求在main函数中输入输出17打印水仙花数(课本习题)打印杨辉三角形的前10行19从一个5*5的二维数组中找最大值并输出20从一个5*5的二维数组中找最小值并输出21求10个整数的平均数。
10个整数从键盘输入22求100-200之间的素数的和23求100-200间合数(非素数)的和24求10个整数的最大值,用函数完成2510个字符排序,按从小到大的顺序,用函数完成26编写一个函数,求一个正整数各个位的数字的和。
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b 所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
c 上机试题及答案第一部分:多项选择题1. 下面哪个选项是正确的?a) Ab) Bc) Cd) D答案:d) D2. 在计算机科学中,什么是“算法”?a) 一种计算机语言b) 一种软件程序c) 一种解决问题的方法或步骤d) 一种计算机硬件答案:c) 一种解决问题的方法或步骤3. 下面哪个选项是关于二进制的描述?a) 使用0和1进行计算的系统b) 使用10个数字进行计算的系统c) 使用英文字母进行计算的系统d) 使用负数进行计算的系统答案:a) 使用0和1进行计算的系统第二部分:填空题1. 在C语言中,用于在屏幕上输出文本的函数是______。
答案:printf2. 在计算机领域中,RAM代表______。
答案:Random Access Memory(随机存取存储器)3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。
答案:运行时错误(Runtime Error)第三部分:编程题编写一个C程序,计算并输出1到100之间所有奇数的和。
```c#include <stdio.h>int main(void) {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```答案:1到100之间所有奇数的和为:2500第四部分:简答题1. 请简要解释什么是“数据类型”,并举例说明。
答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。
例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如:```cint age = 25;```2. 请简要介绍一下C语言的特点。
答:C语言是一种通用、高级的编程语言,具有以下特点:- 结构简洁:C语言的语法相对简单,易于学习和理解。
- 高效性:C语言可以生成高效的机器代码,执行速度快。
C语⾔正式上机题C语⾔上机实验题⽬1 打印图形1.输⼊n值,打印下列图形:**************** 当n = 4时2.输⼊n值,打印下列⾼和上底均为n 的等腰梯形:**************************** 当n = 4时3.输⼊n值,打印下列⾼和下底均为n 的等腰梯形:**************************** 当n = 4时4.输⼊n值,打印下列⾼和上底均为n的等腰空⼼梯形:****** ** ** ************** 当n = 5时5.输⼊n值,打印下列⾼和下底均为n的等腰空⼼梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三⾓形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 1825 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字⾦字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字⾦字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 110.输⼊n值,打印边长为n的空⼼正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下⾯的图形,要求输⼊顶⾏字符和图形的⾼。
实验九
1.编写一个类CNums,实现如下功能:
某数列的第一项是0, 第二项是1,从第三项起,凡奇数项是其前两项之和,偶数项是其前两项之差(前项减后项),生成数列的100项存入数组,统计共有多少个-1,0,1;
1)类定义的要求如下:
私有数据成员
●float num[100]
公有函数成员
●generate()函数生成的100项数列值存入数组(类的数据成员);
●show()函数显示出所有项数据,以及-1,0,1三个数值在数列中的个
数;
2)用以下主函数进行测试:
void main(){
CNums num;
num.generate( );
num.show( );
}
构成完整程序,即完成该类成员函数的定义和测试程序的设计。
2.建立一个student类来实现如下功能:
查找考试成绩在80分以上的学生及其编号,并统计这些学生的总人数。
考试成绩在调用input函数时输入,调试程序可用以下10个成绩数据输入:
79 85 92 64 73 91 88 81 66 83
1)类定义的要求如下:
私有数据成员
int n —存储学生的编号,学生编号最小为1
float *stu ——储存考试成绩,数组要求动态生成
int count ——统计符合条件的总人数
2)公有函数成员
●input(int n)函数——输入学生成绩,并统计满足条件的人数存入
count变量;
●void stat() 查找符合条件的编号、成绩,并调用成员函数Show
输出对应的编号、成绩
●void Show() ——输出符合条件的编号、成绩
●void print() ——输出符合条件的总人数
构成完整程序,即完成该类成员函数的定义和测试程序的设计。
附加题:
3.N个人围成一圈,他们的序号依次为1~n,从第一个人开始顺序报数1、2、3……、
m,报到m者退出圈子,并输出退出圈子的人的序号。
接着再顺序报数,直到
圈子中留下一个人为止。
用一个结点的环形链表模拟围成一圈的人。
假定有10
个人围城一圈,凡报到5者退出圈子,则退出圈子的人的序号依次为5、10、
6、2、9、8、1、4、7,最后留在圈中的人是3号。
是单向环形链表的结构,其
中head指向第一个人。
struct Node{
int x;
Node *next;
};
class line{
int m;
Node *head;
publick:
void creat( int n ); //创建环行链
void DelNode( ); //删除结点
~ del( );
};
构成完整程序,即完成该类成员函数的定义和测试程序的设计。