C语言期末复习题(编程题部分).doc
- 格式:doc
- 大小:340.35 KB
- 文档页数:15
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程序期末考试题及答案一、选择题(每题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(含答案)一、单项选择题(选择一个最佳答案,每题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语言期末复习试题附答案一、选择题(每题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语言程序设计期末考试试题及答案一、选择题(每题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语言程序设计期末考试试题及其答案一、单项选择题(本大题共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语言期末考试题库二、编程题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语言期末考试题及其答案挑选题(7分,每小题0.5分)1.C语言源程序的基本单位是()。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分离是()。
a=125.534; a=(int)125.521%4; a=5nB ++p->nC p->n++D (*p).n++写出下列程序的运行结果(10分,每小题2分)1.float average (float array[10]){ int i;float aver,sum=array[0];for (i=1;i=20) break;if(b%3==1){b+=3; continue; }b-=5;}printf(“a=%d\tb=%d\n”,a,b);}4.main(){ printf(“main( ) :%d\n”,fact(5)); fact(-5);}fact(int value){ int f;if(valuemax)max=array[i][j];(2) ;}main( ){ int a[3][4], i,j;for(i=0;ia[k]) k=j;if(k!=i){ t=a[k]; a[k]=a[i]; a[i]=t;}}printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }答案一挑选题(7分,每小题0.5分)1. B2. C3. B4. B5. C6. A7. B8. A9. A 10. C11. A 12. A 13. B 14. D二推断对错,对的划“√”,错的划“×”(5分,每小题0.5分)1.×2.×3.√4.√5.×6.×7.×8.×9.√10.√四阅读下列程序,在处填入适当内容,使程序完整(8分,每个空1分)1.(1)int array[3][4](int array[][4]) (2)return(max)(3)scanf(“%d”,&a[i][j])2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)3.(7) (8)文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。
A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。
A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。
复习题(一)1。
用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。
【答案】编译目标2。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
C语言程序设计_复习题第一部分(填空题):1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.连接符C.数字字符D.下划线答案:B2.下面关于计算机正确的是( )。
A.计算机由硬件系统和软件系统两部分构成B.只要有硬件系统,计算机就能工作C.计算机只能处理文本信息D.计算机只能处理计算问题答案:A3.( )是c语言提供的合法的数据类型关键字。
A.IntB.longC.CharD.integer答案:B4.面向过程的高级语言包括( )。
A.C,JAVAB.C,BASICC.C++.NET,ASPD.C,VB答案:B5.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A.编译程序B. 操作系统C.教务管理系统D.汇编程序答案:C6.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可以定义成常量答案:D7.下面描述中正确的是()。
A.C语言提供了专门的输入/输出语句B.C语言调用输入/输出函数时需要使用include命令包含头文件C.C语言可以直接使用输入/输出函数D.输入/输出函数所在的头文件是stdlib.h答案:B8.假设有char型变量c1,c2,执行下面程序段:c1=gatchar();c2=gatchar();printf(“c1=%c,c2=%c\n”,c1,c2);如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。
A.ab<回车>B.a<回车>b<回车>B.C.a<空格>b<回车> D.a<tab>b<回车>答案:A9.下面描述中正确的是()。
A.printf()函数的输出列表项只允许是变量B.printf()函数的输出列表项可以是常量、变量以及表达式C.printf()函数输出列表项也可以是另一个printf()函数D.printf()函数的输出列表项之间用空格分隔答案:B10.假设有:int a,b; scanf("%d,%d",&a,&b);为了得到a和b分别为10和20,从键盘正确输入数据的是()。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( B)A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是(D )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由(B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是(D )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( B) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是(B )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( A)#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,以下程序的执行结果是( D)#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( C)A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( D) 。
c语言大学期末考试题及答案C语言大学期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义数组?A. intB. arrayC. defineD. static答案:A2. 下列哪个是C语言中的合法标识符?A. 3variableB. variable-nameC. variable#nameD. variable_name答案:D3. C语言中,哪个函数用于计算两个数的和?A. sum()B. add()C. calculate()D. None of the above答案:D4. 以下哪个语句用于定义一个空指针?A. int *ptr;B. int *ptr = 0;C. int *ptr = NULL;D. Both B and C答案:C5. 在C语言中,哪个运算符用于取地址?A. *B. &C. %D. /答案:B6. 下列哪个语句是正确的C语言循环语句?A. do-whileB. whileC. forD. All of the above答案:D7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:D8. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. Both A and BD. None of the above答案:C9. 在C语言中,哪个函数用于输入数据?A. printf()B. scanf()C. getchar()D. puts()答案:B10. C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. unionD. enum答案:A二、填空题(每空2分,共20分)1. 在C语言中,基本数据类型包括_______、_______、double和char。
答案:int, float2. 一个C语言程序的执行从_______函数开始。
C语言程序设计期末练习题及答案一、选择题:1、一个C程序的执行是从()A、本程序的main函数开始,到本程序文件的最后一个函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到main函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、以下程序的运行结果为()main(){ini a= IOO,x= 10,y=20,ok I=5,ok2=0;if(x<y)if(y!=10)if(!okl)a=l;elseif(ok2)a=10;a=-l;printf("%d\rT,a);)A、1 B、0 C. -1 D、值不确定3、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行c2='A' + '6'-'3';后,ascii码值为()无答案A、B B、66 C、不确定的值D、1144、已知inia=12,语句a+=a—=a*=a;执行后,a的值为()A、a= -100 a= -120 C、a=0 D、a=125、下面有关for循环的正确描述是()A、for循环只能用于循环次数己知的循环B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,且必须用花括号括起来6、以下程序段()x= -1;do{x=x*x;}while(!x);A、是死循环B、循环执行两次C、循环执行一次D、有语法错误6、若有说明:inta[3][4];则对a数组元素的正确引用是()A、al2]l4]B、al 1,3]C、a[l + lJlO]D、a(2)(l)7、判断字符串a和b是否相等,应当使用()A、if(a==b) B> if(a=b) C> if(strcpy(a,b) D、if(slrcmp(a,b)==l)8、若i为整型变最,则以下循环执行次数为Ofor(i=2;i==0; )printf(w%d,,,i-);A、无限次B、0次C、1次D、2次9、若用数组名作为函数调用的实参,传递给形参的是()A、数组第一个元素的值B、数组中全部元素的值C、数组元素的个数D、数组的首地址10、以下叙述中不正确的是()A、预处理命令行都必须以#号开始B、在程序中凡是以#号开始的语句行都是预处理命令行C、C程序在执行过程中对预处理命令行进行处理D、预处理命令不占用程序的执行时间11、以下程序的运行结果是()#dcfine MIN(x,y) (x)<(y)?(x): (y)main(){int i=10,j=15,k;k=IO*MIN(i,j);printf(M%d\n,,,k);)A、10 B、15 C、100 D、15012、以下有关宏替换的叙述不正确的是()A、宏替换不占用运行时间B、宏名无类型C、宏替换只是字符替换D、宏名必须用大写字母表示13、若有以下宏定义:#define N 2#define Y(n) ((N+l)*n)则执行语句z=2*(N+Y(5));后的结果是()A、语句有错误B、z=34 C> z=70 D、z无定值14、已有定义int k=2; int *pl, *p2;且pl、p2均已指向变量k,下面不能正确执行的赋值语句是()A、k=*pl+*p2 B、p2=k C> pl=p2 D、k=*pl * (*p2)15、若有以下定义,则对a数组元素的正确引用是()int a[5], *p=a;A、*&a[5]B、a+2C、*(p+5)D、*(a+2)17、若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方式是OA、(*p)max(a,b);*pmax(a,b)C、(*p)(a,b)D、*p(a,b)18、若有以下说明语句,则对pup中sex域的正确引用方式是()struct pupil{char name[20];int sex;(pup,*p;p=&pup;A、p.pup.sex B、p->pup.sex C、(*p).pup.sex D、(*p).sex19、语句int(*ptr)();的含义是()A、ptr是指向一维数组的指针变量B、pir是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向ini型数据的指针20、若有以下说明语句:struct student{int age;int num;}std, *p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是()A、std.age B、p->age C、(*p).ageD、*p.age二、写出下列程序的运行结果或指明其完成的功能1、写出下面程序的运行结果main(){int t=1605,h,m;h=(t/100)%12;if(h==0)h=12;printf(“%d:”,h);m=t%100;if(mvlO)printf("O”);printf(“%d”,m);if(t<1200||t==2400)printf(w AM M);else printf(w PM,9);)4:05PM2、写出下面程序的运行结果main(){int a,b,c;int s,w,t;s=w=t=0;a= -l;b=3;c=3;if(c>0) s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(w%d %d %d,,,s,w,t);}2003、写出下面程序的运行结果niain(){int ij,x=O;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2==0) continue;x++;)x++;}printf(u x= % d\n”,x);)x=84、写出下面程序的运行结果int a=5; int b=7; main(){int a=4,b=5,c;c=plus(a,b);printf(u A+B=5 % d\n,,,c);)plus(int x,int y){int z;z=x+y;return(z);)A+B=95、写出下面程序的运行结果main(){increment();incrementO;incrementO;)increment(){static int x=O;x+=l;printf("%d\n",x);}1236、指明下面程序完成的功能int fac(int n){static int f=l;f=f*n;rcturn(f);)niain(){intj;for(j=l;j<=5;j++)printf(w%d!=%d\n,,j,fac(j));)输出1〜5的阶乘7、写出下面程序的运行结果#include “stdio.h"main()(int a[10]={ 2,4,6,8,10,12,14,16,18,20 }, *p=a,i ;for(i=0;i<2;i++)(printf("%d ”/p++);printf(<4%d ”/++p);printf(w%d ”,(%)++);printf(w\n w);)}2667 10 10三、完善程序1、下面程序的功能是打卬100以内个位数为6且能被3整除的所有数。
期末总复习(基础知识+程序设计部分)一.填空1.已知char ch=’A’; 则下列表达式的值是:Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch;2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是3.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8; 则表达式y+=(int)x+x+z的值为5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z)2)!(x>y)+(y!=z)||(x+y)&&(y-z)3)x++-y+(++z)6. 设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z2) x,y和z中有两个为负数3)y是奇数y%2 !=07. 下面for循环语句最多可执行次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是for (i=0,j=10 ;i<=j ;i++,j--)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为y的值为z的值为m=10 ; n=5;x=(--m==n++)? --m : ++n;y=m++;z=n;10. 若有说明语句:w=1,x=2,y=3,z=4; 则表达式w>x? w:z>y? z:x值是11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。
..班级姓名学号C 语言程序设计期末考试卷及答案printf("k = %d,k = %o,k = %x\n",k,k,k);}A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知 a,b,c 为 int 类型,执行语句:scanf ( "% d% d% d",& a,& b,& c ) ; 使得 a 为 10,b 为 20,c 为一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题 1 分,共计 30 分)。
30,以下不正确的输入形式是( )。
1.一个 C 语言程序的执行是从()。
A )10B )10C )10,20,30D )10 20A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束20 20 3030B ) 本程序的 main 函数开始,到 main 函数结束30C ) 本程序的 main 函数开始,到本程序文件的最后一个函数结束 9.已知 int x=1,y=2,z=3;,执行下列程序段后,输出的结果是()。
D ) 本程序文件的第一个函数开始,到本程序的 main 函数结束 if(x>y) z=x;x=y;y=z;2. 下列选项中不属于 C 语言关键字的是()。
A )switchB )printfC )defaultD )case3. 设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量 a 的值是()。
A )24B ) -24C )4D )16 4. 已知 int i;float d;,则正确的表达式是()。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5. 已知 int i,a;,执行语句 i=(a=3*9,a/5),a+11; 后,变量 i 的值是()。
c语言期末考试题库一、选择题(共20题,每题2分,共40分)1. C语言中用于表示字符常量的关键字是:A) charB) constC) stringD) printf2. 下列哪个选项是C语言中用于定义常量的方式?A) DEFINE keywordB) CONST keywordC) CONSTANT keywordD) #define3. 表达式 a = b = 5 的含义是:A) 将b的值赋给aB) 将a的值赋给bC) 将5赋给a和bD) 将a和b的值都设为54. 下列哪个选项是C语言中用于定义宏的方式?A) macroB) defineC) structD) declare5. 下列哪个选项是用于判断两个变量是否相等的运算符?A) ==B) =C) !=D) >6. C语言中的逻辑非运算符是:A) &&B) ||C) !D) ?7. 下列哪个选项是C语言中声明函数时用于指定返回类型的关键字?A) intB) returnC) voidD) main8. C语言中,用于将字符转换为整型值的函数是:A) scanB) getsC) tointD) atoi9. 下列关键字中,用于声明条件语句的是:A) whileB) forC) doD) if10. 在C语言中,访问数组中特定元素的方式是使用:A) 索引号B) 地址C) 偏移量D) 指针11. 下列哪个选项是C语言中用于定义结构体的关键字?A) structB) classD) object12. C语言中的逗号运算符的作用是:A) 连接两个数字B) 分隔函数参数C) 用于条件判断D) 控制程序循环13. 下列哪个语句用于从标准输入读取一个字符串?A) scanf("%d", &str);B) gets(str);C) read(str);D) input(str);14. C语言中用于比较两个字符串是否相等的运算符是:A) ==B) =C) !=D) >15. 在C语言中,字符型数据占用的存储空间大小是:B) 2 bytesC) 4 bytesD) 8 bytes16. 下列哪个选项是C语言中用于声明指针变量的运算符?A) *B) &C) $D) %17. C语言中的条件运算符是:A) ? :B) &&C) ||D) !18. 下列哪个选项是C语言中用于定义枚举类型的关键字?A) enumB) typedefC) defineD) struct19. 在C语言中,用于将浮点数取整的函数是:A) absB) ceilC) floorD) round20. 下列哪个选项是C语言中用于声明常量的关键字?A) constB) varC) intD) float二、填空题(共10题,每题4分,共40分)1. 下面是C语言中定义多维数组的示例代码,请填写横线处缺失的部分:int multiArray[2][3] = { {1, 2, 3}, {4, 5, 6} };2. 下面是C语言中的if语句示例代码,请填写横线处缺失的部分:if (num > 0){printf("Number is ____________.\n");}else if (num < 0){printf("Number is ____________.\n");}else{printf("Number is ____________.\n");}3. 下面是C语言中的for循环示例代码,请填写横线处缺失的部分:for (_______; i < 10; i++){printf("i = %d\n", i);}4. 下面是C语言中的do-while循环示例代码,请填写横线处缺失的部分:do{printf("i = %d\n", i);i++;} while (_______);5. 下面是C语言中用于定义结构体的示例代码,请填写横线处缺失的部分:typedef struct{int age;char name[20];float height;} _________;6. 下面是C语言中的switch语句示例代码,请填写横线处缺失的部分:switch (grade){case 'A':printf("Excellent\n");_________;case 'B':printf("Good\n");break;case 'C':printf("Average\n");break;default:printf("Fail\n");}7. 下面是C语言中定义函数的示例代码,请填写横线处缺失的部分:_______ calculateArea(int length, int width){int area = length * width;return area;}8. 下面是C语言中的数组示例代码,请填写横线处缺失的部分:int array[5] = {1, 2, 3, 4, 5};_______;9. 下面是C语言中用于定义宏的示例代码,请填写横线处缺失的部分:#define MAX(a, b) (a > b ? a : b)10. 下面是C语言中用于声明指针的示例代码,请填写横线处缺失的部分:int *ptr = ________;三、编程题(共40分)请编写一个C语言程序,实现以下功能:1. 定义一个结构体类型,包含学号、姓名和成绩三个成员;2. 声明一个结构体变量数组,长度为5;3. 使用for循环,分别从标准输入中读取每一个学生的学号、姓名和成绩,并存储到结构体变量数组中;4. 使用for循环,打印输出结构体变量数组中的每一个学生的信息,包括学号、姓名和成绩。
编程题目: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是否为素数。