c语言模拟考试题1.docx
- 文档编号:9606241
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:20.99KB
c语言模拟考试题1.docx
《c语言模拟考试题1.docx》由会员分享,可在线阅读,更多相关《c语言模拟考试题1.docx(17页珍藏版)》请在冰豆网上搜索。
c语言模拟考试题1
C语言模拟试题及答案1
1.以下的不是C语言标识符是( )。
A) abc1_ B) _abc1 C) 5BC1_ D) Abc1
2.结构化程序设计的基本结构不包括( )
A)从上到下的结构 B)选择结构 C)循环结构 D)顺序结构
3.C程序的基本单位是( )。
A)函数 B)过程 C)语句 D)子程序
4.以下选项中( )是的C语言赋值语句。
A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);
5.设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:
(m=a>b)&&(n=c>d)后,n的值为( )。
A)1 B)2 C)3 D)0
6.设整型变量x的值为5,y的值为2,则值为1的表达式是( )。
A)!
(y==x/2) B)Y!
=x%3 C)X>0&&y<0 D)X!
=y||x>=y
7.假设整型变量a为2,使b的值为0的表达式是( )。
A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?
0:
1
8.设int x=3,y=4,z=5; 则下面表达式中值为0的是( )。
A)x&&y B)x<=y C)x||y+z&&y-z D)!
((x z||1) 9.已知a=12,表达式a+=a-=a*=a的值为( ) A)A)144 B)-12 C)0 D)24 10.设有语句a=4;则执行语句a-=a+=a*a;后,变量a 的值是( ) A)4 B)0 C)20 D)16 11.设有int a=4,b=6;则表达式 a&b的值为( ) A)3 B)4 C)11 D)12 12.若有定义: int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为( )。 A)int B)char C)flaot D)double 13.若有定义double x,y; 则表达式x=1,y=x+3/2的值为( )。 A)1 B)2 C)2.0 D)2.5 14.若有定义int x,y,t; 则执行语句: x=y=3,t=++x||++y;后,y的值为( )。 A)不定值 B)4 C) 3 D)1 15.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( )。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 16.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。 A)7 B)8 C)6 D)2 17.已有定义double d,f; 数据的输入方式为: 3.45 根据定义和数据的输入方式,输入函数调用语句的形式为( ) A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f) C)scanf("3.2f%3.1f",&d,&f) D)scanf("%3.2lf%3.1lf",&d,&f) 18.下面程序的输出是( )。 #include void main() { int x=10,y=3; printf(“%d\n”,y=x/y); } (A)0 (B)1 (C)3 (D)不确定的值 19.下面程序运行情况是( )。 #include void main() { int x=3,y=0,z=0; if (x=y+z) printf(“****”); else printf(“####”); } (A)有语法错0不能通过编译 (B)输出**** (C)可以通过编译,但不能通过连接,因而不能运行 (D)输出#### 20.以下程序的输出结果是( )。 #include main() { int i=10,j=10; printf("%d,%d",--i,j--); } (A) 11,10 (B) 9,10 (C) 010,9 (D) 10,9 21.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 (A)缩排位置相同的if (B)在其之前未配对的if (C)在其之前未配对的最近的if (D)同一行上的if 22.假定所有变量均已定义, ok1=1; ok2=2; ok3=3; x=15; if(! ok1) x--; else if (ok2) if (ok3) x=3; else x=4; 上面程序段运行后x的值是: ( ) A)14 B)4 C)15 D)3 23. 在C语言的if语句中,用作判断的表达式为( ). A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式 24.下面的程序,描述的是( ) main() { int x=3; do {printf("%d\n",x-=2);} while(! (--x)); } (A)输出的是1 (B)输出的是1和-2 (C)输出的是3和0 (D)是死循环 25.执行下面程序后,a的值是( )。 #include void main () { int a; printf(“%d\n”,(a=3*5,a*4,a+5)); } (A)65 (B)20 (C)15 (D)10 26.以下程序的输出结果是: main ( ) { int n = 4; while (n--)printf ("%d",--n); } A)2 0 B)3 1 C)3 2 1 D)2 1 0 27.设int a=1,则执行完循环While(a++<5);a的值是: A)6 B)5 C)1 D)-264 28.在下列for循环中,其循环次数是( ) for(x=1,y=0;(y! =123)&&(x<4); x++); A)4 B)3 C)1 D)无数多次 29.假定a和b为int型变量,则执行以下语句后b的值为( ) a=1;b=10; do {b-=a;a++;} while (b--<0); (A)9 (B)-2 (C)-1 (D)8 30.如果有#define f(x,y) x+y及int a=2,b=3;则执行printf("%d",f(a,b)*f(a,b)) 后的值为( )。 (A)36 (B)25 (C)11 (D)13 31.若#include后面的文件名用双引号括起来,寻找被包含文件的方式是( )。 A) 先按系统设定的标准方式查找,再在当前目录中查找 B) 先在当前目录中查找,再按系统设定的标准方式查找 C) 只在当前目录中查找 D)只按系统设定的标准方式查找 32.执行下面的程序 #define SQR(X) X*X main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } 后,a的值是( )。 (A)10 (B)9 (C) 1 (D)0 33.下面程序的输出结果是( ) #include "stdio.h" #define SUB(x,y) (x)*y main( ) {int a=3,b=4;printf("%d\n",SUB(a,b+1));} A)12 B)16 C)15 D)13 34.函数strcat(str1,str2)的功能是( ) A)将字符串str1连接到字符串str2之后 B)将字符串str2连接到字符串str1之后 C)将str2复制到字符串str1中。 D)将str1复制到字符串str2中。 35.若有定义: char a[30]= “china\0\t\’\\”;则strlen(a)和sizeof(a)的值是( )。 (A) 30 30 (B) 5 30 (C) 13 30 (D) 5 13 36.下述程序的输出结果是( )。 #include"stdio.h" void main() { int a[]={2,3,4,5,6,7,8,9}; int i,rt=1; for(i=0;i<=3;i++) rt*=x[i];; printf("%d",x); } A) 120 B) 720 C) 24 D) 6 37.调用strlen("abcd\0ef\ng\0")的结果为( )。 (A) 4 (B) 5 (C) 8 (D) 10 38.C语言中,以下叙述的是( )。 A) 函数不能嵌套定义但可以嵌套调用 B) 函数可以嵌套定义也可以嵌套调用 C) 函数可以嵌套定义但不能嵌套调用 D) 函数不能嵌套定义也不能嵌套调用 39.C语言中,函数调用时若实参是数组名,则被调函数对应形参( )。 A) 可以是相应类型简单变量 B) 必须是相应类型的指针变量 C) 必须是相应类型数组名 D) 可以是相应类型的指针变量 40.在C语言中,函数默认的存储类型为( )。 A) auto B) registerC) static D) extern 41.已知函数的调用形式: fread ( buffer , size , count , fp ) ; 其中buffer代表的是( )。 (A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件 (C)一个指针,指向要读入数据的存放地址(D)一个存储区, 存放要读的数据项 42.如果程序中有static char c; 则编译程序会对其自动设置初值为( )。 (A) ''\n'' (B) "\n" (C) 0 (D) ''\0'' 43.C程序在( )可以使用表达式 A)函数内部 B)函数外部 C)程序的任何地方 D)变量出现的地方 44.有定义: int x,*p1=&x, *p2;,则能使得p2也指向x的语句是( )。 A) *p2=&x; B) p2=p1;C) p2=*p1; D) p2=&p1; 45、C语言可以处理的文件类型是()。 A、文本文件和数据文件B、文本文件和二进制文件 C、数据文件和二进制文件D、都不对 46、以读写方式打开一个已存在的二进制文件file1,fopen函数的正确的调用方式是()。 A、FILE*FP;FP=fopen("r","file1");B、FILE*FP;FP=fopen("file1","r"); C、FILE*FP;FP=fopen("rb+","file1");D、FILE*FP;FP=fopen("file1","rb+"); 47、设fp是文件指针,str是一个字符串变量,n是一个整数,向文件中输出字符串的正确格式是()。 A、fputs(str,fp);B、fputs(fp,str); C、fputs(str,n,fp);D、fputs(fp,n,str); 48.有如下定义: char *s1="AbCdE",*s2="aBcDe"; 则表达式strcmp(s1+1,s2+1) 的值是( ) A.零 B.负数 C.正数 D.非零值,无法肯定符号 49.在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是( ) A)fopen( ) B)fseek( ) C)fclose( ) D)rewind( ) 50.在C语言中,的的结论是( ) A)对文件操作必须先关闭文件 B)对文件操作必须先打开文件 C)对文件操作顺序没有统一规定 D)以上都错 填空 1.输入3个单精度浮点数,输出最大值 #include intmain() { ____1____a,b,c,max; scanf("%d%d%d",&a,&b,&c); if(a>b) max=a; else max=b; if(max max=c; printf("%f",___2__); } 2fun函数的功能是: 首先对a所指的N行N列的矩阵,找出各行中的最大的书,再求这N个最大值中的最小的那个数作为函数值返回。 #include #defineN100 intfun(int(*a)[N]) { introw,col,max,min; for(row=0;row { for(max=a[row][0],col=1;col if(____3___>max) max=a[row][col]; if(row==0) min=max; else if(max___4__min) min=max; } returnmin; } 3、*程序的功能是显示具有n个元素的数组s中的最大元素。 #include #define__5___30 voidmain() { inti,a[N]; intfmax(ints[],intn); for(i=0;i scanf("%d",&a[i]); printf("%d\n",a[fmax(a,N)]); } int__6___(ints[],intn) { intk,p; for(p=0,k=p;p if(s[p]>s[k])k=p; return(k); } 4.设一个二维数组a[5][3]存放五个人三门课的成绩。 再设一个一位数组v[3]存放所求得各分科平均成绩。 #include voidmain() { inti,j,s=0,v[3],a[5][3]; printf("inputscore: \n"); for(i-0;i<__7___;i++) { for(j=0;j<5;j++) { scanf("%d",&a[j][i]) s=s+a[j][i]; } v[i]=___8___; s=0; } printf("math: %d,languag: %d,ndbase: %d",v[0],v[1],v[2]); } 5.把100--200只见不能被3整除的书输出 #include voidmain() { intn; for(n=100;n<=200;n++) { if(n%__9___==0) _____10_____; printf("%4d",n); } } 6、*使用双重循环,输出下面的图形: 1 121 12321 1234321 12321 121 1 #include voidmain() { inti,j; for(i=1;i<=4;i++) { for(j=1;j<40-i;j++) printf(""); for(j=1;j<=i;j++) printf("%d",j); for(j=___11___-1;j>0;j--) printf("%d",j); printf("\n"); } for(i=3;i>=___12___;i--) { for(j=1;j<40-i;j++) printf(""); for(j=1;j<=i;j++) printf("%d",j); for(j=i-1;j>0;j--) printf("%d",j); printf("\n"); } } 7、*以下程序将数组a中的数据逆序存放。 #defineM8 #include voidmain() { ___13___a[M],i,j,t; for(i=0;i scanf("%d",a[i]); i=0;j=M-1; while(i { t=*(a+i);*(a+i)=*(a+j);*(a+j)=t; __14___++;j--; } for(i=0;i printf("%3d",*(a+i)); } 编程 *编写程序: **求1000以内素数的平均值(1不是素数,保留小数点后三位)。 参考答案: #include #include intmain() { inti,j,k,n=0,m=0; for(i=1000;i>1;i--) {k=sqrt(i); for(j=2;j<=k;j++) if(i%j==0)break; if(j>k){n=n+i;m++;} } printf("%.3f\n",(double)n/m); return0; } 运行结果: 453.137 2.、* 编写程序: * 先下载数据文件wj4.txt到自己的计算机中,然后编制程序,要求: 统计出该数据文件中从第51个到第10000个数据中奇数的个数。 参考答案: #include #include intmain() {inti=0,a[10000],s=0; FILE*p; p=fopen("D: \\a\\wj4.txt","r"); for(i=0;i<10000;i++) fscanf(p,"%d",&a[i]); for(i=50;i<10000;i++) if(a[i]%2! =0)s++; printf("%d\n",s); fclose(p); return0; } 运行结果: 4959 C语言002 选择 1--5CAACB6--10DCDCB11--15BACCC16--20BACDB 21--25CDDBB26--30AABDC31--35BCDBA36--40AAADD 41--45CDCBB46--50DACDB 填空 1.int2.max 3.a[row][col]4.< 5.N6.fmax 7.38.s/5 9.310.continue 11.i12.1 13.int14.i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 考试题
![提示](https://static.bdocx.com/images/bang_tan.gif)