c语言期末试卷
程序设计C语言期末试卷

制定具体的养护方案《程序设计(C语言)》期末考试卷(A)使用专业、班级学号姓名l 题数一二三四五总分得分一、选择题〖每题2分,共计40分〗1.下列变量合法的是(B)。
A.2a0 B._1a0 C.x>y D.b-a2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A.7 B.8 C.6 D.23.有以下程序:void main( ){int x=101,y=011;printf("%2d,%2d\n",x,y);}执行后输出结果是(C)。
A.10, 9 B.101,11 C.101, 9 D.01,114.若有说明语句:char c='\72';则变量c( A )。
A.包含1个字符 B.包含2个字符 C.包含3个字符D.说明不合法,c的值不确定5.阅读一下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为( D )。
void main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值江南大学考试卷专用纸1考试形式开卷()、闭卷(√),在选项上打(√)开课教研室命题教师统一命题时间使用学期6.定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果为()。
for(k=0;k<3;k++) printf("%d",a[k][2-k]);A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 77.有以下程序:void main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf("n=%d\n",n);}程序执行后的输出结果是()。
c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。
*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。
c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。
大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
c语言期末试题

一、选择题(每小题2分,共34分)1. 以下不合法的用户标识符是______。
A、j2_KEYB、DoubleC、4dD、_8_2.以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“{”和“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分3.设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、0B、264C、144D、-2644.假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3C、2.000000D、3.0000005.语句:printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、2B、1C、-4D、-26.若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、´a´<=c<=´z´B、(c>=´a´)||(c<=´z´)C、(´a´<=c)and(´z´>=c)D、(c>=´a´)&&(c<=´z´)7.在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对8.以下循环体的执行次数是______。
main(){int i,j;for (i=0,j=1; i<=j+1;i+=2,j--)printf("%d \n",i);}A、3B、2C、1D、09.int a[2][3]={{1},{2,3}};,则a[0][1]的值是______。
c语言期末测试题(附答案)

** 课程代码:A100002座位号:《计算机技术基础(C语言)》试卷A姓名: 学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。
A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。
int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。
A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。
A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。
C语言期末考测试卷及其标准答案

C语言期耒考试卷及其答案—选择题(7分,每小题0.5分)1・C语言源程序的基本单位是(A过程B函数C子程序D标识符2下列程序的输出结果是(九main(){int a=7,b=53 printf(H%d\n'\b=b/a) o}A5B1 CO D不确定值3•假设变量比b均为整型,表达式 ($二54=2,臼Ab?a++:b++,a+b)的值是()。
A7B8C9D2 4•设a为int型娅,执行下列赋值语句后,a的取值分别是()。
a=125.534。
吐(int) 125.521 %4。
a=5«2。
A125,31J B125J,20C 125,31,20 D 125.534,2,205•设有如下程序段,下面描述中正确的是()。
int k=10 □ - while(k-O) k=k-1 oA循环执彳产次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一•次6•以下程序的输出结果为(儿int i。
void prt() [for(i=50 i<8. i++) printf(r,%c M/*% printf(g } main(){for(i=5a i<-8o i++)Prmtf()o } 7•在C语言程序中,以下说法正确的是(九AT *** C *** *** D ***A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的宦义利函数的调用者阿以嵌套8.以下函数调用语句中含有()个实参。
func((e1 ,e2),(e3,e4,e5))oA2B 3 C 5 D 语法错误 9以下程序的输出结果为()。
#define ADD(x) x*x main() {int a=4?b=6,c=7,d-ADD(a+b)*Co printf(,,d=%d M ,d). }Ad=70B d 二80 C d=140 D d=700w 分配()字节的空间。
C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计A》试卷(B卷)班级学号姓名一、选择题:(每题1分,共计20分)1、C语言规定:在一个源程序中,main函数的位置( C)。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2、设a为5,执行下列语句后,b的值不为2的是(C)。
A)b=a/2 B)b=6-(--a)C)b=a%2D)b=a>32:13、若a=-14,b=3,则条件表达式a<b a:b+1的值为()。
A)-14 B)-13 C)3 D)44、已知:int n,i=1,j=2;执行语句n=i<ji++:j++;则i和j的值是( )。
A)1,2 B)1,3 C)2,2 D)2,35、函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为()。
A) 1 B) 2 C) 4 D) 56、以下正确的描述是( )。
A)函数的定义可以嵌套,但函数的调用不可以嵌套。
B)函数的定义不可以嵌套,但函数的调用可以嵌套。
C)函数的定义和函数的调用均不可以嵌套。
D)函数的定义和函数的调用均可以嵌套。
7、在C语言中,下面对函数不正确的描述是( )。
A)当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B)允许函数递归调用。
C)函数形参的作用范围只是局限于所定义的函数内。
D)子函数必须位于主函数之前。
8、如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A)该变量只在该复合语句中有效B)该变量在该函数中有效C)该变量在本程序范围内均有效D)该变量为非法变量9、若x=4,则x*=x+2的值为()。
A)36 B)24C)18 D)2010、下列能正确定义整型变量a、b和c并为其赋的值1的语句是( )。
A)int a=b=c=1; B)int a,b,c=1 C)a=b=c=1; D)int a=1,b=1,c=1 11、以下关于宏替换的叙述不正确的是()。
A)宏替换只是字符替换B)宏名无类型C)宏替换不占用运行时间D)宏替换不占用编译时间12、有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是( )。
A)5 B)6 C)8 D)913、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。
main(){int *p,*q,a,b;p=&a;printf("input a:");scanf("%d",*p);…}A)*p表示的是指针变量p的地址B)*p表示的是变量a 的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*p只能用来说明p是一个指针变量14、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32);后num的值为( )。
A)4 B)16 C)32 D)5215、假设指针p已经指向某个整型变量x,则*p相当于()。
A)&x B)&p C)x D)*x16、若有说明:int a[10]; 则对a数组元素的正确引用是( )。
A)a[10] B)a[] C)a[5-3] D)a[-1]17、在C语言中, 一维数组的定义方式为:类型说明符数组名();A)[整型常量表达式]B)[表达式]C)[整型常量] D)[整型表达式]18、以下能对一维数组a进行正确初始化的语句是( )。
A)in a[10]=(0,,0,0); B)int a[10]={};C)int a[]={0}; D)int a[10]={10*1};19、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()。
A)p2=**p1 B)p2=*&p1C)p2=*p1D)p2=&*p120、以下关于do-while循环的不正确描述是( )。
A)do-while的循环体至少执行一次B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C)在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作。
D)do-while的循环体可以是复合语句。
二、判断题(每题1分,共计10分)1、在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。
()2、字符串作为一维数组存放在内存中。
()3、字符数组中的一个元素存放一个字符。
()4、字符数组中的最后一个字符必须是'\0'。
()5、形参为指针变量时,实参必须是数组名。
()6、用数组名作函数参数时传递的是数组的值。
()7、全局变量可以被任何一个函数中的任何一个表达式使用。
()8、一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
()9、表达式i++与++i在任何场合功能完全相同。
()10、赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
()三、填空题:(每空2分,共40分)1、在C语言中,一个float 型数据在内存中所占的字节数为4个字节,C 源程序的基本单位是函数.2、算法表示的时候使用的三种基本结构是顺序,选择,循环(3)。
3、以下程序运行后的输出结果是___ 25 21 37__ 。
main( ){ int a,b,c;a=25;b=025;c=0x25;printf("%d %d %d\n",a,b,c);}4、以下程序运行后的输出结果是gae 。
main (){ char a[ ]="Language",b[]="Programe";char *p1,*p2; int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));}5、已有定义:int m;float n,k;char chl,ch2;为使m=3, n=, k=, ch1='a', ch2='A', 输入数据的格式为:3则对应的scanf语句是scanf("%d%f%f%c%c",&m,&n,&k,&ch1,&ch2)6、计算sum=1+1/2+1/4+...+1/50的值,并显示出来。
#include <>main(){int i=2;float sum=;while(i<= 50 ){sum+=1/ (float)I ;i+=2;}printf("sum=%f\n", sum);}7、下面程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出行列号之和是3的数组元素。
void main(void){char str1[4][3]={'A','b','C','d','E','f','G','h','I','j','K','i'};int x,y,z;for(x=0;x<4;x++)for(y=0; y<3 ;y++){z=x+y;if ( z==3 ) printf("%c\n",str1[x][y]);}}8、通过函数求f(x)的累加和,其中f(x)=x2+1main(){printf("The sum=%d\n",SunFun(10));}SunFun(int n){int x,s=0;for(x=0;x<=n;x++) s+=F(____ x ____);return s;}F( int x){ return ______ x*x+1______;}9、以下程序运行后的输出结果是__ 1*3*5*7*9____。
main(){ char a[]="9",*p; int i=1;p=a;while(*p){ if(i%2==0) *p='*’;p++;i++;}puts(a); }10、若有以下定义和语句:int *p[3],a[9],i;for(i=0;i<3;i++) p[i]=&a[3*i];则*p[0]引用的是数组元素a[0] ; *(p[1]+1)引用的是数组元素a[4]。
11、以下程序输入整数a,b的值,然后交换a,b的值,并输出交换后的结果。
void swap(int *a, int *b){ int t;t=*a;_______*a=*b_____________*b=t;_______}main(){ int a,b;scanf(″%d,%d″,&a,&b);swap(&a,&b)printf(″a=%d,b=%d″,a,b);}12、下面程序的功能是用函数递归方法计算菲波那契数列,请填空完善之。
main(){ int n,m;scanf(″%d″,&n);m=________ fibo(n)_______;printf(″%d″,m);}int fibo(n);int n;{ if(n==1) _____return(o)________;else if(n==2) return(1);else return (______fibo(n-2)+fibo(n-1)_______); }四、编程题(每题10分,共30分)1、打印出以下的杨辉三角形(要求打印出10行)(10分)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1. . . . . . .. . . . . . .. . . . . . .main ( ){ int i,j,row=0,colum=0,max,temp;int a[4][4];for (i=0;i<=3;i++)for (j=0;j<=3;j++)scanf("%d",&a[i][j]); (2分)for (i=0;i<=3;i++)for (j=0;j<=3;j++){printf("%5d",a[i][j]);if (j==3) printf("\n");} (2分)max=a[0][0];for (i=0;i<=3;i++)for (j=0;j<=3;j++)if (a[i][j]>max){max=a[i][j];row=i;colum=j;} (2分)temp=max;max=a[0][0];a[0][0]=temp; (2 分)printf("max=%d,row=%d,colum=%d\n",a[0][0],row,colum);}for (i=0;i<=3;i++)for (j=0;j<=3;j++){printf("%5d",a[i][j]);if (j==3) printf("\n");}2、用“冒泡法”对输入的10个字符按照从小到大的顺序排列(要求通过函数调用实现).(10分)#define N 10char str[ ];main( ){ void sort (char str[ ]); (1分)int i,flag;for (flag=1;flag==1){ printf(”\nInput String:\n”);scanf(“%s”,&str); (2分)if (strlen(str)>N)printf(“String too long,Input again!”); (1分)elseflag=0;}sort(str); (1分)printf(“String sorted:\n”);for (I=0;I<N;i++)printf(“%c”,str[i]);void sort(char str[ ]) (5分){ int i,j;char t;for(j=1;j<N;j++)for (i=0;(I<N-j)&&(str[i]!=’\0’);i++)if (str[i]>str[i+1]){ t=str[i];str[i]=str[i+1];str[i+1]=t;}}3、用递归的方法求N阶勒让德多项式的值,递归公式为:(10分)1 (n= 0) P n(x)=x (n= 1)((2n-1)*x-P n-1(x)-(n-1)*P n-2(x))/n (n>=1)main( ){ int x,n;float p(int,int); (2分)printf(“\nInput n & x:”);scanf(“%d,%d”,&n,&x);printf(“n=%d,x=%d”,n,x); (2分)printf(“P%d(%d)=%”,n,x,p(n,x)); (1分)}float p(int n,int x){ if (n==0) return(1);else if (n==1) return (x);elsereturn (((2*n-1)*x*p((n-1),x-(n-1)*p((n-2),x))/n);} (5分)诚 信 考 试 承 诺我承诺:追求真知,展示真我,诚实守信,杜绝作弊。