C语言题库(编程)河南工业大学 河工大 c语言期末考试题库

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

c语言大期末考试题库及详解答案

c语言大期末考试题库及详解答案

c语言大期末考试题库及详解答案1. 选择题(1) 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A(2) 以下哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:A2. 填空题(1) 在C语言中,用于定义一个函数的关键字是____。

答案:void(2) 当使用指针变量时,用于获取指针所指向的值的运算符是____。

答案:*3. 简答题(1) 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指向数组首元素的指针使用。

数组的每个元素可以通过指针偏移量来访问。

(2) 解释C语言中的预处理指令#include的作用。

答案: #include预处理指令用于在编译前将指定的文件包含到当前文件中,通常用于包含标准库或自定义的头文件。

4. 编程题(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("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```(2) 编写一个C语言函数,实现字符串的反转。

```cvoid reverseString(char* str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```5. 论述题(1) 论述C语言中指针的重要性及其应用场景。

期末c语言考试题库及答案

期末c语言考试题库及答案

期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2nd_variableB. _variableC. variable-nameD. variable$name答案:C3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. intD. void答案:C6. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B7. 下列哪个选项是C语言中的循环结构?A. ifB. forC. switchD. case答案:B8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个关键字用于定义一个指针?A. *B. &C. %D. #答案:A10. 下列哪个选项是C语言中的数组?A. int a[10];B. int *a;C. int a=10;D. int a;答案:A二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个字符常量的数据类型是______。

答案:char2. 在C语言中,用于定义一个整型变量的数据类型是______。

答案:int3. 在C语言中,用于定义一个浮点型变量的数据类型是______。

答案:float4. 在C语言中,用于定义一个双精度浮点型变量的数据类型是______。

答案:double5. 在C语言中,用于定义一个布尔型变量的数据类型是______。

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。

以下是一些典型的试题及其答案,供同学们复习参考。

1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了C语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。

河南工业大学C语言考试题

河南工业大学C语言考试题
【HNCE网上考试系统 v9.6】本套软件使用权属于:河南工业大学
考试课程:程序设计基础考试时间:120分钟考场:未定义考试日期:2015.06.16
考号:姓名:
剩余时间:
27:00
保存交卷退出帮助
窗体顶端
本卷共有1道大题:
窗体底端
一、编程题(7道小题,共100分)
1、该程序完成功能:用户输入性别和年龄,用来判读是否退休,若退休则输出“yes”,没有退休则输出“No”,要求:男用'M'字符,女用'F'字符,男的大于60岁退休,女性大于55岁退休。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
5、程序功能:用户输入一个字符串,求出该字符串中"Z"字符的个数。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
(10分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
窗体底端
考号:201416030111姓名:尚佳杰
剩余时间:
27:00
保存交卷退出帮助
强烈建议您使用IE5.0以上,屏幕分辨率800X600以上,真彩,小字体浏览
请将你解答本题所写的源程序粘贴到下面或者上载源程序
3、从键盘输入6个整数存到数组中,输出其最小值和它所对应的的下标。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序

(完整版)河南工业大学编程考题(完整).doc

(完整版)河南工业大学编程考题(完整).doc

1.有一函数:当x<0 时 ,y=-1 ;当 x=0 时 ,y=0;当 x>0 时 ,y=1.编一程序 ,输入 x 地值 ,输出 y 地值 .#include<stdio.h>void main(){int x,y;printf(" 请输入 x:");scanf("%d",&x);if(x<0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d",y);}2.输入三个实数,将这三个数按由大到小地顺序排列,并输出这三个数.#include<stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c:");scanf("%d %d %d",&a,&b,&c);if(a<b) {temp=a;a=b;b=temp;}if(a<c){temp=a;a=c;c=temp;}if(b<c){temp=b;b=c;c=temp;}printf(" 从大到小为:%d,%d,%d\n",a,b,c);}3.有三个整数a,b,c,由键盘输入 ,输出其中最大者.#include<stdio.h>void main(){int a,b,c,max;printf(" 输入三个数字:\n");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf(" 最大值是 : %d\n",max);}4.编程求圆面积、圆周长.要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字.#include<stdio.h>#define pi 3.1416main(){float r,l,s;printf(" 请输入半径:\n");scanf("%f",&r);l=2*pi*r;s=pi*r*r;printf("l=%7.2f\ns=%7.2f\n",l,s);}5.有分段函数 :当 x<-10 时 ,y=|x|+5; 当-10≤ x≤ 10 时,y=4x-8; 当 x>10 时 ,y=sqrt(x).编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>int main(){ int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<-10){ y=|x|+5;printf("x=%3d,y=|x|+5=%d\n" ,x,y);}else if(x<=10){ y=4*x-8;printf("x=%d,y=4*x-8=%d\n",x,y);}else{ y=sqrt(x);printf("x=%d,y=sqrt(x)=%d\n",x,y);}return 0;}6.编写程序 ,判断某一年是否是闰年.(闰年地条件是:能被 4 整除 ,但是不能被100 整除 ,或者可以被 400 整除 .)#include <stdio.h>int main(){int year,leap;scanf("%d",&year);if (year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if (leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("a leap year.\n");return 0;}7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字.公式为c=5/9(f-32)#include<stdio.h>int main(){float f,c;printf(" 输入华氏温度:\n");scanf("%f",&f);c=(f-32)/1.8;printf(" 对应地摄氏温度是:%5.2f\n",c);}8.有一函数:当x<1 时 ,y=|x|;当 1<=x<10 时,y=2x-1 ;当 x>=10 时 ,y=3x+11.编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>void main(){int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<1){ y=|x|;printf("x=%3d, y=|x|=%d\n",x,y);当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11 }else if (x<10){ y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y);}else{ y=3*x+11;printf("x=%3d, y=3*x+11=%d\n",x,y);}}9.输入三个实数,将这三个数按由小到大地顺序排列,并输出这三个数.#include<stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c:");scanf("%d %d %d",&a,&b,&c);if(a>b) {temp=a;a=b;b=temp;}if(a>c){temp=a;a=c;c=temp;}if(b>c){temp=b;b=c;c=temp;}printf(" 从小到大为:%d,%d,%d\n",a,b,c);}10.输入一个字符,判断它是否是小写字母,如果是 ,将它转换成大写字母;如果不是,不转换 .然后输出最后得到地字符.#include<stdio.h>#include<string.h>void main(){char a;scanf("%c",&a);if(islower(a))a=a-32;printf("%c\n",a);}11.编程求圆柱体积,圆柱表面积 .要求圆半径 ,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字.#include <stdlib.h>int main(int argc, char *argv[]){float r,h,l,s,sq,vq,vz;float pi=3.1415926;printf(" 请输入圆地半径r,圆柱高 h: ");scanf("%f,%f",&r,&h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r;vz=pi*r*r*h;printf(" 圆周长为: l=%6.2f\n",l);printf(" 圆面积为: s=%6.2f\n",s);printf(" 圆球表面积为:sq=%6.2f\n",sq);printf(" 圆球体积为:vq=%6.2f\n",vq);printf(" 圆柱体积为:vz=%6.2f\n",vz);system("PAUSE");return 0;}12.有分段函数:当x<-5 时 ,y=x+10;当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>void main(){int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<-5){ y=x+10;printf("x=%3d, y=x+10=%d\n",x,y);}else if (x<5){ y=x^2;printf("x=%3d, y=x^2=%d\n",x,y);}else{ y=2*x-10;printf("x=%3d, y=2*x-10=%d\n",x,y);}}13.有三个整数a,b,c,由键盘输入 ,输出其中最小者.#include <stdio.h>int main(){int a,b,c,temp,min;printf(" 请输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);temp=(a<b)? a:b;min=(temp<c)? temp:c;printf(" 三个数中最小数是%d\n",min);return 0;}14.输入一个字符,判断它是否是大写字母,如果是 ,将它转换成小写字母;如果不是,不转换 .然后输出最后得到地字符.#include <stdio.h>void main(){char c;printf("input ch:");c=getchar();if( c>='A'&&c<='Z'){c=c+32;printf("%c",c);}else printf("%c",c);}15.输入三角形地三边长 ,求三角形面积 .求三角形面积地公式为area=sqrt(s(s-a)(s-b)(s-c)),其中 s=(a+b+c)/2 #include<stdio.h>#include<math.h>void main(){float a,b,c,s,area;printf(" 依次输入a,b,c: ");scanf("%f%f%f,",&a,&b,&c);s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c));printf(" 面积为: %7.2f",area);}16.编程求 2!+4!+6!+8!+10! 地值 ,并输出结果 .#include<stdio.h>int main(){int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i++){m=1;for(j=1;j<=2*i;j++)m=m*j;sum=sum+m;}printf("sum=%d\n",sum);return 0;}17.猴子吃桃问题.猴子第一天摘下若干个桃子,当即吃了一半 ,还不过瘾 ,又多吃了一个. 第二天早上又将剩下地桃子吃掉一半,又多吃一个 .以后每天早上都吃了前一天剩下地一半零一个 .到第 10 天早上想吃时就剩一个桃子了.求第一天共摘了多少个桃子.#include<stdio.h>void main(){int day; static x1=1;day=10;while(day>0){x1=(x1+1)*2;day--;}printf(" 桃子总数 =%d\n",x1);}18.输出所有地“水仙花数”,所谓“水仙花数”是指一个 3 位数 ,其各位数字立方和等于该数本身 .#include<stdio.h>int main(){int i,j,k,n;printf(" 水仙花数是 ");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d ",n);}printf("\n");return 0;}19.编程求 1~100 之间地所有素数,并输出结果 .#include <stdio.h>int main(void){int a[100],i,j;for (i = 0; i<100; i++) a[i]=i+1;for (i=1; i<100; i++)for (j=i+1; j<100; j++)if (a[i]&&a[j]%a[i]==0)a[j]=0;for (i = 1; i<100; i++)if (a[i]) printf("%d\t",a[i]);return 0;}20.编程求 1!+3!+5!+7!+9!地值,并输出结果.#include<stdio.h>int main(){int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i++){m=1;for(j=1;j<=2*i-1;j++)m=m*j;sum=sum+m;}printf("sum=%d\n",sum);return 0;}21.用 pi/4 ≈ 1-1/3+1/5-1/7+... 公式求 pi 地近似值 ,直到某一项地绝对值小于 10 地-6 次方为止 .#include<stdio.h>#include<math.h>int main(){int sign=1;double pi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return 0;}22.一个球从100m 高度自由落下,每次落地后又反跳回原高度地一半,再落下 ,再反弹 .求它在第 10 次落地时共经过多少米?#include "stdio.h"#include "stdio.h"main(){float sn=100.0,hn=sn/2;int n;for(n=2;n<=10;n++){sn=sn+2*hn;/* 第 n 次落地时共经过地米数*/hn=hn/2; /* 第 n 次反跳高度 */}printf("the total of road is %f\n",sn);getch();}23.入两个正整数m 和 n,求其最大公数和最小公倍数.#include <stdio.h>int main(){int p,r,n,m,temp;printf(" 入两个正整数n,m:");scanf("%d%d,",&n,&m);if (n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf(" 它地最大公数 :%d\n",n); printf("它地最小公数 :%d\n",p/n); return 0;}24.利用循 ,程求 1!+2!+3!+ ⋯+10! 地 ,并出果 .main(){int i,j,n,sum=0;for(i=1;i<=10;i++){n=1;for(j=1;j<=i;j++)n*=j;sum+=n;}printf("%d\n",sum);}20 之和 .25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......, 求出个数列前#include<stdio.h>main(){ int i,x,y,a;float sum=0;x=2;y=1;for(i=1;i<20;i++){sum+=(float)(x)/y;//printf("%d/%d\n",x,y);a=x;x=x+y;y=a;}printf("%7.5f\n",sum);}26.求 Fibonacci 数列前 40 个数 .这个数列有以下特点:第1和第2个数为1,从第3个数开始, 该数是其前面两个数之和.#include<stdio.h>#define N 4long fibonacci(int n){if (0==n||1==n) return 1;elsereturn fibonacci(n-1)+fibonacci(n-2);}int main(void){int i;printf("Fibonacci数列地前40 项 \n");for (i=0; i<40;){printf("%-10ld",fibonacci(i++));if(i%N==0) printf("\n");}printf("\n");return 0;}27.一个数如果恰好等于它地因子之和,这个数就称为完数.例如 ,6 地因子为 1、2、3,而 6=1+2+3, 因此 6 是完数 .编程求 1000 以内所有完数 .#include<stdio.h>void main(){int i,j;int sum;for(i=2;i<1000;i++){sum=0;for(j=1;j<i;j++)if(i%j==0)sum=sum+j;if(sum==i)printf("%d 是完数 \n",sum);}}28. 求S=a+aa+aaa+...+aa...a(n 个 a) 之值 .其中 a 是一个数字,n 代表 a 地位数.例如:2+22+222+2222+22222 (此时 n 为 5) ,n 由键盘输入 .#include <stdio.h>int main(){int a,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+...=%d\n",sn);return 0;}29.编程求 100~200 之间地所有素数,并输出结果 .#include<stdio.h>#include<math.h>int main(){int n,k,i,m=0;for(n=101;n<=200;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return 0;}30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符地个数.#include"stdio.h"main(){char c;int i=0,j=0,k=0,l=0;while((c=getchar())!='\n'){if(c>=65&&c<=90||c>=97&&c<=122) i++;else if(c>=48&&c<=57) j++;else if(c==32) k++;else l++;}printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);}31.将一个数组中地值按逆序重新存放.例如 ,原来顺序为8,6,4,3,2,0.要求改为 0,2,3,4,6,8. #include<stdio.h>#define N 5int main(){int a[N],i,temp;printf("enter array a:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("array a:\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nNOW,array a:\n");for(i=0;i<N;i++)printf("%4d",a[i]);printf("\n");return 0;}32.编写一个函数,求数列 1+1/2+1/3+1/4+1/5+...1/n, 利用主函数调用这个函数并输出结果. #include <stdio.h>main(){float i=1,sum=0,n;printf("input a number n:");scanf("%f",&n);while(i<=n){sum+=1.0/i;i=i+1;}printf("%f\n",sum);}33.将一个二维数组int a[3][4] 地行和列地元素互换,存到另外一个二维数组中. #include <stdio.h>int main(){int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int b[4][3],i,j;printf("arrary a:\n");for(i=0;i<=2;i++){for(j=0;j<=3;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("array b:\n");for(i=0;i<=3;i++){for(j=0;j<=2;j++)printf("%5d",b[i][j]);printf("\n");}return 0;}34.利用循环输出以下图形***************#include <stdio.h>int main(){inti,j,m;for(i=1;i<=5;i++){m=i;for(m=1;m<i;m++)printf(" ");for(j=0;j<=5-i;j++)printf("*");printf("\n");}return 0;}35.用冒泡排序法对输入地10 个数进行降序排序,并存入数组中.#include <stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}36.有一个 3 乘 4 地矩阵 ,要求编程序求出其中值最大地那个元素地值,以及其所在地行号和列号.#include <stdio.h>int main(){int i,j,row=0,colum=0,max;int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d\n",max,row,colum);return 0;}37.用冒泡排序法对输入地10 个数进行升序排序,并存入数组中.#include <stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}38.利用循环 ,输出以下图形*************************#include <stdio.h>int main(){char a[5]={'*','*','*','*','*'};int i,j,k;char space=' ';for (i=0;i<5;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for (k=0;k<5;k++)printf("%c",a[k]);}printf("\n");return 0;}39.输出以下杨辉三角形(要求输出10 行) . 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1...#include<stdio.h>#define N 10int main(){int i,j,a[N][N]; for(i=0;i<N;i++){ a[i][i]=1;a[i][0]=1;}for (i=2;i<N;i++)for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<N;i++){for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}printf("\n");return 0;}40.利用循环输出以下图形****************#include <stdio.h>int main(){int i,j,m;for (i=1;i<=4;i++){m=i;for (m=1;m<=4-i;m++) printf(" ");for (j=0;j<2*i-1;j++)printf("*");printf("\n");}return 0;}41.利用循环 ,输出以下图形****************#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i=0;i<n;i++){for(j=n-1-i;j>0;j--)printf(" ");for(j=0;j<2*i+1;j++){int k=j;if(k>25)k%=26;printf("%c",'*'+k);}printf("\n");}return 0;}42.求一个 3× 3 地整型矩阵对角线元素之和.#include<stdio.h>main(){int a[3][3],i,j,sum=0;printf(" 请输入数组元素:( 3*3) \n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);printf("\n");printf(" 数组为: \n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("\n");printf(" 对角线地和:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j||2-i==j)sum+=a[i][j];printf("%d\n",sum);}43.编写程序 ,将两个字符串连接起来,不要使用strcat 函数 .int main(){char *a="qwet",*b="woei";char c[20];int i,j;for( i=0,j=0;*(a+i);i++ ,j++)c[j]=*(a+i);for(i=0; *(b+i);i++,j++ )c[j]=*(b+i);c[j]='\0';for( i=0; c[i] ;i++)printf("%c ",c[i]);}44.写一个函数 ,求两个整数中地较大者 ,用主函数调用这个函数 ,并输出结果 ,两个整数由键盘输入 .#include<stdio.h>int maxNum(int a,int b){return(a>b?a:b);}void main(){int a,b,max;printf("Enter two numbers!\n");scanf("%d%d",&a,&b);max=maxNum(a,b);printf("Max:%d\n",max);}45.编写两个函数分别求两个整数地最大公约数和最小公倍数 ,在主函数中调用这两个函数 , 并输出结果 ,两个整数由键盘输入 .#include<stdio.h>int hcf(int,int);int lcd(int,int,int);void main(){int u,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d",l);}int hcf(int u,int v){int t,r;if(v>u){t=u;u=v;v=t;while((r=u%v)!=0) {u=v;v=r;}return (v);}int lcd(int u,int v, int h) {return (u*v/h);}。

河南工业大学C语言题库选择题

河南工业大学C语言题库选择题

一、选择题1.下列叙述中‎错误的是(B )。

A算法正确‎的程序最终‎一定会结束‎。

B算法正确‎的程序可以‎有零个输出‎。

C算法正确‎的程序可以‎有零个输入‎。

D算法正确‎的程序对于‎相同的输入‎一定有相同‎的结果。

2.下列叙述中‎错误的是(D )。

A C程序必须‎由一个或一‎个以上的函‎数组成。

B函数调用‎可以作为一‎个独立的语‎句存在。

C若函数有‎返回值,必须通过r‎e turn‎语句返回。

D函数形参‎的值也可以‎传回给对应‎的实参。

3.下列叙述中‎错误的是(A)。

A用户定义‎的标示符允‎许使用关键‎字。

B用户定义‎的标示符应‎做到“见名知意”。

C用户定义‎的标示符必‎须以字母或‎下划线开头‎。

D用户定义‎的标示符中‎大、小写字母代‎表不同标示‎。

4.下列关于函‎数的叙述正‎确的是(B)。

A每个函数‎都可以被其‎他的函数调‎用(包含mai‎n函数)。

B每个函数‎都可以被单‎独编译。

C每个函数‎都可以单独‎运行。

D在一个函‎数内部可以‎定义另一个‎函数。

5.下列不合法‎的用户标示‎符是(C)。

A j2_ke‎yB _intC 4dD _8_6下列定义‎变量的语句‎中错误的是‎(D)。

A int _int;B doubl‎e int_;C char for;D float‎us$;7按照C语‎言规定的用‎户标示符命‎名规则,不能出现在‎标示符中的‎是(B)。

A大写字母B 连字符C 数字字符D 下划线8对于一个‎正常运行的‎C程序,下列叙述正‎确的是(A)。

A程序的执‎行总是起止‎于main‎函数。

B程序的执‎行总是从第‎一个函数开‎始,结束于ma‎i n函数C程序的执‎行总是从m‎a in函数‎开始,在最后一个‎函数结束D程序的执‎行总是从第‎一个函数开‎始,在最后一个‎函数结束9下列叙述‎正确的是(C )。

A C语言程序‎从源程序中‎第一个函数‎开始执行B可以在程‎序中由用户‎指定一个函‎数作为主函‎数,程序将从此‎开始执行C C语言规定‎必须用ma‎i n作为主‎函数名,程序从此开‎始执行,在次结束D main可‎作为用户标‎示符,可以命名任‎意一个函数‎作为主函数‎10下列叙‎述正确的是‎(C )。

C语言题库(编程)河南工业大学河工大c语言期末考考试库

C语言题库(编程)河南工业大学河工大c语言期末考考试库

C语言题库(编程)河南工业大学河工大c语言期末考考试库C语言题库(编程)河南工业大学河工大 c语言期末考试题库二、编程题1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。

编一程序,输入x的值,输出y的值。

#includevoid main(){int x,y;printf("请输入x:");scanf("%d",&x);if(x<0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d",y);}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。

#includevoid main(){int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",&a,&b,&c);if(aif(a< p="">if(b< p="">printf("从大到小为:%d,%d,%d\n",a,b,c);}3.有三个整数a,b,c,由键盘输入,输出其中最大者。

void main(){int a,b,c,max;printf("输入三个数字:\n");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf("最大值是: %d\n",max);}4.编程求圆面积、圆周长。

要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

河南工业大学C语言题库

河南工业大学C语言题库
~~~1
2下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。
int isprime(int a)
{int i;
for(i=2;i<=a/2;i++)
if(a%i==0)[<return(0)>];
[<return(1)>];
}
~~~1
3设有定义:float x=123.4567;,则执行下列语句后的输出结果是[<123.460000>]
printf("%d",a[i]);
printf("\n");
}
~~~7
6设有定义语句:int a[][3]={{0},{1},{3}},则数组元素a[1][2]是[<0>]
~~~7
7下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。
~C
~~~1
下列叙述正确的是()。
C程序中的注释只能出现在程序的开始位置
C程序书写格式严格,要求一行只能写一个语句
C程序书写格式自由,一行可以写多条语句
用C语言编写的程序只能放在一个程序文件中
~C
~~~1
下列不合法的数值常量是()。
011
1e1
8.0e0.5
0xabc
~C
~~~1
可在C程序中用作用户标识符的一组是()。
*printf("%d,%d,%d\n",x,y,z);
*}
*程序运行的结果是()。
2,3,3
2,3,2
2,3,1
2,2,1

期末c语言考试题库及答案

期末c语言考试题库及答案

期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable$name答案:C4. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. 'Hello\nWorld'答案:A5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2][3];B. int array(2)(3);C. int array[2,3];D. int array=2[3];答案:A6. C语言中,以下哪个函数用于计算两个数的最大值?A. max(int a, int b)B. max(float a, float b)C. max(double a, double b)D. max(int a, int b) { return (a > b) ? a : b; } 答案:D7. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct Student { int age; string name; };C. struct Student { int age; int name[20]; };D. struct Student { int age; char name; };答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[10];D. int ptr[];答案:A9. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14;D. #define PI 3.14答案:A10. C语言中,以下哪个选项是正确的条件语句?A. if x > 0 then print "Positive";B. if x > 0 { print "Positive"; }C. if (x > 0) print "Positive";D. if (x > 0) { print "Positive"; }答案:D二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。

c语言编程大题

c语言编程大题

三、河南工业大学编程作业题1.输入一个半径值,分别计算圆周长、圆面积和球的体积。

要求使用符号常量定义圆周率。

#include<stdio.h>int main(){printf("计算圆周长面积求面积\n");float r,c,s,v;scanf("%f",&r);# define PI 3.14159265c=2*PI*r;s=4*PI*r*r;v=4/3*PI*r*r*r;printf("周长是%.2f\n",c);printf("表面积是%.2f\n",s);printf("体积是%.2f\n",v);return 0;}2.假设今天是星期三,编程求20天之后是星期几?#include<stdio.h>int main(){printf("今天是星期三,20天后是星期几?\n");int i;i=23%7;printf("20天后是星期%d\n",i);return 0;}3.从键盘输入一个字符,然后将其按字符和整数这两种形式输出。

#include<stdio.h>int main(){printf("输入一个字符\n");char i;scanf("%c",&i);printf("整数形式是%d\n",i);printf("字母形式是%c\n",i);return 0;}4.输入一个大写英文字母,将它转化为小写输出。

#include<stdio.h>int main(){printf("请输入一个大写英文字母\n");char ch;scanf("%c",&ch);printf("%c\n",ch+32);return 0;}5.求一元二次方程ax^2+bx+c=0方程的两个实根。

c语言题库(判断)河南工业大学 河工大 c语言期末考试题库(C language question

c语言题库(判断)河南工业大学 河工大 c语言期末考试题库(C language question

c语言题库(判断)河南工业大学河工大 c语言期末考试题库(C language question bank (judgment), Henan University of Technology C language final examination questions bank)~~~1All the operations of a computer are controlled by the program. Without the program, the computer will accomplish nothing.~y~~~1A program is a set of instructions that a computer can recognize and execute.~y~~~1Since computers can recognize and accept machine instructions directly, machine language is the most suitable language for people to program.~n~~~1A compiler can convert programs written in high-level language into machine instructions.~~~1In general, we refer to programs written in high-level languages as object programs.~n~~~1Before you can generate executable programs, you should compile and connect again.~y~~~1The reason for high-level language is that it can be written in a program that does not follow any form.~n~~~1C programming language freedom is large, so it belongs to unstructured language.~n~~~1The C language is a high-level language that does not allow direct access to physical addresses.~n~~~1Functions are a major part of a C program.~y~~~3If you use the TC2.0 compiler, the compilation system is assigned 2, 1, and 4 bytes to int, char, and float~y~~~3The following are valid variable names: day, sum, and _pint~y~~~3If char c is defined, then c= "C"";~n~~~3The C language can use a symbolic name to represent a constant~y~~~3The following procedures segment float x=3.6; int i; i= (int) x; then x=3, i=3~n~~~3In the C language, character data can be arithmetic operations with integer data~y~~~3The accuracy can be specified when using scanf to enter data~n~~~3In C (+, -) operator can only be used for variable~y~~~3The float a=b=c=1.0 is correct in the C language~n~~~3In putchar (c), C can be an escape character~y~~~4The if statement, whether written on a few lines, is a whole and belongs to the same statement.~y~~~4The entire if statement can be written on multiple lines or written on a single line.~y~~~4In the if statement, if must have else.~~~4In the if statement, else must have if.~y~~~4The else clause cannot be used alone as a statement, and must be paired with if.~y~~~4In the C language compiling system, when the result of logical operations is expressed, the value "1" stands for "truth", and "0" means "false"".~y~~~4Arithmetic operators have precedence over relational operators.~y~~~4Logic is not the highest priority in logical operators.~y~~~4The switch statement is a multi branch selection statement.~y~~~4In judging whether a quantity is true, 0 represents "false", and "0" stands for "true"".~y~~~5In the C language, 3 statements that implement the loop structure are the for statement, the while statement, and the DO-WHILE statement.~y~~~5For ((.)) and while (1) are infinite loops.~y~~~5In C, the while statements that implement loop structures are exactly equivalent to the DO-WHILE statements.~n~~~5The execution statement for (i=1; i++<4;); the value of the latter variable I is 4~n~~~5The for statement can only be used in cases where the number of cycles has been determined.~n~~~5The existing definition of int k=1; executes the statement while (++k<4); then, the value of K is 4~y.~~~5#include <stdio.h> int (main) program j=10, i=0 {int, k=2, s=0; for (;;) {i+=k; if (i>j) {printf (%d, s); break;}s+=i;}}, judge i>j carried out 6.~y~~~5Int s=36; while (s) --s; constitutes a dead loop.~n~~~5Program segment int =0; while (t=1) {printf ("%d\n", "t");} at run time, the printf statement executes 0 times.~n~~~5Program #include, <stdio.h>, int, main (), {int, x=23;. Do {printf ("%d", "x--"); "while" ("X");} the output of the runtime is 23~y~~~6When defining an array, an array subscript can be represented by a variable~n~~~6When referencing elements in an array, the array subscript can be represented by a variable~y~~~6Int a[8]; defines an integer array; the last element in the array is a[8]~n~~~6Int a[6]; defines an integer array; the first element in the array is a[1]~n~~~6Int a[2][3]; defines an array in which there are 6 elements in the array~y~~~6Suppose that s[10] is an array of characters, by scanf ("%d", "s"); you can enter a string to the array~y~~~6Int a[6]={0}; defines an array a, and the initial value of each element in the array is 0~y~~~6Int, a[2][3]={{1}, {2}, {3}}; the correct method of initial values for an array~y~~~6Compare the size of two strings, and you can use the strcpy function~n~~~6To connect two strings, you can use the strcat function~y~~~6To test the length of a string, you can use the strlen function~y~~~7If the definition of the call function appears before the main function, you do not have to declare it.~y~~~7The C language cannot define functions nested, nor can nested functions be called. That is to say, no function can be called in the process of invoking a function~n~~~7The variables defined in the primary function are also valid only in the primary function, not in the entire file or program because they are defined in the main function. The main function cannot use variables defined in other functions.~~~7Variables in different functions can use the same name. They represent different objects and do not interfere with each other.~y~~~7Within a function, variables can be defined in compound statements, which are valid only in the compound statement, which is also called a sub program or a block of programs".~y~~~7The variables defined in a function are external variables, and variables defined outside the function are called local variables, and the external variables are global variables (also known as whole variables).~n~~~7Local variables can be shared by other functions in this document. Its range of validity starts from the location of thedefined variable to the end of the source file.~n~~~7It can be divided into static storage mode and dynamic storage mode from the point of view of the existence of variable value.~y~~~7The so-called dynamic storage means when the program is running, the system allocates a fixed storage space.~n~~~7Static storage is the way to dynamically allocate storage space as needed during program execution.~n~~~7In C, if a pointer variable is used to call an argument, the pointer variable is determined, pointing to a defined cell.~y~~~7In the C language, the call of a function can only get a return value, and the pointer can be used as a function parameter to obtain multiple values.~y~~~7In C language, input and output statements are used to input and output data.~n~~~7When using the putchar function, you must include the header file stdio.h before.~y~~~7Using the putchar function, you can output a string to the terminal.~n~~~7Using the printf function, you can output by a certain number of digits.~y~~~7In the printf function, both%c and%s can output strings.~n~~~7When you enter data into a defined variable with the scanf function, you must add &.~y~~~7When data is entered into a defined variable using the scanf function, the data input ends when an illegal input is entered.~y~~~7The use of input and output functions, putchar (getchar ()), statements are wrong (correct).~~~8The pointer to the array element is the address of the index group element.~y~~~8The program for exchanging two pointer variables P1 and P2 is temp=*p1; *p1=*p2; *p2=temp;~n~~~8Printf ("%d", "a[i]") plays the same role as printf ("%d", "*" (a+i)), and the former is efficient.~n~~~8The array name of the parameter is not a national address, but is handled by pointer variables.~y~~~8The pointer to the function that defines the format is int *p (int, int);.~n~~~8The program segments int, *p, a=2; p=&a; printf ("%d", * (p++)); the output is 2~y.~~~8In C99, you can define pointer variables of the base type of void, which can point to any type of variable.~n~~~8The program segment that points P to the string "China" is char *p; p= "China"";~y~~~8Program segments are int, a, m=4, n=6, *p1=&m, *p2=&n, a= (*p1) / (*p2) +5; after execution, the value of a is 5~y~~~8Void f (int *n) {while ((*n) - (printf); "%d" + + (*n));} (main) {int a=1; f (&a);} no output~n~~~9The C language allows users to build their own composite data structures composed of different types of data, called structures.~y~~~9The name of the struct type is the name of the struct.~n~~~9When defining a struct, the type of a member must be specified, either as a simple data type or as a constructed data type.~y~~~9If the program contains the struct type, the name of the struct member cannot be the same as the variable name in the program.~n~~~9Members of structural variables can perform various operations just like normal variables.~y~~~9Each element of an array in an array of structures is of the same type, and can perform input and output operations on each array element as a whole.~n~~~10The file identifier contains three parts,File path, file name, trunk, and file suffix. The naming rule of a file name follows the naming rule of an identifier. The suffix is used to represent the nature of a file, consisting of 3 letters.~~~10According to the organization of data, data files are divided into ASC|| files (text files) and binary files (image files), and ASC|| files save storage space than binary files.~n~~~10In the buffer file system, each using the file has a corresponding file information in memory, and the file associated with the file pointer to the file information and it also points to an external data on the media file.~n~~~10The pointer variable of a file type data is a pointer to a structure named FILE.~y~~~10Open a file in'w'. If the file already exists, the system empties the contents of the file while opening the file and waits for the new data to be written.~y。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

C语言题库(判断)河南工业大学 河工大 c语言期末考试题库

C语言题库(判断)河南工业大学 河工大 c语言期末考试题库
~y
~~~5
int s=36;while(s) --s;构成的是死循环。
~n
~~~5
程序段 int =0;while(t=1){printf("%d\n",t);}在运行时,printf语句的执行次数是0次。
~n
~~~5
程序 #include <stdio.h> int main() {int x=23;。do {printf("%d",x--); while(!x); }运行时的输出结果是23
~y
~~~7
所谓动态存储方式是指在程序运行期间由系统分配固定的存储空间的方式。
~n
~~~7
静态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。
~n
~~~7
C语言中,如果用指针变量作实参调用函数,先使指针变量有确定值,指向一个已定义的单元。
~y
~~~7
C语言中,函数的调用只可以得到一个返回值,而运用指针作函数参数可以得到多个变化的值。
~n
~~~7
用scanf函数向已定义的变量中输入数据时,在变量名前面必须加&。
~y
~~~7
用scanf函数向已定义的变量中输入数据时,当遇非法输入时,该数据输入结束。
~y
~~~7
有关输入输出函数的使用,putchar(getchar( ));语句是错误(正确)的。
~n
~~~8
~~~1
一般而言,我们把用高级语言编写的程序称为目标程序。
~n
~~~1
在生成可执行程序前,应该先编译再连结。
~y
~~~1

c语言期末考试编程题库及详解答案

c语言期末考试编程题库及详解答案

c语言期末考试编程题库及详解答案1. 编写一个C程序,实现两个整数的加法运算。

```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和是:%d\n", sum);return 0;}```2. 编写一个C程序,实现字符串的复制功能。

```c#include <stdio.h>#include <string.h>int main() {char str[100], copy[100];printf("请输入一个字符串:");gets(str); // 注意:gets函数在C11标准中已经被废弃,建议使用fgetsstrcpy(copy, str);printf("复制后的字符串是:%s\n", copy);return 0;}```3. 编写一个C程序,计算并输出1到100的累加和。

```c#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {sum += i;}printf("1到100的累加和是:%d\n", sum);return 0;}```4. 编写一个C程序,实现简单的学生成绩管理系统。

```c#include <stdio.h>int main() {int score;printf("请输入学生的成绩:");scanf("%d", &score);if (score >= 90) {printf("优秀\n");} else if (score >= 80) {printf("良好\n");} else if (score >= 70) {printf("中等\n");} else if (score >= 60) {printf("及格\n");} else {printf("不及格\n");}return 0;}```5. 编写一个C程序,实现对数组元素的排序。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

2022年河南工业大学公共课《C语言》科目期末试卷A(有答案)

2022年河南工业大学公共课《C语言》科目期末试卷A(有答案)

2022年河南工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。

5、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

6、以下程序段通过移动指针变量m,将如图9-5所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(m=q;m-q<10;m++)printf("%d,",_______);printf("\n");7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

10、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。

河南工业大学C语言复习题

河南工业大学C语言复习题

133 若变量已正确定义,下面程序段的输出结果是( #include<stdio.h> main() {float x=1.236547; printf("%f\n",(int)(x*1000+0.5)/(float)1000); }
)。
134
135 有下列程序: main()
社团官 Q:3516792087
142
143
144
社团官 Q:3516792087
河南工业大学求是学社协会
为了更多人活的更好而努力!
145
146
147
148
社团官 Q:3516792087
河南工业大学求是学社协会
为了更多人活的更好而努力!
149
150
151 main( ) {int n=4; while(n) printf("%d ",--n); } 以上程序的输出结果是( )。
137 以下程序的输出结果是() main() {int x=10,y=3; printf("%d\n",y=x/y); }
138 若变量已正确定义, 要求通过 scanf("%c%d%c%d",&c1,&a,&c2,&b)语句给变量 a 和 b 赋数值 32 和 45,给变量 c1 和 c2 赋字符 A 和 B;以下选项中数据从第 1 列开始输入,正确的输入 形式是( )。
社团官 Q:3516792087
河南工业大学求是学社协会
#include<stdio.h> main() { float x=323.82631; printf("%.2e\n",x); } 则以上语句( )。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)



C)while的循环体至少无条件执行一次


D)while的循环控制条件比do-while的严格
D 制
结 构
7)语句while (!a);中条件等价于____.
A)a!=0 B)~a C)a==1 D)a==0
返回目录
C
● 单项选择题
第20页
D 8)以下程序的运行结果为____.
#include <stdio.h>
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
返回目录
C
第24页
● 程序填空题
1.下面程序的功能是计算n!。
#include <stdio.h>
main( )
{
int i, n;

long p;
言 程
printf ( "Please input a number:\n" );
main( )
语{
言 程 序 设 计
控 制 结
构}
int i=1,sum=0; while(i<=100)
sum+=i; i++; printf("1+2+3+...+99+100=%d", sum);
A)5050 B)1 C)0
D)程序陷入死循环
返回目录
C
● 单项选择题
A 9)以下程序的运行结果为____.


A)\’ B)\0 C)\n
D)\\
D 基

8) 设先有定义:int a=10;则表达式a+=a *=a的值为____.

C语言期末试卷

C语言期末试卷
A、在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3 B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3 D、由于p和q数组中都没有字符串结束符,故长度都不能确定
20、当有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是()。(1分)
28、若有以下定义,则正确引用数组元素的是( )。 int a[5],*p=a;(1分)
A、*&amp;a[5] B、*a+2
C、*(p+5) D、*(a+2)
29、以下有关宏的不正确的是( )。(1分)
A、宏名无类型 B、宏定义不做语法检查
C、宏名必须用大写字母表示 D、双引号中出现的宏名不进行替换
A、0 B、1
C、真 D、非0
4、设有如下程序 # include&lt;stdio.h&gt; main() { char ch1=&#39;A&#39;,ch2=&#39;a&#39;; printf(&quot;%c\n&quot;,(ch1,ch2)); } 则下列叙述正确的为( )。(1分)
A、程序的输出结果为大写字母A B、程序的输出结果为小写字母a
C、运行时产生错误信息 D、格式说明符的个数少于输出项的个数,编译出错
5、阅读下列各条叙述,其中正确的叙述是()(1分)
A、机器语言、汇编语言、高级语言程序都是计算机语言,但只有机器语言程序才是计算机可以直接执行的语言。 B、用汇编程序处理C语言的源程序,可以生成机器语言程序。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编一程序,输入x的值,输出y的值。
9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。
#include<stdio.h>
void main()
{int a,b,c,temp=0;
printf("please input a,b,c: ");
scanf("%d %d %d",&a,&b,&c);
printf("请输入半径:\n");
scanf("%f",&r);
l=2*pi*r;
s=pi*r*r;
printf("l=%7.2f\ns=%7.2f\n",l,s);
}
5. 【有点难】 有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。
printf("%d ",n);
}
printf("\n");
return 0;
}
19.编程求1~100之间的所有素数,并输出结果。
#include <stdio.h>
int main(void)
{
int a[100],i,j;
for (i = 0; i<100; i++) a[i]=i+1;
printf("%d is ",year);
else
printf("%d is not ",year);
printf("a leap year.\n");
return 0;
}
7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)
#include<stdio.h>
#include<string.h>
void main()
{
char a;
scanf("%c",&a);
if(islower(a))
a=a-32;
printf("%c\n",a);
}
11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。
}
17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。
#include<stdio.h>
void main()
if(a>b) {temp=a;a=b;b=temp;}
if(a>c){temp=a;a=c;c=temp;}
if(b>c){temp=b;b=c;c=temp;}
printf("从小到大为:%d,%d,%d\n",a,b,c);
}
10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。
#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数是");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("圆球体积为:vq=%6.2f\n",vq);
printf("圆柱体积为:vz=%6.2f\n",vz);
system("PAUSE");
return 0;
}
12.有分段函数:当x<-5时,y=x+10; 当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.
l=2*pi*r;
s=pi*r*r;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r;
vz=pi*r*r*h;
printf("圆周长为:l=%6.2f\n",l);
printf("圆面积为:s=%6.2f\n",s);
printf("圆球表面积为:sq=%6.2f\n",sq);
{
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
if (leap)
y=-1;
else if(x=0)
y=0;
else
y=1;
printf("y=%d",y);
}
2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。
#include<stdio.h>
void main()
{int a,b,c,temp=0;
#include <stdlib.h>
int main(int argc, char *argv[])
{
float r,h,l,s,sq,vq,vz;
float pi=3.1415926;
printf("请输入圆的半径r,圆柱高h:");
scanf("%f,%f",&r,&h);
}
20.编程求1!+3!+5!+7!+9!的值,并输出结果。
#include<stdio.h>
int main()
{
int n=1,sum=0,j,m=1,i;
for(i=1;i<=5;i++){
m=1;
for(j=1;j<=2*i-1;j++)
m=m*j;
printf("please input a,b,c: ");
scanf("%d %d %d",&a,&b,&c);
if(a<b) {temp=a;a=b;b=temp;}
if(a<c){temp=a;a=c;c=temp;}
if(b<c){temp=b;b=c;c=temp;}
printf("从大到小为:%d,%d,%d\n",a,b,c);
sum=sum+m;
}
printf("sum=%d\n",sum);
return 0;
}
21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值的绝,直到某一项对值小于10的-6次方为止。
#include<stdio.h>
#include<math.h>
int main()
temp=(a<b)? a:b;
min=(temp<c)? temp:c;
printf("三个数中最小数是%d\n",min);
return 0;
}
14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include <stdio.h>
if(c>a&&c>b)
max=c;
printf("最大值是: %d\n",max);
}
4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。
#include<stdio.h>
#define pi 3.1416
main()
{
float r,l,s;
void main()
{
char c;
printf("input ch:");
c=getchar();
if( c>='A'&&c<='Z')
{
c=c+32;
printf("%c",c);
}
else printf("%c",c);
}
15.输入三角形的三边长,求三角形面积。求三角形面积的公式为
#include<stdio.h>
int main()
{
float f,c;
printf("输入华氏温度:\n");
scanf("%f",&f);
c=(f-32)/1.8;
printf("对应的摄氏温度是:%5.2f\n",c);
}
8.有一函数:当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。
s=(float)0.5*(a+b+c);
相关文档
最新文档