一、填空题
1.C源程序的基本单位是函数。
2.一个C源程序中至少应包括一个main(主)函数。
3.在一个C源程序中,注释部分两侧的分界符分别为/* 和*/ 。
4.在每个C语句和数据定义的最后必须有一个; 。
5.C语言本身没有输入输出语句。其输入输出是由函数来完成。
6. 在C语言程序中,用关键字int 定义基本整型变量,用关键字float 定义
单精度实型变量,用关键字double定义双精度实型变量。
7. 写出下列数学式+的c语言表达式1/2*g*t*t+v0*t+s0 。
8. 写出下列数学式
a ac
b
b
x
2
4 2-
+
-
=
的c语言表达式(-b+sqrt(b*b-4*a*c))/(2*a) 。
9.写出下列数学式的c语言表达式(a+b)/(a-b) 。
10. 设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4的值为 2.500000 。
11. 设a=2,b=3,x=3.8,y=6.5,则(float)(a+b)/2+(int)x%(int )y的值为 5.500000 。
12.有定义:int a=3,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为4.000000 。
13.若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为 1 。14.若b是int型变量,则表达式b=25/3%3的值为 2 。
15.在C语言中,字符型数据和整型数据之间可以通用。
16.与k=n--完全等价的表达式为k=n;n=n-1; 。
17.执行下列语句后,a的值为-264。
int a=12;
a+=a-=a*a;
18.若有定义:char c=’\010’;则变量C中包含的字符个数是 1 个。
19. 将数学式a=b或a 20. 将数学式|x|<6改写成C语言的关系表达式或逻辑表达式)x-6 。 21. 在printf格式字符中,只能输出一个字符的格式字符是%c ;用于输出字符串的格式字符是%s ;以小数形式输出实数的格式字符是%f ;以标准指数形式输出实数的格式字符是%e 。 22. 若有以下定义:double f[10];,则w数组元素下标的上限是9 ,下限是0 。 23. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是int。 24. 若已知a=10, b=20, 则表达式!a 25. 设有数组定义:char array [ ]="China";,则数组array所占的空间为 6 个字节。26.设a、b、c为整型数,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c)后,a的值是28。 27.若a是int型变量,则表达式(a=4*5, a*2), a+6的值为26。 28.有如下函数调用语句:func(rec1, rec2+rec3, (rec4, rec5)); 在该函数调用语句中,含有的实参个数是3。 29. 在C语言中,变量的隐含存储类别是auto。 30. 若定义一个三维数组fw[3][4][5],则该数组的元素个数是60。 二、选择题 1.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序的main函数结束 2.以下叙述正确的是()。 A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是()。 A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 4.C语言规定,在一个源程序中,main函数的位置()。 A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 5.一个C语言源程序是由()。 A) 一个主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 6.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。 A) 必须为字母B) 必须为下划线 C) 必须为字母或下划线D) 可以是字母、数字和下划线中任一种字符 7.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。 A) -10 0x8f -011 B) 0abc -017 0xc C) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa 8.在C语言中,char型数据在内存中的存储形式是()。 A) 补码B) 反码C) 原码D) ASCII码 9.以下选项中属于C语言的数据类型是()。 A) 复数型B) 逻辑型C) 双精度型D) 集合型 10.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息 11.已有定义int a= -2; 和输出语句printf(“%8x”,a); 以下正确的叙述是()。 A) 整型变量的输出形式只有%d一种 B) %x是格式符的一种,它可以适用于任何一种类型的数据 C) %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的 D) %8x不是错误的格式符,其中数字8规定了输出字段的宽度 12.若t 为double类型,表达式t=2,t+1,t++的值是()。 A) 11.0 B) 2.0C) 9.0 D) 3.0 13.若t为double类型,表达式t=1, t+5, t++的值是()。 A) 1 B) 6.0 C) 2.0 D) 1.0 14.下列程序的运行结果是()。 #include main() { int a=2,c=5; printf("a=%d,b=%d\n",a,c); } A) a=%2,b=%5 B) a=2,b=5 C) a=d,b=d D) a=2,c=5 15.在下列叙述中,错误的一条是()。 A) printf函数可以向终端输出若干个任意类型的数据 B) putchar函数只能向终端输出字符,而且只能是一个字符 C) getchar函数只能用来输入字符,但字符的个数不限 D) scanf函数可以用来输入任何类型的多个数据 16. C语言中运算对象必需是整型的运算符是(A )。 (A)% (B)/(C)+ (D)* 17.下列运算符中优先级最高的运算符是 A 。 (A)!(B)|| (C)* (D)&& 18. 只能向终端输出一个字符的函数是()。 A) printf函数B) putchar函数 C) getchar函数D) scanf函数 19.运行以下程序后,输出。 (A)#### (B)&&&&(C)####&&&& (D)有语法错误不能通过编译#include void main( ) { int k=5; if (k<=0) printf("####\n"); else printf("&&&&\n"); } 20.为表示关系x≥y≥z,应使用的C语言表达式是。 (A)(x>=y)&&(y>=z) (B)(x>=y)AND(y>=z) (C)(x>=y>=z) (D)(x>=y)&(y>=z) 21.以下程序的输出结果是。 (A)0 (B)1 (C)2 (D)3 #include void main( ) { int a=4,b=-1,c=3; if (a if (b<0) c=0; else c+=1; printf("%d\n",c); } 22. 以下叙述正确的是()。 (A)do-while语句构成的循环不能用其它语句构成的循环来代替。 (B)do-while语句构成的循环只能用break语句退出。 (C)用do-while语句构成循环时,只有在while后的表达式为非零时结束循环。 (D)用do-while语句构成循环时,当在while后的表达式为零时结束循环。 23. 以下程序段的输出结果是()。 (A)1 (B)3 0 (C)1 -2 (D)死循环 int x=3; do { printf("%3d", x-=2); } while(!(--x)); 24. 以下程序的输出结果是()。 (A)*#*#*#$ (B)#*#*#*$ (C)*#*#$ (D)#*#*$ #include void main( ) { int i; for(i =1; i<=5; i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } 25. 以下程序段的输出结果是()。 (A)12 (B)15 (C)20 (D)25 int i,j,m=0; for(i=1; i<=15; i+=4) for(j=3; j<=19; j+=4) m++; printf("%d\n", m); 26.以下数组声明语句中正确的是()。 (A)int a,a[n]; (B)int a[ ]; (C)int a[2][3]={{1},{2},{3}}; (D)int a[ ][3]={{1},{2},{3}} 27. 为了判断两个字符串s1和s2是否相等,应当使用()。 (A)if (s1= =s2) (B)if (s1=s2) (C)if (strcpy(s1,s2)) (D)if (strcmp(s1,s2)= =0) 28. 已知有声明语句char s1[10]="abcde",s2[10]= "12345",s3[10];以下语句中能将s1中存储的字符串和s2中存储的字符串正确交换的是()。 (A)s3=s1; s1=s2; s2=s3; (B)s3[0]=s1[0]; s1[0]=s2[0]; s2[0]=3[0]; (C)strcpy(s3[0],s1[0]); strcpy(s1[0],s2[0]); strcpy(s2[0],s3[0]); (D)strcpy(s3,s1); strcpy(s1,s2); strcpy(s2,s3); 29.设有程序段 int k=10; while(k=0) k=k-1; 则下面描述中正确的是()。 A) while循环执行10次 B) 循环是无限循环 C) 循环体语句一次也不执行D) 循环体语句执行一次 30.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()。 for(i=5;i<0;i--) for(j=0;j<4;j++){ } A) 20 B) 24 C) 25 D) 30 31.在下列叙述中,错误的一条是()。 A) 主函数main中定义的变量在整个文件或程序中有效 B) 不同函数中,可以使用相同名字的变量 C) 函数中的形式参数是局部变量 D) 在一个函数内部,可在复合语句中定义变量,这些变量只在本复合语句中有效 32.在C语言的函数中()。 A) 必须有形参B) 形参必须是变量名 C) 可以有也可以没有形参D) 数组名不能作形参 33.在C语言中,变量的隐含存储类别是()。 A) auto B) static C) extern D) 无存储类别 34.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。 A) 地址传递B) 单向值传递 C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定 35.在下列#include命令中,正确的一条是()。 A) #include[string.h] B) #include{math.h} C) #include(stdio.h)D) #include 36.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include 命令是()。 A) #include C) #include 37.以下说法中正确的是()。 A) #define和printf都是C语句B) #define是C语句,而printf不是 C) printf是C语句,但#define不是D) #define和printf都不是C语句 38.有以下程序段 int k=0; while(k=1) k++; while循环执行的次数是()。 A) 无限次B) 有语法错,不能执行 C) 一次也不执行D) 执行1次 39. 10.宏定义#define PI 3.1415926的作用是:指定用标识符PI来代替一个()。 A) 单精度数B) 字符串C) 双精度数D) 整数 40.已知字母A的ASCII码值为65,且ch为字符型变量,执行语句:ch='B'+'6'-'3';后,则printf("%c",ch);的输出结果为()。 (A)B (B)69 (C)D (D)E 三、读程序写结果: 1. 下面的程序当输入为字符串"qwert?"时的输出结果是rxfsu。 #include void main( ) { char c; while((c=getchar())!='?') putchar(++c); } 2.运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果是m=1 。 main() {int m,n; scanf(“%d%d”,&m,&n); while(m!=n) {while(m>n) m-=n; while(n>m) n-=m; } printf(“m=%d\n”, m); } 3. 若j为int型变量,则以下for循环语句的执行结果是7 4。 #include main( ) { int j; for(j=10;j>3;j--) {if(j%3) j--;--j;--j;printf("%d ",j);} } 4.以下程序的运行结果是A+B=6 。 #include int a=5;int b=7; int plus(int x,int y); main( ) { int a=6,b=5,c; c=plus(a,b); printf("A+B=%d\n",c); } int plus(int x,int y) { int z; z=x+y; return(x); } 5.当从键盘输入20并回车后,下面程序的运行结果是10100 。 #include main( ) { int x,y,i,a[8],j,u,v; scanf("%d",&x); y=x; i=0; do { u=y/2; a[i]=y%2; i++; y=u; }while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); } 6.以下程序的运行结果是40 。 #include int max(int x,int y) { int z; z=(x>y)?x:y; return(z); } main( ) { int a=40,b=25,c; c=max(a,b); printf(" %d\n", c); } 7. 以下程序的输出结果是720 。 #include int kw(int b[], int n) { int i,r=1; for( i=0; i<=n;i++) r= r*b[i]; return r; } main( ) { int x, a[]={2,3,4,5,6,7,8,9}; x=kw(a,4); printf("%d\n",x); } 8.写出以下程序的输出结果是24。 unsigned func( unsigned num) { unsigned k=1; do { k*=num%10; num/=10; } while(num); return k; } main( ) { unsigned n=38; printf("%d\n",func (n)); } 9. 以下程序的输出结果是harbin 。#include main( ) { char s1[20]= "harbin",s2[20]= "howareyou"; if(strcmp(s1,s2)<0) printf("%s\n", s1); else printf("%s\n", s2); } 10. 以下程序的输出结果是14.5 。#include double sub(double x,double y,double z) { y-=1.0; z=z+x; return z; } main( ) { double a=3.5, b=9.0; printf("%f\n",sub(b-a,a,b)); getch(); } 题组训练 选择填空题组训练一 (时间:45分钟 分值:54分 得分:__________) 一、选择题(本大题10小题,每小题3分,共30分) 1.9的相反数为( ) A .-19 B .1 9 C .9 D .-9 2.(2017重庆)下列图形中是轴对称图形的是( ) 3.(2017广元)根据央视报道,去年我国汽车尾气排放总量大约为47 000 000吨.将47 000 000用科学记 数法表示为( ) A .0.47×108 B .4.7×107 C .47×107 D .4.7×106 4.一个多边形的内角和是1 440°,这个多边形的边数是( ) A .10 B .9 C .8 D .7 5.在某校举行的“汉字听写”大赛中,七名学生听写汉字的个数分别为:35,31,32,25,31,34,36,则这组数据的中位数是( ) A .33 B .32 C .31 D .25 6.关于x 的一元二次方程2x 2-3x +m =0有两个不相等的实数根,则实数m 的取值范围是( ) A .m >98 B .m =98 C .m <98 D .m <-98 7.下列运算正确的是( ) A .x 2·x 6=x 12 B .(-6x 6)÷(-2x 2)=3x 3 C .2a -3a =- a D .(x -2)2=x 2-4 8.(2017扬州改编)在一列数:a 1,a 2,a 3,…,a n 中,a 1=3,a 2=7,从第三个数开始,每一个数都等于它前两个数之积的个位数字,则这一列数中的第7个数是( ) A .1 B .3 C .7 D .9 9.若△ABC ∽△DEF ,AB D E =1 4 ,△ABC 的面积为2,则△DEF 的面积为( ) A .32 B .16 C .14 D .1 8 10.如图1,点P 是平行四边形ABCD 边上一动点,沿A →D →C →B 的路径移动,设P 点经过的路径长 为x ,△BAP 的面积是y ,则大致能反映y 与x 之间的函数关系的图象是( ) 图1 二、填空题(本大题6小题,每小题4分,共24分) 11.分解因式:3x 2-6x =__________. 12.-8的立方根是__________. 13.不等式组????? 12x ≤1, 2-x <3 的整数解的和是__________. 14.(2017重庆)如图2,BC 是⊙O 的直径,点A 在圆上,连接A O ,AC ,∠A O B =64°,则∠ACB = __________. 图2 15.已知一个三角形的三条边长为3,5,x ,则x 的取值范围是__________. 16.如图3,将矩形纸片ABCD 折叠,使点D 与点B 重合,点C 落在C ′处,折痕为EF ,若AB =1, BC =2,则BF = __________. 图3广东省中考数学总复习选择填空题组训练(1)含答案
选择填空(一)