高二C语言第一次月考3.docx
- 文档编号:30728727
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:10
- 大小:17.91KB
高二C语言第一次月考3.docx
《高二C语言第一次月考3.docx》由会员分享,可在线阅读,更多相关《高二C语言第一次月考3.docx(10页珍藏版)》请在冰豆网上搜索。
高二C语言第一次月考3
江都职教集团2010—2011第二学期高二
《C语言》第一次月考试卷(2011.3)
姓名___________成绩__________
一.选择题(每题2分,共44分)
1.以下对一维整型数组a的正确说明是。
A)inta(10);B)intn=10,a[n];
C)intn;D)#defineSIZE10
scanf(“%d”,&n);inta[SIZE];
inta[n];
2.以下能对一维数组a进行正确初始化的语句是。
A)staticinta[10]={0,0,0,0,0};B)inta[10]={};
C)inta[]={0};D)inta[10]={10*1};
3.以下能对二维数组a进行正确初始化的语句是。
A)inta[2][]={{1,0,1},{5,2,3}};
B)inta[][3]={{1,2,3},{4,5,6}};
C)inta[2][4]={{1,2,3},{4,5},{6}};
D)inta[][3]={{1,0,1},{},{1,1}};
4.以下不能对二维数组a进行正确初始化的语句是。
A)inta[2][3]={0};
B)inta[][3]={{1,2},{0}};
C)inta[2][3]={{1,2},{3,4},{5,6}};
D)inta[][3]={1,2,3,4,5,6};
5.若有说明:
inta[3][4]={0};则下面正确的叙述是。
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
6.若有说明:
inta[][4]={0,0};则下面不正确的叙述是。
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
7.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为。
(设a[0][0]位于数组的第一个位置上)
A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1
8.若有说明:
inta[][3]={1,2,3,4,5,6,7};则数组a第一维大小是。
A)2B)3C)4D)无确定值
9.以下不正确的定义语句是。
A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charc1[]={‘1’,’2’,’3’,’4’,’5’};
D)charc2[]={‘\x10’,’\xa’,’\x8’};
10.下面程序段的输出结果是。
intk,a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);
A)357B)369C)159D)147
11.下面是对s的初始化,其中不正确的是。
A)chars[5]={“abc”};B)chars[5]={‘a’,’b’,’c’};
C)chars[5]=””;D)chars[5]=”abcdef”;
12.下面程序段的输出结果是。
charc[5]={‘a’,’b’,’\0’,’c’,’\0’}
printf(“%s”,c);
A)’a’’b’B)abC)abcD)abc
13.若有程序段:
intk,a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);
则以下叙述正确的是。
A)a与b数组完全相同B)a与b长度相同
C)a和b中都存放字符串D)a数组比b数组长度长
14.有两个字符数组a,b,则以下正确的输入语句是。
A)gets(a,b);B)scanf(“%s%s”,a,b);
C)scanf(“%s%s”,&a,&b);D)gets(“a”),gets(“b”);
15.下面程序段的输出结果是。
chara[7]=”abcdef”;
charb[4]=”ABC”;
strcpy(a,b);
printf(“%c”,a[5]);
A)B)\0C)eD)f
16.下面程序段的输出结果是。
charc[]=”\t\v\\\0will\n”;
printf(“%d”,strlen(c));
A)14B)3C)9D)6
17.判断字符串a和b是否相等,应当使用。
A)if(a==b)B)if(a=b)
C)if(strcpy(a,b))D)if(strcmp(a,b))
18.判断字符串a是否大于b,应当使用。
A)if(a>b)B)if(strcmp(a,b))
C)if(strcmp(b,a)>0)D)if(strcmp(a,b)>0)
19.下面叙述正确的是。
A)两个字符串所包含的字符个数相同时,才能比较字符串
B)字符个数多的字符串比字符个数少的字符串大
C)字符串”STOP”与”STOP”相等
D)字符串”That”小于字符串”The”
20.下面有关字符数组的描述中错误的是。
A)字符数组可以存放字符串
B)字符串可以整体输入,输出
C)可以在赋值语句中通过赋值运算对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
21.下面程序的输出结果是。
main()
{charch[7]=”12ab56”;
inti,s=0;
for(i=0;ch[i]>’0’&&ch[i]<=’9’;i+=2)
s=10*s+ch[i]-‘0’;
printf(“%d\n”,s);
}
A)1B)1256C)12ab56D)ab
22.下面程序的输出结果是。
main()
{
charstr[]=”SSWLIA”,C;
intk;
for(k=2;(c=str[k])!
=’\0’;k++){
switch(c){
case‘I’:
++k;break;
case‘L’:
continue;
default:
putchar(c);continue;
}
putchar(‘*’);
}
}
A)SSWB)SW*C)SW*AD)SW
二.程序阅读题(每题8分,共80分)
1.写出下面程序的运行结果_____________________。
main()
{inta[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[i][j]=(i/j)*(j/i);
for(i=1;i<6;i++){
for(j=1;j<6;j++)
printf(“%2d”,a[i][j]);
printf(“\n”);
}
}
2.写出下面程序的运行结果_____________________。
main()
{inti=0;
chara[]=”abm”,b[]=”dqid”,c[10];
while(a[i]!
=’\0’&&b[i]!
=’\0’){
if(a[i]>=b[i])c[i]=a[i]-32;
elsec[i]=b[i]-32;
i++;
}
c[i]=’\0’;
puts(c);
}
3.当运行下面程序时,从键盘上输入AfyD↙,则写出下面程序的运行结果____________________。
main()
{chars[80];
inti=0;
gets(s);
while(s[i]!
=’\0’){
if(s[i]<=’z’&&s[i]>=’a’)
s[i]=’z’+’a’-s[i];
i++;
}
puts(s);
}
4.写出下面程序的运行结果_________________。
main()
{inti,c;
chars[2][5]={“8980”,”9198”};
for(i=3;i>=0;i--){
c=s[0][i]+s[1][i]-2*’0’;
s[0][j]=c%10+‘\0’;
}
for(i=0;i<=1;i++)puts(s[i]);
}
5.下面程序段的运行结果是。
main()
{charstr[2][10]={“computer”,”design”};
inti,j,len[2];
for(i=0;i<2;i++)
{for(j=0;j<10;j++)
if(str[i][j]==’\0’)
{len[i]=j;break;}
printf(“%10s:
%d\n”,str[i],len[i]);
}}
6.下面程序段的运行结果是。
#include“stdio.h”
#include“stringh”
main()
{chara[]=”clanguage”,t;
inti,j,k;
k=strlen(a);
for(i=0;i for(j=i+2;i<=k;j+=2) {t=a[i];a[i]=a[j];a[j]=t;} puts(a);} 7.下面程序段的运行结果是。 charx[]=”theteacher”; inti=0; while(x[++i]! =’\0’) if(x[i-1]==’t’)printf(“%c”,x[i]); 8.下面程序段的运行结果是。 #include“stdio.h” #include“stringh” main() {chars[80],d[80];inti,j; s[80]=”abc123effd23478980hji”; for(i=j=0;s[i]! =’\0’’o++) if(s[i]>=’\0’&&s[i]<=’9’) {d[j]=s[i];j++} d[j]=’\0’; puts(d); } 9.下面程序段的运行结果是。 main() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); } 10.下面程序段的运行结果是。 main() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } 三.填空题(每空3分,共15分) 1.字符串”ab\n\\012\\”的长度是 2.下面程序段将输出“book.”,请填空。 charc[]=”Thisisabook.”; for(i=0;___________;i++) {______________; Printf(%c”,c[j]);} 3.下面程序的功能是在一个字符串中查找一个指定的字符,若字符串中包含该字符则输出该字符在字符串中第一次出现的位置(下标值),否则输出-1,请填 (2)空使程序完整。 #include main() {charc=’a’;/*需要查找的字符*/ chart[50]; inti,j,k; gets(t); i=【1】; for(k=0;k if(【2】) {j=k;break;} elsej=-1; printf(“%d”,j); } 四.编程题(11分) 编写程序: (1)求一个字符串S1的长度; (2)将一个字符串S1的内容复制给另一个字符串S2; (3)将两个字符串S1和S2连接起来,结果保存在S1字符串中; (4)比较两个字符串S1和S2,如果S1>S2,输出一个正数;如果S1=S2,输出0;如果S1 以上程序均使用gets或puts函数输入,输出字符串。 不能使用string.h中的系统函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第一次 月考