收藏 分销(赏)

《C程序设计》期末复习练习题及参考答案(5).doc

上传人:二*** 文档编号:4533673 上传时间:2024-09-27 格式:DOC 页数:11 大小:60KB
下载 相关 举报
《C程序设计》期末复习练习题及参考答案(5).doc_第1页
第1页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、C次第 方案 期末复习练习 题及参考答案 (5)一、单项选择 题1. 以下对C次第 的描画中精确 的选项是 。A) C次第 总是 从第一个定义 的函数开始实行 。B) C次第 总是 从最后一个定义 的函数开始实行 。C) C次第 总是 从main()函数开始实行 。D) C次第 中的main()函数必须 放在次第 的开始部分。2. 以下四项中哪个是不合 法的常量 。A) xab B) x1f C) 0x1234 D) 2.1e33. 以下四项中哪个是不合 法的用户标识符 。A) temp B) my_program C) year2020 D) int4. 在C语言 中,表示 终了当前循环 的

2、语句是 。A) return语句 B) break语句 C) continue语句 D) end语句5. 以下4个变量定义 中,定义 p为指针数组的是 。A) int *p10; B) int (*p)( ); C) int *p; D) int (*p)10;6. 以下四项中哪个是合理 的函数阐明语句 。A) double func( int a, int b);B) double func( int a, b );C) double func( a, int b );D) double func( a, b );7. 设有定义 char c;且c表示 一个小写字母,结果为对应大年夜 写字母

3、的表达 式是 。A) c - a + A B) c - a + A C) c - A + a D) c - A + a8. 设有定义 int a;揣摸 a是一个偶数的表达 式是 。A) a=2*n B) a/2=0 C) a%2 D) a%2=09. 设有定义 int a; char c; 实行 输出语句scanf(%d%c,&a,&c); 假设 恳求 a跟 c掉 掉 落 的值为10跟 Y,精确 的输出办法 是 。A) 10,Y B) 10Y C) 10.Y D) 10:Y10. 设有定义 :int a10=6,7,8,9,10;精确 阐明 是 。A) 将5个初值依次赋给a1至a5 B) 将5

4、个初值依次赋给a0至a4C) 将5个初值依次赋给a6至a10D) 将5个初值依次赋给a5至a911. 设有定义 :int i, a10; 以下能精确 输出a数组各元的语句是 。A) i=10; scanf(%d, &ai);B) for(i=0; i=9; i+) scanf(%d, a+i);C) for(i=0; i10; i+) scanf(%d, ai);D) for(i=0; i10; i+) scanf(%d, &a);12. 设整数n的值为十进制5, 以16位二进制存贮该数时,其编码是 。A) 0000 0000 0000 0101 B) 1000 0000 0000 0101C

5、) 1111 1111 1111 1010 D) 1111 1111 1111 101113. 设有定义 char *p=Shanghai,Beijing,Honkong;那么结果为j字符的表达 式是 。A) p31 B) *(p1+3) C) *(p3+1) D) *p1+314. 以下文件函数中,用于将数据写到文件的函数是 。A) fread B) fgets C) fwrite D) fscanf15. 有以下次第 #include main0 int y=9; for( ; y0;y-) if(y%3=0) printf(%d,-y); 次第 的运行 结果是( )。A)741 B)96

6、3 C)852 D)87542116. 下面的次第 运行 后输出结果是 。#include void main() int i,j,x=0; static int a88; for(i=0;i3;i+) for(j=0;j3;j+) aij=2*i+j; for(i=0;i8;i+) x+=aij; printf(%d,x); A)9 B)不判定 值 C)0 D)18 17. 下面次第 的输出结果是 。main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); A)3 B)4 C)1 D)2 18. 有以下次第 #include m

7、ain() int a =1,2,3,4,y,*p=&a3; -p; y=*p;printf(y=%dn,y); 次第 的运行 结果是 。A)y=0 B)y=1 C)y=2 D)y=319. 下面次第 的运行 结果是 。#include void main() char str=ABC, *p=str; printf(%dn,*(p+3); A)67 B)0 C)字符C的所在 D)字符C 20. 有以下次第 void ss(char *s,char t) while(*s) if(*s=t)*s=t-a+A; s+; main() char str1100=abcddfefdbd,c=d; s

8、s(str1,c); printf(%sn,str1); 次第 运行 后的输出结果是 。A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd 21. 有如下次第 main() char ch25=6937,8254,*p2; int i,j,s=0; for(i=0;i2;i+)pi=chi; for(i=0;i0;j+=2)s=10*s+pij-0; printf(%dn,s); 该次第 的输出结果是 。A)69825 B)63825 C)6385 D)693825 22. 有以下次第 #include #include void f

9、un(char *s,int n) char *t; int i,j; for(i=0;in-1;i+) for(j=i+1;jstrlen(sj) t=si; si=sj; sj=t; main() char *ss=bcc,bbcc,xy,aaaacc,aabcc; fun(ss,5); printf(%s,%sn,ss0,ss4); 次第 的运行 结果是 。A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc 23. 调用 函数时,当实参跟 形参全然 上 为全然 数据典范 的变量时,它们之间数据转达 的过程 是 。 A) 实参将其所在 转达 给形

10、参,并释放 原本 占用的存储单元 B) 实参将其所在 转达 给形参,调用 终了时形参再将其所在 回传给实参C) 实参将其值转达 给形参,调用 终了时形参再将其值回传给实参D) 实参将其值转达 给形参,调用 终了时形参并不将其值回传给实参24. 以下数组定义 中差错 的选项是 。A)int x3=0,1,1,2,3; B)int x43=1,2,3,1,2,3,1,2,3,1,2,3; C)int x4=1,2,3,1,2,3,1,2,3,1,2,3; D)int x3=1,2,3,4; 25. 设有以下阐明语句typedef struct int n; char ch8; PER; 那么下面表

11、达 中精确 的选项是 。A)PER 是构造体变量名 B)PER是构造体典范 名 C)typedef struct 是构造体典范 D)struct 是构造体典范 名26. 以下次第 的运行 结果是 。#include void main() char x=123456789,*p=x ; int i=0; while(*p) if(i%2=0) *p=*; p+; i+; puts(x);A)2*4*6*8* B)* C)*2*4*6*8* D) *27. 有以下次第 void f(int *q) int i=0; for(;i5; i+) (*q)+; main() int a5 =1,2,3

12、,4,5, i; f(a); for(i=0;i5; i+) printf(%d, ai); 次第 运行 后的输出结果是 。 A)2,2,3,4,5, B)6,2,3,4,5, C)1,2,3,4,5, D) 2,3,4,5,6,28. 有以下次第 # include main() char p20=a, b, c, d, q=abc, r=abcde; strcat(p, r); strcpy(p+strlen(q), q); printf(%dn,strlen(p); 次第 运行 后的输出结果是 。 A)9 B)6 C)11 D)729. 在C语言 中,变量的隐含存储类不是 A)auto

13、B)static C)extern D)无存储类不30. 有以下次第 #include main() FILE *fp; int i=20, j=30, k, n; fp=fopen(d1.dat,w); fprintf(fp,%dn, i); fprintf(fp,%dn, j); fclose(fp); fp=fopen(d1.dat,r); fscanf(fp,%d%d, &k,&n); printf(%d %dn, k, n); fclose(fp); 次第 运行 后的输出结果是 。 A)20 30 B)20 50 C)30 50 D)30 20二、填空题1. 设有定义 :int n=

14、123; float x=95.123; 写出语句 printf(%d,%5d,%-6.2f,%4.1f,n,n,x,x);的运行 结果。2. 设有定义 :float x=91.19; 写出表达 式 (int)x 跟 (int)(10*x+0.5)/10.0 的运算结果。91 91.2000003. 设n为正整数,写出掉 掉 落 n的十进制个位数跟 十位数的表达 式。n%10n/10%104. 设有命题:b介于a,c之间且a,b,c互不相当 ,写出对应的逻辑表达 式。ab&bc | cb&ba5. C语言 中用 于构造化次第 方案 的三种全然 构造是:次第 构造、选择 构造跟 循环 构造。6.

15、 C语言 的数据典范 有:a) 全然 典范 整型(int)、字符型(char)、单精度浮点型(float)、双精度浮点型(double);b) 列举 典范 enum;c) 构造典范 指针典范 *,数组 ,构造体典范 (struct)、共用体典范 (union)d) 空典范 void。7. 数组是表示 典范 一样的数据,而构造体那么是假设 干典范 差异 数据项的聚拢 。8. C 语言 次第 可以 由一个或多个源次第 文件形成 ;每个文件可包括 假设 干函数 但是 ,每个C次第 必须 有且仅有一个是名字为main的函数。9. 假设一个函数只能被本文件中不的 函数所调用 ,它称为内部函数,在定义 这

16、类函数时,在函数名跟 函数典范 前面需要 加关键 字 static 。10. 假设 有定义 :int a34=1,2,0,4,6,8,10;,那么初始化后a12掉 掉 落 的初值是 0 ,*(a2+1)的值是 6 。三、次第 运行 结果分析题1次第 ,表示 空格#include main()int i,j;for ( i=1; i=3; i+ )for ( j=0; j3-i; j+ )putchar( );for ( j=0; ji; j+ )printf( %-2d, i );printf( n );输出:?1223332次第 #include main()char cmd;do cmd

17、= getchar();switch ( cmd )case A: puts( Add Student ); break;case D: puts( Del Student ); break;case Q: puts( Quit ); while ( cmd!=Q );输出:ADQ输出:?Add StudentDel StudentQuit3次第 #include main()int m,n,s=0,i;scanf( %d%d, &m, &n );for ( i=m; i=n; i+ )if ( in )printf( %d+, i );elseprintf( %d=, i );s += i;

18、printf( %dn, s );输出:7 10输出:? 7+8+9+10=344次第 #include char grade( float score )if ( score = 90 ) return A;else if ( score=80 ) return B;else if ( score=70 ) return C;else if ( score=60 ) return D;else return E;main()float sc;char gr;int i;for ( i=0; i6; i+ )scanf( %f, &sc );gr = grade( sc );putchar(

19、gr );输出:50 60 70 80 90 100输出:?EDCBAA5次第 #include #define N 10main()int aN, i;float ave=0,pass=0,fine=0;for ( i=0; iN; i+ )scanf( %d, &ai );for ( i=0; i= 60 )pass+;if ( ai = 90 )fine+;ave /= N;pass = pass/N*100;fine = fine/N*100;printf( Ave=%4.1fnPass=%2.0f%nFine=%2.0f%n,ave,pass,fine );输出:55 60 65 7

20、0 75 80 85 90 95 100输出:?Ave=77.5Pass=90%Fine=30%6次第 #include void shift( int a, int n, int s, int b )int i;for ( i=0; in; i+ )bi = a(i+s)%n;main()int a6, b6, i;for ( i=0; i6; i+ )scanf( %d, &ai );shift( a, 6, 3, b );for ( i=0; i6; i+ )printf( %d , bi );输出:11 22 33 44 55 66 输出:?44 55 66 11 22 337次第 #

21、include int max( int a, int n )int x, i;x = a0;for ( i=1; in; i+ )if ( x ai )x = ai;return x;main()int m65, i, j, x;for ( i=0; i6; i+ )for ( j=0; j5; j+ )scanf( %d, &mij );for ( i=0; i6; i+ )x = max( mi, 5 );printf( %d , x );输出:11 19 18 15 1628 20 21 22 2431 33 35 37 3660 60 66 66 6055 54 53 52 5140

22、 41 42 43 44输出:?19 28 37 66 55 448次第 #include void getupper( char *p, char *q )for ( ; *p!=0; p+ )if ( *p=A & *p=Z )*(q+) = *p;*q = 0;int issym( char *p )char *q;for ( q=p; *q!=0; q+ ) ;for ( q-; pq; p+,q- )if ( *p != *q )return 0;return 1;main()char a80, b80;gets( a );puts( a );getupper( a, b );put

23、s( b );if ( issym(b) )printf( Yesn );elseprintf( Non );输出:abcA123B#$%C+-=B(A)输出:?abcA123B#$%C+-=B(A)ABCBAYes9次第 #include struct student /* 老师 信息 */int num; /* 学号 */char name20; /* 姓名 */int score; /* 效果 */int no;void sca_stu( struct student stu, int n )int i;for ( i=0; in; i+ )scanf( %d%s%d, &stui.nu

24、m, stui.name, &stui.score );void prt_stu( struct student stu, int n )int i;for ( i=0; in; i+ )printf( %d: %d %s %dn, stui.no, stui.num, stui.name, stui.score );void sort_stu( struct student stu, int n )int i,j;struct student t;for ( i=0; in-1; i+ )for ( j=0; jn-1-i; j+ )if ( stuj.score stuj+1.score

25、)t = stuj;stuj = stuj+1;stuj+1 = t;stu0.no = 1;for ( i=1; in; i+ )if ( stui.score = stui-1.score )stui.no = stui-1.no;elsestui.no = i+1;main()struct student stu10;int n;scanf( %d, &n );sca_stu( stu, n );sort_stu( stu, n );prt_stu( stu, n );输出:31001 Zhao 881002 Qian 771003 Sun 99输出:?1: 1003 Sun 992:

26、1001 Zhao 883: 1002 Qian 77四、次第 填空题阅读 次第 ,在标有下划线的空白 处填入适当 的表达 式或语句,使次第 残缺并符合 题目 恳求 。1以下次第 从键盘上输出整数m跟 n,输出m到n之间包括 m跟 n的所有 “完数,完数是指:所有 因子之跟 等于 本身的整数,如28124714,因此28是一个完数。如输出:1 28那么输出:6 28#include main( )int m,n,i,j,s;scanf( %d%d, &m, &n );for ( i=m; i=n ; i+ )s = 0;for ( j=1; ji; j+ )if ( i%j=0 )s += j

27、;if ( s=i )printf( %d , i );2以下次第 从键盘上10个整数,输出其中 只出现一次的数,函数count的功能 是统计并前去 元素个数为n的数组a中数据x出现的次数。如输出:12 36 72 36 87 99 87 87 12 35那么输出:72 99 35#include int count( int a , int n, int x )int i,ct=0;for ( i=0; in; i+ )if (ai=x )ct+;return ct ;main()int a10,i;for ( i=0; i10; i+ )scanf( %d, &ai );for ( i=0; i10; i+ )if ( count(a,10,ai ) = 1 )/*调用 函数揣摸 是否 1次*/printf( %d , ai );printf( n );精选可编辑

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服