ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:24.72KB ,
资源ID:29092470      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29092470.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计复习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计复习题.docx

1、C语言程序设计复习题C语言程序设计复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。3.注释内容太多会影响程序的执行效率。4.变量要“先定义,后使用”。5.字符常量a与字符串常量a没有区别。6.数学公式y=-6xz+52(a-5)+3写成C语言表达式是y=-6*x*z+5*2*(a-5)+3。7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。8.表达式5/2+5.0/2+7%6 的值为5.5。9.设int b=7;float a=2.

2、5,c=4.7;则表达式 a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。10.设int a=12; 则表达式a/=a+a的值是0.5。11.在C语言中,运算符!比&的优先级高。12.在C语言中,运算符的优先级最小的是逗号运算符。13.scanf(%d,%d,&x,&y);的输入格式:3,4。14.以下程序运行结果是:1,7,0void main() int x=1,y=1,z=10; if(z 0) x=3; else x=5; printf( %d, ,x); if(z=y 0) x=3; else if(y=0) x=5; else x=7; printf( %d

3、,%d ,x,z); 15.该程序运行结果是:BCother void main() char x=B; switch(x) case A: printf(“A”); case B: printf(“B”); case C: printf(“C”); default: printf(“other”); 16.下面程序段运行时输出结果是a=2,b=8void main() int x=1,y=1,a=2,b=7;switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;b+;break;case 3: a

4、+;b+;printf(a=%d,b=%dn,a,b);17.下面程序,当输入为:abc? 时,执行结果是:abc void main() char c; c=getchar(); while (c!=? ) putchar(c); c=getchar(); 18.该程序运行结果是: #void main() int i; for(i=1;i=5;i+) if(i%2) putchar(); putchar(#); 19.break语句可用于循环语句和if语句中。20.continue语句不可用于循环语句中。21.以下程序的功能是判断一个数是否是素数 #include#include void

5、 main( ) int m,i; scanf( %d ,& m); for(i=2;i sqrt(m) printf(“%d 是素数 ,m); else printf(“%d 不是素数 ,m); 22.以下程序的功能是计算2+4+6+8+.+98+100。void main() int i,s ; for(i=2;i =100;i+=2 ) s+=i; (注意s的初始值)23.数组的下标是从1开始计数的。24.若有int s4=1,2,3,4;,则ss0+2*s2-s3的值是4。25.下面程序段运行时输出结果是:0 15 24 void main() int i=0,a10; for(i=0

6、;i =9;i+) ai=i*3; printf( %d %d %d ,a0,a5,a8); 26.下面程序段运行时输出结果是: 1 0 3 3 4 5 6 6 void main() int a8=1,0,1,0,1,0,1,0,i; for(i=2;i 8;i+) ai+= ai-1 + ai-2; for(i=0;i 8;i+) printf(“%d ”,ai); 27.以下程序的功能是:将一个数组中的元素按逆序重新存放并打印交换后的数组。 #define N 7 #include void main() static int aN=12,9,16,5,7,2,1,k,s; for (k

7、=0;k N/2;k+) s=ak; ak=aN-1-k; aN-1-k =s; printf( n交换后的数组:n ); for(k=0;k N;k+)printf( %4d ,ak); 28.若有定义int a35;则排列在数组中的第9个元素是a13。29.下面程序段运行时输出结果是:456 void main() int a3= 1,2,3,4,5,6,7,8,9,i,k=2; for(i=0;i0 。34.以下程序的功能是:字符串a连接到字符串b,并显示字符串b。 void main() char a200=”how are you.”, b200; int i=0; while(ai

8、 != 0 ) bi=ai; i+; bi= 0 ; printf(“新字符串是%s”,b); 35.当运行以下程序时,从键盘输入:AAAaaaAAA Abcd234abc AAaa,运行结果为:AaaAAAaaa。void main() char s80, c=a; int i=0; scanf(%s,s); (注意scanf遇到空格的处理,与gets的不同) while(si+!=0) if(si = c) si=si-32; else if(si=c-32) si=si+32; puts(s); 36.下面程序段运行时输出结果是:6 void main() int *p,a=5,b=1;

9、 p=& a; *p=10; a=*p+b; printf(“%d”,a); 37.下面程序段运行时输出结果是:135void main() int a23=1,3,5,7,9,11; int m,*ptr; ptr=& a01;m=(*ptr)*(*(ptr+1)*(*(ptr+3); printf( %d ,m); 38.下面程序段运行时输出结果是: -5, -12, -7void sub(int x,int y,int *z) *z=y-x; void main() int a,b,c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(%4d,

10、%4d,%4dn,a,b,c); 39.下面程序段运行时输出结果是:4fun(char *s) char *p=s; while (*p) p+; return(p-s);void main() char *str=abcd; int i; i=fun(str); printf(%d,i);40.int *f();表示函数返回一个整型指针。41.下面程序段运行时输出结果是:0,0 1,3f() int x=0; static int y=0; printf( %d,%d ,x,y); x+; y=y+3; void main() int i; for(i=0;i 2;i+) f(); 42.下

11、面程序段运行时输出结果是2 int f(int n) int s; if(n=1|n=2) s=1; else s=n-f(n-1); return s; void main() printf(“%d”,f(3);43.下面程序段运行时输出结果是7 void fun(int x,int y,int z) z=x+y; void main() int a=3; fun(5,2,a); printf(%d,a); 44.在定义函数时,函数名后面的括号中的变量名称为实参。45.为了保证被调用函数不返回任何值,其函数定义的类型应为 void 。46.若定义的函数没有参数,则函数名后的圆括号可以省略。4

12、7.函数的实参和形参可以是相同的名字。48.函数调用中,形参与实参的类型和个数必须保持一致。49.函数的函数体可以是空语句。50.在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。51.在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。外部变量是全局变量。52.变量的存储类别有 自动型 、 静态型 、 寄存器型 、和 外部类型 共4种,它们分别用 auto 、 static 、 register 、 extern 标识。53.对10个数进行从小到大排序。要求排序在函数sort内完成,用起泡算法。main函数内进行数据输入、调用排序函数sort、并输出排序后的数

13、据。判断以下程序是否正确: void sort(int a,int n) int i,j,k; for ( i=0; i n-1; i+) for ( j=0; j aj+1) k=aj;aj=aj+1;aj+1=k; void main( ) int a10, i, j, k; for ( i=0 ; i 10 ; i+) scanf( %d , & ai) ; printf( n ) ; sort(a10,10); (注意数组作函数参数)for (i=0; i 10; i+) printf(“%d, ,ai); 54.预处理命令#include的作用是文件包含 。55.结构体的成员不能是结

14、构体变量。56.“按位与”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。57.C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符串存入str指向的内存。58.函数rewind的作用是使位置指针自动移至下一个字符位置。59.函数fseek的作用是使位置指针移至第一个字符位置。60.C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。二、单项选择题 (本大题共45个小题)61.一个C语言程序总是从 开始执行。A. 主过程 B. 主函数 C. 子程序 D.主程序 62.下面四个选项中,均是不合法的用户标识符的选项是 。.

15、 BA 、x_0、do . float、1a0、_Y. x-y、goto、123 . _123、tmp、CHAR63.C语言中,int型数据在内存中的存储形式是 。A. ASCII码 B.原码 C.反码 D.补码64.下列属于C语言合法的字符常量的是 。A. 85 B. “n” C. t D.“0”65.下面正确的字符串常量是 。.a . 376 .n .37666.不合法的常量是: 。A. 2 B. C. 3 D. 48367.字符串123的长度是 。A. 11 B. 7 C. 5 D. 368.存储字符串abc376需要的字节数是 。.11 .13 .)6 .)769.表达式A+4*25.

16、0-b的正确结果是 。. 67 . 67.0 . 不确定 . 67L70.下面哪个式子在a为奇数时结果为假 。.a%2=1 . !(a%2=0) . !(a%2) . a%271.若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf(x=%d,%f,&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应是: 。A. x=10,66.6 B. 10 66.6C. 1066.6 D. x=1066.672.w=4,x=3,y=2,z=1,则条件表达式wx?w:yz?y:z的结果为 。A. 4 B. 3 C. 2 D. 173.能表示条件0x100的表

17、达式是 。. 0=x=0,x=0&x=0&ch=0&ch=0|ch=975.分析以下程序, 下列说法正确的是 。void main() int x=0,a=0,b=0;if(x=a+b) printf(ttttn);else printf(kkkkn);A. 有语法错,不能通过编译 B. 通过编译,但不能连接C. 输出tttt D. 输出kkkk76.程序段如下,则以下说法中正确的是: 。int k=-5;while(k=0) k=k+1;A. while循环执行5次 B. 循环体语句一次也不执行C. 循环是无限循环 D. 循环体语句执行一次77.下述for循环语句 。int i,k;for(

18、i=0,k=-1;k=2;i+,k+) printf(* * * *);A. 判断循环结束的条件非法 B. 是无限循环C. 只循环一次 D. 一次也不循环78.下列程序段执行后k值为 。int k=0,i,j;for(i=0;i5;i+)for(j=0;j3;j+) k=k+1 ;A. 15 B. 3 C. 5 D. 879.以下关于数组的描述正确的是 。A. 数组的大小是固定的,但可以有不同的类型的数组元素。B. 数组的大小是可变的,但所有数组元素的类型必须相同。C. 数组的大小是固定的,但所有数组元素的类型必须相同。D. 数组的大小是可变的,但可以有不同的类型的数组元素。80.在c语言中引

19、用数组元素时,其数组下标的数据类型允许是 。A整型常量 B.整型表达式C整型常量或整型表达式 D.任何类型的表达式81.对以下说明语句的正确理解是 。 int a10=6,7,8,9,10;A将5个初值依次赋给a1至a5B将5个初值依次赋给a0至a4C将5个初值依次赋给a6至a10D因为数组长度与初值的个数不相同,所以此语句不正确82.在执行int a3=1,2,3,4,5,6;语句后,a11的值是 。A. 4 B. 1 C. 2 D. 583.对于类型相同的两个指针变量之间,不能进行的运算是 。A. B. = C. + D. -84.以下不能正确赋值的是 。A. char s110;s1=t

20、est; B. char s2=t,e,s,tC. char s320= test; D. char s44= t,e,s,t85.对字符串Boy进行完整赋值的操作是 。Achar s3 = B,o,y; B. char s = Boy;Cchar s3 = Boy; D.char s3; s=Boy;86.在C语言程序中,以下描述正确的是 。A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和函数的调用均不可以嵌套D. 函数的定义和函数的调用均可以嵌套87.以下函数调用语句中实参的个数为 。exce(v1,v2),(v3,v4,v

21、5),v6);A. 3 B. 4 C. 5 D. 688.下述函数定义形式正确的是 。A. int f(int x; int y) B. int f(int x,y)C. int f(int x, int y) D. int f(x,y: int)89.关于函数参数,说法正确的是 。A. 实参与其对应的形参各自占用独立的内存单元B. 实参与其对应的形参共同占用一个内存单元C. 只有当实参和形参同名时才占用同一个内存单元D. 形参是虚拟的,不占用内存单元 90.一个函数的返回值由 确定。A. return语句中的表达式 B. 调用函数的类型C. 系统默认的类型 D. 被调用函数的类型91.当调用

22、函数时,实参是一个数组名,则向函数传送的是_。A数组的长度 B.数组的首地址C数组每一个元素的地址 D.数组每个元素中的值92.若有以下说明:int a10=1,2,3,4,5,6,7,8,9,10 ,*p=a ;则数值为3 的表达式是 。A. *p+3 B. *(p+3) C. *p+=2 D. p+293.下面程序用于输出数组中的最大值,则程序段中空白处应是 。void main() int a5=3,2,5,6,4,*p,*s;for(p=a,s=a;p-a10;p+) if( ) s=p;printf(“max is %d”,*s);A. *s*p B. sp C.asp-s94.设有

23、如下的程序段:char str =“china ;char *ptr ;ptr=str ;执行上面的程序段后 ,*(ptr+5)的值为 。A. o B. 0 C. 不确定的值 D. o的地址95.以下程序输出结果为 。main() char *str=zhao,qian,sun,li; int i; for (i=0;i data.a D.p.data.a101.C语言可以处理的文件类型是 。A. 文本文件和数据文件 B. 文本文件和二进制文件C. 数据文件和二进制文件 D. 数据代码文件102.如果要打开C盘file文件夹下的abc.dat文件,fopen函数中第一个参数应为 。A. c:f

24、ileabc.dat B. c:fileabc.datC. c:fileabc.dat D. c:fileabc.dat103.若想对文本文件只进行读操作,打开此文件的方式为 。Ar B.W C.a D.r+104.在C程序中,可把整型数以二进制形式存放到文件中的函数是 。A.fprintf函数 B.fread函数 C.fwrite函数 D.fputc函数105.打开文件,操作完毕后用 函数关闭它。A.fopen B.open C.fclose D.close三、编程题(本大题共10个小题)106.求200到800之间所有能被3整除但不能被7整除的数的和。107.求1!+2!+3!+100!。

25、108.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。例如 153是一个水仙花数,因为 153。109.有10个地区的面积,要求对它们按由小到大的顺序排列(采用起泡法排序)。110.有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去的字符以字符形式输入(如输入 a表示要删去所有的 a字符)。111.有一个 34的矩阵,编程求出其中值最大的那个元素的值,以及其所在的行号和列号。112.任意输入10个学生4门课成绩,求每门课的最高分,放入一个一维数组中,并输出每个学生成绩和每门课的最高分。113.有10个整数的数组中找出最小的数与最后一个交换。要求:编写函数实现上述交换功能,在main()函数里进行数据输入、函数调用并打印。114.输入N个数到数组中,输出所有大于N个数平均值的数。要求:计算N个数的平均值用函数实

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1