C语言模拟题
- 格式:doc
- 大小:49.00 KB
- 文档页数:20
一、选择题(每小题2分,共30分)1.在程序中可以用来作为变量名的合法的标识符是:________。
A、intB、stu_1tC、2a1D、#552.以下叙述正确的是。
A、在C程序中main函数必须位于程序的最前面B、一个C程序只能有一个函数C、一个C程序有并且只能有一个main函数D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.已知:char str1, str2[10]; 选择正确的输入语句:________。
A、scanf ("%s%c", &str1,str2);B、scanf ("%s%s", &str1,str2);C、scanf ("%c%c", &str1,str2);D、scanf ("%c%s", &str1,str2); 4.判断char型变量CH是否为小写字母的正确表达式。
A、‟a‟<=CH<=‟z‟B、(CH>=‟a‟)&(CH<=‟z‟)C、(CH>=‟a‟)&&(CH<=‟z‟)D、(…a‟<=CH)AND(…z‟>=CH)5.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是。
if(x>y)z=x;x=y;y=z;A、x=10,y=20,z=30B、x=20,y=30,z=30C、x=20,y=30,z=10D、x=20,y=30,z=206.设有程序段int k = 10 ;while ( k = 0 ) k = k - 1 ; 以下描述正确的是。
A、循环体语句一次也不执行。
B、循环是无限循环。
C、while 循环语句执行十次。
D、循环体语句执行一次。
7.以下程序段中与语句k=a>b?1:0;功能等价的是。
A、if (a>b) k=1;B、if (a>b) k=0;C、k=0; if (a>b) k=1;D、k=1; if(a>b) k=0;8. 如果int a=5,b=8则a>b?(a+b):(b-a)的值为(d )A、5B、8C、13D、39. 已知 int b; 则对指针变量正确的说明和初始化是:______A、int *pb=b;B、int pb=&b;C、int *pb=&b;D、int pb=b;10.C语言中while和do_while循环的主要区别是。
c语言程序设计模拟试题C语言程序设计模拟试题一、选择题(每题2分,共20分)1. C语言中,以下哪个不是合法的变量名?- A. 2variable- B. Variable2- C. variable_2- D. Variable2. 在C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World"- B. 'Hello, World'- C. "Hello World"- D. {"Hello", "World"}3. 以下哪个不是C语言中的基本数据类型?- A. int- B. char- C. float- D. string4. 在C语言中,以下哪个不是运算符?- A. +- B. -- C. *- D. to5. 以下哪个语句是正确的C语言循环语句?- A. do { ... } while;- B. while { ... }- C. for { ... }- D. switch { ... }6. 以下哪个函数是C语言标准库中用于字符到整数的转换? - A. atoi()- B. itoa()- C. atof()- D. strtol()7. 在C语言中,以下哪个不是控制语句?- A. if- B. switch- C. continue- D. return8. 在C语言中,以下哪个是正确的函数声明?- A. int function_name();- B. function_name int;- C. int function_name = 0;- D. int function_name = function();9. 在C语言中,以下哪个是正确的数组声明?- A. int array[10];- B. int [10] array;- C. int array = 10;- D. int array[10] = {0};10. 在C语言中,以下哪个是正确的结构体声明?- A. struct Student { int age; char name[50]; };- B. struct { int age; char name[50]; } Student;- C. Student struct { int age; char name[50]; };- D. struct Student int age; char name[50];二、填空题(每空2分,共20分)1. 在C语言中,一个变量的声明必须在______。
1.一、单选题:(每题1.5分,共60分)1、 C语言程序的基本单位是_______.A. 语句B. 函数C. 程序行D. 字符答案: B2、 C语言程序由( )组成A. 子程序B. 过程C. 函数D. 主程序段程序答案: C3、算法的表示方法有________。
A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、以下程序的输出结果是main( ){ int k=17;printf(“%d,%o,%x \n”,k,k,k);}A. 17,021,0×11B. 17,17,17C. 17,0×11,021D. 17,21,11答案: D5、下列变量定义中合法的是A. short _a=1-.le-1;B. double b=1+5e2.5;C. long do=0xfdaL;D. float 2_and=1-e-3;答案: A6、 C语言中合法的字符常量是____A. ‘\084′B. ‘\X43′C. ‘ab’D. “\0″答案: B7、下面说法中正确的是( )A. int型和long型运算先将int型转换成unsigned型,再转换B. 两个float型运算结果为double型C. 只要表达式中存在double型,所有其他类型数据都必须转D. 表达式中的类型转换与运算顺序有关答案: C8、以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值答案: D9、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A. n=(n*100+0.5)/100.0B. m=n*100+0.5,n=m/100.0C. n=n*100+0.5/100.0D. n=(n/100+0.5)*100.0答案: B10、下列运算符中优先级最高的是A. <B. +C. &&D. !=答案: B11、若变量已正确定义并赋值,下面符合C语言语法的表达式是A. a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7:c+b答案: B12、设CH是字符型变量,其值为’A',下列表达式的值是CH=(CH > =’A'&&CH < =’Z')?(CH+32):CHA. AB. aC. zD. Z答案: B13、表达式18/4*sqrt(4.0)/8值的数据类型为A. intB. floatC. doubleD. 不确定答案: C14、在C语言中,要求运算数必须是整型的运算符是A. /B. %C. !D. >答案: B15、以下说法中正确的是A. #define和printf都是C语句B. #define是C语句,而printf不是C. printf是C语句,但#define不是D. #define和printf都不是C语句答案: D16、下面程序的输出是main(){int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d%d%d%\n”,k,a,b);}A. 0 0 3B. 0 1 2C. 1 0 3D. 1 1 2答案: C17、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a > b)&&(n=c > d)后n的值是A. 1B. 2C. 3D. 4答案: B18、若有条件表达式 (exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是A. (exp==0B. (exp!=0)C. (exp==1)D. (exp!=1)答案: B19、为表示关系X≥Y≥Z应使用C语言表达式:__A. (X > =Y)&&(Y > =Z)B. (X > =Y)and(Y > =Z)C. (X≥ Y≥ Z)D. (X≥ Y)&(Y≥ Z)答案: A20、能正确表示逻辑关系:”a ≥ =10或a ≤ 0″的C语言表达式是A. a > =10 or a< =0B. a > =0||a < =10C. a > =10 && a < =0D. a < =0 || a>=10答案: D21、下面的程序是______main(){ int x=3,y=0,z=0;if (x==y+z) printf(“****”);else printf(“####”);}A. 有语法错误不能过通过编译B. 输出****C. 可能通过编译,但是不能通过连接,因而不能运行D. 输出####答案: D22、执行下面语句后的输出为( )int i= -1;if (i < =0)printf(“****\n”)else printf(“%%%%\n”)A. ****B. %%%%C. %%%%CD. 有语法错,不能执行答案: D23、若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是#include <stdio.h>main(){char c;int v0=0,v1=0,v2=0;do{switch(c=getchar()){case ‘a’:case ‘A’:case ‘e’:case ‘E’:case ‘i’:case ‘I’:case ‘o’:case ‘O’:case ‘u’:case ‘U’:v1+=1;default:v0+=1;v2+=1;}}while(c!=’\n’);printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=12,v1=4,v2=12答案: D24、以下程序的输出结果是main( ){ int n=4;while(n–)printf(“%d “,–n);}A. 2 0B. 3 1C. 3 2 1D. 2 1 0答案: A25、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
C语言程序设计模拟题一、选择题1.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值2.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0 B、0.5 C、1 D、23.有以下程序#include<stdio.h>main(){char *s="ABC";do{printf("%d",*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
程序运行后的输出结果是()A.5670 B.656667 C.567 D.ABC 4.有以下程序#include <stdio.h>main(){int i=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;} while(i!=0);printf("\n");}程序的运行结果是()A.*7 B.*3*5 C.*5 D.*2*65.设i和x都是int类型,则for循环语句()。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10次B. 最多执行9次C. 是无限循环D. 循环体一次也不执行6.下述for循环语句()。
int i,k;for(i=0,k=-1;k=1;i++,k++) printf("* * * *");A. 判断循环结束的条件非法B. 是无限循环C. 只循环一次D. 一次也不循环7. 引用共用体变量中的字符型变量,以下正确的是()A. a.chB. a.f C b.ch.8.以下共用体定义错误的是()A. B Cunion union data union data{ int i; {int i; {int i;char ch; char ch; char ch;float f; float f; float f;}a,b,c; } }union data a,b,c9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。
一.D A C A A B C B A B A A A D C二.TFTFT TFFTF TFFFT FFTTF三. 3 4,4 1 0 0 递归 b 20四1.【参考代码】double y=0;int i;for(i=0; i<=m; i++)y+=1.0/(i+5);return(y);2.【参考代码】int i,max,min;max=min=a[0];for(i=1;i<n;i++)if(a[i]>max) max=a[i];else if(a[i]<min) min=a[i];return(max*min);五1.【参考答案】for (k=4; k<=n; k++)【参考答案】a=b;【参考答案】return d;2.【参考答案】void fun(char *str, char ch )【参考答案】if ( *str == '\0' )【参考答案】str[1] = '\0';六1.【参考答案】i=1【参考答案】200【参考答案】f12.【参考答案】a,bb,a【参考答案】x>yy<x一单选1.下面四个选项中,均是不合法的用户标识符的选项是()。
A、float la0 _AB、A P_0 doC、_123 temp intD、b-a goto int2.表达式18/4*sqrt(4.0)/8值的数据类型为()。
A、doubleB、floatC、intD、不确定3.设:long w=65535,t=7654321;根据下面的输出结果,正确的程序段是( ).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf( "end");4.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
C语言模拟试题(一)一、选择题1、以下字符中不是转义字符的是( A )。
A、 '\c'B、 '\b'C、 '\\'D、 '\a'2、设 a=12,且 a定义为整型变量。
执行语句a+=a-=a*=a;后 a的值为( A)。
A、 0B、 144C、 132D、 123、已定义 float x=,y=;依照下面的输出结果,正确的输出语句是(C ).y+x=,y-x=A、 printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、 printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC、 printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D、 printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后 ,b的值为 (A ).int s=35;char t='A'; int b;b=((s&&4)&&(t<'a'));A、 1B、 3C、 2D、 05 k是整型 ,则以下程序段的执行结果是:(B )k=-3;if(k<=0) printf("####")else printf("&&&&");A、 ####B、有语法错误,无结果C、 &&&&D、 ####&&&&6设 j和 k都是 int 种类,则下面的 for 循环语句( D)。
for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A、最多执行 9次B、是无量循环C、循环体一次也不执行D、最多执行 10 次7 以下正确的描述是(A ).A、只幸亏循环体内和switch 语句内使用 break 语句B、 continue 语句的作用是停止整个循环的执行C、从多层嵌套的外层循环中退出时,只能使用 goto 语句D、在循环体内使用break和 continue 语句的作用相同8 以下能对一维数组a进行正确初始化的语句是(B)。
C语言模拟试题选择题(1)1.若有下列定义:char c[3],*pc=c; 则对c数组元素地址的正确引用是:A. &c[3]B. pc[3]C. pc+2D. &c2.执行语句printf(“%d\n”,strlen(“abc\x41\n”));输出结果是:A. 5B. 7C. 3D. 43设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为:struct student{char name[20];int age;char sex;}stu[5], *p;p=stu;A. scanf("%s", stu[0].name);B. scanf("%d", p->age);C. scanf("%c", &p->sex);D. scanf("%d", &stu[0].age);4若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为:A. 0B. 1C. 2D. 35若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则执行此语句后,a[2][1]得到的初值是:A. 4B. 2C. 6D. 86若有int a=1,b=4,c=3,d=2;语句,则执行完该语句后,条件表达式a<b?a:c<d?c:d的值为:A. 1B. 2C. 3D. 47putchar()函数可以向终端输出一个:A. 整型变量表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值8下列各语句中正确定义了数组的是:A. int a[5],b[2,3];B. char str(30);C. int x[];D. int x[5]={1,2,3};9将整型变量a、b中的较大值为变量c赋值,下列语句中正确的是:A. c= =(a>b)? a:b;B. c=(a>b)?a:b;C. c=if(a>b)a else b;D. (a<b)?c=a:c=b;10若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是:A. 1B. 2C. 2.0D. 2.511以下语句或语句组中,能正确进行字符串赋值的是:A. char s[10]; s="right!";B. char *sp="right!";C. char s[10]; *s="right!"D. char *sp; *sp="right!";12若int a[ ][4]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是:A. 1B. 2C. 3D. 无确定值13若要求以下程序的输出结果是a=5,b=4,则输入数据的形式应该是:#include “stdio.h”main(){ int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b); }A. 5 4B. 5,4C. 5 b=414以下运算符中,优先级最高的是:A. <=B. &&C. =D. ++15以下对C语言函数的描述中,不正确的是:A. C语言中,函数可以嵌套定义B. C语言中,函数可以递归调用C. C语言中,函数可以没有返回值D. C语言程序由函数组成16若有以下定义和语句,则不能访问数组元素的表达式是:int i=2,*p,a[ ]={1,2,3,4,5};p=a;A. *(a+i)B. a[p-a]C. p+iD. *(&a[i])17C语言中NULL表示:A. 空指针B. 变量未找到C. 字符串的结束符D. 文件的结束符18以下程序的运行结果是:#include "stdio.h"main()if (m++>5) printf("%d\n",m);else printf("%d\n", m--);}A. 4B. 5C. 6D. 719以下程序的运行结果是:#include "stdio.h"main(){int a[][3]={{1,2,3},{4,5},{6},{0}};printf("%d,%d,%d\n",a[1][1],a[2][1],a[3][1]); }A. 3,2,1B. 5,0,0C. 4,1,0D. 1,5,020下面程序的运行结果是:#include "stdio.h"main(){int a[10]={2,4,6,8,10,12,14,16,18},*p;p=a+5;printf ("%d,%d\n",*(p+1),*++p+1); }A. 16,15B. 14,16C. 16,18D. 15,1421以下程序的输出结果是:#include "stdio.h"fun2( int a,int b){ int c;c=a*b%3;fun1(int a,int b){ int c;a+=a;b+=b;c=fun2(a,b);return c*c;}main(){ int x=11,y=19;printf("%d\n", fun1(x,y));}A. 3B. 5C. 4D. 622以下程序运行后的输出结果是?#include "stdio.h"#define SQR(x) x*xmain(){ int a,k=3;a=++SQR(k+1);printf("%d\n",a); }A. 7B. 8C. 9D. 1023执行语句for(i=10;i>0;i--);后,变量i的值为:A. 10B. 0C. 9D. 124下列i,j,k 均为整型变量,选项中不正确的C语言赋值语句是:A. i+1=k;B. i=j=k=1;C. i=j+=++k;D. j=i+1==i++;25设有语句int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;则不能对a数组元素的正确引用是:A. a[p-a]B. *(*(a+5))C. p[5]D. *(&a[5])26已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是:A. 数组a和b的元素个数相同B. a数组元素少于b数组C. a数组元素多于b数组D. 上述说法都不对27以写方式打开二进制文件my.dat的正确写法是:A. fopen(“my.dat”,”rb”);B. fopen(“my.dat”,”r”);C. fopen(“my.dat”,”wb”);D. fopen(“my.dat”,”w”);28对于定义struct sa{int x;float y;}data,*p=&data;请从下列候选答案中,选择变量data的x成员的正确引用:A. (*p).dataB. (*p).xC. p->data.xD. p.data.x29循环语句的循环体中执行continue语句,其作用是:A. 立即终止程序执行B. 继续执行continue语句之后的循环体各语句C. 结束本次循环D. 跳出循环30定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用:A. scanf(“%f”,&a);B. scanf(“%5.2f”,a);C. scanf(“%6.2f”,&a);D.scanf(“%f”,a);选择题(2)1.以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在2以下关于C语言的叙述中正确的是A. C语言中的注释不可以夹在变量名或关键字的中间B. C语言中的变量可以在使用之前的任何位置进行定义C. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D. C语言的数值常量中夹带空格不影响常量值的正确表示3以下C语言用户标识符中,不合法的是A. _1B. AaBcC. a_bD. a-b4若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A. a=a++,i++;B. i=(a+k)<=(i+k);C. i=a%11;D. i=!a;5有以下程序#include<stdio.h>main() {char a,b,c,d; scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据:(<CR>代表回车)12<CR>34<CR>则输出结果是A. 1234B. 12C. 123D. 12346以i关于C语言数据类型使用的叙述中错误的是A. 若要准确无误差的表示自然数,应使用整数类型B. 若要保存带有多位小数的数据,应使用双精度类型C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型7若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A. 1B. 0C. 2D. 不知道a的值,不能确定8以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A. switch(a){case:a=b;break;default:a++;}B. switch(a==1){case 0:a=b;break;case 1:a++;}C. switch(a){default:a++;break;case 1:a=b;}D. switch(a==1){case 1:a=b;break;case 0:a++;}9有如下嵌套的if语句if (a<b)if(a<c)k=a;else k=c;elseif(b<c) k=b;else k=c;10以下选项中与上述if语句等价的语句是A. k=(a<b)?a:b;k=(b<c)?b:c;B. k=(a<b)?((b<c)?a:b):((b>c)?b:c);C. k=(a<b)?((a<c)?a:):((b<c)?b:c)D. k=(a<b)?a:b;k=(a<c)?a:c;11有以下程序#include<s七dio.h>main(){int i,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A. m=6B. m=4C. m=2D. m=512有以下程序#include<stdio.h>main(){int a=l,b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A. 9,18B. 8,11C. 7,11D. 10,1413有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A. 12B. 11C. 10D. 914以下关于return语句的叙述中正确的是A. 一个自定义函数中必须有一条return语句B. 一个自定义函数中可以根据不同情况设置多条return语句C. 定义成void类型的函数中可以有带返回值的return语句D. 没有return语句的自定义函数在执行结束时不能返回到调用处15下列语句组中,正确的是A. char *s;s="Olympic";B. char s[7];s="Olympic";C. char *s;s={"Olympic"};D. char s[7];s={"Olympic"};16下列选项中,能正确定义数组的语句是A. int num[0..2008];B. int num[];C. int N=2008;int num[N];D. #define N 2008int num[N];17有以下程序#include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A. b,B,b,AB. b,B,B,AC. a,B,B,aD. a,B,a,B18若有定义int(*Pt)[3];,则下列说法正确的是[D]A. 定义了基类型为int的三个指针变量B. 定义了基类型为int的具有三个元素的指针数组ptC. 定义了一个名为*pt、具有三个元素的整型数组D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组19设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A. (*s)[3]B. *(s+3)C. *s[3]D. *s+320有以下程序#include<stdio.h>main(){int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]];printf("%d\n",s);}程序运行后的输出结果是A. 6B. 10C. 11D. 1521有以下程序#include <stdio.h>main(){int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A. 1B. 3C. 2D. 522若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A. 5 5B. 10 5C. 10 7D. 5 823有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++)printf("%d",a[i]);printf("\n");}程序运行后的输出结果是A. 1313B. 2234C. 3234D. 123424有以下程序#include <stdio.h>int f(int t[],int n);main(){int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A. 4B. 10C. 14D. 625有以下程序#include <stdio.h>int fun(){ static int x=1;x=x*2; return x;}main(){int i,s=1;for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A. 0B. 1C. 4D. 826有以下程序#include <stdio.h>#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A. 0B. -12C. -20D. 1027设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A. data2=data1;B. data2=(2,6)C. data2.real=data1.real;D. data2.real=data1.unreal;28有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A. 1001,zhangDa,1098.0B. 1002,changRong,1202.0C. 1001,ehangRong,1098.0D. 1002,ZhangDa,1202.029有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A. *pw.year=1980;B. w.year=1980;C. pw->year=1980;D. w.s.year=1980;30有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A. 0B. 1C. 2D. 331有以下程序#include <stdio.h>main(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A. abcB. 28cC. 28D.因类型不一致而出错选择题(3)1、以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中2以下叙述中正确的是:A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行内只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中3以下选项中不属于字符常量的是:A. ′C′B. "C"C. ′\xCC′D. ′\072′4设变量已正确定义并赋值,以下正确的表达式是:A. x=y*5=x+zB. int(15.8%5)C. x=y+z+5,++yD. x=25%5.05以下定义语句中正确的是:A. int a=b=0;B. char A=65+1,b=′b′;C. float a=1,*b=&a,*c=&b;D. double a=0.0;b=1.1;6有以下程序段char ch; int x;ch=′A′; x=20;printf("%c,%d,",ch,ch,x); printf("x=%d\n",x,ch);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是:A. 因变量类型与格式描述符的类型不匹配输出无定值B. 输出项与格式描述符个数不符,输出为零值或不定值C. A,65,12x=20D. A,65,x=207已知字母A的ASCII码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是:A. kk>=′A′&& kk<=′Z′B. !(kk>=′A′||kk<=′Z′)C. (kk+32)>=′a′&&(kk+32)<=′Z′D. isalpha(kk)&&(kk<91)8当变量c的值不为2、4、6时,值为"真"的表达式是:A. (c==2)||(c==4)||(c==6)B. (c>=2&& c<=6)&&((c==3)||(c==5))C. (c>=2&&c<=6)&&!(c%2)D. (c>=2&& c<=6)&&(c%2!=1)9以下不构成无限循环的语句或语句组是:A. n=0; do{++n;}while(n<=0);B. n=0; while(1){n++;}C. n=10; while(n);{n--;}D. for(n=0,i=1; ;i++)n+=i;10以下错误的定义语句是:A. int x[][3]={{0},{1},{1,2,3}};B. int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C. int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D. int x[][3]={1,2,3,4};11设有如下程序段char s[20]="Beijing",*p;p=s;则执行p=s;语句后,以下叙述正确的是:A. 可以用*p表示s[0]B. s数组中元素的个数和p所指字符串长度相等C. s和p都是指针变量D. )数组s中的内容和指针变量p中的内容相同12若有定义:int x[4][5];,以下选项中对x数组元素正确引用的是:A. x[4][0]B. x[3][5]C. x[4][4]D. x[2>4][!3]13有定义语句:char str[10];,若要从终端给str输入8个字符,错误的输入语句是:A. gets(&s[0]);B. scanf("%s",s+1);C. gets(s);D. scanf("%s",s[1]);14以下叙述中错误的是:A. 在程序中凡是以"#"开始的语句行都是预处理命令行B. 预处理命令行的最后不能以分号表示结束C. #define MAX是合法的宏定义命令行D. C程序对预处理命令行的处理是在程序执行的过程中进行的15以下结构体类型说明和变量定义中正确的是A. typedef strct{int n; char c;}REC;REC t1,t2;B. typedef strct{int n; char c;};REC t1,t2;C. strct{int n; char c;}REC;REC t1,t2;D. typedef strct REC;{int n=0; char c;}t1,t2;16以下叙述中错误的是:A. gets函数用于从终端读入字符串B. getchar函数用于从磁盘文件读入字符C. fputs函数用于把字符串输出到文件D. fwrite函数用于以二进制形式输出数据到文件17变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。
C语言模拟题二C语言模拟题二一、单项选择题1.程序中定义以下宏#define S(a,b)a*b若定义int area;且令area=S(3+1,3+4),则变量area的值为_________A 10B 12C 21D 282.正确的标识符是_________A ifB a=2C a.3D a_33.表达式1&3&5&7的值为_________A 1B 3C 5D 74.语句printf(″s\\t″)的输出结果为_________A s\\tB s\tC s\D s5. 执行下列语句后,sum变量的值是_________int sum=0;for(int i=0;i<10;i++,sum+=i);A 45B 55C 0D 编译错误6.已知有共用体变量data1定义如下:union data{ int i;char ch;float f;} data1;则变量data1所占的内存存储空间可表示为_________A sizeof(int)B sizeof(char)C sizeof(float)Dsizeof(int)+sizeof(char)+sizeof(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示_________A 已读到此文件末尾B 未读到此文件的末尾C 此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是_________A void fun (int x,int y);B fun (int x,int y);C int fun (int x,y);D char *fun (char *s);9.若有语句if(x==0) y=5;则与条件x==0等价的表达式为_________A xB !xC x!=1D 以上都不对10.在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为A)ABCdef B)abcDEF C)abc D)DEF#includemain( ){ char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32;else if(ch>='a' && ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}11.下面不能正确进行字符串赋值操作的语句是_______A)char s[5]={"ABCDE"};B)char s[5]={'A'、'B'、'C'、'D'、'E'};C) char *s;s="ABCDEF";D)char *s;scanf("%s",s);12.若x=4,则x*=x+2的值为_________A 36B 24C 18D 2013.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为_________A 1B 2C 4D 514.设a为5,执行下列语句后,b的值不为2的是_________A b=a/2B b=6-(--a)C b=a%2D b=a<32?2:115.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是_________A p2=**p1B p2=*&p1C p2=*p1D p2=&*p116.以下运算符中,运算对象必须是整型的是_________A /B %=C != D〈=17.以下关于typedef的叙述中错误的是_________A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植18.若执行完成下列语句:int a=3,b=6,c;c=a∧b<<2;则变量c的二进制值为_________A 00011100B 00010100C 0001000D 0001101119.以下关于宏替换的叙述不正确的是_________A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间20. 以下对枚举类型名的定义中正确的是_________A enum s={a,b,c}B enum s {a=9,b=2,c}C enum s={′a′,′b′,′c′}D enum s{′a′,′b′,′c′}二、判断题1.若有说明int c;则while (c=getchar());是错误的C语句。
C语言程序设计模拟题1.由C语言编写的代码程序()。
A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。
解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.中划线C.数字字符D.下划线【答案】B。
解析:C语言的自定义标识符只能有字母、数字、下划线。
3.下列选项中,不能用作标识符的是()。
A._1234_B._1_2C.int_2_D.2_int_【答案】D。
解析:标识符只能以字母或下划线开头。
4.以下选项中合法的用户标识符是()。
A.longB._2TestC.3DmaxD.A.dat【答案】B。
解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。
5.以下不能定义为用户标识符的是()。
A.MainB._0C._intD.sizeof【答案】D。
解析:sizeof为关键字,不能用作用户标识符。
6.下列定义变量的语句错误的是()。
A.int _int;B.double int_;C.char For;D.float US$;【答案】D。
解析:标识符只能有字母、数字、下划线。
7.在C语言中,合法的实型常数是()。
A.5E2.0B.E-3C.2E0D.1.3E【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
8.在C语言中,合法的实型常数是()。
A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
9.以下选项中,不能作为合法常量的是()。
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。
解析:实型常量e的前面要有数,e的后面为整数。
10.以下不合法的数值常量是()。
A.011B.1e1C.8.0E0.5D.0xab【答案】C。
C语言模拟题一.选择题1、是不正确的。
A、每条语句最后必须有一个分号;B、C源程序可一个或多个函数组成;C、注释说明只能位于一条语句的后面;D、C源程序的基本组成单位是函数。
2、是正确的叙述。
A、强制类型转换运算的优先级高于算术运算;B、表达式“m”+“M”是合法的;C、若变量X,Y为整型,则++是合法的;D、表达式‘m’*‘n’是合法的;3、为正确的变量名 A. B. int C. k_5 D. –k15 4、若有定义int m=4321, n=123, k=21; 语句printf( “M+=+-”,m,n,k); 执行后的输出结果是A、4321432143211231231232121 B、432+123+021 C、432112321 D、4321+123+21 5、若定义int a= -5 , b= -8, c=21,则表达式a>=b|| b A、1;B、变量j的值C、变量i的值D、0 6、设已定义float a=2 .0,b=3 .0 ; 使a 的值为5. 0 的表达式是A、a-=b+B. a*=b+C. a/=b+D. a+=b7、在循环语句的循环体中,break语句的作用是A、结束本次循环B、暂停程序的运行C、继续执行break 语句之后的循环体各语句D、提前结束循环,接着执行该循环后续的语句9、若已定义,int x[4]={2,1,3};则元素x[1]的值为A、2B、3C、1 D、0 10、以下程序执行后的输出的结果是int a[4]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\A、7B、6C、3D、2 11、( )是正确的叙述. A.++3与4等价/6与/等价 C ?a?与”A”等价/6与5/6等价12.以下叙述正确的是( ) A使用带参数的宏定义时,应该说明每个参数的数据类型, B”#DEFINE PRICE=30 “定义了与30等价的符号常量PRICE, C 一个源程序只能有一个编译预处理命令行, D编译预处理命令行都必须以”#”开头. 13、以下叙述错误的是( ) A一个指针变量只能指向类型相同的变量. B存放地址的变量称为指针变量. C NULL可以赋值给任何类型的指针变量 D 两个相同类型的指针变量可以作加减运算. 14、以下程序段运行后变量s的值是( ) int a[ ]={ 1,2,3,4,5,6,7}; int i,s=1,*p; p=&a[ 3]; for (i=0; i A 210 B 120 C 60 D 6 15、设已定义:char s1[8],s2[8]=“Science”;能将字符串”Science”赋给数组s1的语句是A、s1=s2;B、strcpy(s1,s2);C、S1=”Science”;D、strcpy(s1,s2); 16、以下程序运行的结果是#include int a=2,b=3,c=5; int fun(int a,int b) { int c; c=a>b?a,b; return(c); } main() { int a=6; printf(\} A、6,5 B、3,5C、6D、5 17、若有定义int a,x;则语句a=(x=8,x+8),运行后,变量a,x的值依旧为 A 16,16 B 16,8 C 8,8 D 8,1618、以下程序运行后输出结果是#define MIN m{ int a=3,b=5,c; c=2*MIN(a,b); printf(“%d”,c); } A 3 B 5 C 10 D 6 19、语句k=(m=3,n=++m);运行后,变量k,m,n的值依次为 A 5,6,5 B 6,6,6 C 5,5,6 D 6,6,5 20、若以定义double y ,从键盘输入一个值赋给变量y,则正确的函数调用是 A scanf(“”,&y); B scanf(“%”,&y); C scanf(“ ”,&y); D scanf(“%d”,&y);21、已定义char c=?A?, 则正确的赋值表达式是 A c=((c++)%4) B c=\\0 28 C c+=127-- D c+1=66 22、若已定义int x= -16,y= -12,z;语句z=x A、f B、.t .C、0 D、1 23、下面叙述正确的是( ) A 每行只能写一条语句,B程序中必须包含有输入语句C变量按所定义的类型存放数据 D main函数必须位于程序开头24、( )为非法字符串常量. A?egf?B” ”C”s”D”26?62” 25. 若有定义int m=6,则正确的赋值表达式是( ) A m*5=8 B m*7 C m-=m*6 D double(-m) 26、若有定义int i=1,j=9,则表达式(++j)*(i- -)的值为( ) A8 B0 C9 D10 27、关于C 语言数据类型正确的是: A.枚举类型不是基本类型 B.数组并不是构造类型 C.变量必须先定义生使用 D.不允许使用空类型28、若变量m,n,t 已定义且赋予初值,则正确的表达式是: A. m=int(%4) B. m=m+1=t-n C. m=6+n+t,m++ D. m=m/2 29、设整型变量x为7,使整型变量y不为2的表达式是; A. y=(++x)/3 B. y=x%3 =x/3 D. y=8-(- -x) 30. 已定义int m= ?A?; 则正确的表达式是。
A. 2*m=m++ B. m%3 C. m=m-m=m-5 D. m=int(-) 31. 以下程序运行的结果是。
V oid main(){ int x,y,z,a; x=y=z=1; a=15;if(!x)a--;else if(y);if(z)a=3;elsea+=4; printf(“%d\\n”,a); } 32.正确的数组定义是。
A int n=10,x[n]; B. int x[10]; C int N=10; int x[N]; D. int n; scanf(“%d”,&n); int x[n]; 33. 若有定义:int a[3][4];则表达式&a[2][1]-a的值为。
A.9 B. 7 C。
10 D。
8 34.有如下定义:char str[10]={“National”}; 则分配给数组srt的存储空间是个字节。
A.9 B。
10 C。
8 D。
11 35.以下程序运行后输出结果是。
V oid fun(int i) { int m=2; m=i++; printf(“%d”,m);} main() {int m=7,n=5; fun(n); printf(“%d”,m); } A. 6 7 B. 6 6 C. 5 5 D. 5 7 36、有以下语句:int a[5]{0,1,2,3,4,5},i; int *p=a; 0int a={1,2,3,4,5,6,7},*p=a; int n,sum=0; for(n=1;n38. 若有定义:struct student { int num; char name[8]; char sex; float score; }stu1; 则变量stu1所在占用的确内存字节数是。
A.15B.19 C.8D.16 39、( )为正确的字符常量 A \ B \ C \ D \41、判定逻辑值为"真"的最准确叙述是( ) A 大于0的数 B 1 C 非0的整数 D 非0的数42、若定义int a=1,b=2,t=3;则执行以下程序段后变量a,b,t的值分别为( ) A a=2,b=1,t=1 B a=3,b=1,t=2C a=2,b=1,t=3D a=2,b=1,t=243、若已定义int a;不会产生死循环的语句是( ) A while(-1) {a++;} B for(a=10;a--); C for(;(a=getchar())!=‘\\n’;) D for(;;a+=2); 44、( )是合法的数组定义 A char str={48,49,50,51,52,53};B int a[5]={0,1,2,3,4,5};C char srt=‘string’;D int a=\ 45、( )关于C语言数据类型正确描述A.变量必须先定义使用B.枚举类型不是基本类型C.不允许使用空类型D.数组并不是构造类型46.语句符合C语言语法A.float z=28,int =18; B.int x y=z; C.int x=25,y=25,z=25; D.int x=25;y=25;z=25; 47.()能正确表示数学关系示100 A.100100)&(s A 构成C语言的源程序的基本单元式算术式, B C程序必须包含一个MAIN函数。
C一个C语言源程序可一个或多个函数组成D 若一条语句较长也可分写在下一行49、为正确的变量名 A jeep B-k15 Cint Dk-5 50、下列叙述中,错误的是 A 自增与自减运算符的结合方向为自右向左 B C语言的表达式求值是其运算符的优先级先高后低的次序进行的 C C语言的运算符不包含摸运算符%D关系运算符的优先级低于算术运算符51、若已定义float a=,b=; 使a值为的表达式是 A a+=b B a*=b+ C a-=b+/=b+ 52、void mian() { int m,n=1,t=1; If(t==0) t=-t; else m=n>=0?7:3 printf(“%d\\n”,m) } A 7 B 1 C-1 D3 53、( )合法的数组定义A char str=?string?B int a=”……”C int a[5]={0,1,2…..5}D char str={48,49,….53} 54、输出结果是Int a[4]={1,2……11,12} printf(“%d\\n”,a[1][2]); A 3 B 2 C6 D7 55、若定义int i=1 ,j=9 ;则表达式*(i- -)的值为 A 8 B 10 C 0 D 9printf(\ getch(); } 3、#include #include void main() { int a,b,temp; scanf(\ /**/ if (ab) { temp=a;a=b; b=temp; } while(++a if(a%2 == 0) /**/ b++; /**/continue; printf(\ } printf(\ getch(); } 4、#include #include void asc(int b, int n) { int i, j, k, temp; for( i = 0; i for( j=i+1; j b[k]= /**/b[i] /**/; b[i] = temp ;} } } void main() { int b ={12,25,8,32,23,15,37,4}; int i,n = sizeof(b)/sizeof(int); asc(b,n); for(i=0;i printf(\ \ printf(\ getch(); } 5、#include #include double fun1(float x) { /**/ double y; if(x y=exp(2*x)+;else if(x==8) y=; else y=(cos(x)+)/(2*x); return y; /**/ } void main() { float x; double y; clrscr(); printf(\ scanf(\ y = fun1(x); printf(\ getch(); } 6、#include main() { /**/ int c1,c5; /**/int c1=1,c5;; for(;c1{ for(c5=1;c5/**/ if c1*10+c5*50=200 /**/if (c1*10+c5*50==200)printf(\ } getch(); } 7、#include void main() { int max_val(int a[4],int *row,int *col); int arr[3][4]={{32,25,17,6},{2,4,61,8},{15,23 ,9,15}}; int i=0,j=0,max,*row,*col; row=&i; col=&j; max=max_val(/**/arr/**/,row,col);printf(\ getch(); } int max_val(int a[4],int *row,int *col) { int i,j,max; max=a[0][0]; *row=0; *col=0; for(i=0;imax) {/**/max=a[i][j]; /**/ *row=i;*col=j;}} return(/**/max/**/); } 7、#include #include char fun(float f) { char code; /**/ float c; c=(/9)*(f-32); if(c code=?W?; else if(c>=0&&c else if(c>=25&&c code=?R?; /**/ return code; } void main() { float f; char code; printf(\ scanf(\ code=fun(f); printf(\ getch(); } 8、#include #include main() { int num1,num2,ans,flag; char op; clrscr(); printf(\scanf(\ flag=0; /**/ switch(\ switch(op) { case ‘+’: ans=num1+num2; break;case ‘-’: ans=num1-num2; break;case ‘*’:ans=num1*num2; break;case ‘/’: ans=num1/num2; break;case ‘%’: ans=num1%num2; break;/**/ else: /**/default:{ printf(\ } if (!flag) printf(\ getch(); } 9、#include void main() { int item,sa,sb; sa=0;sb=0; printf(\ scanf(\ while(/**/item!=0/**/) { if(item>0) /**/sa++;/**/ else sb++; scanf(\ } printf(\ getch(); }?? 11、#include #include int f( float r,float x,/**/ float y /**/) { int in_out; in_out =sqrt(x*x+y*y) void main() { float r=-1,x,y; int in_out;while(r{printf(\ scanf(\} printf(\ scanf(\ in_out = f(r,x,y);if(in_out == 0) printf(\ else printf(\ getch(); } 12、#include \void main() { char str[100]; /**/ int /**/ i=0; printf(\ while((str[i]=getchar())!=‘\\n’)i++; str[i]=‘\\0’; for(i=0;str[i]!=‘\\0’;i++){ if( str[i]>=‘A’ && str[i]else if( str[i]>=‘a’ && str[i]/**/ str[i]- =32 /**/;str[i] =str[i]-32;printf(\ } getch(); } 13、#include #include void main() { int r,a,b,t; printf(\ b: \ scanf(\ if(a/**/ r=a/b; /**/r=a%b; while( r!=0 ){a=b; b=r;r=a%b;} printf(\ getch(); } 14、#include #include double fun(double x) {/**/ double y; y=(sin(x)+pow(x,6))/(+x* log10(300)); return y; /**/ } void main() { clrscr(); printf(\ printf(\ printf(\ getch(); } 15、#include double f(double k,int n) { double t=0; /**/int i=1,sign=1; while(i{ t=t+sign*k/(i*(i+1)); i++; sign= (-1)*sign;} }/**/ return (t); } void main() { double sum;sum=f(,9); printf(\getch(); } 16、#include #include main() { char str[80]; /**/ int i;len; sum=0; /**/int i,len, sum=0; printf(\ gets(str); len = strlen(str); for(i=0; i/**/ if( str[i] >= 0 && str[i] =? 0? && str[i] printf(\ getch(); } 17、#include #include #define N 9 main() { int arr[N],i; printf(\ for(i=0; i scanf(\ &arr[i] printf(\/**/ for(i=N-1; i=0; i--) printf(\ \printf(\ getch(); } 18、#include void main() { int m,n,k; float ans; clrscr(); printf(\ scanf(\ ans= m / /**/(float) n(/**/ ; k=/**/ (int) /**/ (ans*1000) ; printf(\ The 3th decimal place is: %d\\n\ getch(); }?? 19、#include void main() { float x,y,z,min; float f_min(float,float,float); printf(\ scanf(\ min=f_min(x,y,/**/z /**/);printf(\ getch(); } float f_min(float a,float b,float c) { float t,k; k=/**/(b20、?? #include #include main() { char s1[100], s2[100]; int i,s_len; printf(\gets(s1); s_len = strlen(s1); for(i=0; i { if( s1[i] >= ‘0’ && s1[i] else if( /**/ s1[i] = ‘9’ /**/ )s1[i] == ‘9’s2[i] = ‘0’;else s2[i] = s1[i];} /**/ s2[i] = ‘/0’; /**/s2[i] = ‘\\0’; puts(s2); getch(); } 21、#include #include void main() { char src[40],tag[40]; char tab[4][2]={{‘b’,’f’},{‘c’,’e’},{‘e’,’b’},{‘f’,’c’}}; int i,j=0; printf(\ gets(src); strcpy(tag,src); while(tag[j]) { for(i=0;i /**/ if(tag[j]=tab[i][0]) /**/ if(tag[j]==tab[i][0]){ /**/ tag[j]=tab[1][i]; /**/tag[j]=tab[i][1];break;}}j++; } printf(\printf(\ getch(); } 22、#include int find(int num,/**/int n/**/, int x) { int left,right,mid; right = n-1; left = 0 ; while(left { mid= ( left + right)/2 ; if(/**/x x else if( x > num[mid]) left = mid+1;else return mid; } return -1; } void main() { int num={2,5,7,10,22,29,31,55}; int p,n; n = sizeof(num)/sizeof(int); p = find(num,n,7); printf(\ getch(); } 23、#include void main() { int num[6]={49,33,38,26,62,23}; float ans; /**/ float aver(int x ,int n); /**/ ans=aver(num, 6); printf(\ getch(); } float aver(int x ,int n) { int k; float sum,avg; sum=; for(k=0;k sum=/**/sum+x[k]/**/; avg=sum/n; return(avg); }?? 24、#include#include double fun(float x) { /**/ /**/ } void main() { float x; double y; clrscr(); printf(\scanf(\ y = fun(x); printf(\ getch(); } 25、#include main() { /**/ int m,n;/**/ int m,n,k; for(m=0;m for(k=1;k /**/ for(n=1;n getch(); }?? 26、#include #include void main() { char str1[60]=\ char * p1,*p2; p1 = str1; /**/ p2=str2[0]; /**/ p2=str2; while(*p1)p1++; while(*p2) /**/ *(p1) = *(p2++); /**/*(p1++)=*(p2++); printf(\ getch(); } 27、#include void main() { int m , n ,/**/k/**/; for ( m = 1; m { k =/**/ (m*10+n)/**/ * (n*10+m);if (k == 1008) printf ( \ N = %d\\n\} getch(); } 28、#include #include double func(double x) { /**//**/ } void main() { clrscr(); printf(\ printf(\ printf(\ getch(); } 29、#include #include int fun(int x[4],int n) { /**/ int flag=1,i,j; for(i=0;i if( x[i][j]!=x[j][i] ) flag=0; return flag; /**/ } void main() { int tb[4][4],i,j; int flag; printf(\ for(i=0; i scanf(\ flag = fun(tb,4); if( flag == 1 )printf(\ else printf(\ getch(); } 30、#include void main() { char str1[20],str2[20];int i=0; printf(\ scanf(\ str1/**/ );while(/**/ str1[i]/**/){ str2[i]=/**/ str2[i] ;/**/i++;} str2[i]=‘\\0’; printf(\ getch(); } 31、#include #include void main() { int /**/ i /**/, j ; int a[5][5],sum; sum=/**/0 /**/; printf(\ for(i=0; i scanf(\ for(j=0;j sum += /**/ sum+a[4][j] ;/**/ printf(\ getch(); } 32、#include void main() { int j; void sub(int); for(j=100;j sub(/**/j /**/);getch();} void sub(int i) { int m1,m2,m3; m1=i ; m2=/**/(i-m1)/10 /**/;m3=i/100; if( /**/(i ==0)/**/ && (m1==9 || m2==9 || m3==9 ))printf(\} 34、#include #include double fun(float x) { /**/ /**/ } void main() { float x; double y; printf(\ scanf(\ y = fun(x); printf(\ getch(); } 35、double fun(int n) { double y = ; int i,j; j=0; /**/ for(i=1;j10)&&(i%3==0)) { /**/ y = y + 1 / i; /**/y = y + / i;j++; } return y; } main() { clrscr(); printf(\ = %\\n\ printf(\ = %\\n\ getch(); }??36、#include #include#include #include int fun2(int a,int n,int b,int c) { /**/ int i,j=0,k,temp; for(i=0;i if(a[i]>0) {b[j]=a[i];c[j]=a[i];j++;} } k=j; for(i=0;ic[j+1]){temp=c[j+1]; c[j+1]=c[j];c[j]=temp; } return k; /**/ } void main() { int n = 10, i, nb; int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20}; int bb[10], cc[10]; clrscr(); printf(\ printf(\for(i=0; i nb = fun2(aa, n, bb, cc); printf(\for (i=0; i printf(\for(i=0; i printf(\ getch(); } 37、#include #include void main() {/**/ /**/x,x0,f,f1;double x=; /**/ /**/do { x0=x; f=((x0-2)*x0+3)*x0-6;f1=(3*x0-4)*x0+3;x=x0-f/f1; }while(fabs(x-x0)>=1e-6); printf(\ getch(); }??。