C语言程序设计复习含答案1.doc_第1页
C语言程序设计复习含答案1.doc_第2页
C语言程序设计复习含答案1.doc_第3页
C语言程序设计复习含答案1.doc_第4页
C语言程序设计复习含答案1.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习题1一、选择题1.下列标识符中,(B)是合法的用户标识符。A. A#C B. getch C.void D. ab*2.在c语言中,字符数据在内存以(D)形式存放。A. 原码 B.BCD码 C.反码 D.ASCII码3.下列不合法的用户标识符是(C)。A._123 B.printf C.A$ D.Dim4.(A)是构成c语言程序的基本单位。A.函数 B.过程 C.子程序 D.子列程5.若有说明:char s1=067;char s2=“1”;char s3=1;则:s1中(1),s2中(2),s3中(3)。(1) A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明符不合法(2) A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明符不合法(3) A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明符不合法6.若x为int型变量,则执行以下语句后,x的值为(B). x=6; x+=x-=x*x;A.36 B.-60 C.60 D.-247.若i,j,k为int型变量,则执行以下语句后,表达式的值为 (C) i=j=k=3; (i+)+(i+)+(i+); (j+)+(j+)+(+j); (+k)+(+k)+(+k);A.12,12,12 B.12,12,18 C.9,12,18 D.9,10,188.若k为int型变量,则执行以下语句后,表达式的值为(B) k=5; (k=3*5,k*4),k+5;A.5 B.20 C.15 D.259.若有以下类型语句: char w;int x;float y;double z; 则表达式w*x+z-y的结果为(D)类型A.float B.char C.int D.double10.在一个C源程序中,注释部分两侧的分界符分别为(C).A.;和; B./和/ C./*和*/ D.*和*11.下述程序的输出结果是( C)#include “stdio.h”main()int x=65,y=353; printf(“%c,%c”,x,y);A.a,A B.65,353 C.A,a D.353,6512.下述程序的输出结果是(D)#include “stdio.h”main()int a,b,c; a=(b=4)+(c=2); printf(“%d,%d,%d”,a,b,c); A.0,0,0 B.4,4,2 C.0,4,2 D.6,4,213.C语言中的语句有(C)类A.3 B.4 C.5 D.614.格式符为%-md,输出的位数小于m时,按( B )输出A.右对齐 B.左对齐 C.中间对齐 D.不确定15.下述程序片段中,执行( C )后输出的值为4A.int i=1,j=1; B.int i=0,j=0; i=j=3+; (i=2,i+(j=2); printf(“%d”,i); printf(“%d”,i);C.int i=1,j=1; D.int i=0,j=1; i+=j+=2; j=i+1,i=i+3; printf(“%d”,i); printf(“%d”,i); 16.下述程序的输出结果是( B )#include “stdio.h”main()int a=0x155; printf(“%d,%o,%c”,a,a,a);A.155,155,155 B.341,525,UC.341,525,u D.不确定17.C语言可执行程序的开始执行点是( C )A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数18.下述程序片段的执行结果是( B )int a=-2L;printf(“%dn”,a);A.赋值不合法 B.输出值为-2C.输出为不确定值 D.输出值为219.下述表达式中,( A )可以正确表示x=1的关系 A.(x=1)|(x1|x=1.OR.x=1|x=020.下述程序的输出结果是( C )#include “stdio.h”main()int x=-1,y=4; int k; k=x+=0&!(y-0|+b0) +c; printf(“n%d,%d,%d”,a,b,c);A.0,0,0 B.1,1,1 C.1,0,1 D.0,1,122.下述程序的输出结果是( D )#include “stdio.h” main()int a=1,b=2,c=3,d=4; int m=1,n=1; if(m=ab)&(n=cd) printf(“%d,%d”,a,b); else printf(“%d,%d”,m,n);A.1,2 B.1,1 C.0,0 D.0,123.( D )是不正确的C语言赋值语句A.x=1,y=2; B.x+; C.x=y=5; D.y=int(x);24.若程序执行的输入数据是“2473”,则下述程序的输出结果是( A ) #include “stdio.h” main()int cx; while(cx=getchar()!=n) switch(cx-2) case 0: case 1:putchar(cx+4); case 2:putchar(cx+4);break; case 3:putchar(cx+3); default:putchar(cx+2);A.668977 B.668966 C.6677877 D.668876625.下述程序的输出结果是( B )#include “stdio.h” 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:a+;b+;break; default:a+;b+; printf(“n%d,%d”,a,b);A.1,0 B.2,1 C.1,1 D.2,226.下述for语句( A ) int i,x; for(i=0,x=1;i1.0)x=y;y=z;z=x/y; else break; printf(“%f”,y);A.1.500000 B.1.600000 C.2.000000 D.2.40000030.下述程序运行后,输出的结果是( C )#include “stdio.h” main()int i=1; do switch(i) case 0:putchar(A);break; case 1:putchar(A); default:putchar(A);break; case 2:putchar(A);break; case 3:putchar(A);break; i+; while(i4); A.AA B.AAA C.AAAA D.AAAAA31.下述程序运行后,输出的结果是( B )#include “stdio.h” main()int m,n,sum=0; for(m=1;m=3;m+) for(n=1;n=3;n+) if(m=n) sum=sum+m*n; else continue; printf(“%dn”,sum);A.18 B.14 C.12 D.6测试题1一、 选择题(每小题1分,共20分)1 把C语言编写的源程序转换成目标程序的过程称为: ( B)A编辑 B.编译 C。连接 D。汇编2 以下C语言合法的标识符是:( C)A5h4 B.J5E-10 C. int3 D. *p3 下列数据中,符合C语言十进制整形常量的是: (D )A09876 B。0x9876 C. 9e4 D. -98764 C语言中运算对象为整形数的运算符是: (A )A% B。/ C. = D. *=5 占用内寸2个字节的数据类型说明符是:(B )Achar B. int C. float D.double6 设int a=20;则表达式a/=a+a运算后a的值是:(A )A. 0 B. 1 C. 20 D.407 若a,b为int型变量,则执行以下语句后,a的值是:(B )a=1; b=10; dob-=a; a+ while(b-0) Y=a * x +y;C. if(x=0) D. for(; x0; ) While(x0) y= a * x + y; y= a * x +y;10 在for, while, do while的循环语句中,用于中断结束循环的语句是:( A) Abreak B. continue C. switch D. if11 设有数据定义语句:char string110=”ABCDE”, string210=”xyz”; 执行语句:printf(“%d”,strlen(strcpy(string1,string2);后的输出结果是:( D)A. 9 B. 8 C. 5 D. 312 执行下列程序段后,i的正确结果是:(D) int i=10; switch(i) case 9: i+=1; case 10: i+; case 11: +i; default: i+=i; A. 10 B. 11 C. 12 D. 2413 函数调用返回值的类型取决于:( D ) A函数return语句中返回值的类型 B。形参的类型 C实参的类型 D。该函数的定义类型14 设有函数A和函数B,函数的嵌套调用是指:( B) A函数A调用函数B B. 主函数调用函数A,函数A又调用函数B C函数B调用函数B D. 函数B调用A,而函数A又调用函数B15 设数组定义为int a5;则正确引用数组元素的是:(A ) A. a0 B. a5 C. a2,3 D. *a16 设初始化语句char s4=”123”;则数组元素s3的值是:(C ) A1 B。3 C。0 D。非法17 设定义一个结构类型如下: struct student char name10; char address50; long post; long tel; 则在定义该结构变量struct student Li后,系统分配给变量Li的内存单元字节数是:(C ) A 4 B。62 C。68 D。10218 如果某变量在定义时,省略了存储类型,则默认的存储类型是:(A ) A. auto B. void C. extern D. static19 设有语句定义:int x=1, 3, 5, 7, 9, 11, 13, *p=x;不能正确引用数组x的合法元素的表达式是:( B) A. *(p-) B. *(-p) C. *(p+) D. *(+p)20 设a=5, b= 6, c=7, d=8, m=2, n=2, 执行(m=ab)&(n=cd)后,n的值是:(B) A. 1 B. 2 C. 3 D.4二、 填空题(每空0.5分,工20分)1 C语言有_整型_、_实型_、_字符型_、_字符串_、符号等5种基本类型的常量。2 转义字符是由_符号开头的特殊字符或若干个数字组成的。3 +和属于_单目_运算符。4 在逻辑运算符中,只有_!_运算符的优先级高于算术运算符。5 C语言程序设计的三种基本结构是_顺序_、_选择_、_循环_。6 能表达“20x30或x-100”的C语言表达式是_(x20)|(x-100)_。7 设变量的定义如下:char a; int b; float c; double d;则表达式a * b + c/d值的类型为:_double_。8 设int k, i=3, j=4;则执行k=(+i)+(j-);语句后k, i和j的值分别为_8_、_4_、_3_。9 C语言中规定逻辑表达式的真值为:_1(非零)_、假值为_0(零)_。10 for语句的定义形式为:for(_循环变量初值_、_循环条件_、_循环变量增值_)。11 若a=1, b=2,表达式a+=b-=a*=a+b之值为_2_;表达式(a2之值为_1_;表达式c=a+3,b=c+(a+b)之值为_7_;表达式a+2=b?(c=0) : (d=1)之值为_1_;12 C语言的函数主要由_函数的说明部分_和_函数体_两部分组成。13 C语言中调用函数时,函数参数的传递方式主要有_值传递_、_地址传递_。14 若使用库函数,一般应在本文件开头处用_#include_命令将有关库函数所用到的信息包含到本文件中来。15 设char c=“China”,则字符数组c有_6_个元素。16 定义结构变量首先应该定义_结构类型_,然后才能定义结构变量。17 设int a=5, *p=&a;该定义语句中的指针标识符是_p_;*p的值是_5_。18 从变量的作用域来分,变量可分为_全局变量_和_局部变量_;从变量的存在时间或内存存放的区域来分,变量可分为_静态存储变量_和_动态存储变量_。19 C语言对文件的操作必须按照打开文件、_对文件进行读/写_、_关闭文件_三步进行。20 在函数体内出现调用该函数本身时,它就是_递归调用_函数。三、 判断题(正确的:画“”;错误的:画“”,每小题1分,共10分)1 C语言是一种面向机器的语言。( )2 在C语言中无论什么语句后面都必须加上“;”号。( )3 Y=X2+1是C语言合法的表达式。( )4 在编写C语言的子函数中允许使用多条return语句。( )5 C语言允许局部变量与全局变量同名。( )6 IF是C语言的保留字,又称关键字。( )if7 do-while语句是先执行循环体,再判断条件,当条件满足时继续执行循环体。( )8 C语言的数组元素下标允许是任何类型的表达式。( )9 C语言中不能将一个结构变量作为一个整体进行输入/输出。( )10 C语言中一个指针变量只能指向相同类型的变量的地址。()四、 程序填空(每小题分,共分)程序说明从读入的整数中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。程序#include “stdio.h” main() _int_ n, i, j; printf(“Enter INT number, with 0 to endn”); i=j=0; scanf(“%d”,&n); while(_n!=0_) if(n0) i=_i+1_; if(n=0_; i-) printf(%ld”, bi); printf(“n”); 程序说明找出数组中最大值和此元素的下标。程序#include “stdio.h” main() int a10, *p, *s, i; for(i=0; i10; i+) scanf(“%d”, &ai); for(p=a,s=a; _p-a_*s) s=_p_; printf(“max=%d, index=%dn”, _*s_,_s-a_); 五、 程序分析(每小题5分,共20分)#define M(a, b) (a)(b)?(a) : (b)main() int n, i=10, j=20; n=10+M(i,j); printf(“n=%dn”, n);答案:n=30main() int n; for(n=15; n0) switch(i) case 1: sum=sum+1; case 2: break; case 3: case 4: sum-=2; break; i-; printf(“i=%d sum=%f”, i, sum);答案:i=0 sum=7.000 000struct student char name20; char sex; int age;struct student stu3=“LiLin”,M,18, “ZhangLi”, M, 17, “WangMin”, F, 20;main() struct student *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论