《2024秋下学期西安电子科技大学《C语言程序设计》期末大作业》由会员分享,可在线阅读,更多相关《2024秋下学期西安电子科技大学《C语言程序设计》期末大作业(7页珍藏版)》请在金锄头文库上搜索。
1、西安电子科技大学网络与继续教育学院2024 学年下学期C语言程序设计期末考试试题(综合大作业)考试说明:1、大作业试题公布时间:2024 年 11 月 1 日;2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用西安电子科技大学网络与继续教育学院 2024 秋期末考试答题纸(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;4、在线上传时间:2024 年 11 月 1 日至 2024 年 11 月 11 日在线上传大作业答卷;5、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。一、选择题(每小题 1 分,共 20 分)1、以下有 4 组用户标识符,其中
2、合法的一组是()。AFor -sub CaseB4d DO SizeCf2_G3 IF abcDWORD void define2、若有下面的程序片段:int a12=0, *p3, *pp, i;for(i=0; i3; i+)pi=&ai*4;pp=p;则对数组元素的错误引用是()。App01Ba10Cp31D*(*(p+2)+2)3、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为()。Aa0B!aCa=0Da4、若已定义:int a =0,1,2,3,4,5,6,7,8,9, *p=a,i;其中 0i9, 则对 a 数组元素不正确的引用是()。
3、Aap-aB*(&ai)CpiDa105、以下程序的输出结果是()。int main( ) int x=10,y=10,I;for(i=0;x8;y=+i)printf(%d,%d ,x-,y);A10 1 9 2B9 8 7 6C10 9 9 0D10 10 9 16、下面程序的输出是()。void prtv(int *x)printf(%dn, +*x);int main() int a=25;prtv(&a);return 0;A23B24C26D287、下面能正确进行字符串赋值操作的语句是()。Achar s5=ABCDE;Bchar *s;s=ABCDEF;Cchar s5=A、B、
4、C、D、E;Dchar *s; scanf(%s,s);8、设 x,y,z,t 均为 int 型变量,则执行以下语句后,t 的值为( )。x=y=z=1;t=+x|+y&+z;A不定值B2C1D09、设 p1 和 p2 是指向同一个 int 型一维数组的指针变量,k 为 int 型变量,则不能正确执行的语句是()。Ak=*p1+*p2;Bk=*p1 *(*p2);Cp1=p2;Dp2=k;10、请读程序:#include#define SUB(X,Y) (X)*Yint main()int a=3, b=4;printf(%d, SUB(a+, b+);return 0;上面程序的输出结果是(
5、)。A12B15C16D2011、sizeof(float)的结果是()。A4B6C8D不确定12、若执行下面的程序时从键盘上输入 3 和 4,则输出是()。int a,b,s;scanf(%d %d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%dn,s);A14B16C18D2013、以下程序的输出结果是()。# include int main()printf(%dn,NULL);return 0;A不确定的(因变量无定义)B0C-1D114、读程序:#includef(char *s)char *p=s;while( *p!=0) p+;return(p-s);
6、int main()printf(%dn,f(ABCDEF);return 0;上面程序的输出结果是()。A3B6C8D015、下面各语句行中,能正确进行赋字符串操作的语句行是Achar st45=ABCDE;Bchar s5=A,B,C,D,E;Cchar *s; scanf(%s,s);Dchar *s; s=ABCDE;16、若有说明:long *p,a;则不能通过 scanf 语句正确给输入项读入数据的程序段是()。A*p=&a; scanf(%ld,p);Bp=(long *)malloc(8); scanf(%ld,p);Cscanf(%ld,p=&a);Dscanf(%ld,&a
7、);17、若已定义:int a9,*p=a;并在以后的语句中未改变 p 的值,不能表示 a1地址的表达式是()。Ap+1Ba+1Ca+D+p18、下面程序的输出是()。enum team my,your=4,his,her=his+10;printf(%d %d %d %dn,my,your,his,her);A0 1 2 3B0 4 0 10C0 4 5 15D1 4 5 1519、以下程序输出结果是()。int m=5;if(m+5)printf(%dn,m);else printf(%dn,m-);A7B6C5D420、以下程序运行后,输出结果是()。int d=1;fun(int p)
8、int d=5;d+=p+;printf(%d,d);int main()int a=3;fun(a);d+=a+;printf(%dn,d);return 0;A95B99C84D44二、判断对错,并给出解析(每小题 4 分,共 20 分)(判对错占 1 分,解析占 3 分)1、虽然 goto 语句能提高程序运行效率,但为防止程序结构混乱应该禁用。()2、条件表达式可以取代 if 语句,或者用 if 语句取代条件表达式。()3、在 C 程序中对用到的所有数据都必须指定其数据类型。()4、实参和与其对应的形参共占用一个存储单元。()5、一个实型变量的值肯定是精确的。()三、程序分析题(22 分
9、)注:当有循环语句,若已经出了循环无对应的值时,可填“无”或“循环结束”。1、(每空 1 分,共 6 分)int main() int i5;char c6abcd;docici1;while(i0);puts(c);2、(每空 1 分,共 6 分)int main( )int a331,2,3,4,5,6,7,8,9,i,s0;for(i0;i2;i)ssaii;printf(s%dn,s);3、(每空 1 分,共 10 分)设 n=24void prnt(int n, int aa )int i;for(i=1; i=n; i+)printf(%6d, aai); / (1)if(!(i%5) printf(n); / (2)printf(n);四、编程题(38 分)编程题要求:(1)先给出自顶向下逐步细化的伪代码,然后再写出源码,重要变量和语句要加注释; (2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。1、(19 分)从键盘输入一个一维数组,将这个数组逆序输出。2、(19 分)编写一个函数,该函数可以统计一个长度为 2 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出 6。