C语言程序设计期末试卷A卷-64课时

合集下载

程序设计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程序设计考试题A

C程序设计考试题A

C语言程序设计考试题A注意事项:1. 答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);2. 试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;3. 本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。

【1】~【60】每题1分,【61】~【80】每题2分,共100分。

1.在C语言中,要求参加运算的数必须是整数的运算符是【1】(A)/ (B)* (C)%(D)=2.以下不正确的说法是【2】(A)全局变量、静态变量的初值是在编译时指定的(B)静态数值型变量如果没有指定初值,则其初值为0(C)局部变量如果没有指定初值,则其初值不确定(D)函数中的静态变量在函数每次调用时,都会重新赋初值3.已知:int a[ ]={1,2,3,4},x,*pt=&a[1]; 则执行语句“x=(*--pt)++;”之后,变量x的值为【3】(A)1(B)2 (C)3 (D)44.已知:int x,*p=&x; 则下列输入输出x值的函数调用中错误的是【4】(A)scanf(“%d”,&x); (B)scanf(“%d”,p);(C)printf(“%d”,x); (D)printf(“%d”,p);5.在说明一个结构体变量时系统分配给它的存储空间是【5】(A)该结构体中第一个成员所需的存储空间(B)该结构体中最后一个成员所需的存储空间(C)该结构体中占用最大存储空间的成员所需的存储空间(D)该结构体中所有成员所需的存储空间的总和6.C语言中函数返回值的类型是由【6】决定的(A)return语句中的表达式类型(B)调用该函数的主调函数类型(C)调用函数时临时(D)定义函数时所指定的函数类型7.设有数组定义:char array [ ]="China"; 则数组array所占的空间为【7】(A卷)第 1 页共13 页(A)4个字节(B)5个字节(C)6个字节(D)7个字节8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】(A)自动(auto)(B)静态(static) (C)外部(extern) (D)寄存器(extern) 9.下列选项中是非法的C语言转义字符的是【9】(A)'\b' (B)'\' (C)'\037' (D)'\xf'10.下面说法正确的是【10】(A)函数定义可以嵌套,但函数调用不能嵌套(B)函数定义不可以嵌套,但函数调用可以嵌套(C)函数定义和调用均不能嵌套(D)函数定义和调用均可以嵌套11.语句“static int i=10;”中,“i=10”的含义是【11】(A)将变量i初始化为10 (B)只说明了一个静态变量(C)与“auto int i=10;”在功能上等价(D)给变量i赋值为1012.下述对C语言字符数组的描述中错误的是【12】(A)字符数组可以存放字符串(B)字符数组中的字符串可以进行整体输入输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)字符数组的下标从0开始13.有以下说明和语句,且0<=i<10,则下面【13】是对数组元素地址的正确表示int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)&(a+1) (B)a++ (C)&p (D)&p[i]14.若有以下说明和语句,则p2-p1的值为【14】int a[10],*p1,*p2;p1=a; p2=&a[5];(A)5(B)6 (C)10 (D)错误的表达式15.已知:char s[10],*p=s; 则在下列语句中,错误的语句是【15】(A)p=s+5; (B)s=p+5; (C)s[2]=p[4]; (D)p[0]=’a’;16.已知:char s[10]; int i=1; 则在下列引用数组元素的表达式中,错误的表示形式是【16】(A)s[i] (B)*(s+i) (C)*s (D)*((s++)+i)17.已知:char a[5],*p=a; 则正确的赋值语句是【17】(A)a=”abcd”; (B)*a=”abcd”; (C)p=”abcd”;(D)*p=”abcd”;18.设有int i; char c; float f; 以下结果为整数的表达式是【18】(A卷)第 2 页共13 页(A 卷) 第 3 页 共 13 页(A )i+f (B )i*c (C )c+f (D )i+c+f19. 以下使变量i 的运算结果为4的表达式是【19】 (A )int i=0,j=0;(B )int i=1,j=0; (i=3,(j++)+i);j=i=((i=3)*2);(C )int i=1,j=1;(D )int i=1,j=1;(j==1)?(i=1):(i=3);i+=j+=2;20. 设char ch; 以下正确的赋值语句是【20】 (A )ch=’123’;(B )ch=’\xff ’;(C )ch=’\08’;(D )ch=’’\’’;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n 的值为【21】 (A )0(B )3(C )2(D )122. 逗号表达式(a=3*5,a*4),a+15运算后,a 的值为【22】 (A )60(B )30(C )15(D )9023. 若有说明int x,y; 不能实现以下函数关系的程序段是【23】(A )if(x<0) y=-1;(B )if(x>=0) else if(x==0) y=0;if(x>0) y=1; else y=1;else y=0;else y=-1;(C )y=0; (D )y=-1; if(x>=0)if(x!=0) { if(x>0) y=1; } if(x>0) y=1;else y=-1;else y=0;24. 设有说明int s[2]={0,1},*p=s; 则下列错误的C 语句是【24】 (A )s+=1;(B )p+=1;(C )*p++;(D )(*p)++;25. 为了判断两个字符串s1和s2是否相等,应当使用【25】 (A )if(s1=s2)(B )if(s1==s2) (C )if(strcmp(s1,s2)==0)(D )if(strcpy(s1,s2))26. 一个C 程序执行是从【26】(A )第一个函数开始,直到最后一个函数结束 (B )第一个语句开始,直到最后一个语句结束⎪⎩⎪⎨⎧>===<-=)0(1)0(0)0(1x y x y x y(C)从main()函数开始,在main()函数中结束(D)从main()函数开始,直到源文件中的最后一个函数27.下列选项中是C语言提供的合法的数据类型关键字的是【27】(A)string (B)Int (C)integer (D)char28.以下程序段int k=0; while(k=1) k++; while 循环执行的次数是【28】(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】(A)if(p) s1; else s2; (B)if(p==0) s1; else s2;(C)if(p!=0) s1; else s2; (D)if(p==0) s2; else s1;30.若int k=10; 执行下列程序后,变量k的正确结果是【30】switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1;default: k+=1;}(A)10 B)11 (C)12 (D)1331.若数组名作实参而指针变量作形参,函数调用实参传给形参的是【31】(A)数组的长度(B)数组第一个元素的值(C)数组所有元素的值(D)数组第一个元素的地址32.以下错误的描述是【32】(A)break语句不能用于循环语句和switch语句外的任何其他语句(B)在switch语句中使用break语句或continue语句的作用相同(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环33.f or(表达式1; ; 表达式3)可理解为【33】(A)for(表达式1; 0 ; 表达式3) (B)for(表达式1; 1 ; 表达式3)(C)for(表达式1; 表达式1 ; 表达式3) (D)for(表达式1; 表达式3 ; 表达式3)34.设int k; 则语句for(k=0;k=1;k++); 和语句for(k=0;k==1;k++); 执行的次数分别是【34】(A)无限次和0次(B)0次和无限次(C)都是无限次(D)都是0次(A卷)第 4 页共13 页35.有以下程序段:int n=0,p;do{ scanf(“%d”,&p); n++;} while(p!=12345 && n<3);此处do~while循环的结束条件是【35】(A)p值不等于12345并且n的值小于3(B)p值等于12345并且n的值大于等于3(C)p值不等于12345或者n的值小于3(D)p值等于12345或者n的值大于等于336.下列各程序段中,没有构成死循环的是【36】(A)int i=10; (B)int y=1;while(1) for(; y=10;y++);{ i=i+i%10;if(i==10) break;}(C)int k=100; (D)int s=4;do while(--s){ ++k; s--;} while(k>=100);37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】(A)可以用while语句实现的循环一定可以用for语句实现(B)可以用for语句实现的循环一定可以用while语句实现(C)可以用while语句实现的循环一定可以用do~while语句实现(D)可以用do~while语句实现的循环一定可以用while语句实现38.已知int j,i=1; 则执行j=-i++; 后,i和j的值为【38】(A)1 -1 (B)1 1 (C)2 -1 (D)2 1 39.以下正确的函数定义是【39】(A)double fun(int x,int y) (B)double fun(int x, y) { z=x+y; return z; } {int z; z=x+y; return z; } (C)fun (x, y) (D)double fun(int x, int y) {int x,y; double z; {double z;z=x+y; return z; } z=x+y; return z; }(A卷)第 5 页共13 页40.若x为整型变量,以下定义指针的正确语句是【40】(A)int p=&x; (B)int p=x; (C)int *p=&x; (D)p=x;41.在C语言中,如果下面的变量都是int类型,则输出的结果是【41】sum=a=5; a=sum++ , a++ , ++a;printf("%d\n",a);(A)5 (B)6 (C)7(D)842.以下正确的说法是【42】(A)实参变量与其对应的形参变量各占用独立的存储单元(B)实参变量与其对应的形参变量共占用一个存储单元(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元(D)形参变量是虚拟的,不占用存储单元43.若i为整型变量,则以下循环执行次数是【43】for (i=2; i!=0;) printf("%d", i-- );(A)无限次(B)0次(C)2 次(D)1次44.对以下说明语句的正确理解是【44】int a[10]={1,2,3,4};(A)将4个初值依次赋给a[1]至a[4](B)将4个初值依次赋给a[0]至a[3](C)将4个初值依次赋给a[6]至a[9](D)因为数组长度与初值个数不一致,所以此语句不正确45.已知:char str1[20], str2[10]=”books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是【45】(A)str1=”books”; (B)strcpy(str1,str2);(C)str1=str2; (D)strcpy(str2,str1);46.以下不正确的说法是【46】(A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有定义(D)在函数内的复合语句中定义的变量在本函数范围内有定义47.已知一个函数的定义如下:double fun(int x, double y){ ……}则该函数正确的函数原型声明为【47】(A卷)第 6 页共13 页(A 卷) 第 7 页 共 13 页(A )double fun(int x; double y) ; (B )fun(int x,double y); (C )double fun(int, double);(D )fun(x,y);48. 若已定义:int a[10],*p=a; 并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是【48】 (A )p+1(B )a+1(C )a++(D )++p49. 要在C 中求)30sin( 的值,则可以调用库函数,格式为【49】 (A )sin(3.14159/6) (B )sin(30) (C )sin(double(30))(D )sin(30.0)50. 在一个源文件中定义的外部变量的作用域【50】 (A )本文件的全部范围(B )本程序的全部范围(C )从定义该变量的位置开始至本文件结束 (D )本函数的全部范围 51. 已知函数fun 的定义为:void f(){ …… }则函数定义中void 的含义是【51】 (A )执行函数f 后,函数没有返回值 (B )执行函数f 后,函数不再返回(C )执行函数f 后,可以返回任意类型的返回值 (D )执行函数f 后,函数返回void 类型的值52. 若有定义:int a[10]; 则对数组a 中元素的正确引用是【52】 (A )a[10](B )a[4.8](C )a(5)(D )*(a+2)53. 以下不正确的定义语句是【53】 (A )double x[5]={2.0,4.0,6.0,8.0,10.0}; (B )int y[5]={0,1,3,5,7,9}; (C )char c1[ ]={‘1’,’2’,’3’,’4’,’5’};(D )char c2[ ]={‘\x10’,’\xa ’,’\x8’};54. 有两个字符数组a,b ,则以下正确的输入语句是【54】 (A )gets(a,b);(B )scanf(“%s,%s ”,a,b); (C )scanf(“%s,%s ”,&a,&b);(D )gets(&a); gets(&b);55. 已知:char *str1=”abcde ”, *str2=”xyz ”; 则执行语句:printf(“%d ”,strlen(strcpy(str1,str2)));输出结果是【55】(A )9(B )3(C )5(D )856. 调用strlen(“abcd\0ef\0g ”)的返回值为【56】 (A )4(B )5(C )8(D )957. 在C 语言中进行乘方运算,例如求a 的3次方,可以使用【57】(A)a^3 (B)a**3 (C)pow(a,3)(D)power(a,3)58.以下对一维整型数组a的正确说明是【58】(A)int a(10); (B)int n=10,a[n]; (C)int n; (D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];59.已知:int i=0,j=1,*p=&i,*q=&j; 其中错误的语句是【59】(A)i=*&j; (B)p=&*&i; (C)j=*p++; (D)i=*&q;60.以下关于结构体与共用体的说法,其中正确的是【60】(A)共用体每个成员分别占有自己的内存单元(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和(C)共用体同一个内存段可以存放几种不同类型的成员,但在某一时刻只能存放一个成员(D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。

C语言程序设计(A卷)

C语言程序设计(A卷)

第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。

A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。

main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。

main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。

main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。

main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。

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(){intx;floaty;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int (x);9.以下程序的执行结果是()#include〈stdio.h〉{inti=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(){charc1='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语言程序设计期末考试试题(含答案)

一、单项选择题(本大题共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(){intx;floaty;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9.以下程序的执行结果是()#include<stdio.h>{inti=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(){charc1='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语言程序设计基础》期末考试A卷及答案

《C语言程序设计基础》期末考试A卷及答案

封 线密《C 语言程序设计基础》课程期末考试试卷 ( A 卷)班级 考试形式 闭卷 考试时间 120 分钟考试学期 2020-2021学年第1学期 考试类型 考试 命题教师 题 号一 二 三 四 总分 分 值 30 20 25 25 100 得 分一、单项选择题(每小题2分,共30分)1.下列不属于C 语言基本数据类型的是( )。

A. intB. unionC. charD. double 2. 在一个C 程序中( )。

A .main 函数必须出现在所有函数之前B .main 函数可以在任何地方出现C .main 函数必须出现在所有函数之后D .main 函数必须出现在固定位置3. 以下不正确的C 语言标识符是 ( )。

A .AB3CB .a_bc C. _abc D .3ab_c4. 设x 、y 和z 是int 型变量,且x =3,y =4,z =5,则下面表达式中值为0是 ( )。

A .x&&y||x-y B. x <=y C. x||y+z&&y<z D. !((x <y)&&!z||1)5. 设有定义:struct a{long int c[4]; float d[3]; char f[16]; }a1;则printf("%d\n",sizeof(a1));的输出是( )。

A .44B .36C .12D .326. 已知一个二维数组int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};获取该数组中第二行第三列元素的语句表达正确的是( )。

A .a[2][3] B. a[2][4] C. a[1][2] D. a[3][2] 7. 设有:int a,*pa,*pb;int b[10] = { 0,1,2,3,4,5,6,7,8,9 };a=3;下列说法中不正确的是( )。

《C程序设计》期末考试卷A

浙江理工大学20 /20 学年第学期试卷考试时间年月日专业班级学号姓名成绩阅卷老师《C程序设计》期末考试卷A一、语言基础(每题2分,共26分)1.C程序的基本组成单位是什么?2.若x的当前值为5,执行语句“if(x=3) x=x+5后,x的值是多少?3.计算表达式“4/5*(float)3+(float)3*4/5”的值。

4.函数f定义如下,则执行语句“m=f(5);”后,m的值应为。

int f(int k){If(k==0||k==1) return 1;Else return f(k-1)+f(k-2);}5.写出下列程序段的输出结果。

char c,k;c='b';k=4;页脚内容1switch(c){case 'a':k=1;case 'b':k=2;case 'c':k=3;}6.定义int x,y,z;x=y=z;执行语句z=--x&&y++;后,x,y,z的值分别是多少?7.符号“a”和’a’的区别是。

8.在C语言程序设计中,正确的标识符是由组成的。

9.若fp 已正确定义为一个文件指针,d1.dat 为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen( );。

浙江理工大学20 /20 学年第学期试卷考试时间年月日专业班级学号姓名成绩阅卷老师10.在循环中,continue 语句与break 语句的区别是:continue 语句是,break 语句是。

11.若在程序中用到“putchar”,应在程序开头写上包含命令,若在程序中用到“strlen()”函数时,应在程序开头写上包含命令。

页脚内容212.设y为int型变量,请写出描述“y是奇数”的表达式。

13.若int x=5;while (x>0)printf(“%d”,x--);的循环次数为。

二、程序填空(每空2分,共22分)程序1:[程序说明]输入三角形的三条边a,b,c,求三角形的面积。

《C语言程序设计》期末考试试卷A

《C语言程序设计》期末考试试卷A 淮海工学院 10 – 11 学年第 2 学期 C语言程序设计试卷(A闭卷) 题号一二三四五总分 得分 单项选择题答题表 1 2 3 4 5 6 7 8 9 10 一、单项选择题(共10题,每题2分,共20分,答案填写在单项选择题答题表中) 1.以下选项中正确的定义语句是____________。 A)int a; b; B)long a=b=7; C)short a=7, b=7; D)float, a, b; 2.以下字符串为标识符的是____________。 A)_MY B)2_2222 C)short D)LINE 5 3.若a,b,c均定义为长整型,要给它们输入数据,正确的输入语句是____________。 A)read(a, b, c); B)scanf("%ld%ld%ld", &a, &b, &c); C)scanf("%f%f%f", a, b, c); D)scanf(%d%d%d", &a, &b, &c); 4.C语言中while和do-while循环的主要区别是____________。 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件严格 C)do-while允许从外部转到循环体内 D)do-while的循环体不能是复合语句 5.若有int a[] = {1,2,3,4,5}和int b[10] = {6, 7, 8, 9. 10};则数组a和b的元素个数 分别为。 A)5和10 B)都是5 C)10和5 D)a的元素个数未知,b的元素个数为5 6.在一个源文件中定义的外部变量的作用域为____________。 A)本文件的全部范围 B)本程序的全部范围 C)本函数的全部范围 D)从定义该变量的位置开始至文件结束 7.字符串"HelloWorld"和字符串""的长度分别是__________。 A)11和1 B)11和0 C)10和0 D)10和1 8.在C语言程序中,下列叙述正确的是____________。 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和调用都可以嵌套 D)函数的定义和调用均不可以嵌套 9.在定义一个结构体变量时系统分配给它的存储空间是____________。 A)该结构体变量中第一个成员所需存储空间 B)该结构体变量中最后一个成员所需存储空间 C)该结构体变量中占用最大存储空间的成员所需存储空间 D)以上说法都不正确 10.已知int型数组a,以下定义并初始化int型指针变量p的语句中错误的是 ____________。 A)int *p = a; B)int *p = &a[0]; C)int *p = a + 1; D)int *p = &a 1 二、填空题(共15空,每空1分,共15分) 1.C语言表示换行符的转义序列是____________________。 2.C程序的入口点是______________函数 3.表达式12 / 5 + 4的值是____________。表达式12.0/5 + 4的值是____________。 4.判断整型变量n为偶数的逻辑表达式是____________。 5.关系运算符的优先级______________算术运算符的优先级,逻辑运算符的优先级___________________关系运算符的优先级。(填高于或低于) 6.C语言中字符串以字符________________________结束(填写字符常量)。 7.定义静态变量的关键字是____________,无返回值的函数使用关键字______________声明返回类型。 8.已有int a[10] = {12, 34, 56, 78, 90};则a[2] 的值是__________________。a[5] =的值是__________________。 9.若有int a[10], *p = &a[3],则p + 3指向数组的第_______个元素。 10.若要调用库函数sqrt计算平方根,应该包含的头文件是_____________。 11.计算字符串长度的C库函数是____________。 三、程序分析题(共5题,每题5分,共25分) 1.写出以下程序的运行结果(假定程序已包含正确的头文件)。 void main() { int k = 3, m = 10; switch(k) { case 2: m += 200; break; case 3: m += 300; break; } printf("%d\n", m); } 2.写出以下程序的运行结果(假定程序已包含正确的头文件)。 main() { int n = 32, k = 0; while (n != 1) { n = n / 2; k = k + 1; } printf("%d\n", k); } 3.写出以下程序的运行结果(假定程序已包含正确的头文件)。 main() { char fmvp2011[] = "Dirk Nowitzki"; printf("%c%c\n", fmvp2011[0], fmvp2011[5]); } 4.写出以下程序的运行结果(假定程序已包含正确的头文件)。 main() { int b = 34; *pb = &b *pb += 66; printf("%d\n", b); } 5.写出以下程序的运行结果(假定程序已包含正确的头文件)。 void fun(int a, int *p) { a = a + 90; *p += 80;; } main() { int m = 10, n = 20; fun(m, &n); printf("m=%d,n=%d\n", m, n); } 2 四、程序填空题(共10空,每空2分,共20分) 1.下面的程序计算数组a中奇数的和,请填空。 void main() { int sum, a[] = {41, 2, 31, 16, 92, 33, 45, 105, 95,}; ______________________; /*定义循环变量*/ sum = ______________; for ( i = 0; i < _________________; i++) { if ( ____________________) sum += a[i]; } printf("sum = %d\n", __________________); } 2.下面程序中的函数is_magic_number判断参数n是否为水仙花数,main()函数调用该函数输出全部的水仙花数,请填空。(注:水仙花数是一个三位数,其各位数字立方和等于数本身。) int is_magic_number(int n) { int d1, d2, d3; /* d1保存个位数字,d2保存十位数字, d3保存百位数字*/ d1 = _______________; d2 = n / 10 % 10; d3 = n / 100; if (_____________________________________) /* 判断n是否为水仙花数*/ return 1; /* 1表示n为水仙花数*/ else _________________; } void main() { /*输出所有的水仙花数*/ int i; for (i = 100; i < =__________; i++) { if (___________________________) /*调用函数判断i是否为水仙花数*/ printf("%d\n", i); } } 五、程序设计题(共2小题,共20分) 1.编写程序统计输入的一行文本中大写字母的个数并输出。(本题8分) 2.定义一个结构体类型Rect用于表示矩形,该类型有两个double类型的成员 width和height,定义一个计算矩形的面积的自定义函数Area,参数为结构体 指针类型Rect,在main函数中定义一个结构体变量r并对成员赋值,然后调 用Area函数,并输出计算结果。(本题12分) 3 淮海工学院 10-11学年第2学期C语言程序设计试卷A参考答案及评分标准单项选择题答题表 一、单项选择题(共10题,每题2分,共20分,答案填写在单项选择题答题表中) 1 2 3 4 5 6 7 8 9 10 C A B A A D C B D D 二、填空题(共15空,每空1分,共15分) 1.\n 2.main 3.6、6.4 4.n % 2 == 0 5.低于、低于 6.'\0' 7.static、void 8.56、0 9.7 10.math.h 11.strlen 三、程序分析题(共5题,每题5分,共25分) 1.运行结果:310 2.运行结果:5 3.运行结果:DN 4.运行结果:100 5.运行结果:m=10,n=100 四、程序填空题(共10空,每空2分,共20分) 1. (1) int i (2) 0 (3) 9或sizeof(a)/sizeof(a[0]) (4) a[i] % 2 != 0 (5) sum 2. (1) n % 10 (2) n == d1*d1*d1+ d2*d2*d2+ d3*d3*d3

(2021年整理)C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言程序设计期末考试试题(含答案)(推荐完整))的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言程序设计期末考试试题(含答案)(推荐完整)的全部内容。

C语言程序设计期末考试试题(含答案)(推荐完整)编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望 C语言程序设计期末考试试题(含答案)(推荐完整)这篇文档能够给您的工作和学习带来便利。

同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈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的值是 ( )。

《C语言程序设计》期末考试试卷标准答案A (闭卷考试)

printf("%5d",a[i][j]);
printf("%10d\n",b[i]);
}
}
3、输入1分,输出1分,两个函数各3分,函数调用2分
int prime(int m)
{ int i;
for(i=2;i<m;i++)
if(m%i==0) return 0;
return 1;
}
void sort(int a[],int n)
《C语言程序设计》期末考试试卷标准答案A(闭卷考试)
一、选择题(每题2分,共20分)
1、D2、D3、A 4、C 5、D6、A7、A 8、A 9、C10、B
二、读程序写结果(每题3分,共21分)
1、9,11,9,10
2、>=60<60error
3、9,3
4、45
5、*+++*
+*+*+
++*++
+*+*+
{ int a[5][6],b[5]={0},i,j;
for(i=0;i<5;i++)
for(j=0;j<6;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<6;j++)
b[i]=b[i]+a[i][j];
for(i=0;i<5;i++)
{ for(j=0;j<6;j++)
{ int i,j,t;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 ━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 防灾科技学院 2010~ 2011学年 第二学期期末考试 C语言程序设计 试卷(A卷) 使用班级 0950111、0950112、1060421、1060422、1060423 答题时间_120分钟_

题号 一 二 三 四 五 总分 阅卷 教师

得分

一、 选择题(共15小题,每题2分,共30分。请将答案按照序号填在下面的表格中,答在表格外不得分。) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1.以下叙述不正确的是( )。 A. 一个C语言源程序可以由一个或多个函数组成 B. 一个C语言源程序必须包含一个main函数 C. C语言源程序的基本组成单位是函数 D. 在C语言源程序中,注释说明只能位于一条语句的后面 2.若变量已正确定义并赋值,表达式( )不符合C语言语法。 A. a*b/c B. a/b/c C. 3.14%2 D. 2*b 3.在程序设计中,流程图画法中的平行四边形表示( )。 A. 起止框 B. 输入输出框 C. 判断框 D. 处理框 4.下列选项中,不能用做标识符的是( )。 A. j2_KEY B. _1_2 C. int_2 D. 4d 5.下列运算符中优先级最高的运算符是( )。 A. && B. % C. = = D. ! 6. 当a=1,b=3,c=5,d=4时,执行完以下一段代码后x的值为( )。 if(aif(celse if(aif(belse x=3; else x=6; else x=7;

A. 1 B. 2 C. 3 D. 6

7.对下面的程序说法正确的是( )。 main() {int x=3, y=0, z=0; if(x=y+z) printf("****"); else printf("####");}

A. 有语法错误,不能通过编译 B. 输出为****

C. 输出为#### D. 可以编译,但不能通过链接,因而不能运行

阅卷教师 得 分

试卷序号: 班级: 学号: 姓名: 2

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 8.以下语句的输出结果是( )。 int a=0, b=0, c=0; c=(a- =a-5),(a=b,b+3); printf("%d,%d,%d\n",a,b,c); 。

A. 0,0,5 B. .-10,5,-10 C. 5,0,5 D. 5,0,-10 9.以下程序运行后的输出结果是( )。 main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); }

A. 12353514 B. 12353513 C. 12343514 D. 12343513

10.执行下述程序的输出结果是( )。 main() { int a, b, d=25; a=d/10%9; b=a&&(-1); printf("%d,%d",a,b); }

A. 6,1 B.2,1 C. 6,0 D. 2,0

11.下列叙述中正确的是( )。 A. break语句只能用于switch语句 B. 在switch语句中必须使用default C. break语句必须与switch语句中的case配对使用 D. 在switch语句中不一定使用break语句 12. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) 。 A. 地址传递 B. 单向值传递 C. 由实参传给形参,再由形参传回实参 D. 传递方式由用户指定 13.下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是( )。 A. char a[]={′C′, ′ ′, ′p′, ′r′, ′o′, ′g′, ′r′,′a′, ′m′}; B. char a[10]; strcpy(a,"C program"); C. char a[10]; a="C program"; D. char a[10]={ "C program"}; 14.以下程序的输出结果是( )。 int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d \n", a,b); }

A. 100200 B. 57 C. 200100 D. 75 15.以下程序的输出结果是( )。 f( int a) { int b=0; static int c = 3; b++; c++; return(a+b+c);} main() { int a = 2, i; for(i=0;i<3;i++) printf("%d\n",f(a)); } A.7 8 9 B.7 9 11 C.7 10 13 D.7 7 7

试卷序号: 班级: 学号: 姓名: 3

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 二、 判断题(共10小题,共10分。正确打√,错误打×,请将答案按照序号填在下面的表格中,答在表格外不得分。) 1 2 3 4 5 6 7 8 9 10 1.C语言认为名为Student和student的变量是不同变量。( ) 2.函数的定义可以嵌套,但函数的调用不可以嵌套。( ) 3.已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。( ) 4.关系表达式的值是一个逻辑值,它的值为“真”或“假”。逻辑表达式的值也是一个逻辑量,它的值也为“真”或“假”。( ) 5.形式参数是局部变量。( ) 6.C语言中,字符常量可以用单引号或双引号括起来。( ) 7.while和do-while循环的主要区别是do-while的循环体至少无条件执行一次。( ) 8.函数strcpy(字符数组1,字符串2)作用是将字符数组1复制到字符串2中去。( ) 9.字符数组的字符串可以整体输入、输出。( ) 10.在执行switch语句时,default和各个case的出现次序不影响执行结果。 ( ) 三、

填空题(共6小题,每空2分,共20分。请将答案写在横线上。) 1.C程序的三种基本结构: 、 、 。 2.定义一个结构体如下: struct student { char c; float f; int a[3]; }student;

则结构体变量student所占的字节数为 。 3.下面程序段的输出结果是 。 int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2= =1) {a+=5;continue;} a -=3; } printf("%d\n",b); }

4.以下程序的输出结果是 。 main() { char cf[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); 5.以下程序的输出结果是 。 main() { char s[ ]="abcdef"; s[3]='\0'; printf("%s\n",s); }

阅卷教师 得 分 阅卷教师 得 分 阅卷教师 得 分 试卷序号: 班级: 学号: 姓名: 4 ━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 6.以下程序的输出结果为 , , 。 #include void sub(int x,int y,int* z) { *z=y-x;} main() { int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(“%d,%d,%d\n”,a,b,c);}

四、 阅读程序(共2小题,每空2分,共10分。在标有下划线的空白处填入适当的表达式或语句,使程序完整并 符合题目要求。) 1. 下面程序的功能是求1!+2!+3!+4!+5! main( ) { int i, j, f, sum=0; for(i=1;i<=5;i++) { f=1; for(j=1; ;j++) ; sum=sum+f; } printf(“5!=%d”,sum); } 2. 如果一个数的各位数的立方和等于它本身,则这样的数称为水仙花,求100~999中所有的水仙花数。 main() { int i,a,b,c; for ( i=100;i<=999;i++) { a=i/100; b= ; c= ; if( ) printf("%5d",i); } } 五、

编写程序(共2小题,每题15分,共30分,答在试卷背面。)

1.输入一个3*3矩阵的所有元素,计算并输出对角线元素之和。 2.有一个一维数组score,内放10个学生的成绩,求平均值、最高分、最低分。要求:从键盘输入成绩,并将成绩、平均值、最高分、最低分输出。

阅卷教师 得 分

阅卷教师 得 分

试卷序号: 班级: 学号: 姓名:

相关文档
最新文档