




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计单元练习第一章 概述一、选择题1一个C语言程序总是从( )开始执行的。A)主过程 B)主函数 C)子函数 D)按书写顺序2以下正确的叙述是( )A)在C语言中,main函数必须位于文件的开头B)C语言的每行中只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言程序进行编译预处理时,可检查宏定义的语法错误3下列关于C语言的特点描述错误的是( )。A)C语言简洁、紧凑,使用方便、灵活;B)C语言运算符丰富;C)具有结构化的控制语句,用函数作为程序的模块单位;D)语法限制比较严格,程序设计自由度小。4下列关于C语言程序的说法正确的是( )。 A)C程序必须至少包含一个main函数和一个子函数; B)C程序必须至少包含一个main函数,可以没有子函数; C)C程序的函数既可以嵌套定义,也可以嵌套调用; D)C程序的函数既可以嵌套定义,也可以嵌套调用。5下列关于C语言的特点描述错误的是( )。A)允许直接访问物理地址;B)生成目标代码质量高,程序执行效率高;C)可移植性不高;D)数据结构丰富,具有现代化语言的各种数据结构。6下列关于C语言程序的说法正确的是( )。A)C程序可以由函数或其它子程序构成;B)C程序的函数体必须以BEGIN开头,以END结束;C)C程序必须包括一个MAIN函数;D)C程序中大括号“”前的语句可以不加分号。二、填空题1算法的特性有:( )、( )、 ( )、( ) 和( )。2用高级语言编写的程序称为( )程序,它可以通过( )程序翻译一句执行一句的方式执行,也可以通过( )程序一次翻译产生( )程序然后执行。3程序由主要由( )、( )组成。4C程序注释是由( ) 和( )所界定的文字信息组成的。5C程序开始往往含有以“”开头的命令, 它们是( )命令。在程序中以“/*”开始, 以“*/”结束的内容, 它们是程序中的( ) 部分, 用以帮助阅读程序。程序代码的录入,生成 ( )程序*.c,语法分析查错,翻译生成( )程序*.obj,与其它目标程序或库链接装配,生成( )程序*.exe。第二章 数据类型及其运算一、选择题1请选出可用作C语言用户标识符的一组标识符( )A)Void define WORDB)a3_b3 _123 IFC)For -abc CaseD)2a Do sizeof2下列四个选项中,均是不合法的用户标识符的选项是( )A)A P_0 do B)float la0 _AC)b-a goto int D)_123 temp INT3以下变量名( )是合法的。A) break B)$123 C)lotus_2_3 D)4下列( )是正确合适的变量名。 A)main B)_a3C)3dsD) a*b5C语言中最简单的数据类型包括( )A) 整型 实型 逻辑型B) 整型 实型 字符型C) 整型 字符型 逻辑型D) 整型 实型 逻辑型 字符型6C语言提供的合法的数据类型关键字是( )A) Double B)shortC) integer D) Char7若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是( )A) 1 B)2C) 2.0 D)2.58若t为double类型,表达式t=1,t+5,t+的值就是( )A) 1 B) 6.0C) 2.0 D) 1.09 设定如下变量,则表达式5+b+i*f-d/e-a的结果是( ) int i; float f; double d; long int e; A 浮点型 B 长整型 C 整型 D 双精型10在C语言中,要求运算数必须是整型的运算符是( )A) % B) / C) D) !11若有以下说明和语名: int a=5 a+;此处表达式a+的值是( )A) 7 B) 6C) 5 D) 412以下语句执行后变量c的结果是( )int a=7,b=2;float c;c=a/b; A 3.5 B 3 C 3.0 D 113表达式:10!=9的值是( )A) true B) 非零值C) 0 D) 114设a为整型变量,不能正确表达数学关系:10a15 的C语言表达式是( )A) 10a10&a15 D) !(a=15)15判断char型变量c1是否为小写字符的最简单且正确的表达式( )。A a=c1=z B (c1=a)&(c1=z)C (a=c1) D (c1=a)&(c1=z)16数学关系式xyz可用C语言的表达式表示为( )A)(x=y)&(y=z) B)(x=y)and(y=z) C)(x=y=z) D)(x=y)&(yz)17若变量c为char类型,能正确判断出c为小写字母的表达式是( )A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c= z)18C语言中合法的字符常量是( )A)084 B) X43C)ab D) 019在C语言中,变量所分配的内存空间大小( )A)均为一个字节 B)由用户自己定义 C)由变量的类型决定 D)是任意的20 下列常量说明中正确的是( )。A)#define MAX 100B)#include MAX 100C)#define MAX 100;D)#include MAX 100;21 下列变量说明中正确的是( )。A)#int i=100B)int i=100C)#int i 100D)int i=100;22下列( )是错误的表达式。 A)a=b=3 B) 9 % 4.5 C)3+5=7D)a*b23设x=11.5,y=8,则表达式 x+y%3*(int)(x-y)/4的值是( )。 A) 12 B) 12.5 C)13 D)13.2524设x,y为float型变量,则下列( )为不合适的赋值语句A) +x; B) y=(float)3; C) x=y=0; D) x*=y+8;二、填空题1表示条件:10x100或x0的C语言表达式是( )2若已知a=1,b=2,则表达式!ab的值是( )3写出下列表达式的值。(1) 若a=2,b=4则表达式!(x=a)|(y=b)&0的值是( )(2) 若a=5,b=2,c=1,则表达式a-b10 |a0)等价的逻辑表达式是( )。9标识符是以( )、( )开头,是( )、( )、( )的序列。10假设int i=10,j;j=i+后,i=( ),j=( )。第三章 顺序结构一、选择题1下列程序的运行结果是( ) #include main() int a=2,c=5; printf(a=%d,b=%dn,a,c); A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d2以下程序的输出结果是( ) main() int x=10,y=10; printf(%d%dn,x-,-y); A) 10 10 B) 9 9C) 9 10 D) 10 93printf(“%3d,%-3dn”,4,5);的输出为( )A4,5 B 4, 5 C4,5 D4, 54根据定义和数据的输入方式,输入语句的正确形式为( )已有定义: float f1,f2;数据的输入方式:4.52 3.5A.scanf(“%f,%f”,&f1,&f2); B.scanf(“%f%f”,&f1,&f2);C.scanf(“%3.2f%3.1f”,&f1,&f2); D.scanf(“%3.2f,%3.1f”,&f1,&f2);5参照下面的程序代码,程序中输入语句正确的是( )#inlcude main( )int a;float x;printf(“input a,x:”);输入语句输出语句输入形式 input a,x:3 2.1输出形式 a+x=5.10A)scanf(“%d%f”, &a,&x);printf(“na+x=%6.2f”,a+x);B)scanf(“%d%f”, &a,&x);printf(“na+x=%4.2f”,a+x);C)scanf(“%d,%f”, &a,&x);printf(“na+x=%6.2f”,a+x);D)scanf(“%d%3.1f”, &a,&x);printf(“na+x=%6.2f”,a+x);6正确的是( )A)输入项可以为一个实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后位数,如scanf(“%4.2f”,&f);D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);二、填空题1结构化程序设计中的三种基本结构是( )、( )、( )。2已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf(%d,%d,%d,&i,&j,&x)调用语句的数据输入形式是( )三、写出程序的运行结果1main()int x=10;float pi=3.1416;printf(“(1)%dn”,x);printf(“(2)%6dn”,x);printf(“(3)%-6dn”,x);printf(“(4)%.2fn”,pi);printf(“(5)%6.3fn”,pi);printf(“(6)%8fn”,pi);2main() int x=1,y=2; printf(“x=%dy=%d*sum*=%dn”,x,y,x*y);printf(“10 Squared is :%dn”,10*10);3main() float a=365.7189;int b=12,c;c=(int)a+b;printf(“c=%dn”,c);三、编程题1求圆的周长和面积。2已知三角形的三边长,求三角形的面积和周长。3输入任意三个整数,求它们的平均值。第四章 选择结构一、选择题1以下程序输出结果是main( )int m=5;if(m+5)printf(%dn,m);else printf(%dn,m-);A)7 B)6 C)5 D)42两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( ) main() int x; scanf(%d,&x); if (x+5) printf(%d,x) else printf(%dn,x-); A) 7和5 B) 6和3C) 7和4 D) 6和43若执行下面的程序从键盘输入3和4,则输出是( ) main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (ab) s=b; s=s*s; printf(%dn,s); A) 14 B) 16C) 18 D) 204下面的程序是( ) main() int x=3,y=0,z=0; if (x=y+z) printf(*); else printf(#); A) 有语法错误不能过通过编译B) 输出*C) 可能通过编译,但是不能通过连接,因而不能运行D) 输出#5假定所有变量均已正确说明,下列程序段运行的值是( ) a=b=c=0;x=35 if(!a) x-; else if (b); if (c) x=3; else x=4;A) 34 B) 4C) 35 D) 36下面程序的输出是( ) main() int x=100,a=10,b=20,OK1=5,OK2=0; if (ab) if (b!15) if (!OK1) x=1; else if (OK2) x=10; x=-1; printf(%dn,x); A) -1 B) 0C) 1 D) 不确定的值7若k是int型变量,且有下面的程序片段:k=-3if(k=0) printf(#)else printf(&);上面程序片段的输出结果是( )A) # B) &C) #& D) 有语法错误,无输出结果8. 若有说明int x,y,下面程序( )不能实现以下函数关系 -1 (x0)A if (x0) y=1;else y=0;C y=0; if (x=0) if (x0) y=1; else y=-1;D if (x=0) if (x0) y=1;else y=0; else y=-1;9 以下程序的输出结果是( )main()int x=2,y=-1,z=2;if(xy) if (y0) z=0; else z+=1;printf(“%dn”,z);A.3 B.2 C.1 D010当a=1,b=3,c=5,d=4时,执行完下面一段程序后,x的值是( )if (ab) if (cd) x=1; else if (ac) if (by); B. if (x=y)&(x!=0) x+=y;C. if (x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);D. if (x0) B if (x0) printf(“%f”,x) x=x+y; printf(“%f”,x); else printf(“%f”,-x); else printf(“%f”,-x);C if (x0) D if (x0) x=x+y; printf(“%f”,x); x=x+y; printf(“%f”,x) else printf(“%f”,-x); else printf(“%f”,-x);13如果变量grade的值为1, 则运行下列程序段后输出结果为( )switch(grade) case 1:printf(“an”); case 2:printf(“bn”); case 3:printf(“cn”);A a B a C abc D ab b c14执行以下语句: x=1; y=1; if (x+=1) y=3; else if (y=3) x=2; 后,x和y的值分别为 ( ) 。 A. 1和1 B. 1和3 C. 2和3 D. 2和115以下几个语句执行后i,j,k的值分别为( ) int i,j,k; i=j=0; k=1; if (ij?(j-):(i-) k+;A) 1,9,1 B) 1,0,2 C) -1,0,1 D) 0,0,2二、写出程序的运行结果1int x=1,y=0; switch (x) case 1: switch( y) case 0: printf(“*1*n”);break; case 1: printf(“*2*n”);break; case 2: printf(“*3*n”);2设有程序段:switch(grade) case A: printf(“85-100n”);case B: printf(“70-84n”);case C: printf(“60-69n”);case D: printf(“5) printf(“%dn”,m);else printf(“%dn”,m-);4main() int x=2,y=-1,z=2; if (xy) if (y0) z=0; else z+=1; printf(“%dn”,z);5 x=3.5; switch ( (int)x ) case 1:y=x-1; case 2:y=x; case 3:y=x+1; case 4:y=x+2; default : printf(“y=%f”,y);6sum=0;for (I=4;I=a&ch=z) printf(“%c”,ch);四、编程题x x12x 1=x=101编程,求三个整数的最大值和最小值。2有一函数y= 写一程序,输入x,求y。3 编程实现:输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。第五章 循环结构1在下列选项中,没有构成死循环的程序段是( )A)int i=100while (1)i=i%100+1;if(i100)break;B)for(;);C)int k=1000;do+k while (k=1000)D)int s=36;While(s);-s;2若i,j已经定义为int类型,则以下程序段中内循环总的执行次数是( ) for (i=5;i0;i-) for (j=0;j4;j+) .A) 20 B) 24C) 25 D) 303下面程序的输出是( ) main() int x=3,y=6,a=0; while (x+!=(y-=1) a+=1; if (y7) n-; printf(%dn,n); A)10 B)9 9 8 8 7C)10 D)9 9 8 8 7 7 65执行下面的程序后,a的值为( ) main() int a,b; for (a=1,b=1;a=20) break; if (b%3=1) b+=3; continue; b-=5; A) 7 B) 8C) 9 D) 106读程序: main() int num=0; while (num=2) num+; printf(%dn,num); 上面程序的输出结果是( )A)1 B)1 C)1 D)1 2 2 2 3 3 47执行语句:for(i=1;i+3;j-)if(j%3)j-;-j;-j;printf(%d,j);A)6 3 B)7 4 C)6 2 D)7 310在循环结构的循环体中执行break语句,其作用是( ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D) 终止程序运行11以下哪一个是无限循环的语句为( )。A for (y=0,x=0;x=+y;x+);B for (x=1;x+);C i=15; while (x10) x-;D for (i=10;i5;i-) sum+=i;12 若k为int型,则下列程序执行结果为( )k=2;while (k!=0) printf(“%d”,k); k-; printf(“n”);A 无限多次B 0次 C 1次 D 2次13while (!x)中(!x)与下面条件( )等价A x= =0 B x= =1 C x!=1 D x!=0 14下列程序运行结束后,n的值为( ) n=2;do n=n+n;n-; while (n20);A 21 B 22 C 33 D 2415若int i;则以下循环语句的循环执行次数是( ) for (i=2;i=0;) printf(“%d”,i-);A)无限次 B)0次 C)1次 D)2次16下面程序的输出结果为( )main()int i; for(i=100;i200;i+) if(i%5=0) continue; printf(“%dn”,i); break;A)100 B)101 C)无限循环 D)无输出结果17有如下程序:main() int i,sum;for(i=1;i=3;sum+) sum+=i;printf(“%dn”,sum); 该程序的执行结果是( )A) 6 B) 3 C) 死循环 D) 018有以下程序段:int k0;while(k1) k;while循环执行的次数是( )A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次19以下程序的运行结果是( )#include main()int i=0; while(1) printf(“*”); i+; if(i3) break;printf(“n”);A) * B) *C) * D) *20以下for循环的执行次数是( )。for (x=0,y=0;(y=123)&(x4);x+);A、是无限循环 B、循环次数不确定 C、执行4次 D、执行3次21以下描述中正确的是( )。A、 由于dowhile循环中循环语句只能是一条可执行语句,所以循环体内不能使用复合语句。B、 dowhile循环由do开始,用while结束,在while(表达式)后面不能写分号。C、 在dowhile循环体中,一定要有能使while后面的表达式的值变为零(“假”)的操作D、 dowhile循环中,根据情况可以省略while二、填空题1循环语句中使用continue和break语句的区别是( ) 。2while语句和do-while语句的区别是( ) 。三、写出程序运行结果1main()int n=0; while(n+=2) printf(“%dt”,n);printf(“%dn”,n); 2main() int count ,sum, x; count=sum=0;do scanf(“%d”,&x); if (x%2!=0) continue; count+; sum+=x; while (count5);printf(“sum=%d”,sum);假设输入的数据为:3 6 -2 9 10 11 8 12 203for (x=3;x6;x+)printf(x%2)?(“*%d”)(“#%dn”),x);4main()int a=1,b=10; do b-=a;a+;while (b-0);printf(“a=%d,b=%dn”,a,b);5main()int a,b;for (a=1,b=1;a=20) break; if (b%3=1)b+=3; continue;b=b-5;printf(“a=%d,b=%d”,a,b);6#include main() int num=0;while (num=2) num+;printf(“%dn”,num); 7a=0;for (i=1;i=10;i+) b=0; for (j=1;j=10;j+) a+; b+=2; printf(“a=%d,b=%dn”,a,b);8main( )int i ; for ( i=1 ; i=5 ; i+) if (i%2) printf ( “ # ” ); else continue; printf ( “ * ” ); printf ( “ $ n” ); 9main()int i,j,k;char space= ; for(i=0;i=5;i+) for (j=i;j=i;j+)printf(“%c”,space);for (k=0;k=5;k+)printf(“%c”,*);printf(“n”);四、程序填空1输出100-200间的所有素数及其个数main()int m,k,i,n=0for (m=101;m=200;m+) ; for (i=2;i=k;k+) if ( ) break; if ( ) printf(“%d”,m); n=n+1;printf(“%d”,n);2下面程序的的功能是从键盘输入的10个整数中,找出第一个能被7整数的数。若找到,打印此数后退出循环;若未找到,打印“not exit”,请填空。#include main() int i,a; for (i=1;i=10;i+) scanf(“%d”,&a);if (a%7=0) printf(“%d”,a); if ( ) printf(“not existn”);3下面程序的功能是从三个红球,五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。#include “stdio.h”main() int i,j,k;printf(“nhong bai hein”);for (i=0;i=3;i+) for ( ;j=5;j+)k=8-i-j;if ( ) printf(“%3d%3d%3d”,i,j,k);4下面程序的功能是数1到10之间的奇数之和及偶数之和。#include “stdio.h”main()int a,b,c,i;a=c=0;for (i=0;imax) max=m; if ( ) min=m; scanf(“%f”,&m);printf(“%f,%f”,max,min);6下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。main() long int num; scanf(“%ld”,&num); do if ( ) printf(“%ld”,num); scanf(“%ld”,&num); while( );五、编程题1编写程序,求100-999之间的回文数。2打印出100以内个位数字为6且能被3整除的所有的整数。3求1!+2!+3!+20!4求2/1+3/2+5/3+8/5+13/8+21/13+的前50项之和。5阶梯问题.有一阶梯,若每步跨2步,最后余1阶;若每步跨3步,最后余2阶; 若每步跨5步,最后余4阶; 若每步跨6步,最后余5阶; 若每步跨7步,刚好达阶梯顶部。编写程序,求阶梯数。第六章 数组1若有说明:int a10;则对a数组元素的正确引用是( )A a10 B a3,5 C a(5) D a10-102以下能对一维数组a进行正确初始化的语句是( )A int a10=(0,0,0,0,0); B int a2=3,2,1;C int a=0; D int a10=10;3若有说明:int a34;则对a数组元素的正确引用是( )A a24 B a1,3 C a1+10 D a(2)(1)4 以下能对二维数组a进行正确初始化的语句是( )A int a2 =1,0,1,5,2,3; B int a 3=1,2,3,4,5,6;C int a24=1,2,3,4,5,6; D int a 3=1,0,1, ,1,1;5 为了判断两个字符串s1 和s2是否相等,应当使用( )。A if (s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆物品安全培训计划课件
- 民法课件教学
- 1S-2R-Bedaquiline-1S-2R-TMC207-生命科学试剂-MCE
- 保安证笔试考试题及答案
- 江西安全生产条例要点讲解
- 民族风光课件
- 华体科技新质生产力
- 新质生产力的核心特点
- 新质生产力对消费的影响
- 2025年精神科抑郁症早期干预试卷答案及解析
- 铜川住房公积金管理办法
- 医院防疫员考试试题及答案
- 腹部血管超声诊断
- 电厂设备主人管理制度
- 酱油制作小作坊管理制度
- 1.1《沁园春·长沙》课件中职语文高一(高教版2023基础上册)
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 《服装商品企划实务与案例》课件第一章
- 幼儿园户外运动发展教研计划
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 《帕金森病的护理》课件
评论
0/150
提交评论