《2022年高升专课程复习资料-计算机应用技术-程序设计基础-C语言习题 .pdf》由会员分享,可在线阅读,更多相关《2022年高升专课程复习资料-计算机应用技术-程序设计基础-C语言习题 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章概述作业:练习:教材 P5:题、题 2 、 3第二章 基本的程序语句作业:一、填空题至二、选择题 2.23 三、编程题要求: 所有编程题须上机调试通过,源程序及运行结果用作业本上交。源程序要求按缩格形式书写,文字端正整齐。不合格者退回重做。编写一个程序, 从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字每个数字之间用三个空格分开。例如用户输入了42339,屏幕输出结果为:4 2 3 3 9 【 提示 】巧妙使用/ 和 % 两种运算符 。第一部分大作业:一填空1. C 程序都是从函数开始执行。2. C 程序的语句都是用结束。3. 用来在屏幕上显示信息的库函数是。4.
2、 用来从键盘读取数据的库函数是。5. C 程序中用来提高程序的可读性。6. 假设 x和n均是 int型变量,且 x和 n的初值均为 5,则计算表达式:x=n后, x的值为,n的值为。7. 假设有定义:int b=7; float a=2.5,c=4.7;则以下表达式的值为。a+(int)(b/3*(int)(a+c)/2)%4 8. 假设 a是int型变量,且 a=6 ,则计算表达式a+=a-=a*a 后, a的值为。9. 假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为。10. 判断 char型变量 c1是否为小写字母的正确表达式是。A) a=c1=a)&(c1=c
3、1)|(z=a)&(c1=z) 11.以下程序的运行结果是。main() int a=3, b=2, c=1, k=4; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 15 页printf(%dn, ka? k:c0) t=a; B) if(a=b)0) t=a; C) if(ab); D) if(ab) a+; b+ 16 在 C语言中,不同类型数据混合运算,要先转换成同一类型后再进行运算。设一表达式中包含 int、long 、insigned 、 char 类型的变量和数据,则表达式最后的运算结果是 ( 类型数据。Aint B l
4、ong Cinsigned Dchar 17 以下选项中非法的表达式是( ) A0=x&x=0 b=0)&(a0 b=0&b=0)&(a0&b0)&(a+b0 二 、计算题1、设整型变量x为5,y为2。以下表达式的值各为多少?1 ! y = = x / 2 2 ) y ! = x % 3 3 ) x 0 & y = y 2、设单精度型变量f、g均为 5.0 , 执行以下表达式后,f的值为多少?1 f + = g 2 ) f - = g + 5 3) f* = g 15 4 ) f / = g * 10 3、执行表达式x = ( a = 3 , b = a - - ) 后, x , a , b
5、的值各为多少?4、设实型变量f1、f2、f3、f4的值均为 .,整型变量 m1 、 m2的值均为表达式 m1 = = f1 = f2 & ( m2 = = f3 f4 ) 的值是多少?5、设单精度型变量f的值为,执行表达式“n = ( ( int ) f ) % 3 ” 后, n的值是多少?6、设 i 、j 初值分别为 3和4,则执行 j+=i-=1;后 i,j的值为多少?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 15 页 7 、请给出以下程序的输出结果。main() int a=-1, b=4, k; k=!(+a0)&!(b-
6、=0); printf(%d%d%dn, k, a, b); 8、请给出下面程序的输出结果。# include “stdio.h”main() int a ,b,d=241; a=d/100%9; b=(-1)&(-1); printf(%d,%dn,a,b); 9、请给出下面程序的输出结果。#include main() int m,n,x,y,z ;n=(int)a+(int)b; m=(x=a+b,n+10); y=x*=2+3;z=y-; printf(%d %d %d %d %dn,m,n,x,y,z); 10、有程序int b=6,d=5; (+d=b- ) ?d+ : b - -
7、 执行后 b,d的值是多少?精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 15 页第三章 程序的简单算法制定作业( 教材p34):一、填空题二、选择题三、编程题:1 输入三角形三边, 求三角形面积。2 输入一个大写字母, 要求变成小写字母输出。写出算法,画出相应的流程图、N-S图第四章 分支结构作业:一、填空题4.1 题二、选择题4.12 题三、编程题、 、补充编程题用支结构语句编程1、从键盘输入三角形的三边长,判断出这三边能否构成三角形2、从键盘上输入数字星期,在屏幕上显示英文星期。第五章 循环结构作业:一、填空题、 、 、 、 、
8、二、选择题、 、 、三、编程题、补充 1、 分别统计输入的字符串中字母、数字和其它字符的个数。第六章 函数作业:一、选择题、 、 、 、 、二、判断题精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 15 页三、填空题四、阅读程序、写出程序运行结果五、程序填空六、编程题、题、题补充编程题:1、写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。2、函数,由实参传来一个字符串,统计该字符串中的字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。第二部分大作业:一、单项选择题1、在 C语言中,不正确的实型常量是。
9、AB-.123 C-1.23e-1 D-0.1232、在 C语言中,正确的字符常量是。A 字 B x41C”A” D”ABC ”3、假设变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b 4、结构化程序设计所规定的三种基本控制结构是_. A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数5、循环语句的循环体中执行continue 语句,其作用是。A立即终止程序执行B) 继续执行 continue 语句之后的循环体各语句C) 结束本次循环D) 跳出循环6、假设定
10、义 int i; 则以下循环语句的循环执行次数是。for(i=2; i=0;) printf(%d, i-); A) 无限次B) 0 次C) 1次D) 2 次7、假设有定义int t=0; 则语句 while (1) if (t+=100) break; 的循环次数是_ _。A0 B1 C100D无限次8、以下程序的运行结果是。#include main() double t; printf(%3.1lfn,(t=1,t+5,+t); A7.0 B6.0 CD9、假设有以下程序段,I nt c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后, c3中的值是 _。精选学习资料 -
11、- - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 15 页A) 0 B) 0.5 C) 1 D) 2 10 、以下程序的运行结果是。main() int num=13579,c; do printf( “ %d” , num%10); while(num/=10)0); printf( “ n” ); A13579 B7531 C 3579 D) 97531 11、以下程序运行结果是。main() int x=1,y=2,z; z=xy?+x:+y; printf(%d,%d,%dn,x,y,z); _ A) 1,2,3 B) 1,3,3 C) 2,3,3
12、 D) 2,2,3 12 、假设定义 float a ;现要从键盘输入a的数据,其整数位为3位,小数位为 2位,则选用。Ascanf( “%f”,&a); B) scanf(“% ”,a); C) scanf(“% ”,&a); D) scanf(“%f”,a);13 、设有説明语句:inta=2,b=7,c=5 ;则执行以下语句后,输出为_。switch (a0) case 1: switch (b0) return 1; else return 1; A没有指出返回值类型B函数名是 C语言的关键字C形参变量没有定义D函数体中多次出现了return 语句15 、以下程序运行结果是。#defi
13、ne N 3 #define M N+1 #define NUM (M+1)*M/3 main( ) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 15 页 int i,n=0; for(i=0;iNUM;i+) n+; printf(%dn,n); A7 B8 C15D) 6 二、改错题1、老师要求学生编写一个程序,功能是:当x等于 2且-10 y10时,输出 ”z=1”,暂停后,结束程序运行,否则输出”z=0”。x和y值由键盘输入。现有某学生编写程序如下,有诸多错误和不当之处,请你代替老师为他修改程序。void main() in
14、t x,y,z; scanf(x=%d,%3.2d,x,y); printf( 请输入 x,y值: ); if (x=2&-10 y 10) printf(“z=1”); getche(); else printf(“z=0”);return; 2、以下程序用于计算n=50 时sum=1+1/2+1/4+.+1/n的值,并显示出来。要求n从键盘输入。请找出程序中的各处错误,并改正之。#include main() int i,sum,n; n=50; while(1) if (n%2) ; break; For (i=1;i=n; i+=2) sum+=1/n; 三、程序分析题1、设以程序段中
15、的变量都是int类型,则输出的结果是。sum=pad=5; pAd=sum+,pAd+,+pAd; printf(“%dn”,pad);2、以下程序的运行结果是。main() int a,b,c; a=b=c=1; if (a+|+b) c+; printf(%d,%d,%dn,a,b,c); 3、以下程序的运行结果是。main() int c; while (c=getchar()!=n) switch (c-2) case 0: case 1: putchar(c+4); case 2: putchar(c+4);break; 精选学习资料 - - - - - - - - - 名师归纳总结
16、 - - - - - - -第 7 页,共 15 页case 3: putchar(c+3); default:putchar(c+2);break; printf(n); 输入: 742,程序的输出结果是。4、以下程序的输出结果是。#include stdio.h #define SUM(y) 2+y main() int x=5; printf(%dn,SUM(3)*x%5); 5、以下程序的输出结果是。func(int a) static int m=0; m+=a*2; return m; main() int k=6,p; p=func(k); printf(%d,p); p=fun
17、c(k); printf(%dn,p); 四、请编程序求解问题:有假设干只鸡和兔在同一个笼子里,从上面数,有三十五个头;从下面数,有九十四只脚。求笼中各有几只鸡和兔?20分第七章 多维数组书面作业教材 p161一、选择题二、判断题三、填空题四、阅读程序、五、程序填空题六、编程题、 、提交作业:编程1. 已有一个已按从小到大排好序的整型数组,今输入一个整数,要求按原来排序的规律将它插入数组中。2. 将一个数组中的值按逆序重新存放。例如,原来顺序为8, 6,5,4,1;要求改为1,4,5,6,8 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页
18、,共 15 页3. 求以下两个矩阵之和即对应元素之和。1 2 3 4 1 3 5 7 5 6 7 8 9 11 13 15 9 10 11 12 17 19 21 23 4. 打印出以下的杨辉三角形要求打印10行 。1 1 1 1 2 1 1 3 3 1 1 4 6 3 1 1 5 10 10 5 1 第八章 指针书面作业:一、选择题题二、判断题题三、填空题、题、题、题、题四、阅读程序题、题五、程序填空题、题六、编程题、题补充编程题:1. 编一个程序,输入15个整数存入一维数组,再按逆序重新存放后再输出。2. 输入一个一维实型数组,输出其中的最大值、最小值和平均值。3. 输入一个 3 6的二维
19、整型数组,输出其中最大值、最小值及其所在的行列下标。九章 构造数据类型作业:一、选择题题二、判断题题三、填空题题四、阅读程序题、题五、程序填空题六、编程题补充编程题:3. 用结构体存放下表中的数据,然后输出每人的和实发数基本工资+ 浮开工资支出。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 15 页基本工资浮开工资支出Zhao qian sun 9. 编一个程序,输入10个职工的标号、 、基本工资、职务工资,求出其中“ 基本工资职务工资 ” 最少的职工并输出。10. 编一个程序,输出10个学生的学号、 、门课程的成绩,求出总分最高的学
20、生并输出。第十章 文件作业:一、选择题二、判断题三、填空题 30 四、程序填空题、五、编程题补充作业:1. 编一个程序,从键盘输入200个字符,存入名为“ f1.t” 的磁盘文件中。2. 从上一题中建立的名为的磁盘文件中读取120个字符,并显示在屏幕上。3. 输入 100个学生的信息含学号、年龄、 7科成绩、总分 ,统计所有学生的总分,然后存入磁盘二进制数据文件中。然后再读取该文件,寻找总分最高的学生并输出该生的所有信息。第三部分大作业:1 单项选择题1、在 C语言程序设计中引用数据元素时,其数组下标的数据类型允许是_ 。A) 字符常量B) 浮点型常量C) 整型常量或整型表达式D) 任何类型的
21、表达式2、当调用函数时,实参是一个数组名,则向函数传送的是_ 。A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值3、设有以下说明语句struct ex int x ; float y; char z ; example; 则下面的表达中不正确的选项是_- 。A) struct 结构体类型的关键字B) example 是结构体类型名精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 15 页C) x,y,z 都是结构体成员名D) struct ex 是结构体类型4、以下表达中错误的选项是_ 。A) 二进制
22、文件打开后可以先读文件的末尾,而顺序文件不可以B) 在程序结束时,应当用fclose 函数关闭已打开的文件C) 利用 fread 函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据D) 不可以用 FILE 定义指向二进制文件的文件指针5、以下各语句中,字符串“ abcde” 能正确赋值的操作是。A) char s5=a, b, c, d, e; B) char *s;s=”abcde”;C) char *s;gets(s); D) char s6;scanf(“%s ”,&s);6、已知: char s20=language, *ps=s; 则不能引用字母n的表达式是 _。A ps
23、+2 Bs2 Cps2 Dps+=2, *ps 7、下面程序的输出结果是_ 。main() int a =1,2,3,4,5,6,7,8,9,0,*p; p=a; printf( “ %dn ” ,*p+9); A) 0 B) 1 C) 10 D)9 8、已知: int a, x; 则正确的赋值语句是_。A a=(a1+a2)/2 Ba*=*a+1; C a=(x=1, x+, x+2); D a=good; 9、对于下述定义,不正确的表达是_。union data int i; char c; float f; a, b; A变量 a所占内存的长度等于成员f的长度B变量 a的地址和它的各成员
24、地址都是相同的C可以在定义时对a初始化D不能对变量 a赋值,故 a=b非法10、假设有以下定义和语句int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下语句中错误的选项是_ 。A) *q=0; B) w=p; C) *p=a; D) *p=*w; 11、假设有以下定义:int x43=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; int (*p)3=x; 则能够正确表示数组元素a12 的表达式为。A) *(*(p+1)+2) B) *(*p+1)2) C) *(*(p+5) D) *(*p+1)+2) 12、假设有语句
25、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 15 页char s1=string1, s28, *s3, *s4=string2; 则是对库函数 strcpy 的错误调用。A) strcpy(s1, string1); B) strcpy(s4, string2); C) strcpy(string2, s2); D) strcpy(s3, string1); 13、以下程序的输出结果是_. ,main() char st20= “” ; printf(%d %d n” ,strlen(st),sizeof(st); A) 9 9
26、 B) 5 20 C) 13 20 D) 20 20 14、有以下程序#include main(int argc,char *argv) int i,len=0; for(i=1;iargc;i+) len+=strlen(argv); printf(%dn,len); 程序编译连接后生成的可执行文件是,假设运行时输入带参数的命令行是:ex1 abcd efg 10 则运行的结果是_ 。A) 22 B) 17 C) 12 D) 9 15、执行下面的语句后,输出结果为_。enum week(sun,mon=3,tue,wed,thu) ;enum weekday wday ;wday=wed
27、;printf(“%dn”,wday) ;A) 5 B) 3 C) 4 D) 编译是出错2判断题3有说明: static int a34;,则数组 a中各数组元素可在程序的编译阶段得到初值0 。4假设用数组名作为函数调用时的实参,则实际上传递给形参数组的是数组的第一个元素的值 。3、结构体的成员可以作为变量使用 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 15 页4、共用体变量的地址和它的各成员的地址都是同一地址 。5、C语言规定只能逐个引用数值数组的元素而不能一次引用整个数组 。6、使用结构体struct的目的是将一组数据作为
28、一个整体,以便于其中的成员共享同一空间7、C语言中,枚元素表中的元素又先后次序,可以进行比较。8、语句 y=*p+; 和 *p+;是等价 。9、如果一个字符数组中包含多个结束符 0 ,输出时遇到第一个 0 字符串输出就结束 。10、假设有说明:int a34=0;,则数组 a中每个元素均可得到初值0。 三、填空题1、有如下程序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); 该程序的输出结果是【】 。2、
29、以下程序的输出结果是【】union myun struct int x, y, z; u; int k; a; main() a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%dn ” ,a.u.x); 9下程序功能是当输入学生序号以数组一维下标加1作为学生序号后,能输出该学生的全部成绩共有三位学生,每位学生有4门成绩。#include main() float score4=60,70,80,90,56,89,67,88,34,78,90,66; float (*p)4; int n,i; p= 【】; printf(n 请输入学生的序号:); scanf(
30、%d,&n); printf( 序号为 %d的学生成绩是:,n); for (i=0;i4;i+) printf(%, 【】; /*用p引用 score 的元素值 */ 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 15 页 4、面程序的功能是从键盘输入10个整数,去掉一个最大数和一个最小数,然后求剩下的 8个数的平均值,请填空。#include “stdio.h”void main( ) int t,a10,max,min; float aver; for(t=0;t10;t+) scanf( “%d ”,&at);aver=mi
31、n=max=a0; for(t=1;tat) 【】; aver=aver+at; aver=aver-max-min; aver=aver/8.0; printf(“Aver=%n”,aver);5、从键盘输入:100 回车 ,以下程序运行结果是【】 。main() int a=45,23,54,87,51,89; int k,m; scanf(%d,&m); for(k=5;k=0&ak!=m;k-) printf(%dn,k); 6、以下程序是用来输出如以下图形:请写出三个下线划处应填上的有关内容,使本程序得以完整。#include main() int i, j; for(i=1; i=5; i+) for(j=1; j= 【】 ; j+) printf(); for(j=1; j=2 * i-1; j+) if 【】 printf( *); else printf(#); 【】 ;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 15 页 四、编程题1求以下算式中,庆、祝、六、一各代表什么数字?其中用变量 q,z,l,y分别代表庆,祝,六,一。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 15 页