首页 C语言学习

C语言学习

举报
开通vip

C语言学习一、选择题答案 1. 当调用函数时,实参是一个数组名,则向函数传送的是 A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 你所选择的答案是:*,正确答案是:B × 2. 假定x和y为double型,则表达式x=2,y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 你所选择的答案是:*,正确答案是:D × 3. 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3;...

C语言学习
一、选择 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 答案 1. 当调用函数时,实参是一个数组名,则向函数传送的是 A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 你所选择的答案是:*,正确答案是:B × 2. 假定x和y为double型,则 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式x=2,y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 你所选择的答案是:*,正确答案是:D × 3. 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w=10) break; if(b%3==1) {b+=3;continue;} } printf("%d\n",a); } A) 101 B) 6 C) 5 D) 4 你所选择的答案是:*,正确答案是:D × 6. 以下程序的输出结果是 #define M(x,y,z) x*y+z main() { int a=1,b=2, c=3; printf("%d\n", M(a+b,b+c, c+a)); } A) 19 B) 17 C) 15 D) 12 你所选择的答案是:*,正确答案是:D × 7. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是 A) x || y B) x | y C) x & y D) x ^ y 你所选择的答案是:*,正确答案是:D × 8. 若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是 A) a的值是字符C B) a的值是浮点型 C) 不允许字符型和浮点型相加 D) a的值是字符'A'的ASCII值加上1。 你所选择的答案是:*,正确答案是:D × 9. 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是 A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10L; 你所选择的答案是:*,正确答案是:D × 10. 以下程序中,while循环的循环次数是 main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } ...... } A) 1 B) 10 C) 6 D) 死循环,不能确定次数 你所选择的答案是:*,正确答案是:D × 11. 若有以下程序 #include void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是 A) 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B) 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f C) 对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明 D) 函数f无返回值,所以可用void将其类型定义为无值型 你所选择的答案是:*,正确答案是:C × 12. 以下程序的输出结果是 main() { char cf[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } A) "AAAA" B) "BBB" C) "BBBCC" D) "CC" 你所选择的答案是:*,正确答案是:B × 13. 在C语言中,形参的缺省存储类是 A) auto B) register C) static D) extern 你所选择的答案是:*,正确答案是:A × 14. 若有下面的说明和定义: struct test { int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; } myaa; 则sizeof(struct test )的值是 A) 12 B) 16 C) 14 D) 9 你所选择的答案是:*,正确答案是:A × 15. 以下选项中合法的用户标识符是 A) long B) _2Test C) 3Dmax D) A.dat 你所选择的答案是:*,正确答案是:B × 16. 有以下程序 int f(int n) { if (n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=i;i<3;i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是 A) 4 B) 3 C) 2 D) 1 你所选择的答案是:*,正确答案是:B × 17. 有以下程序 main() { char a[ ]={'a','b','c','d', 'e', 'f', 'g','h','\0'}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b"i,j); } 程序运行后的输出结果是 A)9,9 B)8,9 C)1,8 D)9,8 你所选择的答案是:*,正确答案是:D × 18. C语言中用于结构化程序设计的三种基本结构是()。 A) 顺序结构、选择结构、循环结构 B) if、switch、break C) for、while、do-while D) if、for、continue 你所选择的答案是:*,正确答案是:A × 19. 下列叙述中正确的是()。 A) C语言中既有逻辑类型也有集合类型 B) C语言中没有逻辑类型但有集合类型 C) C语言中有逻辑类型但没有集合类型 D) C语言中既没有逻辑类型也没有集合类型 你所选择的答案是:*,正确答案是:D × 20. 有以下程序 #include "stdio.h" main() { int i=1,j=1,k=2; if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是()。 A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,3 你所选择的答案是:*,正确答案是:C × 21. 有以下程序 main() { char a,b,c,*d; a='\'; b='\xbc'; c='\0xab'; d="\017"; print("%c%c%c\n",a,b,c,*d); } 编译时出现错误,以下叙述中正确的是()。 A) 程序中只有a='\';语句不正确 B) b='\xbc';语句不正确 C) d="\0127";语句不正确 D) a='\';和c='\0xab';语句都不正确 你所选择的答案是:*,正确答案是:D × 22. 有以下程序 #include "stdio.h" int f(int *x,int *y) { if(*x<*y) return *x; else return *y; } main() { int a=7,b=8,c=9; int f(int *,int *); printf("%d,%d,%d",f(&a,&b),f(&c,&b),f(&b,&a)); } 执行后输出结果是()。 A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8 你所选择的答案是:*,正确答案是:B × 23. 以下叙述中正确的是()。 A) 全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值你所选择的答案是:*,正确答案是:B × 24. 有以下程序 main() { char str[]="xyz",*ps=str; while(*ps)ps++; for(ps--;ps-str>=0;ps--) puts(ps); } 执行后的输出结果是()。 A) yz xyz xyz B) z yz xyz C) z yz D) x xy 你所选择的答案是:*,正确答案是:B × 25. 有以下程序 main() { int k=4,n=0; for( ; n{ n++; if(n%3!=0) continue; k--; } printf("%d,%d\n",k,n); } 程序运行后的输出结果是()。 A)1,1 B)2,2 C)3,3 D)4,4 你所选择的答案是:*,正确答案是:C × 26. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。 A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 你所选择的答案是:*,正确答案是:D × 27. 有以下程序 main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i+1; printf("%d \n",a[1][2]); } 程序运行后的输出结果是()。 A)3 B)6 C)9 D)2 你所选择的答案是:*,正确答案是:B × 28. 以下符合C语言语法的实型常量是()。 A) 1.2E0.5 B) 3.14.159E C) .5E-3 D) E15 你所选择的答案是:*,正确答案是:C × 29. 若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。 A) double myadd(double a,B) ; B) double myadd(double,double); C) double myadd(double b,double A) ; D) double myadd(double x,double y); 你所选择的答案是:*,正确答案是:A × 30. 有以下定义 #include char a[10],*b=a; 不能给数组a输入字符串的语句是()。 A) gets(A)B) gets(a[0])C) gets(&a[0]);D) gets(B) ; 你所选择的答案是:*,正确答案是:B × 31. 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。 A)abs(x-y)<10 B)x-y>-10&& x-y<10 C)!(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 你所选择的答案是:*,正确答案是:C × 32. 有以下程序 main() { int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d++ +1); else printf("%d",++d +1); printf("%d\n",d); } 程序运行后的输出结果是()。 A)2 B)3 C)43 D)44 你所选择的答案是:*,正确答案是:A × 33. 若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是()。 A)p+1 B)*(p+3) C)*(p+1)+3 D)*(p[0]+2]) 你所选择的答案是:*,正确答案是:D × 34. 已有定义:int i,a[10],*p;,则合法的赋值语句是()。 A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2; 你所选择的答案是:*,正确答案是:B × 35. 以下选项中,不能作为合法常量的是()。 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0 你所选择的答案是:*,正确答案是:B × 36. 有以下程序 #include "stdio.h" #include "string.h" main() { char a[7]="abcd";int i,j; i=sizeof(a); j=strlen(a); printf("%d %d ",i,j); } 程序运行后的输出结果是()。 A)2 2 B)7 4 C)7 2 D)6 2 你所选择的答案是:*,正确答案是:B × 37. 若有以下说明和定义 union dt { int a; char b; double c; }data; 以下叙述中错误的是()。 A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等 C)程序段:data.a=5;printf("%f ",data.c);输出结果为5.000000 D)data可以作为函数的实参 你所选择的答案是:*,正确答案是:C × 38. 有以下程序 main() { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf("%c",' '); for(j= j<4;j++) printf("%4d",num[i][j]); printf(" "); } } 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是()。 A)i-1 B)i C)i+1 D)4-i 你所选择的答案是:*,正确答案是:B × 39. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()。 A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind(fp) 你所选择的答案是:*,正确答案是:D × 40. 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。 main() /* Beginning */ { int r; float s; scanf("%d",&r); s=PI*r*r; printf("s=%f\n",s); } 出错的原因是()。 A)注释语句 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 写位置错误B)存放圆半径的变量r不应该定义为整型 C)输出语句中 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 描述符非法D)计算圆面积的赋值语句中使用了非法变量 你所选择的答案是:*,正确答案是:D × 41. 设变量已正确定义,则以下程序不能正确计算f = n!的程序段是()。 A)f=1; for(i=1;i<=n;i++) f*=i; B)f=0; for(i=1;i<=n;i--) f*=i; C)f=1; for(i=n;i>1;i--) f=f*i; D)f=1; for(i=n;i>=2;i--) f=f*i 你所选择的答案是:*,正确答案是:B × 42. 有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2){ static int a=4; t += a++; } else { static int a=5; t += a++; } return t+a++; } main() { int s=a, i; for( i=0; i<3; i++) s+=f(i); printf("%d\n", s); } 程序运行后的输出结果是()。 A)26 B)28 C)29 D)24 你所选择的答案是:*,正确答案是:C ×43. 有以下程序 #include main() { char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c\n”,c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是 A)1267 B)1256 C)1278 D)1245 你所选择的答案是:*,正确答案是:D ×44. 有以下程序 int fun1(duoble a){return a*=a;} int fun2(dpuble x,double y) { double a=0,b=0; a=fun1(x); b=fun1(y); return (int)(a+b); } main() {double w; w=fun2(1.1,2.0);……} 程序执行后变量w中的值是 A)5.21 B) 5 C) 5.0 D) 0.0 你所选择的答案是:*,正确答案是:C × 45. 有以下程序 fun(char p[][10]) {int n=0,i; for(i=0;i<7;i++) if(p[i][0]=='T') n++; return n; } main() { char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf(“%d\n”,fun(str)); } 程序执行后的输出结果是 A)1 B)2 C)3 D)0 你所选择的答案是:*,正确答案是:B × 46. 若有以下函数首部 int fun(double x[10],int *n) 则下面针对此函数声明语句中正确的是________。 A)int fun(double x,int *n);B)int fun(double ,int); C)int fun(double *x,int n);D)int fun(double *,int *); 你所选择的答案是:*,正确答案是:D × 47. 有以下程序 void change(int k[ ]){k[0]=k[5];} main() {int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4) {change(&x[n]);n++;} for(n=0;n<5;n++) printf("%d",x[n]); } 程序运行后输出的结果是________。 A)678910B)13579 C)12345D)62345 你所选择的答案是:*,正确答案是:A × 48. 有以下程序 main() { int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",x[i]); printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]); } 若运行时输入:2 4 6<回车>,则输出结果为________。 A)2 0 0B)2 0 4 C)2 4 0D)2 4 6 你所选择的答案是:*,正确答案是:B × 49. 有以下程序 #include main(int argc,char *argv[]) {int i=1,n=0; while(i后,name的值为 A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001 你所选择的答案是:*,正确答案是:A × 53. 有以下程序段 int i,n; for(i=0;i<8;i++) { n=rand()%5; switch (n) { case 1: case 3:printf("%d\n",n); break; case 2: case 4:printf("%d\n",n); continue; case 0:exit(0); } printf("%d\n",n); } 以下关于程序段执行情况的叙述,正确的是 A)for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作 C)当产生的随机数n为1和2时不做任何操作 D)当产生的随机数n为0时结束程序运行 你所选择的答案是:*,正确答案是:E × 54. 有以下程序 #include "stdio.h" main() { char s[]="012xy\08s34f4w2"; int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>='0'&&s[i]<='9') n++; printf("%d\n",n); } 程序运行后的输出结果是 A)0 B)3 C)7 D)8 你所选择的答案是:*,正确答案是:B × 55. 设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是 A)t1=t2; B)t2.num1=t1.num1; C)t2.mark=t1.mark; D)t2.num2=t1.num2; 你所选择的答案是:*,正确答案是:C × 56. 有以下定义:int a; long b; double x,y;则以下选项中正确的表达式语句是 A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x 你所选择的答案是:*,正确答案是:B × 57. 表达式a+=a-=a=9的值是 A)9 B)_9 C)18 D)0 你所选择的答案是:*,正确答案是:D × 58. 若变量已正确定义,在if(W) printf("%d\n,k");中,以下不可替代W的是 A)a<>b+c B)ch=getchar() C)a==b+c D)a++ 你所选择的答案是:*,正确答案是:A × 59. 有以下程序 #include main() {int a=1,b=2; while(a<6){b+=a;a+=2;b%=10;} printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)5,11 B)7,1 C)7,11 D)6,1 你所选择的答案是:*,正确答案是:B × 60. 下列定义数组的语句中,正确的是 A)int N=10; int x[N]; B)#define N 10 int x[N]; C)int x[0..10]; D)int x[]; 你所选择的答案是:*,正确答案是:B × 二、填空题 1. 下列程序的输出结果是16.00,请填空。 main() {int a=9, b=2; float x=_____, y=1.1,z; z=a/2+b*x/y+1/2; printf("%5.2f\n", z ); } 你所选择的答案是:,正确答案是:6.6 ,× 2. 以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。 #include main () { FILE *fp; char a[4]="1234",b[6]="abcedf"; if((fp=fopen("_______","wb"))==NULL)exit(0); fwrite(a,sizeof(char),4,fp); fwrite(b,6*sizeof(char),1,fp); fclose(fp); } 你所选择的答案是:,正确答案是:lett.dat ,× 3. strcmp函数的功能是字符串的( )。 你所选择的答案是:,正确答案是:比较,× 4. 若有程序 main() { int i,j; scanf("i=%d,j=%d";&i,&j); printf("i=%d,j=%d\n",i,j); } 要求给i赋10,给j赋20,则应该从键盘输入【】。 你所选择的答案是:,正确答案是:i=10,j=20 ,× 5. 以下程序运行后输入:3,abcde<回车>,则输出结果是〖〗 #include move(char *str, int n) { char temp; int i; temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; } main() { char s[50]; int n, i, z; scanf("%d,%s",&n,s); z=strlen(s); for(i=1; i<=n; i++) move(s, z); printf("%s\n",s); } 你所选择的答案是:,正确答案是:cdeab ,× 6. 以下程序运行后的输出结果是【】。 #include "stdio.h" main() { int a; a=(int)((double)(3/2)+0.5+(int)1.99*2); printf("%d\n",a); } 你所选择的答案是:,正确答案是:3 ,× 7. #include "stdio.h" main() { char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c\n",c1,c2); } 若程序运行时从键盘输入48<回车>,则输出结果为【】 你所选择的答案是:,正确答案是:09 ,× 8. void prt(char ch,int n) { int i; for(i=1;i<=n;i++) printf(i%6!=0 ? "%c" : "%c\n",ch); } 执行调用语句prt('*',24);后,函数共输出了【】行*号。 你所选择的答案是:,正确答案是:4 ,× 9. 以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,. N已定义) int fun(int a[N][M)) {int i,j,row=0,col=0; for(i=0;ia[row][col]){row=i;col=j;} return(【】): } 你所选择的答案是:,正确答案是:a[row][col] ,× 10. 以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。#include main() {【】*fp; char a[5]={'1','2','3','4','5'},i; fp=fopen("f .txt","w"); for(i=0;i<5;i++)fputc(a[i],fp); fclose(fp); } 你所选择的答案是:,正确答案是:FILE ,×
本文档为【C语言学习】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_281650
暂无简介~
格式:doc
大小:71KB
软件:Word
页数:0
分类:生活休闲
上传时间:2019-06-12
浏览量:8