版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、练习1. 下面的字符序列中哪些不是合法的变量名: -abc_aaforpp.288to beIBM/PCms-c#microm%usttihswhiler24_s25_a_babc_3452. 假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下分别执行下面各个语句,写出执行对应语句后整型变量u的值。 1) u = a ? b : c;2) u = (a = 2) ? b + a : c + a;3. 假设整型变量a的值是1,b的值是2,c的值是0,写出下面各个表达式的值。 1) a & !(b | c) & !a) 2) !(a & b) | c ? a | b : a & b &
2、c3) !(a + b c) & b = c * a - b4. 下面程序在执行时,哪些地方将发生类型转换?程序打印的值是什么? int f (int n, float m) return (m + n) / 4;int main (void) float y = 3;printf(%dn, f(y, y + 1);return 0;5. 写一个简单程序,它输出从1到10的整数。 。 C语言部分一、语言基础单项选择题(每题2分,共30分) (一) C程序是由_和 _构成的。 1A)主函数与子程序 B)主函数与若干子函数 C)一个主函数与一个其它函数 D)主程序与子程序 (二) 以下选项中合法的
3、常量是_D_。 2A) Internet B)E3 C) 02x D) 0xfeL (三) 以下选项中合法的用户标识符是_C_。 3A)for B)3Dmax C)_123Test D)B.dat4A)d=8+a+f=d+8 B)d=(a+8)+ C)d=(8+e,e+,d+8) D)d=8+e+=d+7 (五) 设x,y,a,b,c为int型变量,且值均为0,在Turbo C环境下执行 (x=a=b)|(y=c=b)后,x,y的值是_C_。 5A) 0,0 B) 0,1 C) 1,0 D) 1,1 (六) 设有int i=011,j=10;则printf(“%d,%dn”,+i,j-);的输
4、出结果是_C_。 6A)011,9 B)012,9 C) 10,10 D) 10,9 (七) 以下选项中,与k=i+完全等价的表达式是_A_。 7A)k=i,i=i+1 B)i=i+1,k=i C)k=i+1 D)k+=i+1 (八) 有以下程序段 int n=0,p; do scanf(“%d”,&p); n+; while(p!=123&n(b)?(a):(b) main() int i=10,j=15;printf(“%dn”,10*M(i,j); 后输出的结果是_A_。11A) 10 B) 15 C) 100 D) 150 (十二) 若有说明:int i,j=5, *p=&i,则与i=
5、j;等价的语句是_B_ 。 12A)i=*p; B) *p=*&j; C) i=&j; D) i=*p;(十三) 设有如下定义,则对data中的a成员的正确引用是_B_ 。 struct sk int a; float b; data,*p=&data; 13A) (*p).data.a B) (*p).a C )p-data.a D) p.data.a (十四) 若有如下定义,则printf(“%dn”,sizeof(them);的输出是_D_ 。 typedef union long x2; int y4; char z8; MYTYPE; MYTYPE them; 14A) 32 B)2
6、4 C)16 D) 8(十五) 若需要打开一个已经存在的非空文件file进行修改,正确的打开语句是_B_ 。A) fp=fopen(“file”,”r”) B) fp=fopen(“file”,”r+”)C) fp=fopen(“file”,”w”) D) fp=fopen(“file”,”rb+”)二、阅读下列程序,写出运行结果(每题4分,共20分)程序1 #include main() char sl10,s210,s310,s410; 运行结果: scanf(“%s%s”,s1,s2); aaaa gets(s3); gets(s4); l234 puts(s1); puts(s2);
7、puts(s3); puts(s4); bbbb 5678 程序运行时输入数据为: aaaa l234 bbbb 5678程序2 main() int a=13,b=21,m=0; 运行结果:3 switch(a%3) case 0: m+; break; case 1: m+; switch(b%2) default: m+; case 0: m+; break; printf(“%dn”,m); 程序3 #include 运行结果:54 main() int a34= 0,2,4,6,8,10,12,14,16,18,20,22 ; int (*p)4=a,i,j,k=0; for(i=0
8、;i3;i+) for(j=0;j2;j+) k=k+*(*(p+i)+j); printf(“%dn”,k); 程序 4 #include s(int n) 运行结果:22 static int i=1; 32 int j=1; 42 if(n0) +i; j+; printf(“%d%dn”,i,j); s(n-1); main() int k=3; s(k); 程序5 #include 运行结果:data=1468 main() char c; int i,data=0; for(i=0;i4;i+) c=getchar(); if(c9) break; data=data*lO+c-0
9、; /*字符转成数字*/ printf(“data=%dn”,data); 程序运行时输入数据为:1468 三、阅读分析下列程序,在_线处填上适当内容,使程序(或函数)完整。 (每空2分,共18分) 1有以下程序,其功能是将从键盘输入的小写字母转换成大写字母输出, 当输入为“#”时,结束转换。 main() char ch; scanf(“%c”,&ch); while( ch!=# ) if(ch=a&ch2 main() static int n,f20= 1,1 ; for(n=2;n20;n+) fn= fn-1+fn-2 ; for(n=0;n20;n+) if(n%5=0) pri
10、ntf(“n”); printf(“%lOd”,fn); 3输入10个数,从小到大排序。 main() int i,j,p,q,s,a10; printf(“n input l0 unmbers: n”); for(i=0;i10;i+) scanf(“%d”,&ai); for(i=0;i9;i+) p=i; q= ai ; for(j=i+1;jaj ) p=j; q=aj; if(i!=p) s=ai; ai=ap ; ap=s; printf(“n%d”,ai); 4下列程序的功能是输入一个字符串存人字符数组a中,然后将其中的所有字符删除后再存入字符数组b,最后将字符数组b中的字符串输
11、出。 #include #include main() char a81,b81,*p1=a, *p2=b; gets(p1); while(*p1!=0) if(*p1=) p1+ ; else *p2+=*p1+ ;puts(b);四、编写程序题(共22分)1求两个整数的最大公约数和最小公倍数。(6分)main()int a,m,n,t; scanf(%d%d,&m,&n); a=m*n; while(t=m%n )!=0) m=n;n=t; printf(greatest common divisor= %dn,n); printf(least common multiple= %dn,
12、a/n);2. 编写一程序,输出如下图形。(8分) * * * *main()int m,n; for(n=1;n=5;n+) for(m=1;m0long fun(int x,int n)long int y; if(n=0) y=1; else y=x*fun(x,n-1); return y;main()int x,n;scanf(“%d%d”,&x,&n);printf(“%ld”,fun(x,n); 基础知识和C语言程序设计一、选择题(每题1分,共50分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)在计算机中,一个字节所包含二进制位的个数是 A)2 B)
13、4 C)8 D)16 (2)在多媒体计算机中,CD-ROM属于 A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体(3)在Windows系统中,不同文档之间互相复制信息需要借助于 A)磁盘缓冲区 B)写字板 C)剪贴板 D)记事本 (4)十六进制数100转换为十进制数为 A)256 B)512 C)1024 D)64 (5)能将高级语言编写的源程序转换为目标程序的软件是 A)汇编程序 B)编辑程序 C)解释程序 D)编译程序 (6)在Internet中,用于在计算机之间传输文件的协议是 A) TELNET B)BBS C)FTP D)WWW (7)在Windows环境下,资源管理器左窗口中
14、的某文件夹左边标有“+”标记表示 A)该文件夹为空 B)该文件夹中含有子文件夹 C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件(8)在Windows环境下,下列叙述中正确的是 A)在“开始”菜单中可以增加项目,也可以删除项目 B)在“开始”菜单中不能增加项目,也不能删除项目 C)在“开始”菜单中可以增加项目,但不能删除项目 D)在“开始”菜单中不能增加项目,但可以删除项目 (9) 从Windows环境进入DOS方式后,返回Windows环境的命令为 A)QUIT B)WIN C)EXIT D)ESC(10) 下列叙述中正确的是 A)计算机病毒只感染可执行文件 B)计算机病毒只感染
15、文本文件 C)计算机病毒只能通过软件复制的方式进行传播 D)计算机病毒可以通过读写磁盘或网络等方式进行传播(11)以下叙述中正确的是 A)C程序中注释部分可以出现在程序中任意合适的地方 B)花括号“”和“”只能作为函数体的定界符 C)构成C程序的基本单位是函数,所有函数名都可以由用户命名 D)分号是C语句之间的分隔符,不是语句的一部分(12)以下选项中可作为C语言合法整数的是 A)10110B B)0386 C)0Xffa D)x2a2(13)以下不能定义为用户标识符的是 A)scanf B)Void C) _3com_ D)int(14)有以下程序 main() int a; char c=
16、10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(”%d %d %3.1f3.1fn”,a,c,f,x); 程序运行后的输出结果是 A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 (15)以下选项中非法的表达式是 A)O=xa)|(m=ab); printf(”%d,%dn”,k,m); 程序运行后的输出结果是 A)0,0 B)0,1 C)1,0 D)1,1(17)有定义语句:int x,y;,若要通过scanf(“%d,%d”,&x,&y);语句使变量x得到数值11,变
17、量y得到数值12,下面四组输入形式中,错误的是 A)11 12 B)11, 12 C)11,12 D)11, 12(18)设有如下程序段: int x=2002,y=2003; printf(%dn,(x,y); 则以下叙述中正确的是 A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B)运行时产生出错信息 C)输出值为2002 D)输出值为2003(19)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是 A)x=x*100+0.5100.0; B)x=(x*100+0.5)100.0; C)x=(int)(x*100+0.5)/
18、100.0; D)x=(x/100+0.5)*100.0;(20)有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是 A)if(ca) x=l; B) if(a3) x=3; else if(ba) x=2; else if(a2) x=2; else x=3; else x=l; C) if(a3) x=3; D) if(ab) x=b; if(a2) x=2; if(bc) x=c; if(a1) x=l; if(ca) x=a; (21)有以下程序 main() int s=O,a=l,n; scanf(”%d”,&n); do s+=1; a
19、=a-2; while(a!=n); printf(”%dn”,s); 若要使程序的输出值为2,则应该从键盘给n输入的值是 A)-1 B)-3 C)-5 D)0 (22)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b=c;b+) s=s+l; 则与上述程序段功能等价的赋值语句是 A) s=a+b; B)s=a+c; C)s=s+c; D)s=b+c; (23)有以下程序 main() int k=4,n=O; for(;nl;n-) s=s+l/n; printf(”%6.4fn”,s); 程序运行后输出结果错误,导致错误结果的
20、程序行是 A)s=1.0; B)for(n=10;nl;n-) C)s=s+l/n; D)printf(%6.4fn,s);(25)已定义ch为字符型变量,以下赋值语句中错误的是 A)ch=; B)ch=62+3; C)ch=NULL; D)ch=xaa;(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参(27)有以下函数定义: void fun(int n,double x) 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调
21、用语句是 A)fun(int y,double m); B)k=fun(10,12.5); C)fun(x,n); D)void fun(n,x);(28)有以下程序 void fun(char *a,char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(”%c%cn”,c1,c2); 程序运行后的输出结果是 A)Ab B)aa C)Aa D)Bb(29)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是 A)int *i=NULL; B)float
22、*f=NULL; scanf(”%d”,i); *f=10.5; C)char t=m,*c=&t; D) long *L; *c=&t; L=0;(30)有以下程序 #include main() printf(”%dn”,NULL); 程序运行后的输出结果是 A)0 B)1 C)-1 D)NULL没定义,出错(31)已定义c为字符型变量,则下列语句中正确的是A)c=97; B)c=”97”; C)c=97; D)c=”a”;(32)以下不能正确定义二维数组的选项是 A)int a22=1,2; B)int a2=1,2,3,4; C)int a22=1,2,3; D)int a2=1,2,
23、3,4;(33)以下选项中不能正确把c1定义成结构体变量的是 A)typedef struct B)struct color cl int red; int red; int green; int green; int blue; int blue; COLOR; ; COLOR cl; C)struct color D)struct int red; int red; int green; int green; int blue; int blue; cl; cl;(34)以下能正确定义一维数组的选项是 A)int num: B)#define N 100 int numN; C)int n
24、um0100; D) int N=100; int numN;(35)下列选项中正确的语句组是 A)char s8; s=”Beijing”; B)char *s; s=”Beijing”; C)char s8; s=”Beijing”; D)char *s; s=”Beijing”;(36)已定义以下函数 fun(int *p) return *p; 该函数的返回值是 A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值 (37)下列函数定义中,会出现编译错误的是 A)max(int x,int y,int *z) B)int max(int x,y) *z
25、=xy ?x:y; int z; z=xy ? x:y; return z; C)max(int x,int y) D)int max(int x,int y) int z; return(xy?x:y); z=xy?x:y; return(z); (38)有以下程序 #include #define F(X,Y) (X)*(Y) main() int a=3,b=4; printf(”%dn”,F(a+,b+); 程序运行后的输出结果是 A) 12 B) 15 C) 16 D)20 (39)有以下程序 fun(int a,int b) if(ab) return(a): else retur
26、n(b); main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(”%dn,r); 程序运行后的输出结果是 A) 3 B) 6 C) 8 D) 12(40)若有定义:int *p3;,则以下叙述中正确的是 A)定义了一个基类型为int的指针变量p,该变量具有三个指针 B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针 C)定义了一个名为*p的整型数组,该数组含有三个int类型元素 D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素(41)以下程序中函数scmp的功能是返回形参指针s1和
27、s2所指字符串中较小字符串的首地址 #include #include char *scmp(char *s1,char *s2) if(strcmp(s1,s2)0) return(s1); else return(s2); main() int i; char string20,str320; for(i=0; ix); 程序运行后的输出结果是 A) 10 B) 11 C) 20 D) 21 (43)有以下程序段 main() int a=5,*b,*c;c=&b; b=&a; 程序在执行了c=&b;b=&a;语句后,表达式:*c的值是 A)变量a的地址 B)变量b中的值 C)变量a中的值
28、 D)变量b的地址 (44)有以下程序 #include main() char str20=”Hello”,”Beijing”,*p=str; printf(”%dn”,strlen(p+20); 程序运行后的输出结果是 A) 0 B) 5 C) 7 D) 20 (45)已定义以下函数 fun(char *p2,char *p1) while(*p2=*p1)!=0)p1+; p2+; 函数的功能是 A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C)对p1和p2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有0(46)有以下程序
29、main() int x=3,y=2,z=l; printf(”%dn”,x/y&z); 程序运行后的输出结果是 A) 3 B) 2 C) 1 D) 0(47)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为 A)0 B)1 C)-1 D)一个非0值(48)下列关于C语言数据文件的叙述中正确的是 A)文件由ASCII码字符序列组成,C语言只能读写文本文件 B)文件由二进制数据序列组成,C语言只能读写二进制文件 C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(49)有以下程
30、序 main() int a33,*p,i; p=&a00; for(i=0;i0 ? p/10:p%3); (2)以下程序运行后的输出结果是 。 main() char m; m=B+32; printf(”%cn”,m); (3)以下程序运行后的输出结果是 。 main() int a=1,b=3,c=5; if(c=a+b) printf(”yesn”); else printf(”non”); (4)以下程序运行后的输出结果 。 main() int i,m=0,n=O,k=O; for(i=9;i=ll;i+) switch(i/10) case 0: m+;n+; break; c
31、ase 10: n+;break; default: k+;n+; printf(”%d %d %dn”,m,n,k); (5)执行以下程序后,输出#号的个数是 。 #include main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+) putchar(#);(6)以下程序的功能是调用函数fun计算:m=l-2+3-4+9-10,并输出结果。请填空。 int fun(int n) int m=O,f=l,i; for(i=1;i=n;i+) m+=i*f; f= ; return m; main()printf(”m=%dn”, ); (7)以下程序运行
32、后的输出结果是 main() int i,n=0,0,0,0,0; for(i=1;i=4;i+) ni=ni-1*2+1; printf(”%d ”,ni); (8)以下程序运行后的输出结果 main() int i,j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) for(j=i+1;j3;j+) aji=0; for(i=0;i3;i+) for(j=0;jb?a:b);(11)以下程序运行后输入:3,abcde,则输出结果是 #include move(char *str,int n) char temp; int i; temp=strn-1; for(i=n-1;i0;i-) stri=stri-1; str0=temp; main() char s50; int n,i,z; scanf(”%d,%s”,&n,s); z=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司出包油漆合同范例
- 2025年江苏货运从业资格证考试模拟题及答案解析
- 物流运输报价合同范例
- 婚宴酒席合同范例
- 2025年郑州a2货运从业资格证考试
- 棉花机械转让合同范例
- 唐山职业技术学院《卫生毒理学A》2023-2024学年第一学期期末试卷
- 2025年茂名货运从业资格证模拟考试下载什么软件
- 唐山职业技术学院《档案管理学》2023-2024学年第一学期期末试卷
- 培训学校兼职会计合同范例
- 呼吸系统疾病诊疗规范
- 夜听电台情感故事【十二篇】
- Unit 1 What's he like Part B Let's learn(说课稿)人教PEP版英语五年级上册
- 2023年全国乙卷笔试部分讲解课件 【高效课堂+精研精讲】 高考英语复习
- 国开2023年春《人文英语4》机考网考期末复习资料参考答案
- 教师追悼会家属答谢词(三篇)
- 初三英语中考模拟试卷
- 酒店业轻资产运营模式案例研究
- 《卓有成效的管理者》读书分享
- 员工食堂承包合同、考核细则、考核评分表
- 优秀管理者评选方案
评论
0/150
提交评论