《C语言程序设计A课程考核说明(定稿).doc》由会员分享,可在线阅读,更多相关《C语言程序设计A课程考核说明(定稿).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三部分 模拟考核试题及解答一、选择题 1. 由C语言源程序文件编译而成的目标文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. C 2. C语言程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 3. x0 | y=5的相反表达式为( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值 5. 循环语句“for(int i=0; in; i+) S;”中循环体S被执行的次数为( )。 A. 1 B. n-1 C.
2、 n D. n+1 6. 在下面的while循环语句中,其循环体被执行的次数为( )。 int i=0,s=0; while(sname等价的表达式是_。三、写出下列每个程序运行后的输出结果 1. #include void main() int i, s=0; for(i=1;i+) if(s50) break; if(i%2=0) s+=i; printf(i,s=%d, %dn,i,s); 2. #include void main() char ch=*; int i, n=5; while(1) for(i=0;in;i+) printf(%c,ch); printf(n); if(
3、-n=0) break; 3. #include void main() int x=24,y=88; int i=2,p=1; do while(x%i=0 & y%i=0) p*=i; x/=i; y/=i; i+; while(x=i & y=i); printf(%dn,p*x*y); 4. #include void main() int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2; a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0); for(i=2; i9; i+) if(aib1) b2=b1; b1=ai; e
4、lse if(aib2) b2=ai; printf(%d %dn,b1,b2); 5. #include void main() int a=10, b=20; printf(%d %dn,a,b); int b=a+25; a*=4; printf(%d %dn,a,b); printf(%d %dn,a,b); 6. #include void SelectSort(int a, int n) int i,j,k,x; for(i=1;in;i+) /进行n-1次选择和交换 k=i-1; for(j=i;jn;j+) if(ajak) k=j; x=ai-1; ai-1=ak; ak=x
5、; void main() int i; int a6=20,15,32,47,36,28; SelectSort(a,6); for(i=0; i6; i+) printf(%d ,ai); printf(n); 7. #include void LE(int* a, int* b) int x=*a; *a=*b; *b=x; void main() int x=15, y=26; printf(%d %dn,x,y); LE(&x,&y); printf(%d %dn,x,y); 8. #include #include struct Worker char name15; /姓名 in
6、t age; /年龄 float pay; /工资 ; int Equal(struct Worker* r1, struct Worker* r2) if(strcmp(r1-name, r2-name)=0) return 1; else return 0; void main() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Worker x=defa; int i; for(i=0; i=4) printf(没有查找所需要的记录!n); else printf(%s %d %6.2fn,
7、ai.name,ai.age,ai.pay); 四、写出下列每个函数的功能 1. int SE(int n) /n为大于等于1的整数 int x,s=0; printf(输入%d个整数: ,n); scanf(%d,&x); if(n=1) return x; s=x; while(-n) scanf(%d,&x); s+=x; return s; 2. #include void WA(int a, int n) int i,k,j,x; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; x=ai; ai=ak; ak=x; 3. #include int*
8、 LJ(int a, int n) int i,k=0; for(i=1;iak) k=i; return &ak; 4. int Output(struct IntNode *f) int sum=0; if(!f) return -9999; /用返回特定值-9999表示空表 while(f) sum+=f-data; f=f-next; return sum; 假定struct IntNode的类型定义为: struct IntNode int data; /结点值域 struct IntNode* next; /结点指针域 ; 5. int wr4(FILE* fptr) char c
9、h; int c=0; fseek(fptr,0,SEEK_SET); while(1) ch=fgetc(fptr); if(ch!=EOF) c+; else break; return c; 五、根据下列每个题目要求编写程序 1. 编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a44中,接着求出主对角线上元素之和,最后返回求和结果。 2. 编写一个主函数,计算1+3+32+.+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。 3. 编写一个主函数,已知6a40,15b30,求出满足不定方程2a+5b=120的全部整数组解。
10、如(13,20)就是其中的一组解。参考解答:一、选择题1. C 2. D 3. B 4. A 5. C 6. C 7. B 8. A 9. C 10. A 11. D 12. A 13. C 二、填空题1. /* 2. 程序 3. weirong18 4. C 5. 2 6. float7. 33 8. (!x)9. 1 10. if11. continue 12. M*N13. 2 14. 长度15. 实参 16. 程序文件17. *(a+i) 18. *p 19. struct Worker* r 20. (*p).name三、写出下列每个程序运行后的输出结果 1. i,s=15, 56
11、2. * * * * * 3. 264 4. 18 20 5. 10 20 40 35 40 20 6. 15 20 28 32 36 47 7. 15 26 26 15 8. defa 58 638.00四、写出下列每个函数的功能1. 求出从键盘上输入的n个整数之和并返回。2. 采用选择排序的方法对数组a中的n个整数按照从大到小的次序重新排列。3. 求出数组a中n个元素的最大值元素,返回该元素的地址4. 对于以表头指针为f的链表,求出并返回所有结点中data域的值之和。5. 求出一个以fptr为文件流的所对应文件的长度,即所存字符的个数。五、根据下列每个题目要求编写程序1. double f
12、un() double a44; double s=0; int i,j; printf(输入一个4*4的数值矩阵:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%lf,&aij); for(i=0;i4;i+) s+=aii; return s; 2. #include void main() int i; /用i作为循环变量 int p=1; /用p作为累乘变量 int s=1; /用s作为累加循环变量 for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 3. #include void main() int a,b;
13、for(a=6;a=40; a+) for(b=15;b=30;b+) if(2*a+5*b=120) printf(%d, %d)n,a,b); 注意:以上只是在题型和内容上提供参考,题量要比试卷多。8多试要考提容题只 ) ,), ( 0 + ;= + ;= ( . ) ; *) ( 变环为用/ 变累 / 变循 / ( 0= )& +; 0( + ( ) = 0= ( . = ) + +( + -= , , ( . ;= ,% )- = = ;( ),:个入( ; 整 等 .功的每列 ) . % ) 录的所有( =( &( + 0 , , , = ( 0 0 -, -( ( ) * 工/ ;
14、 年/ ; 姓/ # . # ) ;) ),%( ,= ( ;= = ) . ) ( ) ( ) ; )( , ( ; -; = + 交择选 / ) , ( . . ), ( ), ), 0= ( ) , % = ( ; ) = 0 , ( . .结输行程个_达价 问员结. ) ( * =_为达句则组态指 数元个 类一动假 _为型配动个作) =* 执 。_方访指,一是假.的的单_以的 定值_的时该用初参的函 _的串算计函 间节个_的存占符 _为节空占组, “定数二 行次体中句所结句_执程 。套键关_近并次它与 个, 0_为辑=则0, 。_达表) 式关 _为的+式, 假._为类 数十 节个_小
15、_出到后语), 行_出到句” , , ( 件_个含也件头包命 #._为始的行行 空+ . + + ) 符方的则信开回在文,制二式操读要. . ) 识流的输 = *( ;* ; . ) (定,组整二使 & * ; * & =* . , = , = ; . ) 确正值符字 . 节个 地的比的 素名型一为.个素数 值素中. 的元第数 地组. 。) 是给传实数为数 .组数 指 指数 实 ) (型值 ( 数定若 ; + 0,= ) (数执环,语循 面 + ) (数执 中”+ = 0= = . = |=) 为反的 | .函. . 标. 表 ) (模的言 . ) (展缺文的译件源言 择解题考模 模择言件缺)
16、 言( 表. .|反 = 的常 辑循 ;+ ( + 语, , + 定 型 实 指数数实是。.组 元 素 个一名比 节 字值 ) ; =, = * & 二, * 输识) .读制在开方 +.空的_.命件个_ 到出 后_ _节十为_.式_ 式达_。0为_ 与近关套 _句体 二定组空_符存_间 计_参初的值的以_.,指_ * 个型_ 一 个 态达_ 结问 _行结 = = , ( () ) = 0 ) %* 00 ) ( ( % ) ) ( . , )/ = ) ; ( = ( (, ; ) . 姓 年 /工 ) - ( , , + ( (录 %. 每. 整 () ; = %; (, + = ( = =) ) * ) 特空 定 定 / 针 ) ) =+ 下目程 键的二着,和个 +假别量量.已 全如,答 . 0 * . 长 (+ 列结 * 0 出功输 排法整小组 的地表 和出流的数目 *) ;+ ;+ ) = 循 累 用变 ; ) ;+ ) 只题试 8