C语言6
- 格式:doc
- 大小:119.00 KB
- 文档页数:11
一、选择正确的答案填在题前的括号内()1、C程序的基本构成单位是()A、子程序B、过程C、函数D、文件()2、C语言中要求操作数都为整型数据的算术符是()A、/B、!C、%D、= =()3、若int x=1,y=1;则表达式(!x||y--)的值是()。
A、0B、1C、2D、-1()4、能正确表示逻辑关系:a≥10或a≤0的C语言表达式()A、a>=10 or a<=0B、a>=0|a<=10C、a>=10 && a<=0D、a>=10||a<=0()5、double x,y;表达式x=1,y=x+3/2的值是()。
A、1B、2C、2.0D、2.5()6、若有定义int a[10],则a代表的是数组a的()A、第一个元素B、最后一个元素C、首地址D、最后一个元素的地址()7、有如下函数调用语句:func(r1,r2+r3,(r4,r5));该函数调用语句中,含有实参的个数是()A、3B、4C、5D、有语法错误()8、若有定义int *p,a;p=&a;则*p表示的是()。
A、变量a的地址B、变量a的值C、变量p的值D、变量p的地址()9、C语言中,while和do—while循环的主要区别是()。
A、do—while的循环体至少执行一次B、while的循环体至少执行一次C、do—while的循环体是复合语句D、while的循环体可以是复合语句()10、如果有函数circle(320,240,40),则该函数所绘制的图形是一个()A、长方形B、正方形C、三角形D、圆二、阅读程序,写出程序的运行结果1、main( ){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%d,%c\n”,c1,c2,c3);}程序的运行结果是:2、main( ){int a=5,b=6,c;c=a;if(a>b) c=1;else if(a= =b) c=0;else c=-1 ;printf(“c=%d\n”,c);}程序的运行结果是:3、main( ){int a=10,y=0;do{a+=2;y+=a;printf(“a=%d y=%d\n”,a,y);}while(a!=14);}程序的运行结果是:4、main( ){int i;int f[4]={1,1};for(i=2;i<4;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<4;i++)printf(“%d ”,f[i]);}程序的运行结果是:5、main( ){int a=10, b=20, t;int *p1, *p2;p1=&a; p2=&b;scanf (“%d, %d”, p1, p2);if (*p1<*p2){t=*p1; *p1=*p2; *p2=t;}printf (“%d, %d\n”, *p1, *p2);}程序的运行结果是:三、完善程序1、下面程序是输入10个学生的成绩,计算输出平均分。
main( ){int i, a[10];float sum=0;mul=1,ave;for(i=0;i<10;i++){scanf(“%d”,&a[i]);sum= ;}ave= ;printf(“%f,%f,%f\n”,sum,mul,ave);}2、用冒泡法对10个数由小到大排序。
main( ){int a[11],i,j,t;for(i=1;i<=9;i++)scanf(“%d”,&a[i]);for(j=1;j<=9;j++)for(i=1; ;i++)if( ){t=a[i]; ;a[i+1]=t;}for(i=1;i<=10;i++)printf(“%d ”,a[i]);}四、判断题()1、C语言的整型常量分为二进制数、八进制数和十六进制数。
()2、表达式1/2与表达式1.0/2.0的结果相同。
()3、已知x为float型,执行语句(int)x后,x的类型为整型。
()4、已知a=1,b=2,c=3,则表达式(a>b>c)的值为1(真)。
()5、数组名代表的是数组的首地址。
五、改错1、int a;scanf(“%d”,a);错误:改正:2、char ch=“a”;int x;错误:改正:3、float x=3.14;printf(“%d”,x);错误:改正:4、int a[ ]={“123456”};错误:改正:5、int *p;float c;p=&c;错误:改正:六、编程题1、编写一个求三个数中最大数的函数。
2、编写程序,找出100到200之间的素数。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@1、C语言中要求操作数都为整型数据的算术运算符是()A、/B、&&C、%D、^()2、已知m=5,i=2,则表达式m/i的值为()A、2.5B、2C、0D、3()3、能正确表示逻辑关系:a≥10或a≤0的C语言表达式()A、a>=10 or a<=0B、a>=0|a<=10C、a>=10 && a<=0D、a>=10||a<=0()4、若t为double类型,则表达式:t=1,(t+1)*5的值是()A、1B、1.0C、10D、10.0()5、若有定义int a[10],则a代表的是数组a的()A、第一个元素B、最后一个元素C、首地址D、最后一个元素的地址()6、有如下函数调用语句:func(r1,r2+r3,(r4,r5));该函数调用语句中,含有实参的个数是()A、3B、4C、5D、有语法错误()7、若有定义int *p,a;p=&a;则*p表示的是()。
A、变量a的地址B、变量a的值C、变量p的值D、变量p的地址()8、当定义一个结构体变量时,系统分配给它的内存是()A、各成员所需内存量的总和B、结构中第一个成员所需内存量C、成员中占内存量最大者的容量D、结构中最后一个成员所需内存量()9、在C语言中,共用体类型变量在程序运行期间()A、所有成员一直驻留在内存中B、只有一个成员驻留在内存中C、部分成员驻留在内存中D、没有成员驻留在内存中()10、如果有函数circle(320,240,40),则该函数所绘制的图形是一个()A、长方形B、正方形C、三角形D、圆二、阅读程序,写出程序的运行结果1、main( ){char c1,c2,c3;c2=’c’;c1=c2-1;c3=c2+1;printf(“%c,%c,%c\n”,c1,c2,c3);}程序的运行结果是:2、main( ){int a=5,b=6,c;c=a;if(a>b) c=1;else if(a= =b) c=0;else c=-1 ;printf(“c=%d\n”,c);}程序的运行结果是:3、main( ){int a=10,y=0;do{a+=2;y+=a;printf(“a=%d y=%d\n”,a,y);}while(a!=14);}程序的运行结果是:4、main( ){int i;int f[4]={1,1};for(i=2;i<4;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<4;i++)printf(“%d ”,f[i]);}程序的运行结果是:5、main( ){int a[ ]={6,7,8,9,10};int *p;p=a;*(p+2)+=2;printf(“%d,%d\n”,*p,*(p+2));}程序的运行结果是:三、完善程序1、下面程序是输入10个学生的成绩,计算输出平均分。
main( ){int i, a[10];float sum=0;ave;for(i=0;i<10;i++){scanf(“%d”,&a[i]);sum= ;}ave= ;printf(“%f, %f\n”,sum,ave);}2、用冒泡法对10个数由大到小排序。
main( ){int a[11],i,j,t;for(i=1;i<=9;i++)scanf(“%d”,&a[i]);for(j=1;j<=9;j++)for(i=1; ;i++)if( ){t=a[i]; ;a[i+1]=t;}for(i=1;i<=10;i++)printf(“%d ”,a[i]);}四、选择填空题1、构成C程序的基本单位是()A、函数B、过程C、子程序D、文件2、C语言中宏展开的过程是在()阶段进行的。
A、编译B、链接C、运行D、编译预处理3、运行C源程序的命令是()A、ALT+F5B、ALT+F9C、CTRL+F5D、CTRL+F94、运行完C程序后,查看C程序运行结果的命令是()A、ALT+F5B、ALT+F9C、CTRL+F5D、CTRL+F95、C语句以()结束。
A、,B、:C、;D、/五、改正程序中的错误(10分)说明:找出存在错误所在行1分,改正其错误1分1.按从大到小的顺序输出两个变量的值main( ){int a, b, *p1, *p2;p1=&a; p2=&b;scanf (“%d, %d”, p1, p2);if (p1<p2){t=*p1; *p1=*p2; *p2=t;}printf (“%d, %d\n”, *p1, *p2);}错误1:改正1:错误2:改正2:2.用递归的方法求n!float fac(n){float f;if (n<0) prin tf (“n<0, data error!”);else if (n=0 ||n=1) f=1;else f=(n-1)*n;return(f);}main( ){int n;float y;scanf (“%d”, &n);y=fac(n);printf (“%d!=%15.0f \n”, n, y);}错误1:改正1:错误2:改正2:错误3:改正3:六、编程题编写一个求三个数中最大数的函数。
编写程序,找出100之内的素数。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2()1、C语言中要求操作数都为整型数据的算术运算符是()A、/B、&&C、%D、^()2、已知m=5,i=2,则表达式m/i的值为()A、2.5B、2C、0D、3()3、能正确表示逻辑关系:a≥10或a≤0的C语言表达式()A、a>=10 or a<=0B、a>=0|a<=10C、a>=10 && a<=0D、a>=10||a<=0()4、若t为double类型,则表达式:t=1,(t+1)*5的值是()A、1B、1.0C、10D、10.0()5、若有定义int a[10],则a代表的是数组a的()A、第一个元素B、最后一个元素C、首地址D、最后一个元素的地址()6、有如下函数调用语句:func(r1,r2+r3,(r4,r5));该函数调用语句中,含有实参的个数是()A、3B、4C、5D、有语法错误()7、若有定义int *p,a;p=&a;则*p表示的是()。