C语言上机题库

合集下载

C语言上机考试试题9

C语言上机考试试题9

C 语言上机考试试题-9一、选择题(每小题2分)1. 用数组名作为函数的实参时,传递给函数的形参是________。

(A) 数组的首地址(B) 数组的第1个元素(C) 数组中的全部元素(D) 数组的元素个数2. 下列定义一维数组正确的写法是________。

(A) int a(10); (B) int n=10, a[n];(C) int n; (D) #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];3. 下述函数头定义形式正确的是________。

(A) int f(int x; int y) (B) int f(int x,y)(C) int f(int x, int y) (D) int f(x,y: int)4. 以“只读”方式打开文本文件c:\xy.txt,下列语句中哪一个是正确的________。

(A) fp=fopen("c:\\xy.txt","a"); (B) fp=fopen("c:\\xy.txt","r");(C) fp=fopen("c:\\xy.txt","wb"); (D) fp=fopen("c:\xy.txt","r");5. 判断变量x和y中有且只有一个值为0成立的表达式为________。

(A) !(x*y)&&x+y (B) (x*y)&&x+y(C) x*y==0 (D) x==0&&y!=06. 设有如下定义:struct ss{ char name[10];int age;char sex;} std[3],*p=std;下面各输入语句中错误的是________。

(A) scanf("%d",&(*p). age); (B) scanf("%s",&);(C) scanf("%c",&std[0].sex) (D) scanf("%c",&(p-> sex));7. 语句“int a=0; if(a=1) a+=10;” 编译不会出错,但运行后a的值是________。

C语言上机练习题及答案

C语言上机练习题及答案

C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。

# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。

# include# 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);}输入正方形的边长,输出正方形的周长和面积。

# includevoid 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 码。

# includeint 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);}输入一个摄氏温度,要求输出华氏温度。

7-22-C语言上机考试试题15

7-22-C语言上机考试试题15

C 语言上机考试试题-151. 选择题(评分标准20 分,每小题2分)1、一个C程序的执行是从。

A) 本程序的main函数开始,到main 函数结束B) 本程序文件的第一个函数开始,到本程序的最后一个函数结束C) 本程序的main函数开始,到本程序的最后一个函数结束D) 本程序文件的第一个函数开始,到main 函数结束2、以下叙述中不正确的是。

A) 一个C源程序可以由一个或多个函数组成B) C程序的基本组成单位是函数C) 在C程序中,注释只能位于一条语句的后面D) 一个C程序必须包含一个主函数3、假设所有的变量都是int 型,则表达式(a=2,b=5,b++,a+b)的值是。

A) 7 B) 8 C) 6 D) 24、判断char 型变量ch 中的字符是否为大写字母的正确表达式是。

A) 'A' <= ch <='Z' B) ('A' <= ch) && (ch <= 'Z')C) ('A' <= ch) & (ch <='Z') D) ('A' <= ch) AND (ch <= 'Z')5、C语言中while 和do-while 循环的主要区别是。

A) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while 的严格C) do-while允许从该语句的外部跳转到循环体内D) do-while的循环体不能是复合语句6、若有说明int a[10],则对a 数组元素的正确引用是。

A) a[10] B) a[-1] C) a(5) D) a[10-5]7、下面程序中有错误的行是。

(每行最前面的数字代表行号)1main()2{3int a[3] = {1,2};4int j;5scanf(“%d”,&a);6for (j=0; j<3; j++) a[0] = a[0] +a[j];7printf(“a[0]=%d\n”,a[0]);8}A) 3 B) 6 C) 7 D) 58、对以下语句的正确理解是。

C语言上机150道题

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语言上机考试编程题库

1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。

然后输出最后得到的字符。

#include<stdio.h>int main(){char c1;printf("input a latter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return 0;}2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

#include<stdio.h>int main(){char c;int letters=0,space=0,digit=0,other=0;printf("Please input letters:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;else if(c>='0'&&c<='9')digit++;else if(c==' ')space++;elseother++;}printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);return 0;}3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。

#include<stdio.h>int main(){int n;float c;float sum(int n);scanf("%d",&n);c=sum(n);printf("%f\n",c);float sum(int n){int i;float sum=0.0;for(i=1;i<=n;i++)sum=sum+1.0/i;return sum;}4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。

C语言上机作业试题5套含答案

C语言上机作业试题5套含答案

第一次上机作业(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语言上机考试题库

c语言上机考试题库

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的语句就是()。

C语言上机试题

C语言上机试题

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语言上机试题库

C语言上机试题库

C上机试题库一、2002年4月/*程序修改题1给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。

请改正函数fun 中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!*/#includeint fun(){int a[3][3],sum;int i,j;/*********found**********/sum=0;//______;for (i=0; i < 3; i++){ for (j=0; j < 3; j++)/*********found**********/scanf("%d",&a[ i ][ j ]);//scanf("%d",a[ i ][ j ]);}for (i=0; i < 3; i++)sum=sum+a[ i ][ i ];printf("Sum=%d\n",sum);}main(){fun();}/*编程题编写程序, 实现矩阵(3行3列)的转置(即行列互换)例如, 输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun 的花括号中填入你编写的若干语句。

*/#include#includeint fun(int array[3][3]){//int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }//}main(){int i,j;int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};clrscr() ;for (i=0; i < 3; i++){ for (j=0; j < 3; j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for (i=0; i < 3; i++){ for (j=0; j < 3; j++)printf("%7d",array[i][j]);printf("\n");}NONO();}NONO(){/* 请在此函数内打开文件,输入测试数据,调用fun 函数,输出数据,关闭文件。

C语言上机考试试题6

C语言上机考试试题6

{ int i; float sum=0; max=a[0]; min=a[0]; for(i=1;i<n;i++) { if (a[i]>max) max = a[i]; else min = a[i]; /*$1*/ sum = sum + a[i]; } return(sum/n); } int main() { float score[10],ave; int j; for(j=0;j<10;j++) scanf("%f", &score[j]); ave = average(score,10); printf("max=%6.2f min=%6.2f average=%6.2f\n",max,min,ave); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语 句else有错误,请改正(注意:不得加行、减行、加句、减句,否则后 果自负)。该程序功能:求出n个数中的最大数、最小数和平均数。例 如:在程序中输入:1 2 3 4 5 6 7 8 9 10 结果:max=10.00 min= 1.00 average=5.40。 答案:if (a[i]<min) min = a[i]; 运行样例2行 运行样例1: 1 2 3 4 5 6 7 8 9 10 结果:max=10.00 min= 1.00 average=5.40 3. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位 数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的 三次方+5的三次方+3的三次方。 #include <stdio.h> void main() { int i,j,k,n; printf("water flowernumber is:"); for(n=100;n<1000;n++)

C语言上机模拟题

C语言上机模拟题

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语言上机考试题库及答案

全国计算机等级考试二级C语言上机考试题库及答案

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在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 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语言上机试题库及答案

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语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。

C语言上机题库

C语言上机题库

第一套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语言程序设计上机练习题

C语言程序设计上机练习题

10、表示关系x≥y≥z的c语言表达式是( ) A) (x>=y)&&(y>=z) B) (x>=y)&d(y>=z) C) x>=y>=z D) (x>=y)||(y>=z) 11、已知int x=0, y=0, z=0; 则执行x&&y++&&++z;后,表达式y+z的值为( A)1 B) 2 C) 3 D) 0 12、以下程序段的输出结果是( ) char c=‘a’; if (‘a’<c<=‘z’) printf(“LOW”); else printf(“UP”); A)LOW B) UP C) LOWUP )
)
16、下列描述正确的是( ) A) 在switch 中必须使用break 语句。 B) break语句只能用于switch 中。 C) 在switch 中可根据需要使用或不使用break 语句。 D)break语句是switch 的一部分。
17、以下程序段的输出结果是( ) int x=1, a=0, b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; } printf(“a=%d, b=%d\n”, a, b); A)a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 18、下列对while和do-while循环的描述正确的是( ) A) do-while的循环体不能是复合语句 B) do-while的循环体至少要执行一次 C) while的循环体至少要执行一次 D) while循环不能使用 break;来结束循环 19、设有如下程序,则程序的输出结果是( ) int k=1, s=0; while(s<10) { s=s+k*k; k++; } printf(“%d”, k); A) 3 B) 4 C) 5 D) 6 20、下面关于for循环的描述错误的是( ) A) for循环经常用于循环次数已经确定的情况 B) for循环的循环体可以是一个复合语句 C) 在for循环中不能用break语句跳出循环体 D) for循环的循环体可以是一个空语句

c语言上机题库 (1)

c语言上机题库 (1)

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。

2、编写程序求无理数e的值并输出。

计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。

z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n位自然数的各位数字的积。

(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。

13、编写main程序调用函数fact求解从m个元素选n 个元素的组合数的个数。

计算公式是:组合数=m!/(n!.(m-n)!)。

要求:m不能小于n,否则应有容错处理。

上机考试题库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语言上机试题(7)

C语言上机试题(7)
例如: 若k = 10, 则应输出: 3628800。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结
果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
***********************************
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
第 20套
试题说明
***********************************
第一题(30分)
给定程序的功能是求k!(k<13)并通过函数名传回主函数。
求平方, 结果存在c数组中。
例如: 当a数组中的值是: 1、3、5、7、8, b数组中的值是: 2、3、4、5、8
调用该函数后, c中存放的数据是: 49、4、1、16、3
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
个元素的值, 然后输出对角线元素之和。
请改正程序中的错误或在横线处填上适当的内容并把横线删除, 使它能得出
正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
***********************************
第三题(40分)
你编写的若干语句。
第 18套
试题说明
***********************************
第一题(30分)
给定程序的功能是将在字符串s中出现、而未在字符串t中出现的字符, 构成

7-23-C语言上机考试试题16

7-23-C语言上机考试试题16

C 语言上机考试试题-161. 选择题(评分标准20 分,每小题2分)1.设a=-3;执行(a>0) ? a: -a; 后,a的值为________。

(A)3 (B)1 (C)0 (D)-32..下面正确的字符常量是()(A)"c" (B)'\\' (C)'W' (D)' '3.若有说明语句:char c='\72'; 则变量c ________。

(A)包含1个字符(B)包含2个字符(C)包含3个字符(D)说明不合法,c值不确定4.sizeof (float) 是________。

(A)一个双精度型表达式(B)一个整型表达式(C)一种函数调用(D)一个不合法的表达式5.设变量a 是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型是________。

(A)int (B)float (C)double (D)不确定6.若有定义int a[10],*p=a; ,则p+5表示________。

(A)元素a[5]的地址(B)元素a[5]的值(C)元素a[6]的地址(D)元素a[6]的值7.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是________。

(A)auto (B)static (C)extern (D)register 8.若用数组名作为函数调用的实参,传递给形参的是________。

(A)数组的首地址(B)数组第一个元素的值(C)数组中全部元素的值(D)数组元素的个数9.若有说明int a[3][4];则对a数组元素的正确引用是________。

(A)a[2][5] (B)a[1,3] (C)a[1][0] (D)a(2)(2)10.C语言中while和do—while循环的主要区别是________。

(A) do—while的循环体至少无条件执行一次(B) While的循环控制条件比do—while的循环控制条件严格(C) do—while允许从外部转到循环体内(D) do—while循环体不能是复合语句2. 判断题(评分标准20 分,每小题2分)1.在C语言中,所有的函数都是平行的,独立的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double sum=0,a,max,min;
scanf("%lf",&a);
sum=max=min=a;
for(i=1;i<=9;i++)
{ scanf("%lf",&a);
if(max<a) max=a;
if(min>a) min=a;
sum=sum+a;
}
sum=sum-max-min;
输入格式:
1 100
输出格式:
2500
#include<stdio.h>
int main(void)
{
int num1,num2,t,i,sum=0;
scanf("%d%d",&num1,&num2);
if(num1>num2)
{t=num1;num1=num2;num2=t;}
if(num1%2==0)num1++;
Please input your choice:
根据输入的序号显示相应的问候信息:输入1时,输出Good morning;输入2时,输出Good afternoon;输入3时,输出Good night;对于其他的输入,则输出error。
输入格式:
2
输出格式:
Good afternoon
#include<stdio.h>
d=0.04;
else d=0.06;
sum=p*x*(1-d);
printf("%.1f",sum);
}
4.4输入'0'~'9'或'a'~'f'或'A'~'F'中的一个字符,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。
输入格式:
6
输出格式:
21
#include<stdio.h>
return 0;
}
3.13根据 c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。
输入格式:
80.0
输出格式:
26.67
#include<stdio.h>
int main(void)
{
float f,c;
scanf("%f",&f);
c=5.0/9*(f-32);
输入格式:
35
输出格式:
Yes
#include <stdio.h>
void main()
{
int n;
scanf("%d",&n);
if(n%5 == 0 && n%7 == 0)
printf("yes\n");
else
printf("no\n");
}
4.3商场为促销实行打折销售商品,假定商品价格为p元,编程计算某顾客购买x件商品的应付金额,保留一位小数。先输入价格p,再输入购买的件数x。计算公式sum = p * x * (1 - d) 其中,sum为应付金额,d为折扣(x<5时:d=0;5<=x<10时:d=1%;10<=x<21时:d=2%;21<=x<30时:d=4%;30<=x时:d=6%;)。
#include <stdio.h>
int main(void)
{
int a,b,temp;
scanf("%d%d",&a,&b);
temp=a;
a=b;
b=temp;
printf("%d %d",a,b);
return 0;
}
3.21输入一小写字母,输出对应的大写字母。
输入格式:
b
输出格式:
B
#include<stdio.h>
输出格式:
16.0
#include<stdio.h>
int main(void)
{
int a,b,h;
float S;
scanf("%d%d%d",&a,&b,&h);
S=h*(a+b)/2.0;
printf("%.1f",S);
return 0;
}
3.26输入圆的半径,求圆的周长和面积,结果精确到小数点后两位。已知圆周率为3.14159。
default:printf("error\n");
}
}
4.6输入3个整数,要求按从小到大的顺序输出。
输入格式:
5 3 1
输出格式:
1 3 5
#include<stdio.h>
int main(void)
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b) {t=a;a=b;b=t;}
输入格式:
9.9 15
输出格式:
145.5
#include<stdio.h>
void main()
{
int x;
float p,sum,d;
scanf ("%f%d",&p,&x);
if(x<5)
d=0;
else if(x<10)
d=0.01;
else if(x<21)
d=0.02;
else if(x<30)
else if(op=='*') printf("%.1f\n",a*b);
else printf("%.1f\n",a/b);
return 0;
}
4.8输入3个整数,要求按从大到小的顺序输出。
输入格式:
1 3 5
输出格式:
5 3 1
#include<stdio.h>
int main(void)
{
int a,b,c,t;
输入格式:
5.0
输出格式:
31.42 78.54
#include <stdio.h>
void main()
{ double r,l,s;
scanf("%lf",&r);
l=2*3.14159*r;
s=3.14159*r*r;
printf("%.2f %.2f\n",l,s);
}
4.1输入整数a和b,如果a^2 + b^2 大于100,则输出a + b的值;否则,输出a - b的值。
int main(void)
{
char ch;
ch=getchar();
putchar(ch-32);
putchar('\n');
}
3.22输入任意四位整数,以反序的方式输出该整数。例如:输入1234,输出4321
输入格式:
1357
输出格式:
7531
#include<stdio.h>
int main(void)
输入格式:
A
输出格式:
a
#include<stdio.h>
int main(void)
{
char c1,c2;
scanf("%c",&c1);
c2=c1+32;
printf("%c",c2);
}
3.16输入两个整数分别赋值给变量a和b,将a和b的值互换,输出a、b的值。
输入格式:
3 5
输出格式:
5 3
void main()
{
char ch;
ch=getchar();
if(ch>='0'&&ch<='9')
printf("%d\n",ch-'0'+15);
else if(ch>='A'&&ch<='F')
printf("%d\n",ch-'A'+10+15);
else if(ch>='a'&&ch<='f')
int main(void)
{
int choice;
scanf("%d",&choice);
switch(choice)
{
case 1:printf("Good morning\n");break;
case 2:printf("Good afternoon\n");break;
case 3:printf("Good night\n");break;
C
3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。
输入格式:
B
输出格式:
26
#include<stdio.h>
int main(void)
{
char ch;
int sum;
ch=getchar();
相关文档
最新文档