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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言复习题库.doc

1、第 1 页 共 13 页1、下列叙述中错误的是(A) 。A一个 C 语言程序只能实现一种算法BC 程序可以由多个程序文件组成CC 程序可以由一个或多个函数组成D一个 C 函数可以单独作为一个 C 程序文件存在2、以下叙述中正确的是(C) 。AC 程序的基本组成单位是语句 BC 程序中的每一行只能写一条语句C简单 C 语句必须以分号结束 DC 语句必须在一行内写完3、以下叙述中正确的是(C)。AC 程序中的注释只能出现在程序的开始位置和语句的后面BC 程序书写格式严格,要求一行内只能写一个语句CC 程序书写格式自由,一个语句可以写在多行上D用 C 语言编写的程序只能放在一个程序文件中4、按照 C

2、 语言规定的用户标识符命名规则,不能出现在标识符中的是(B)。A大写字母 B连接符 C数字字符 D下划线5、下列定义变量的语句中错误的是(D) 。Aint _int; Bdouble int_; Cchar For; Dfloat USS6、以下选项中不能作为 C 语言合法常量的是(A) 。A345 B。 0.1c+6 Ca D0117、以下选项中不属于字符常量的是 (B)。AC B“C“ CxCC0 D072 8、下列常量哪个是不合法的(B) 。A0x4d00 B BASIC C D “/045”9、以下 4 组用户定义标识符中,全部合法的一组是(A)。A_main BIf Ctxt Din

3、tenclude -max REAL k_2sin turbo 3COM _00110、以下选项中不属于字符常量的是(B)。AC B“C“ CxCC D07211、下列变量名中哪个是不合法(C) 。ATurbo_C B vc Cint D_2ab12、设变量已正确定义并赋值,以下正确的表达式是(B) 。Ab=3+ Bx=2,+y Ca=14%3.3 Dx=y+3=213、以下定义语句中正确的是 (D)。Aint a=b=0 ; Bchar A=65+1,b=b; Cfloat a=1,*b= Ddouble a=0.0,b=1.1; 14、以下选项中正确的定义语句是(C) 。Adouble a

4、;b; B double a=b=7 Cdouble a=7,b=7; Ddouble,a,b;15、以下不能正确表示代数式 2ab/cd 的 C语言表达式是(D) 。A2*a*b/c/d Ba*b/c/d*2 Ca/c/d*b*2 D2*a*b/c*d16、若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是(A) 。A+x,y=x- Bx+1=y Cx=x+10=x+y Ddouble(x)/1017、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D) 。A只能是整数 0 或 1 B只能是整数 0 或非 0 的整数C可以是结构体类型的数据 D可是任意合法的表达式18、若有定

5、义 int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+): (y+)中的条件表达式(x-y)等价的是(C) 。A (x-y0) B(x-y0) D(x-y=0)19、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A)。Ak+ Bk+=1 C+k Dk+120、若以下选项中的变量已正确定义,则正确的赋值语句是(C)。Ax1=26.8%3 B1+2=x2 Cx3=0x12 Dx4=1+2=3;21、定义 int x;float y; 正确的输入语句是第 2 页 共 13 页(C) 。Ascanf(“%d%d“,x,y); Bscanf(“

6、%d%d“,Cscanf(“%d%f“, Dscanf(“%f%d“,22、当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是 (B)。A(c=2)(c=4)(c=6) B(c=2x=y;y=z;执行后 x,y,z 的值是 (B)。Ax=10,y=20,z=30 Bx=20,y=30,z=30Cx=20,y=30,z=10 Dx=20,y=30,z=2028、对 for(表达式 1; ; 表达式 3)可理解为(B)。A for(表达式 1; 0; 表达式 3)B for(表达式 1; 1; 表达式 3)C for(表达式 1; 表达式 1; 表达式 3)D for(表达式 1; 表达

7、式 3; 表达式 3)29、以下叙述中正确的是(C)。Abreak 语句只能用于 switch 语句体中Bcontinue 语句的作用是:使程序的执行流程跳出包含它的所有循环Cbreak 语句只能用在循环体内和switch 语句体内D在循环体内使用 break 语句和continue 语句的作用相同30、下列叙述中正确的是(D) 。Abreak 语句只能用于 switch 语句B在 switch 语句中必须使用 defaultCbreak 语句必须与 switch 语句中的case 配对使用D在 switch 语句中,不一定使用 break语句31、在嵌套使用 if 语句时,C 语言规定els

8、e 总是(C) 。A和之前与其具有相同缩进位置的 if 配对B和之前与其最近的 if 配对C和之前与其最近的且不带 else 的 if 配对D和之前的第一个 if 配对32、若 i 为整型变量,则以下循环执行次数是(B)。for(i=2;i=0;) printf(“%d“,i-);A无限次 B 0 次 C 1 次 D 2次33、以下能正确计算 123.10 的程序段是(C)。A do i=1; s=1; Bdo i=1;s=0;s=s*i; s=s*i; i+; i+;while(i2 !1 46、以下叙述中错误的是 (D) 。A在程序中凡是以“”开始的语句行都是预处理命令行 B预处理命令行的

9、最后不能以分号表示结束 C#define MAX 是合法的宏定义命令行 DC 程序对预处理命令行的处理是在程序执行的过程中进行的 47、设有定义语句 int(*f)(int);,则以下叙述正确的是 (B)。Af 是基类型为 int 的指针变量 B f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C f 是指向 int 类型一维数组的指针变量 D f 是函数名,该函数的返回值是基类型为 int 类型的地址 48、判断字符串 s1 是否大于字符串 s2,应当使用(D)。A if(s1s2) B if(strcmp(s1,s2)C if(strcmp(s2,s1)0)D if(strc

10、mp(s1,s2)0)49、判断字符串 a 和 b 是否相等,应当使用(C) 。Aif(a=b) Bif(a=b) C. if(strcmp(a,b) Dif(strcpy(a,b) 50、设已有定义:float x;则以下对指针变量 p 进行定义且赋初值的语句中正确的是(D)。Afloat *p=1024; Bint *p=(float x);Cfloat p= Dfloat *P=51、若已有说明 float *p,m=3.14; 要让 p 指第 4 页 共 13 页向 m,则正确的赋值语句是( B)。A p=m; B p=C *p=m; D *p=52、若有定义:int *p4; 则标识

11、符 p(B )。A 是一个指向整型变量的指针B 是一个指针数组名C 是一个指针,它指向一个含有四个元素的一维数组 D 说明不合法53、定义结构如下:struct stulong sno;char name10;int a;float b; 则 sizeof(struct stu)的值为(B) 。A. 4 B. 20 C. 22 D. 2454、以下对结构变量 stu1 中成员 age 的非法引用是(B)。struct student int age;int num; stu1,*p;p=A stu1.age B p.age C p-age D (*p).age55、在 C 语言中,只有在使用时

12、才占用内存单元的变量,其存储类型是 (A)。Aauto 和 register Bextern 和register C auto 和 static D static和 register 56、设有定义语句:char c1=32,c2=32; 则以下表达式中值为零的是(A)。A. c1c2 B. c1 以“只读”方式打开文件 C:aa.dat 的正确语句是 (D)。Afp=fopen(“C:aa.dat“,“w“); Bfp=fopen(“C:aa.dat“,“r“);Cfp=fopen(“C:aa.dat“,“w“);Dfp=fopen(“C:aa.dat“,“r“);60、若有定义: int

13、a=1,b=2,c=3;则表达式(ac?c:(a0)a-=2;elseif(a=0)a-=2;elsea+=10;printf(“%dn“,a);输出结果为:_0_。2、main() int x=6,y=2; if(x5)if(x0)printf(“%d“,x+);elseprintf(“%d“,x-);printf(“%d“,x);输出结果为:_6 7_。3、#include main() int x=1,y=2,z=3;if(xy)if(yz) printf(%d ,+z);else printf(%d ,+y);printf(%dn,x+);输出结果为:_1_。4、main() int

14、x,y,z;x=y=z=0; +xprintf(“%d %d %dn“,x,y,z);第 5 页 共 13 页输出结果为:_1 1 0_。5、main() int x=2;switch(x=2) case 1:printf(“*“);break;case 2:printf(“%“);break;输出结果为:_*_。6、有以下程序 #include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3:

15、a+; b+; printf(“a=%d,b=%dn”,a,b); 输出结果为:_ a=2,b=1_。 7、main() int i;for(i=0;i0 for( ; x0; x-) if(x%3)printf(“%d,”,x- -); continue; printf(“%d,”,- -x); 输出结果为: 8,5,4,2 。13、main() int i,j;for(i=1;i int f(int x) int y; if(x=0|x=1) return (3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“%dn”,z);

16、 输出结果为:_6_。23、int fun(int x) if(x0)return x+fun(x-1);return 1; main() printf(“%dn“,fun(5); 输出结果为:_16_。24、#include void recur(int x);void main() recur(3);void recur(int n) if(nint fun(int a,int b) if(b=0) return a;else return(fun(-a,-b);main() printf(%dn,fun(4,2);输出结果为: 2 。26、main() int a4=1,2,3,4; i

17、nt i;for(i=0;i=0;i-)printf(“%d “,ai);printf(“n“);输出结果为: 7 5 3 1 。27、main() int k;int a33=1,2,3,4,5,6,7,8,9;for(k=0;k=0;i- -)printf(“%d “,*(a+i);putchar(n); 输出结果为:_4 3 2 1_。Iyi31、void convert(char *a,int n) int i;if( (i=n/10)!=0 )convert(a+1,i);*a=n%10+0;main() char str10=“ “;convert(str,123);puts(st

18、r);输出结果为:_321_。32、 #include main()char p20=a,b,c,d,q=”abc”, r=”abcde”;strcpy(p+strlen(q),r); strcat(p,q);printf(“%d%dn”,sizeof(p),strlen(p);输出结果为:_20 11_。33、int fun(char s) int n=0;while(*s=0) n=10*n+*s-0;s+;return(n); main() char s10=1,3,4,*,2,9,*,0,*;printf(“%dn“,fun(s); 输出结果为:_134_。34、main() int

19、i;char *p4=“ABCD“,“BCDE“,“CDEF“,“DEFG“;char *pp=p;for (i=0;istruct st int x,y; data2=1,10,2,20;main() struct st *p=data;printf( %d,p-y); printf( %dn,(+p)-x);输出结果为: 10,2 。37、struct info int k; char *s; t;void f(struct info t) t.k=1997;t.s=“Borland“;main() t.k=2000;t.s=“Inprise“;f(t);printf(“%d,%sn“,t

20、.k,t.s);输出结果为: 2000,Inprise 。38、#includestruct NODE char num;struct NODE *next;main( ) struct NODE *p,*q,*r;p=(struct NODE *)malloc(sizeof(struct NODE);q=(struct NODE *)malloc(sizeof(struct NODE);r=(struct NODE *)malloc(sizeof(struct NODE);p-num=a; q-num=b; r-num=c; r-next=q;q-next=p;p-next=NULL;第 9

21、 页 共 13 页printf(“%cn“,r-next-next-num);输出结果为:_a_。39、#include main() FILE *fp; int a10=1,2,3,i,n; fp=fopen(“dl.dat”,”w”); for(i=0;i=10)return f1(i-5);elsereturn f1(i);int f1(int i) return i-5;输出结果为:_2_。三、程序填空题1、下面程序的功能是分离出一个三位整数的百十个位。请填空。main() int n,i,j,k;scanf(“%d“,i=n/100;j= n/10%10;k=n%10;printf(

22、“%d %d %d“,i,j,k);2、以下程序是求出1+1/3+1/5+1/99 的和。main() int i;float s=0;for(i=1 ;i1e-6;i+) s=s*i; e=e+1/s; printf(“%lf“,e); 4、以下程序的功能是:输入 2 个整数,求出它们的最大公约数并输出,请填空。main( ) int gcd(int m,int n);int a,b;scanf(“%d,%d“,printf(“%d“,gcd(a,b);int gcd(int m,int n) int r;r=m%n;while(r!=0) m=n;n=r; r=m%n;return n;5

23、、实现一个有 10 元素的数组的翻转。main () int i,a10=1,2,3,4,5,6,7,8,9,10,n=10; printf(“翻转前:n“); for (i=0;iaji) k=j;s+=aki;*sum=s;main() int xMN=3,2,5,1,4,6,8,3,9,s;SumColumMin( x,printf(“%dn”,s);7、以下程序的功能是:再 main 函数中调用 mylength 求一个字符串的长度。请填空。int mylength(char *p) int len=0;while(*p!=0) len+; p+;return(len);main()c

24、har str180;scanf(“%s“,str1);printf(“str1 的长度=%d“,mylength(str1);8、求整数 x,y,z 中的最大值。main() int x,y,z,max,t;scanf(“%d%d%d“,if(xz)max=x;elsemax=z;printf(“max=%dn“,max);9、下列程序的功能是从键盘输入两个 int型数据给变量 x 和 y,然后在 main()函数中调用 exchange()函数将变量 x 和 y的内容对调。void exchange(int *a,int *b) int t;t=*a; *a=*b; *b=t;main()

25、 int x,y;scanf(“%d%d“,printf(“x=%d y=%dn“,x,y);exchange(printf(“x=%d y=%dn“,x,y);10、定义一个结构类型,要求输入一个学生的数学和计算机两门课的成绩,然后计算并输出其平均成绩.main() struct student int math,computer;stu;printf(“请输入两门课的成绩: “);scanf(“%d%d “,printf(“平均成绩 %f “, (stu.math+puter)/2); 11、将一串数字字符串中各数字求和,如“126“求和为 9。main() char *str=“12345“,*p;int s=0;p=str;while (*p!=0;) s=s+*p-0;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。