C语言期末复习题(编程题部分).doc
c语言期末考试题库及详解答案编程题

c语言期末考试题库及详解答案编程题C语言期末考试题库及详解答案编程题1. 题目:编写一个C程序,实现输入一个整数,判断该整数是否为素数,并输出结果。
答案:```c#include <stdio.h>int isPrime(int n) {if (n <= 1) return 0; // 小于等于1的数不是素数for (int i = 2; i * i <= n; i++) {if (n % i == 0) return 0; // 能被其他数整除的不是素数 }return 1; // 是素数}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。
\n", num);} else {printf("%d 不是素数。
\n", num);}return 0;}```2. 题目:编写一个C程序,实现字符串的反转,并输出原始字符串和反转后的字符串。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("原始字符串:%s\n", str);printf("反转后的字符串:%s\n", str);return 0;}```3. 题目:编写一个C程序,实现计算并输出一个整数数组中的最大值和最小值。
c程序期末考试题及答案

c程序期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的变量名?A. myVariableB. 2variableC. _variableD. variable2答案:B2. 下列哪个是C语言中的整型常量?A. 3.14B. 'A'C. 100LD. "123"答案:C3. C语言中,以下哪个语句是正确的?A. int a = 5, b = 0;B. int a = 5;int b = 0;C. int a = 5int b = 0;D. int a = 5 b = 0;答案:A4. 在C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = {0, 1, 2, 3};D. int array[10] = 0;答案:B5. 下列哪个是C语言中的条件语句?A. if (condition)B. switch (expression)C. for (initialization; condition; increment)D. while (condition)答案:A6. 在C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int a, int b);C. int myFunction(int a, int b) { ... }D. Both A and B答案:D7. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" + "World"D. "Hello", "World"答案:A8. 下列哪个是C语言中的循环结构?A. ifB. forC. whileD. Both B and C答案:D9. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /答案:C10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. <答案:C二、填空题(每题2分,共20分)1. 在C语言中,基本数据类型包括______、______、______、______和______。
c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。
d。
2int。
a=0.double。
b=1.25.char c=’A’;则下面语句中错误的是()。
A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。
int w。
long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。
A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa)。
C) scanf(“%d”,&pa)。
B) scanf(“%d”,a)。
D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。
c语言期末复习试题附答案

c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。
答案:42. C语言中,一个浮点型数据占____个字节。
答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。
答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。
C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
C语言程序设计期末考试复习题及答案

A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
1 main()
2 { int x;
3 if (x=90) printf(“right”);
4 else printf(“error”);
}
行号: 改为: main()
2 { char s[]=”china”;
(4) main()
{ int a,b;
a=5;
b=8;
p(a,b);
p(a+b,a);
}
p(int x,int y)
{
y=x+y;
printf(“%d %d”,x,y);
}
程序的运行结果是:
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);
完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
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.编程求圆面积、圆周长。
要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编程题目:1、在考生目录下,要求程序PR0G1.C 的功能是: 按下面公式的前1000项,求的近似值:部分源程序存在文件PROG 1.C 中,程序中main ()函数及部分变量 已经定义,部分程序语句己经输入,请考生不要改动。
如果考生需要 使用其它变量,请自行定义并赋值。
请将运算结果存入变量pi 中。
注意:部分源程序存在文件PROG1.C 中。
泊 /* ****** begin * ******* / ***** * *gp j * ******** /之间填入你编写的若干语句。
请勿改动其它位置的任何内界。
#incl ude "stdio.h " include "math.h"#i nclude "stdl ib.h" void NONOfdouble x); void m ain(){dou ble pi;double k=1.0; inti;for(i=2 000;i=i +2)pi=2 *k;/木*木木本*木*木木木木gpd**木木木*木**木木printf("pi=%f\n"/pi);NONO(pi);void NONO ( double x){FILE *f;f=fopen(,,outl.dat ,,;,w ,'); fprintf(f ;,pi=%f\n ,,/x);fclose(f);}2、在考生目录下,要求程序PROG1.C 的功能是: 按下面公式的前100 0项,求IT 的近似值: nil 2 12 3123 4—=1 + —+ (— * —)+(— * — * —)+( — * — *—*—) + .......................2 3 35357 3579部分源程序存在文件PR0G1.C 中,程序中mainO 蚋数及部分变量己经 定义,部分程序语句已经输入,请考生不要改动。
如果考生需要使用其它 变量,请自行定义。
请将运算结果存入变量pi 中。
请考生在main()函数中的空白地方填入所需要的其它语句,存盘并运 行,直到得出正确结果。
注意:部分源程序存在文件PROG1.C 中。
请在/*******begjn********/ 与 y********gp^*********/2 13355779 2n-l 2n+l /木**木♦本*木*本* be gin***********H22446688 2n2n之间填入你编写的若干语句。
请勿改动其它位罝的任何内容。
#inc lude "stdio.h" include"math.h" include "std lib.h"void NONO(double x) main(){double p i;/木木木木木******begjpj** *** ******do uble t=1.0; i nti;for(i=000;i++){t=t *i/(2*i+l);p i=pi+t;}pi=2 *pi;/ 木木**********gpd****木木木*****• 10f printf("pi =%\n",pi); NONO(pi);} void NONO ( double x){FILE *f;f=fopen("outl.dat","w"};.10f fpr intf(f,"pi=%\n",x}; f close(f);}3、在考生目录下,要求程序PROG1.C的功能是: 按下面公式的前2000 0项,求71的近似值:Him—=(1+ ----------- ) * (1 + ---------- ) * (1 + ----------- )*(1 + -------- ) +2 1*3 3*5 5*7 7*9部分源程序存在文件PRO G1.C巾,程序巾mai n()函数及部分变量已经定义,部分程序语句己经输入,请考生不要改动。
如果考生需要使用其它变量,请自行定义。
请将运算结果存入变量pi屮。
请考生在main()函数中的空白地方填入所需要的其它语句,存盘并运行,直到得出正确结果。
注意:部分源程序存在文件PROG1.C中。
请在y*******b egin********/ 与/********gn(j*********/之间填入你编写的若干语句。
请勿改动其它位置的任何內容。
#includ e "stdio.h"//include n m ath.h"#inc lude "stdlib .h" main(){double p i; long i nt i;******** * *bggjp ***********/pi=1.0; f 0000;i=i+2)pi=pi*(l +1.0/(i*(i+2 )));pi=2*pi;/* 木*木木木木**本木*本*木*木*木*木本木•8f printf("p i=%\n",pi);NONO(pi);}NONO( do uble x){FILE *f;f=fopen("outl.dat","w");•8f fprintf (f,"pi=%\n",x);fclos e(f);}4、在考生目录下,要求程序PRO Gl.C的功能是:按下面公式,求II的近似值,直到最后一项中的分数小于le-6为止(不包括该项)。
nl 1 1 1—=(1 + ----------- ) * (1 + ---------- ) * (1 + ----------- )*(1 + -------- ) +2 1*3 3*5 5*7 7*9•10f printf(,,pi=%\n ,,/pi); NONO (pi); NO N0( double x){FILE *f;f=fopen("outl.dat","w n );• lOf f printf(f/'pi =%\n",x); fclose(f);}5、在考生目录下,要求程序PROG1.C 的功能是:产生100个[10 0, 200)之间的随机整数,并求出这些整数中的最大值和最小值(程序中不 要使用randomize()函数)。
提示考生:调用函数rand ()可返冋一个[0, 32 767]之间的随机整 数,使用表达式rand(>%100+100能产生一个100〜200之间(不包括200)的随机整数。
部分源程序存在文件PROG1.C 中,程序中main()函数及部分变量己经定义并赋初值,部分程序语句己输入,请考生不要改动。
如果考生需要使用某它变量,请自行定义并赋值。
请将运算结果存入变量sum 屮。
请考生在mainO 函数屮的空白地方填入所需要的其它语句,存盘并运行,直到得山正确结果。
注意:部分源程序存在文件P R0G1.C 巾。
/* *木**木*♦氺木* begin 氺木木氺木氺氺氺木氺 */p i=1.0;for(i=l;1.0/(i*(i +2))>le-6;i=i+2)pi=pi*(l +1.0/(i*(i+2 })); pi=2*i;木**木本**氺*本木 end 氺本木木氺氺氺氺本木本 部分源程序存在文件P R0G1.C 屮,程序屮m ain()函数及部分变量己经 定义,部分程序语句已经输入,请考生不要改动。
如果考生需要使用其它 变量,请自行定义。
请将运算结果存入变量pi 中。
请考生在main()函数中的空白地方填入所耑要的其它语句,存盘并运 行,直到得出正确结果。
注意:部分源程序存在文件PR0G1.C 屮。
^:/* ****** beg jn ******* */ /********gpj********* I之间填入你编写的若干语句。
请勿改动其它位置的任何内容。
#include n stdio.h"#include "math.h"include "stdlib.h"main(){double pi;请在/*******be gjp********Ijjj y********^^j*********I 之间填入你编写的若干语句。
请勿改动其它位罝的任何内容include n stdio.h"//include "math.h"include "stdlib.h"main(){int max,min;min=199/max =100; for(int i++) {int k=rand()%100+l 00;if(min>k)min=k;if(max}end pnntf(,,max=%d,min=%d\n l,/max,min); NON0(max,min);NONO( in t max,int mi n){FILE *f;f=fopen("outl.dat","w"};f printf{f,"ma x=%d,min=%d\n",max,min);fclose(f);}6、在考生目录下,要求程序PROG1.C 能解决如下问题:已知我国在1982年有10亿3千万人口,以年人口平均增长率1.5%计算,从 19 82年起经过几年我国人口会超过12亿,这年的人U 数量为多少(人U 数量以亿为单位)? 部分源程序存在文件PROG1.C 屮,程序屮main()函数及部分变量已经 定义并赋值,部分程序语句已经输入,请考生不要改动。
变量y 存放经过的 年数,变量p 存放当年的人口数量,如果考生耑要使用其它变量,请自行定 义。
请将运算结果存入变量p 和y 中。
注意:部分源程序存在文件PROG1.C 屮。
j 奇^:/*******begjp********/ /********gpj*********I之间填入你编写的若干语句。
请勿改动其它位置的任何内容#inclu de "stdio.h" include ”math.h" #in elude "stdli b.h" main(){inty;double p=l 0.3;p 木木氺木氺木氺木氺木氺 begin 木氺本氺木氺本氺木木氺木本本氺本木氺氺木本木 木本氺木木本木本本木本本本*♦木木*木本木begin* 氺本木本木本木本木f or(y=l;;y++){p=p*1.015; if(p>12)break; }氺♦木*木*木*本** */printf("y=%d ,p=%f\n",y,p );NONO(y/P);}NONO (int y,doub le p){FILE *f;f=fopen("outl.dat'7,w");fprintf(f,"y=%d,p=%f\n ",y,p);fclose(f);}7、在考生目录下,要求程序PROG1.C的功能是:判断m是否为素数。