
C程序设计有关试题与答案宣贯.pdf
11页1 C语言程序设计总复习题一、选择题1 以下选项中正确的整型常量是A)12. B)-20 C)1,000 D)4.56 答案: B 2 以下选项中正确的实型常量是A)0 B)3.1415 C)0.329 102D) 871 答案: B 3 C 语言中运算对象必需是整型的运算符是A)% B)/ C)! D)* 答案: A 4 可在 C 程序中用作用户标识符的一组标识符是A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG 答案: B 5 Microsoft C+中 int 类型变量所占字节数是A)1 B)2 C)3 D)4 答案: D 2.12 不合法的八进制数是A)0 B)028 C)077 D)01 答案: B 6 若 a、 b、 c、 d 都是 int 类型变量且初值为0, 以下选项中不正确的赋值语句是A) a=b=c=100; B) d+; C) c+b; D) d=(c=22)-(b+); 答案: C 7 以下程序的输出结果是A) 0 B) 1 C) 3 D)不确定的值main() int x=10,y=3; printf(%dn, y=x/y); 答案: C 8 若变量以正确定义,要将a 和 b 中的数进行交换,下面正确的语句组是A) a= b;b=a;a=a-b; B)a=t;a=b;b=t; C) t=a; a=b; b=t; D)b=t; b=a; a=t; 答案:C 9 若有以下程序段, c3 中的值是A) 0 B) 1/2 C) 0.5 D) 1 int c1=1,c2=2,c3; c3=c1/c2; 答案: A 10 下列运算符中优先级最高的运算符是A) ! B) % C) = D) & 答案: A 11 为表示关系xyz,应使用的C 语言表达式是A) (x=y)&(y=z) B) (x=y)AND(y=z) C) (x=y=z) D) (x=y)&(y=z) 答案: A 12 以下程序段的输出结果是A) 15 B) 14 C) 不确定D) 0 main() int i,sum=0; for(i=1; i6; i+) sum+=i; printf(%dn,sum); 答案: A 13 C 语言中,字符( char)型数据在微机内存中的存储形式是A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 答案: D 14 判断 char 型 变量c 是否 为 大 写 字 母 的最 简 单 且 正 确的 表达 式 是A) ,A? =c=? A? )&(c= ? Z ? ) C) (,A? =c) D) (c=?A? )&(c= ? Z? ) 答案: D 15 以下说法中正确的是A) C 语言程序总是从第一个定义的函数开始执行B) 在 C 语言程序中,要调用的函数必须在main 函数中定义C) C 语言程序总是从main 函数开始执行D) C 语言程序中的main 函数必须放在程序的开始部分答2 案:C 16 若 i,j 已定义为int 类型,则以下程序段中循环体的执行次数是()for (i=6; i;i- -) for (j=0; j5; j+ ), 20 24 30 25 17 设 x 为整型变量,不能正确表达数学关系:3x7 的 c语言表达式是()x=4| x=5| x=6 3x3& x7 !(x=7) 18 正确的标识符是()x_2 x1 x=2 ?x 19 以下叙述不正确的是D 。
A) 一个 C 源程序可由一个或多个函数组成B) 一个 C 源程序必须包含一个main 函数C) 程序的基本组成单位是函数D) 在程序中,注释说明只能位于一条语句的后面20 以下正确的函数定义形式是()double fun( int x;int y)double fun( int x,int y)double fun( int x,y)double fun(x,int y)21 若 x, i,j 和 k 都是 int 型变量,则计算下面表达式后,x 的值为Cx=(i=4,j=16,k=32) A) 16) 32) 52 22 在语言中,char 型数据在内存中的存储形式是D补码)反码)原码)码23 若有说明: int x,y=5,*p=&y ,则与 *&x=*p ;等价的语句是()x=y y=*p x=&y y=&x 24 已知学生记录描述为struct student int no;struct int year;int month;int day; birth ; s;设变量 S中的“生日”应是“1984 年 11月 11 日” ,下列对“生日”的正确赋值方式是()s birthyear=1984; birthyear=1984; sbirth month=11; birthmonth=11; sbirthday=11; birth day=11; syear=1984; year=1984; smonth=11; month=11; sday=11; day=11; 25 根据题目中给出的数据输入和输出形式,程序中输入输出语句的正确内容是B 。
main() int x; float y; printf(“ enter x,y:”)输入语句3 输出语句 输入形式enter x,y:2 ,3.4 输出形式x+y=5.40 A)scanf( “ %d%f ” ,&x,&y);print f( “ nx+y=%4.2f ” ,x+y)B)scanf( “ %d,%f” ,&x,&y); print f( “ nx+y=%4.2f ” ,x+y)C)scanf( “ %d,%f” , x, y);print f( “ nx+y=%6.1f ” ,x+y)D)scanf( “ %d%3.1f” ,&x,&y);print f( “ nx+y=%4.2f ” ,x+y);26 在 C 语言中,合法的长整型常数是()1297560 0.05678 2.1869e10 0L 27 设 x 为 5,执行下列语句后,y 的值不为 2 的是()y=x/2 y=6-(- -x) y=x%2 y=x3?2:2 28设有程序段int k=10 ;while (k=0) k=k-1 ;则下面描述中正确的是C A) while 循环执行10 次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次29C 语言中 while 和 do-while 循环的主要区别是A 。
A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句30 若有说明: int a10;则对 a 数组元素的正确引用是D A) a10 B) a3.5 C) a(5) D) a10-10 31 以下不能对二维数组a 进行正确初始化的语句是A A) int a23= 0 B) int a2 3=1,2,0 C) int a23=1,2,3,4,5,6; D) int a 3=1,2,3,4,5,6 ;4 32 下面函数调用语句含有实参的个数为()func((exp1,exp2), (exp3,exp4,exp5) ) ;1 4 2 5 33 设 x 为 5,执行下列语句后,y 的值不为2 的是 _C_ A) y=x/2 B) y=6-(- -x) C) y=x%2 D) y=x3?2:2 34 C 语言允许函数不返回值,此时该函数的类型是B A) float 型B) void 型C)long 型D) double 型27若用数组名作为函数调用的实参,传递给形参的是A 。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数35 以下程序中调用scanf函数给变量a 输入数值的方法是错误的,其错误原因是B main() int *p,*q,a,b; p=&a; printf(“ input a:” );scanf( “ %d ” ,*p); ) *p 表示的是指针变量的地址) *p 表示的是变量a 的值,而不是变量a 的地址) *P 表示的指针变量p 的值) *p 只能用来说明p 是一个指针变量36 变量的指针,其含义是指该变量的B A)值B)地址C)名D)一个标志37 若有以下定义,则对a 数组元素地址的正确引用是D int a5,*p=a; A) p+5 B) *a+1 C) &a+1 D) &a0 38 字符串“ ABC ”在内存占用的字节数是( )3 8 6 4 39 若有以下定义: char x,int y,float t, double v,则表达式 x*y+t v 值的类型为 ()char double int float 40 若有以下的定义,则值为4 的表达式是()5 int a =1 ,2, 3,4,5,6,*p=a ;p+=2,*(p+) p+=3,*p+ p+=4,*p+ p+=3,*+p 二、填空题:1 在 Microsoft c+环境中运行一个C 程序时,所运行的程序的后缀是_。
答案:.exe 2 C 语言源程序文件的后缀是_,经过编译后,生成文件的后缀是_,经过连接后,生成文件的后缀是_答案: .c .obj .exe 3 结构化程序由 _、_、_三种基本结构组成答案:顺序、选择、循环4 若 k 为 int 整型变量且赋值11请写出运算k+后表达式的值A)_和变量的值 B)_ 答案: 11、12 5 函数体由符号 _开始,用符号 _结束函数体的前面是_部分,其后是_部分答案: 、定义、执行6 在 C 语言程序中, 用关键字 _定义基本整型量, 用关键字 _定义单精度实型变量,用关键字 _定义双精度实型变量答案: int、float、double 7 把 a1、a2定义成单精度实型变量, 并赋初值 1 的定义语句是 _ 答案:float a1=1.0,a2=1.0;8 表达式 3.5+1/2 的计算结果是 _ 答案: 3.5 9 表达式 s=10应当读做 “_” 答案:将 10 赋给变量 s 10 计算机中内存储器的最小存储单位称_,其中能容纳的数是_ 答案:位、0 或 1 11 在 C 语言中整数可用 _进制数、_进制数和 _进制数三种数制表示答案:十、八、十六12 复合语句在语法上被认为是_。
空语句的形式是 _ 答案:一条语句、 ;13 C 语句的最后用 _结束 答案: ;14 以下程序段的输出结果是_15 C 语言中用 _表示逻辑值 “ 真” ,用_表示逻辑值 “ 假” 答案:非 0、0 16 将下列数学式改写成C 语言的关系表达式或逻辑表达式A)_B)_A)a=b 或 a4 答案: A)a=b|a4|x100) printf(%dn,a100); else printf(%dn,a0) B) !0 答案:A) 6 xc) b=a; a=c; c=b; 答案: 3、2、2 20 以下程序段的输出结果是_int k,n,m; n=10; m=1; k=1; while(k=n) m*=2; printf(%dn,m); 答案:死循环21 一个 C 源程序至少包含一个_ main _函数 C 程序是由 _函数_构成22 在一个 C 源程序中,注释部分两侧的分界符分别为_/* _和_*/_23 请写出数学式“cba*”的 C 语言表达式a/b/c 24*后跟指针变量名,表示该指针变量_指向的变量_25 函数中的形参和调用时的实参都是数组名时,传递方式为_地址_传递方式26 设 int a20,*p=a ;则对 a5的引用可以是p5。
27 C 语言中的标识符只能由三种字符组成,它们是字母、 数字和下划线_28 请写出数学式dcba的 C 语言表达式(a+b)/(c+d) 29 设有char *。












