C语言题库编程河南工业大学河工大c语言期末
c语言期末考试题库及详解答案编程题
c语言期末考试题库及详解答案编程题在C语言的期末考试中,编程题是检验学生对C语言编程能力的重要部分。
以下是一套精心准备的C语言期末考试题库及详解答案,帮助学生复习和准备考试。
1. 编写一个程序,计算并输出100以内所有素数的和。
素数是指只能被1和它本身整除的大于1的自然数。
我们可以通过遍历2到99的每个数,检查它是否为素数,如果是,则累加到总和中。
最后输出总和。
```c#include <stdio.h>#include <stdbool.h>bool isPrime(int num) {if (num <= 1) return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0) return false;}return true;}int main() {int sum = 0;for (int i = 2; i <= 100; i++) {if (isPrime(i)) {sum += i;}}printf("The sum of all prime numbers less than 100is: %d\n", sum);return 0;}```2. 编写一个程序,实现字符串的反转。
字符串反转是一个常见的编程问题,可以通过遍历字符串,将字符从后向前存入新的字符串中,然后输出。
```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}}int main() {char str[] = "Hello, World!";printf("Original string: %s\n", str);printf("Reversed string: ");reverseString(str);printf("\n");return 0;}```3. 编写一个程序,计算数组中所有元素的平均值。
大学期末c语言考试题库及答案
大学期末c语言考试题库及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项是C语言中的关键字?A. includeB. intC. mainD. sum答案:B3. 在C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A4. C语言中,以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. average()答案:C5. 下列哪个选项是C语言中正确的字符串定义方式?A. char str[10] = "Hello";B. char str[10] = 'Hello';C. char str = "Hello";D. char str[10] = "Hello", "World";答案:A6. C语言中,以下哪个是正确的二维数组定义?A. int array[3, 4];B. int array[3][4];C. int array[][] = {1, 2, 3, 4};D. int array[3][4] = {1, 2, 3};答案:B7. C语言中,以下哪个是正确的函数定义?A. void myFunction();B. int myFunction() {}C. void myFunction() {}D. int myFunction() {}答案:C8. 在C语言中,以下哪个选项用于输入一个整数?A. scanf("%d", &number);B. printf("%d", &number);C. gets(&number);D. puts(&number);答案:A9. C语言中,以下哪个选项用于输出一个浮点数?A. printf("%f", number);B. scanf("%f", number);C. gets(number);D. puts(number);答案:A10. 在C语言中,以下哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i--)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (int i = 10; i--; i < 0)答案:C二、填空题(每题2分,共20分)1. 在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语言考试题
考试课程:程序设计基础考试时间: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分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
(完整版)C语言题库(编程)河南工业大学河工大c语言期末考考试库
(完整版)C语言题库(编程)河南工业大学河工大c语言期末考考试库C语言题库(编程)河南工业大学河工大c语言期末考试题库二、编程题1.有一函数:当x0时,y=-1;当x=0时,y=0;当x0时,y=1。
编一程序,输入x的值,输出y的值。
#include<stdio.h></stdio.h>void main(){int x,y;printf(“请输入x:");scanf("%d",if(x0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d",y);}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。
#include<stdio.h></stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",a,b,if(a<b) {temp="a;a=b;b=temp;}</p"></b)>if(a<c){temp=a;a=c;c=temp;}></c){temp=a;a=c;c=temp;}>if(b<c){temp=b;b=c;c=temp;}></c){temp=b;b=c;c=temp;}>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,if(abac)max=a;if(babc)max=b;if(cacb)max=c;printf("最大值是: %d\n",max);}4.编程求圆面积、圆周长。
大学c语言期末考试题库及答案
大学c语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是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[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
(完整版)河南工业大学编程考题(完整).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语言题库
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
2022年河北工业大学公共课《C语言》科目期末试卷A(有答案)
2022年河北工业大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言的赋值表达式中,赋值号左边必须是_______5、表达式x=6应当读做_______6、函数process是一个可对两个整型数a和b进行计算的通用函数;函数max()可求这两个数中的较大者,函数min()可求它们中的较小者。
已有调用语句process(a,b,max);和process(a,b,min);。
请填空。
void process(_______){int result;result=(*fun)(x,y);printf("%d\n",result);}7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
二、选择题11、下列4组选项中,不是C语言关键字的选项是。
()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、设以下变量均为int类型,则值不等于7的表达式是( )。
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 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。
2022年河南工业和信息化职业学院公共课《C语言》科目期末试卷B(有答案)
2022年河南工业和信息化职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、C语言源程序的基本单位是________2、函数swap(int x,inty)可完成对x和y值的交换。
在运行调用函数中的如下语句后,a[0]和a[1]的值分别为_______,原因是_______。
a[o]=1;a[1]=2;swap(a[o],a[1]);3、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);4、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。
5、请读程序段:unsigned a=16;printf("%d,%d,%d\n",a>>2,a=a>>2,a);以上程序段的输出结果是_______。
6、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______7、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
8、假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是_______。
9、下面程序段的运行结果是_______。
char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);10、下面程序段的运行结果是_______。
char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}二、选择题11、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
大学c语言期末考试题及答案
大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. 2ndVarC. my-variableD. myVar答案:B3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D4. C语言中,以下哪个选项用于循环结构?A. ifB. whileC. switchD. for答案:D5. 在C语言中,以下哪个函数用于计算两个整数的和?A. max()B. min()C. sum()D. pow()答案:C6. C语言中,以下哪个选项用于数组的声明?A. int array[10];B. int *array;C. int array[];D. 以上都是答案:D7. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 以上都是答案:A8. 在C语言中,以下哪个选项用于定义指针?A. int *p;B. int p[];C. int p;D. 以上都是答案:A9. C语言中,以下哪个函数用于输入?A. scanf()B. printf()C. getchar()D. 以上都是答案:A10. 在C语言中,以下哪个选项用于定义结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 在C语言中,________运算符用于比较两个值是否相等。
答案:==3. C语言中,________关键字用于声明一个全局变量。
C语言题库(判断)河南工业大学 河工大 c语言期末考试题库
~~~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
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语言复习题
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); } 则以上语句( )。
2022年河南工业大学计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)
2022年河南工业大学计算机科学与技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、有效容量为128KB的Cache,每块16B,8路组相联。
字节地址为1234567H的单元调入该Cache,其tag应为()。
A.1234HB.2468HC.048DHD.12345H2、某C语言程序段如下:for(i=0;i<9;i++){temp=1;for(j=0;j<=i;j++)temp+=a[J];sum+=temp;}下列关于数组a的访问局部性的描述中,正确的是()。
A.时间局部性和空间局部性皆有B.无时间局部性,有空间局部性C.有时间局部性,无空间局部性D.时间局部性和空间局部性皆无3、十进制数-0.3125的8位移码编码为()。
A.D8HB.58HC.A8HD.28H4、在浮点机中,()是隐藏的。
A.阶码B.数符C.尾数D.基数5、串行运算器结构简单,其运算规律是()。
A.由低位到高位先行进行进位运算B.由低位到高位先行进行借位运算C.由低位到高位逐位运算D.由高位到低位逐位运算6、总线的数据传输速率可按公式Q=Wf/N计算,其中Q为总线数据传输速率,W为总线数据宽度(总线位宽/8),f为总线时钟频率,N为完成一次数据传送所需的总线时钟周期个数。
若总线位宽为16位,总线时钟频率为8MHz,完成一次数据传送需2个总线时钟周期,则总线数据传输速率Q为()。
A.16Mbit/sB.8Mbit/sC.16MB/sD.8MB/s7、系统总线中的数据线、地址线、控制线是根据()来划分的。
A.总线所处的位置B.总线的传输方向C.总线传输的内容D.总线的材料8、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。
现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间能缩短为8s,使用新技术后可使B的时钟频率大幅度提高,但在B上运行该程序所需要的时钟周期数为在A上的1.5倍。
C语言期末试卷
C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3 D、由于p和q数组中都没有字符串结束符,故长度都不能确定
20、当有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是()。(1分)
28、若有以下定义,则正确引用数组元素的是( )。 int a[5],*p=a;(1分)
A、*&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<stdio.h> main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )。(1分)
A、程序的输出结果为大写字母A B、程序的输出结果为小写字母a
C、运行时产生错误信息 D、格式说明符的个数少于输出项的个数,编译出错
5、阅读下列各条叙述,其中正确的叙述是()(1分)
A、机器语言、汇编语言、高级语言程序都是计算机语言,但只有机器语言程序才是计算机可以直接执行的语言。 B、用汇编程序处理C语言的源程序,可以生成机器语言程序。
2022年河南工业和信息化职业学院公共课《C语言》科目期末试卷B(有答案)
2022年河南工业和信息化职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;2、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}3、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);4、在C语言中的实型变量分为两种类型,它们是_______和_______。
5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
7、请读以下函数:getbits(unsigned x,unsigned p,unsigned n)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假设机器的无符号整数字长为16位。
若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是_______。
8、在C语言源程序中,一个变量代表【】。
9、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言题库(编程)河南工业大学河工大c语言期末考试题库二、编程题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,由键盘输入,输出其中最大者。
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的值。
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的值。
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&gt;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的值。
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!的值,并输出结果。