重庆理工大学c语言上机考试复习题 (1)
- 格式:doc
- 大小:48.50 KB
- 文档页数:4
C语言题目 试编程完成如下功能: 1. 输入3个实数 a, b, c要求按从大到小(或者从小到大)的顺序输出三数 #include void main() { float a,b,c,t; printf(“请输入三个数!\n”); scanf(“%f,%f,%f”,&a,&b,&c); if(a>=b) {t=a;a=b;b=t;} if(b>=c) {t=b;b=c;c=t;} if(a>=b) {t=a;a=b;b=t;} printf(“%f %f %f\n”,a,b,c); } 2. 输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。 #include void main() { char c; printf(“请输入一个字符!\n”); scanf(“%c”,&c); if((c>=’A’)&&(c<=’Z’)) c=c+32; else if((c>=’a’)&&(c<=’z’)) c=c-32; else c=c; printf(“%c\n”,c); } 3. 读入a、b、c的值,计算一元二次方程ax2+bx+c=0的根。 #include #include void main() { float a,b,c,n,m,t; printf(“请输入a,b,c的值!\n”); scanf(“%f,%f,%f”,&a,&b,&c); n=-b/(2*a); m=b*b-4*a*c; if(m>0) { t=sqrt(m); printf(“X1=%f X2=%f\n”,n+t,n-t); } else if(m==0) printf(“X1=X2=%f\n”,n); else { t=sqrt(-m); printf(“X1=%f+%fi X2=%f-%fi\n”,n,t,n,t); } } 4. 编写程序,判断某一年是否是闰年。 #include void main() { int y; printf(“请输入年份!\n”); scanf(“%d”,&y); if((y%4==0)&&(y%100!=0)||(y%100==0)&&(y%400==0)) printf(“%d年是闰年!\n”,y); else printf(“%d年不是闰年!\n”,y); } 5. 编一程序,对于给定的一个百分制成绩,输出相应的等级。设:90分以上为‘A’;80~89分为 ‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为 ‘E’。 #include void main() { int f; printf(“请输入成绩!\n”); scanf(“%d”,&f); switch(f/10) { case 10: case 9: printf(“A\n”);break; case 8: printf(“B\n”);break; case 7: printf(“C\n”);break; case 6: printf(“D\n”);break; default:printf(“E\n”); } } 6. 输入一个不多于3位的整数,将其逆序输出各位数字。(如输入123,输出321) #include void main() { int t,a,b,c; printf(“请输入一个三位整数!\n”); scanf(“%d”,&t); a=t/100; b=t/10%10; c=t%10; if(a==0) { if(b==0) printf(“%d\n”,c); else printf(“%d%d\n”,c,b); } else printf(“%d%d%d\n”,c,b,a); } 7. 从键盘上输入若10个学生的成绩,统计并输出最高成绩和最低成绩。 #include void main() { int a[10],m,n,i=0; printf(“请输入第%d个学生的成绩\n”,i+1); scanf(“%d”,&a[i]); m=a[i]; n=a[i]; for(i=1;i<10;i++) { printf(“请输入第%d个学生的成绩\n”,i+1); scanf(“%d”,&a[i]); if(mm=a[i]; if(n>a[i]) n=a[i]; } printf(“最高成绩为%d分,最低成绩为%d分。\n”,m,n); } 8. 输出100以内所有能够同时被5和7整除的整数。 #include void main() { int t=1,i; for(i=1;i<=100;i++) { if((i%5==0)&&(i%7==0)) printf(“%d ”,i); } printf(“\n”);
c语言上机考试题及答案1. 以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个函数?A. intB. voidC. functionD. return答案:B3. 以下哪个选项是正确的C语言整型常量?A. 0x1AB. 1.2e3C. 0b1010D. 0123答案:A4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C5. 下列哪个选项是C语言中的逻辑运算符?A. ||B. &&C. !D. A和B答案:D6. C语言中,以下哪个选项用于声明一个指向整型的指针?A. int *p;B. int *p[];C. int p*;D. int p[];答案:A7. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];};C. struct Student {int id;char name[];};D. struct {int id;char name[50];} Student;答案:A9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, int b) {}答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>"D. #include 'stdio.h'答案:A。
1有3个整数a,b,c,由键盘输入,输出其中最大的数.#include<stdio.h>void main(){int a,b,c;printf("输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)printf("最大值为:%d",a);else if(b>a&&b>c)printf("最大值为:%d",b);elseprintf("最大值为:%d",c);}2给出一百分制成绩,要求输出成绩等级‘A’、‘B’,‘C’,‘D’,‘E’。
90分以上为‘A’,80~89为‘B’,70~79为‘C’,60~69为‘D’,60分以下为‘E’。
#include<stdio.h>void main(){float grade;scanf("%f",&grade);if (grade>=90&&<=100)printf("A");else if(grade>=80&&<90)printf("B");else if("grade>=70&&grade<80)printf("C");else if(grade>=60&&<70)printf("D");elseprintf(("E");}3. 输入两个正整数m和n,求其最大公约数和最小公倍数。
(辗转相除法)#include <stdio.h>main(){int a,b,m,n,temp;printf("请输入两个整数:\n");scanf("%d%d",&m,&n);if(m<n){temp=m;m=n;n=temp;}a=m;b=n;while(b!=0){temp=a%b;a=b;b=temp;}printf("最大公约数是:%d\n",a);printf("最小公倍数是:%d\n",n*m/a);}4、计算100至999之间有多少个数,其各位数字之和是5。
c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门非常重要的编程语言。
它的简洁性和高效性使得它成为了许多程序员的首选。
而在学习C语言的过程中,上机考试是不可或缺的一环。
本文将为大家提供一些常见的C语言上机考试试题,帮助大家更好地准备考试。
一、基础知识题1. 请简述C语言的特点和优势。
2. 什么是变量?请举例说明。
3. 请解释C语言中的数据类型,并列举一些常见的数据类型。
4. 请解释C语言中的运算符,并列举一些常用的运算符。
5. 请解释C语言中的控制语句,并列举一些常见的控制语句。
二、编程题1. 编写一个程序,要求用户输入两个整数,然后输出它们的和、差、积和商。
2. 编写一个程序,要求用户输入一个正整数N,然后计算并输出1到N的所有正整数的和。
3. 编写一个程序,要求用户输入一个字符串,然后判断该字符串是否是回文字符串(即正向和反向读都相同)。
4. 编写一个程序,要求用户输入一个正整数N,然后输出N的所有因子。
5. 编写一个程序,要求用户输入一个字符串,然后统计并输出该字符串中的字母、数字和其他字符的个数。
三、综合题1. 编写一个程序,要求用户输入一个正整数N,然后输出N的阶乘。
2. 编写一个程序,要求用户输入一个正整数N,然后判断该数是否为素数。
3. 编写一个程序,要求用户输入一个正整数N,然后输出N个斐波那契数列的元素。
4. 编写一个程序,要求用户输入一个字符串,然后将字符串中的所有小写字母转换为大写字母,并输出转换后的字符串。
5. 编写一个程序,要求用户输入一个正整数N,然后输出一个N行的等腰三角形。
通过以上的试题,我们可以看到,C语言上机考试试题涵盖了C语言的基础知识、编程技巧和综合应用。
在备考过程中,我们需要掌握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上机题目及答案1第一周上机题1.以下语句描述了包含数学成绩的学生信息结构体及其数组a:struct student{ char name[20]; float math; };student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};int count=3; // 数组中包含的学生数编写两个函数分别实现在a数组中添加和删除学生信息。
要求:1) 原数组已按数学成绩排序(降序),添加和删除学生信息后数组应仍为降序;2)以下数据用于添加:{"赵二", 96}, {"钱六",65},{"孙七",80}3) 注意:添加,删除后count数据要相应变化。
#include#includestruct student{char name[20];float math;};int count=3;void add(student a[10]);void dele(student a[10]);void print(student a[]);void main(){student a[10] = {{"张三", 90},{"李四",85},{"王五",73}};int n=0;do{cout<<".................学生信息处理系统.................."<<"\n 1-删除"<<"\n 2-增加"<<"\n 3-结束\n"<<"\n请选择: ";cin>>n;if(n==1) dele(a);else if(n==2) add(a) ;else cout<<"谢谢使用本系统!\n";}while(n!=3);}void add(student a[10]){student stu;int i=0,n=count;cout<<"请输入需增加的学生信息(姓名,成绩): ";cin>>/doc/10c9cd794b7302768e995 1e79b89680203d86be3.html >>stu.math;while(stu.math<="">for(;n>i;n--) a[n]=a[n-1]; //腾位置a[i]=stu; //插入count++;print(a);}void dele(student a[10]){char name[20];int i=0,n=count;print(a);cout<<"请输入需删除学生的姓名: ";cin>>name;while(strcmp(name,a[i].name)!=0 && i<="">if(i>=n) cout<<"查无此人!\n";else {for(;i<="">count--;print(a);}}void print(student a[]){cout<<"\n最新学生信息: \n";for(int i=0;i<count;i++)< bdsfid="165" p=""></count;i++)<> cout<<a[i].name<<'\t'<<a[i].math<<'\n';< bdsfid="167" p=""></a[i].name<<'\t'<<a[i].math<<'\n';<>}2.定义描述三维坐标点(x,y,z)的结构体类型变量,完成坐标点的输入和输出,并求两坐标点之间的距离。
1、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。
求e 的近似值,精度要求为10-6。
2、读入10个数,计算它们的和、积、平方和及和的平方。
3、计算并输出1!,2!,3!,4!,……,35!。
4、输入20个数,统计其中正、负和零的个数。
5、利用公式:)12)(12()2(......756653443*12222
+-⨯⨯⨯⨯⨯⨯⨯⨯⨯=n n n π
计算π的值(取前100项)。
6、利用公式:)
12(1)1(......9171513114+⨯-++-+-=n n π计算π的值(省略的项都<10-5)。
7、编程计算0*1+2*3+4*5+……+100*101+101*102之和。
8、编程计算5/6+6/7+7/8+……+99/100+5!+6!+7!之和。
9、编程计算1!-2!+3!-4!+5!-6!之和。
10、编程计算1/(1+2)+2/(2+3)+3/(3+4)+……100/(100+101)之和。
11、编程计算(0+1)/1+(2+3)/3+(3+4)/4+……(99+100)/100之和。
12、求100 ~ 200中能被3或7整除的自然数。
13、统计77到210中偶数的个数。
14、统计7到91中能被3整除的奇数的个数。
15、7到91中有多少能既能被2又能被3整除的数。
16、显示7到100中所有不能被5整除的数,要求每行显示5个数。
17、找出1000之内的所有完数(完数是指:该数的各因子之和正好等于该数本身,例如:6的因子是1,2,3,而6 = 1+2+3,故6是完数)。
18、求2~1000中的所有亲密数对(亲密数对是指:如果a 的因子和等于b ,b 的因子和等于a ,则(a ,b )就是亲密数对)。
19、100元钱买100只鸡,已知公鸡3元1只,母鸡1元1只,小鸡1元3只,编程输出总的方案数以及每种方案中公鸡、母鸡、小鸡的数量。
20、100匹马驮100担货,大马驮3担,中马驮2担,小马驮0.5担,编程求大、中、小马的数量。
21、编程输出如下序列的前100项,该序列的第一项为0,第二项为1,以后的奇数项为前两项之和,偶数项为前两项之差。
22、编程验证:100以内的奇数的平方除以8都余1。
23、编写一个程序,输出1~100之间所有的素数。
24、打印如下图案
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
25、打印九九表,格式如下:
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8= 8 1*9=9 2*2=4 2*3=6 2*4=8 …… 2*9=18
3*3=9 3*4=12 …….
……
9*9=81
26、某化肥厂1999年生产化肥3886万吨,该厂计划年增长率为10%,编程计算2005年生产多少万吨化肥。
27、编程求100到300之间有多少个其各位数字之和为5的整倍数的整数。
28、输入两个正整数,求它们的最大公约数和最小公倍数。
29、用冒泡排序法对15个整数由大到小进行排序。
30、输出如下杨辉三角。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
31、编写一个程序,将两个字符串连接起来,不要用strcat函数。
32、将字符串a中下标值为偶数的元素由小到大排序,其他元素不变。
33、用字符数组存储任意输入的10个字符,求其最大字符。
34、有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。
35、编写程序,对任意输入的字符串,统计其中的大写字母和小写字母的个数。
例如, 输入字符串:AAaaBBb123CCccccd,则应输出结果:upper = 6, lower = 8。
36、编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中,不用strcpy函数。
注意,复制时,’\0’也要复制过去。
‘\0’后面的字符不复制。
37、在一个数组中存放20个整数,统计并输出该数组中素数的个数。
38、任意输入20个数到一维数组a中,求20个数的平均值。
39、用字符数组存储任意输入的一串字符,求其中最大字符。
40、写一个判素数的函数,在主函数中输入一个整数,输出是否是素数的信息。
41、写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
42、写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出。
43、编写函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
44、写一个函数,用“冒泡排序”对输入的10个整数从小到大排序。
45、输入年、月、日,用子函数判断计算该日期是该年的第几天。
46、用字符数组存储任意输入的10个字符,在子函数中把该字符数组的小写字母转换成大写字母。
47、写一函数,求一个字符串的长度(不使用strlen函数),在main函数中输入字符串,并输出其长度。
48、编写程序:输入a,b,c三个整数,输出其中最大者。
49、编写程序:输入3个字母,输出3个字母中序号最小的字母。
50、编写程序:任意输入二次方程的系数a,b,c,计算并输出二次方程的根。
二次方程为:
ax2+bx+c=0
51、输入一个学生百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为‘A’;80~89分为‘B’;70~79分为‘C’; 60~69分为‘D’; 60分以下为‘E’。
52、输入3个整数,要求按由小到大的顺序输出。
53、对一批货物征收税金,价格在1万元以上的货物征税5%,在5000元以上、1万元以
下的货物征税3%,在1000元以上、5000元以下的货物征税2%,1000元以下的货物免税。
编写一程序,读入货物价格,计算并输出税金。
54、输入x,y ,根据所处象限,用相应公式计算z 。
(用IF 和switch 两种方法做) lnx+lny 1象限
z = sinx+siny 2象限
e 2x +e 3x 3象限
tan(x+y) 4象限
55班 号
91 92 93 94 95 人 数 30 32 30 30 32
56、输入二次方程的3个系数a,b,c ,计算二次方程的根。
程序应考虑实根和复根两种情形。
二次方程如下:
ax 2+bx+c=0
57、输入一个数,验证能否被2、3和5整除,并显示结果。
58、输入1个字符,若是小写字母则变大写字母,若是大写字母则变小写字母。
59、有一函数:
x (x<1)
y = 2x-1 (1<=x<15)
6x+x 2 (x>=15)
从键盘输入x,求函数y 值。
60、读入10个数,求它们的最大值并输出。
61、求100-999中的水仙花数(若三位数abc,a 3+b 3+c 3=abc,则称abc 为水仙花数。
例如153,13+33+53=153,则153称为水仙花数。
)
62、利用公式:)!
14()!14(...!5!3!1sin 1
41453++--++-=+-n x n x x x x x n n 计算sinx 的近似值,x 值由键盘输入,省略的项都<10-5
63、打印九九表,格式如下:
1*1=1 1*2=2 1*3=3 1*4=4
1*5=5 1*6=6 1*7=7 1*8=8 1*9= 9 2*2=4 2*3=6
…… 2*9=18 3*3=9
……
……
9*9=81
64、题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
65、编写函数,实现两个字符串的连接,不使用strcat 函数。
66、在一个数组A 中存放100个数据,用子函数判断该数组中哪些是素数,并统计素数的个数,在主函数中输出该素数的个数和这些素数。
67、判断一个素数能被几个9整除(要求用函数判某数是否是素数,用函数判断该数能被几个9整除)。
68、通过指针变量来输出九九乘法表。
69、通过指针变量实现1+2+3+……+n,在程序中输出该结果。
70、通过指针变量来输入、输出数组的全部元素。
71、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。