程序设计与算法语言上机精彩试题abc - 副本 - 副本
大学C语言程序设计试题含答案
大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。
C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。
它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。
2. C语言的基本数据类型有哪些?请列举并简要说明其特点。
C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。
3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。
变量是用于存储和表示数据的一种方式,可以根据需要改变其值。
在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。
常量是固定不变的值,不能改变其值。
在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。
常量在程序执行过程中保持不变。
二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
\n", num);} else {printf("%d是奇数。
\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。
C语言程序设计上机考试试题和参考答案
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:
C语言程序设计试题与答案-
《C语言程序设计》试题(闭卷)一、单项选择题:(每题 2 分,共 30 分)1. C 语言规定:在一个源程序中,main函数的位置_____________。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下列说法中错误的是_____________。
A. 主函数可以分为两个部分:函数头和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将_____________。
A. 生成目标文件B. 生成可执行目标文件C. 输出运行结果D. 自动保存源文件4. 以下选项中,不正确的 C 语言浮点型常量是_____________。
A. 160.B. 0.12C. 2e4.2D. 0.05. 以下用户标识符中,合法的是_____________。
A. intB. nitC. 123D. a+b6. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_____________。
A. 算术运算、关系运算、赋值运算B. 算术运算、赋值运算、关系运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算7. 设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是_____________。
A. 1,1B. 0,1C. 1,0D. 0,08. sizeof (char)的结果值是_____________。
A. 4B. 2C. 1D.出错9. 设 a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是_____________。
A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。
《C语言》程序设计题库及答案
《C语言》程序设计题及答案1.【程序设计】--------------------------------------------------功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。
------------------------------------------------*/{/**********Begin**********/int i,j;char t;for(i=1;i<num-1;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){ t=s[i];s[i]=s[j];s[j]=t;}/********** End **********/2.【程序设计】--------------------------------------------------功能:编写函数求3!+6!+9!+12!+15+18!+21!。
------------------------------------------------*/{/**********Begin**********/int i,j;float t,s=0;for(i=3;i<=n;i=i+3){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}return(s);/********** End **********/3./*------------------------------------------------ 【程序设计】-------------------------------------------------- 功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
------------------------------------------------*/ /**********Begin**********/int k,s=0;do{s=s+(w%10)*(w%10);w=w/10;}while(w!=0);if(s%5==0)k=1;else k=0;return(k);4./*------------------------------------------------ 【程序设计】-------------------------------------------------- 功能:求给定正整数n以内的素数之积。
c语言上机考试试题
c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门重要的编程语言,广泛应用于软件开发、系统编程等方面。
作为计算机专业的学生,掌握C语言的基本知识和编程技巧是必不可少的。
为了检验学生对C语言的掌握程度,许多学校和培训机构会安排C语言上机考试。
下面,我们来看一些典型的C语言上机考试试题。
1. 编写一个程序,从键盘输入一个整数n,计算并输出1到n的累加和。
这道题考察了学生对循环结构的理解和运用。
学生需要使用循环语句(如for、while等)来实现累加的功能,并且注意输入的合法性。
2. 编写一个程序,从键盘输入一个字符串,统计并输出其中的字母、数字和其他字符的个数。
这道题考察了学生对字符串处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的类型进行计数。
3. 编写一个程序,从键盘输入一个正整数n,判断并输出n是否为素数。
这道题考察了学生对素数判断的理解和实现。
学生需要使用循环语句和条件判断语句来判断n是否能被2到sqrt(n)之间的任意整数整除。
4. 编写一个程序,从键盘输入一个正整数n,计算并输出n的阶乘。
这道题考察了学生对递归的理解和应用。
学生可以使用递归函数来实现阶乘的计算,也可以使用循环语句来实现。
5. 编写一个程序,从键盘输入一个字符串,将其中的大写字母转换为小写字母,并输出转换后的字符串。
这道题考察了学生对字符处理的能力。
学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的ASCII码进行转换。
6. 编写一个程序,从键盘输入一个字符串,判断并输出该字符串是否为回文字符串。
这道题考察了学生对字符串处理和回文判断的能力。
学生需要使用字符数组和循环语句来逐个比较输入字符串中的字符,并判断是否为回文字符串。
通过上述的典型试题,我们可以看到C语言上机考试主要考察学生对基本语法、流程控制、数组和字符串处理等方面的掌握程度。
在解答这些试题时,学生需要注重代码的逻辑性、清晰性和效率性,避免出现死循环、数组越界等常见错误。
C语言上机编程题,全
上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。
#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。
#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。
C#编程题大全(上机操作题)
C#编程题大全(上机操作题)1、从键盘输入一个正整数,按数字的相反顺序输出。
2、从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。
3、写一条for语句,计数条件为n从100~200,步长为2;然后再用while语句实现同样的循环。
4、编写一段程序,运行时向用户提问“你考了多少分?(0~100)”,接受输入后判断其等级并显示出来。
判断依据如下:等级={优(90~100分);良(80~89分);中(60~69分);差(0~59分);}5、输入一个整数,将各位数字反转输出。
6、使用穷举法并分别用for、while、do…while循环语句求出1~100之间的质数。
7、求出1~1000之间的所有能被7整除的树,并计算和输出每5个的和。
8、编写一个控制台程序,分别输出1~100之间的平方、平方根、自然对数、e指数的数学用表。
9、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。
10、编写一个矩形类,私有数据成员为举行的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取举行的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。
11、编写一个类,要求带有一个索引器可以存储100个整型变量。
12、编写一个类Cal1,实现加、减两种运算,然后,编写另一个派生类Cal2,实现乘、除两种运算。
13、建立三个类:具名、成人、官员。
居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。
要求每个类中都提供数据输入输出的功能。
14、编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。
15、设计一个类,要求用事件每10秒报告机器的当前时间。
C语言上机程序设计题库及答案
C语言上机程序设计题库及答案在计算机科学与技术领域中,C语言是一门非常重要的编程语言。
作为高级语言,C语言广泛应用于软件开发、系统编程以及嵌入式系统等领域。
针对C语言的上机程序设计,我整理了一份题库,并提供了相应的答案,供学习和参考使用。
1. 题目1:求给定整数数组中的最大值题目描述:给定一个整数数组,编写一个程序找到数组中的最大值,并将其输出。
代码示例:```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; i++) {if (arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, n);printf("The maximum value is: %d\n", max);return 0;}```2. 题目2:判断一个字符串是否为回文字符串题目描述:给定一个字符串,判断它是否为回文字符串(正读和倒读都相同)。
编写一个程序实现此功能。
代码示例:```c#include <stdio.h>#include <string.h>int isPalindrome(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {if (str[i] != str[len - i - 1]) {return 0;}}return 1;}int main() {char str[] = "level";if (isPalindrome(str)) {printf("The string is a palindrome.\n");}else {printf("The string is not a palindrome.\n");}return 0;}```3. 题目3:计算阶乘题目描述:给定一个正整数,编写一个程序计算其阶乘。
c_上机面试题目(3篇)
第1篇一、题目背景C语言作为一种经典的编程语言,广泛应用于系统软件、嵌入式系统、游戏开发等领域。
为了考察应聘者对C语言的掌握程度,以下列出了一份C上机面试题目,涵盖了C语言的基本语法、数据结构、算法和编程实践等方面。
二、题目内容1. 编写一个C程序,实现以下功能:(1)定义一个结构体`Person`,包含以下成员变量:- 姓名(字符数组,长度不超过50)- 年龄(整数)- 性别(字符,'M'代表男性,'F'代表女性)(2)编写一个函数`printPerson`,用于打印`Person`结构体变量的信息。
(3)在主函数中,创建一个`Person`数组,包含3个元素,并使用`printPerson`函数打印每个元素的信息。
2. 编写一个C程序,实现以下功能:(1)定义一个函数`reverseString`,用于将字符串反转。
(2)在主函数中,定义一个字符串`str`,调用`reverseString`函数,并打印反转后的字符串。
3. 编写一个C程序,实现以下功能:(1)定义一个函数`isPalindrome`,用于判断一个字符串是否为回文。
(2)在主函数中,定义一个字符串`str`,调用`isPalindrome`函数,并打印结果。
4. 编写一个C程序,实现以下功能:(1)定义一个函数`findMax`,用于在整数数组中查找最大值。
(2)在主函数中,定义一个整数数组`arr`,调用`findMax`函数,并打印最大值。
5. 编写一个C程序,实现以下功能:(1)定义一个函数`sum`,用于计算两个整数之间的所有整数之和。
(2)在主函数中,定义两个整数`a`和`b`,调用`sum`函数,并打印结果。
6. 编写一个C程序,实现以下功能:(1)定义一个函数`isPrime`,用于判断一个整数是否为素数。
(2)在主函数中,定义一个整数数组`arr`,调用`isPrime`函数,并打印每个元素是否为素数。
程序设计试题及答案
程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D3. 在C语言中,以下哪个语句用于结束一个循环?A. continueB. breakC. exitD. return答案:B4. 以下哪个选项是C语言中的条件语句?A. ifB. switchC. forD. while答案:A5. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 随机数答案:A6. 以下哪个是C语言中的标准输入输出库?A. <iostream>B. <stdio.h>C. <iostream.h>D. <stdio>答案:B7. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. abs()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设为自定义函数)8. 以下哪个选项是C语言中的循环结构?A. if-elseB. switch-caseC. for, while, do-whileD. try-catch答案:C9. 在C语言中,以下哪个关键字用于定义一个结构体?A. classB. structC. unionD. enum答案:B10. 下列哪个选项是C语言中的位操作符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共20分)11. 在C语言中,使用________关键字可以定义一个指针。
答案:int* 或者 *(具体类型根据上下文)12. 一个C语言程序的执行从________函数开始。
C++程序设计 上机考试复习题及答案(优化版)
C++程序设计上机试题考试时间:180分钟(注:以下所有题目均要求上机实现)第一题( 20分)声明数组如下,按要求编写程序,以f1.cpp作为文件名,存放到D盘: double a[]={1.1,5.2,7.3,4.4}, b[4];要求使用泛型算法完成:1.将数组a内容反转,并正向输出数组a的内容.2.将数组a的内容拷贝到数组b, 并逆向输出数组b的内容.3.将数组b按降幂排序,并输出数组b的内容.4.在数组a中查找4.4的位置,并输出.#include <iostream>#include <algorithm>#include<iterator>#include <functional>using namespace std;void main(){double a[]={1.1,5.2,7.3,4.4},b[4];reverse(a,a+4);copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl;reverse_copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;copy(a,a+4,b);copy(b,b+4,ostream_iterator<double>(cout," "));cout<<endl;reverse_copy(a,a+4,b);copy(b,b+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;sort(a,a+4);copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl;sort(a,a+4,greater<double>());copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;double *x=find(a,a+4,4.4);if (x==a+4)elsecout<<"have value is "<<*x;cout<<endl;}第二题(20分)定义队列类模板queue(先进先出),队列的大小由使用者确定。
北大“高级语言程序设计”上机考试题(2)_计算机技术_
北大“高级语言程序设计”上机考试题(2)
1. 编一C程序,它能读入一正整数n(n<50),并输出如下图形:
A A A .......... A
A A A .......... A
...
...
A A A .......... A
共n行,每行n个A,下一行比上一行右移一列.
(注:可执行文件名为e1.exe,存于你的账号或其debug目录下,否则无成绩)
2. 编一C程序,它能读入三个正整数(两个相邻的整数用空格隔开),并输出这些正整数的19进制形式,依次用A、B、C、D、E、F、G、H、I表示10、11、12、13、14、15、16、17、18
(注:可执行文件名为e2.exe,存于你的账号或其debug目录下,否则无成绩)
3. 编一C程序,它能读入两个整数m与n,计算并输出m与n的绝对值的最大公约数及最小公倍数。
(注:可执行文件名为e3.exe,存于你的账号或其debug目录下,否则无成绩)。
计算机编程与算法考核试卷
D. dict
5.关于HTML和CSS,以下哪些说法是正确的?()
A. HTML用于结构化信息
B. CSS用于样式设计
C. HTML可以包含内联CSS
D. CSS可以包含内联HTML
6.以下哪些是JavaScript中的基本数据类型?()
A. String
B. Number
C. Boolean
13.算法中的空间复杂度是指?()
A.算法执行过程中临时占用存储空间的大小
B.算法执行过程中占用的CPU资源
C.算法输入数据的大小
D.算法输出数据的大小
14.以下哪种数据结构通常用于实现优先队列?()
A.队列
B.栈
C.链表
D.堆
15.在HTML中,下面哪个标签用于创建一个表格?()
A. <table>
A. Git
B. SVN
C. Mercurial
D. TFS
16.在算法分析中,以下哪些是常见的复杂度类型?()
A.常数时间复杂度
B.线性时间复杂度
C.对数时间复杂度
D.指数时间复杂度
17.以下哪些是Web开发中的前端技术?()
A. HTML
B. CSS
C. JavaScript
D. Python
18.以下哪些是有效的SQL数据类型?()
五、主观题(本题共4小题,每题10分,共40分)
1.请简述面向对象编程的主要特点及其优势。
2.描述冒泡排序和快速排序的工作原理,并比较它们的时间复杂度。
3.什么是递归算法?请给出一个递归算法的例子,并解释其如何工作。
4.解释什么是时间复杂度和空间复杂度,并说明它们在算法分析中的重要性。
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.编写程序输出下⾯的图形,要求输⼊顶⾏字符和图形的⾼。
C语言上机150道题
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奇数和。
C++程序设计上机考试题库
C++程序设计上机考试题库江西财经大学10-11第一学期期末考试上机考试100题一、第一类题目(20道,每题7分,在word中保留代码并将输出结果窗口保留)1.定义盒子Box类,要求具有以下成员:长、宽、高分别为x,y,z,可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
2.有两个长方柱,其长、宽、高分别为:(1)30,20,10;(2)12,10,20。
分别求他们的体积。
编一个基于对象的程序,在类中用带参数的构造函数。
3.有两个长方柱,其长、宽、高分别为:(1)12,20,25;(2)10,30,20。
分别求他们的体积。
编一个基于对象的程序,且定义两个构造函数,其中一个有参数,一个无参数。
4.声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。
5.建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。
初值自拟。
6.建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
初值自拟。
7.用new建立一个动态一维数组,并初始化int[10]={1,2,3,4,5,6,7,8,9,10},用指针输出,最后销毁数组所占空间。
8.定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。
将运算符函数重载为非成员、非友元的普通函数。
编写程序,求两个复数之和。
初值自拟。
9.定义一个复数类Complex,重载运算符“+”,“—”,使之能用于复数的加,减运算,运算符重载函数作为Complex类的成员函数。
编程序,分别求出两个复数之和,差。
初值自拟。
10.定义一个复数类Complex,重载运算符“*”,“/”,使之能用于复数的乘,除。
运算符重载函数作为Complex类的成员函数。
编程序,分别求出两个复数之积和商。
初值自拟。
提示:两复数相乘的计算公式为:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。
上机考试题库c语言
上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。
2. 若有定义int a=10;,则表达式a++的值是______。
3. C语言中,用于声明一个浮点型变量的关键字是______。
4. 在C语言中,用于声明一个字符型变量的关键字是______。
5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。
c语言程序设计上机题
c语言程序设计上机题C语言程序设计是一门实践性很强的课程,上机实践是学习C语言不可或缺的一部分。
下面,我将提供一些常见的C语言上机题目,以帮助学生加深对C语言编程的理解。
1. 基本数据类型和运算符编写一个C程序,实现以下功能:- 声明不同的基本数据类型变量(整型、浮点型、字符型)。
- 对这些变量进行基本的算术运算(加、减、乘、除)。
- 输出运算结果。
2. 条件语句编写一个C程序,使用条件语句(if、else if、else)实现以下功能:- 输入一个成绩,根据成绩判断等级(A、B、C、D、F)。
- 输出对应的成绩等级。
3. 循环语句编写一个C程序,使用循环语句(for、while、do-while)实现以下功能:- 输出1到100之间的所有奇数。
- 使用while循环实现1到100的累加求和。
4. 数组和字符串编写一个C程序,使用数组和字符串实现以下功能:- 声明一个整型数组,输入10个整数,找出最大值和最小值。
- 声明一个字符数组,输入一个字符串,统计字符串中每个字符出现的次数。
5. 函数编写一个C程序,使用函数实现以下功能:- 定义一个函数,实现两个整数的交换。
- 定义一个函数,计算一个整数的阶乘。
- 在主函数中调用这些函数,并输出结果。
6. 指针编写一个C程序,使用指针实现以下功能:- 声明一个整型数组和对应的指针,通过指针访问数组元素。
- 使用指针实现一个函数,交换两个变量的值。
7. 结构体编写一个C程序,使用结构体实现以下功能:- 定义一个学生结构体,包含学号、姓名、年龄和成绩。
- 输入5个学生的信息,存储在结构体数组中。
- 输出每个学生的信息。
8. 文件操作编写一个C程序,使用文件操作实现以下功能:- 创建一个文本文件,向文件中写入数据。
- 从文件中读取数据,并在屏幕上显示。
9. 排序算法编写一个C程序,实现冒泡排序算法,对一个整数数组进行排序。
10. 递归编写一个C程序,使用递归实现以下功能:- 计算阶乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、10个人的成绩存放在score数组中,编写函数fun,求出平均分,并作为函数值返回,且输出不及格人数。
#include<stdio.h>float fun (int a[10]){int i,aver,sum=0;for(i=0;i<10;i++)sum=sum+a[i];aver=sum/10;return aver;}void main(){int i,j=0,a[10]={10,20,30,40,50,60,70,80,90,100};float aver;for(i=0;i<10;i++)if(a[i]<60)j++;aver=fun (a);printf("10个人的成绩平均分为:%5.2f\n",aver);printf("\n");printf("不及格人数:%d\n",j);}2、求出1到100之能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在指定的数组a中。
#include<stdio.h>void main(){int i,n,a[500];n = fun(a);for(i = 0; i < n; i++)printf("%8d",a[i]);}int fun (int a[]){int i = 7, j = 0;for(; i <= 100; i++)if ((i % 7 == 0 || i % 11 == 0)&&( !(i % 7== 0 && i % 11 == 0) ) )a[j++] = i;return j ;}3、求方程2=++cbxax的解。
#include<stdio.h>#include<math.h>void main(){float a,b,c,d,x1,x2,m,n;printf("请输入方程的3个系数,a,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("该方程\n");if(fabs(a)<=1e-6){if(fabs(b)<=1e-6){if(fabs(c)<=1e-6)printf("有无穷多个解\n");elseprintf("无解\n");}else printf("有一个根:%8.4f\n",-c/b);}else{d=b*b-4*a*c;if(fabs(d)<=1e-6)printf("有两个相等的实根:%8.4f\n",-b/(2*a));elseif(d>1e-6){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("有两个不等的实根:%8.4f和%8.4f\n",x1,x2);}else{m=-b/(2*a);n=sqrt(-d)/(2*a);printf("有两个复根:\n");printf("%8.4f+%8.4fi\n",m,n);printf("%8.4f-%8.4fi\n",m,n);}}}4、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:当输入分数为负值,或大于100时,通知用户“输入数据错误,重新输入”。
#include<stdio.h>void main(){float x;char y;printf("输入学生成绩:x=");scanf("%f",&x);while(x>100||x<0){printf("输入错误,请重新输入学生成绩:x=");scanf("%f",&x);}if(x>=90)y='A';elseif(x>=80)y='B';elseif(x>=70)y='C';elseif(x>=60)y='D';elsey='E';printf("\n学生的等级为:y=%c\n",y);}5、求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。
# include <stdio.h>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;}void main( ){int a[10]={876,675,896,101,301,401,980,431,451,777}, k ;fun(a,10, &k);printf("最大值在a中的位置为:i=%d\n最大值为:%d\n", k, a[k]);}6、编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n 通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+4+……+n)。
#include<stdio.h>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;}void main(){float y;int n;printf("输入n的值:\n");scanf("%d",&n);y=fun(n);printf("y=%f\n",y);}7、定义了7×7的二维数组,并在主函数中自动赋值。
编写函数 fun(int a[][7]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
#include<stdio.h>int fun(int a[][7]){int i,j;for(i=0;i<7;i++)for(j=0;j<7;j++){if(i>j)a[i][j]=0;}}void main(){int a[7][7],i,j;for(i=0;i<7;i++){for(j=0;j<7;j++){a[i][j]=i+j+1;printf("%3d",a[i][j]);}printf("\n");}fun(a);printf("输出处理后的数组a:\n");for(i=0;i<7;i++){for(j=0;j<7;j++){printf("%3d",a[i][j]);}printf("\n");}}8、编写一个函数void fun(int tt[5][6],int pp[6]),tt指向一个5行6列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。
二维数组中的数已在主函数中初始化。
#include <stdio.h>void fun(int tt[5][6],int pp[6]){ int i,j,min;for(j = 0;j < 6;j++){ min = tt[0][j];for(i= 0;i < 5;i++){ if(tt[i][j] < min)min = tt[i][j];}pp[j] = min;}}void main(){intt[5][6]={{68,56,32,44,54,12},{14,56,24,47,88,58},{42,85,22,75,44,56},{45,12,3,5 ,78,45},{45,65,25,75,85,41}};int p[6],i,j,k;printf("The riginal data is:\n");for(i = 0;i < 5;i++){ for(j = 0;j < 6;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\n二维函数组每列中最小元素为:\n");for(k = 0;k < 6;k++)printf("%4d",p[k]);printf("\n");}9、求出4行5列的二维数组周边元素之和。
#include<stdio.h>void main(){int a[4][5],i,j,sum=0,sum1=0,sum2=0;printf("请输入4*5矩阵数据:");for(i=0;i<4;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);{for(i=0;i<4;i++)sum1=sum1+a[i][0]+a[i][4];}{for(j=0;j<5;j++)sum2=sum2+a[0][j]+a[3][j];}sum=sum1+sum2-a[0][0]-a[0][4]-a[3][0]-a[3][4];printf("矩阵周边元素之和为:%d\n",sum);}10、编写程序,把字符串中的容逆置(不准使用多个字符数组)。
#include<stdio.h>void main(){char a[80];char t;int i,n;printf("输入一行字符串:\n");gets(a);n=strlen(a);for(i=0;i<=n/2;i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;}printf("字符串中的容逆置为:\n");puts(a);}11、编写程序,从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。
并把删除好的字符以字符串的形式输出(不准使用多个字符数组)。